Every business that contracts CommonPlaces for web design and development is hiring an experienced development team. We take our work very seriously. We recognize our responsibility to deliver excellent work, on time, producing a site which meets your specific needs and goals. Having said that, I also believe that our clients should take the time to protect themselves before a project begins by considering the following five essential issues.
1. Figure out your business process
You must have a pretty good idea of what you want your website to do, how it fits into your existing business process, and how you want to go about maintaining it and adding features in the future. Developers are good at providing options, and articulating technical tradeoffs. However, if we don't have a clear idea of what you want, or what we're even building, we won't be able to help you very much.
2. Know your users.
Know who will be using your website and how. If your marketing has buyer personas, look at those. This will help us prioritize certain requirements when making technical decisions. It will also help us propose an architecture and software stack that is well suited to your needs. The better you can communicate the typical use of your site, the better a developer can propose an efficient solution.
3. Know what platforms the developer is familiar with.
You should know what types of solutions the developer is familiar with, and you should have a cursory knowledge of their strengths and weaknesses. What you want to avoid is dealing with a company that is overly specialized in one technology. In that type of situation you will encounter the classic Henry Ford approach, 'You can have it in any color you want as long as it's black.'
4. Have realistic expectations.
Have you ever seen anything similar to what you're proposing on the web before? If not, this may mean you have a truly revolutionary idea, but the odds are that there is a reason you've never seen it before. Look at competitor's websites to see what they're doing. Find websites that inspire you. Then, ask your developer if what you're proposing is realistic, or if they can suggest an alternative solution. You also want to be familiar with the scale of what you're asking to build. If the only place you've seen anything like what you want is Amazon or Netflix, and your developer is telling you he'll have it done over the weekend, you're probably in trouble.
5. Ask for a functional specification.
The success or failure of your project can often be determined before a single line of code is written. A planning phase is critical to any project that involves multiple parts. If someone approaches us to add a component to their site, assuming it isn't too complicated, a functional spec is probably unnecessary. For web developers, a functional specification describes what a thing does, or at least should do. Although clients don't need to know how something works, it behooves them to have an understanding of why it works. Keep in mind that it costs several times more to re-write a line of code, than it does to re-write a sentence in a functional specification.
There are consequences, and costs, to almost any decision in a web design project. Minimize risks. Have a plan, do your homework, ask questions. If time is money, then you want to save yourself both.