You suddenly find yourself in need of a web development company to help you build the next killer application out there to topple all others. Maybe you're trying to bid this work out for your employer as part of your responsibilities, or maybe it's your own idea for a company you want to start. Either way, you need a professional to get involved to help you steer the way.
How do you make such a huge decision? While building a web application or website for a business is a lot cheaper than building on offline business, the charges can still add up. Add in the cost of hosting, servers, security, and bandwidth and you can very easily go from budgeting "just a few thousand" to needing many more resources. To help you avoid this type of situation, here are a few tips from a seasoned web application developer:
1. Scoping is everything!
Scoping a project is the most important thing you can do when getting bids out for a website. It's easy to say that you want a site that "let's a user upload pictures", but the reality is that a programmer needs much more information. Just as you wouldn't expect an engineer that designs cars to work off of "it needs to have four wheels", you also can't expect someone to understand exactly what you want when you are too vague.
The easiest way to scope any piece of work is to think of the site in terms of what a "user" can do. What is a user? It's everyone and anyone that can conceivably use what you're going to build. How do they upload images? How do they register for the site? Do they pay for the site, or do you have ads? How do you as an administrator delete, edit, or modify what a user uploads? These are the types of questions that a programmer will ask, and unless you have a solid answer your costs can quickly spiral.
2. You get what you pay for
It might sound trite to say, but do you really expect someone to build you a "Google killing" website for only $ 500? If you don't have a realistic view of how many hours it takes to build an app you should stop what you're doing right now. Sure, you know a 15 year old kid who can setup a blog, but how about someone who can guide you in the process of building a scalable app that can support millions of users in a secure and stable way?
While outsourcing is a very popular way of "saving", also know that a lower hourly rate doesn't mean a lower project cost. It's often times much better to pay a real pro $ 100 an hour vs. hiring an outsourced team for $ 10 an hour because the pro knows exactly how to get it done. Think about any home project you've ever done. Sure, it looks easy to install tile when you watch a home improvement show, but when it comes down to it, it's probably better in the long term to just pay for the work.
3. Think "Agile"
Agile is a web development process that is meant to get quick releases done on a regular basis. This is the best way to structure any web development process because it let's you stretch the cost over time and ramp up. You can launch a website with "the basics" and then continue to add on functionality over time. This is in stark contrast to trying to get a 100% perfect product out the first time – it's hard as hell to do!
Agile development also gives you the ability to get real users into your site over time to get real world feedback. This can dramatically alter how you development – maybe you find out that the super cool feature you want is something that no one else does. This turns into a better road map of where you're going.
There's much more information on how you can approach a web project, but if you think about these three items you're a lot farther than most "pie in the sky" dreamers who think they'll hit it big