Say I have a comprehensive web app I want developed through a freelancer on Odesk.com
What is the best way to effectively describe the entire project, goals and requirements?
Any examples on this would be greatly appreciated.
Say I have a comprehensive web app I want developed through a freelancer on Odesk.com
What is the best way to effectively describe the entire project, goals and requirements?
Any examples on this would be greatly appreciated.
As a website developer, I can tell you what really helps me (and my company) avoid miscommunications and delays that follow.
Have a well defined project outline. If your needs are comprehensive, you need to show that you have thought it through very thoroughly. A serious website developer will know to avoid a project that is open-ended, and chances are good that a hungry freelancer will pick up your job instead and later regret it as it gets beyond what he thought he was signing onto. More information up front, using electronic documents (not scanned paper), will make your job very attractive.
If you cannot provide mockups, point to several websites that have elements that you like. Do not point to one website and say "copy them, they look great." A good designer should be able to incorporate ideas from the sites you point to without plagiarizing anything. The end result should be something that is unique to you without the additional overhead of describing your vision in words only.
Have a budget in mind to go along with that well defined project outline. Most likely, your website developer will be telling you "I cannot do all these features within your budget" and will engage in dialog to help meet your needs. I cannot speak for everyone, but my company never targets a client's max budget. Instead we provide modular quotes that target a budget range, and the customer decides how far their money should go. It's generally a very bad idea to use your entire budget up front. Leave room to spare, because as your project evolves new expenses will be found. It will really strain the relationship between you and the developer(s) if you try to add new requirements without additional compensation, so be prepared--it will likely happen.
Do not quote the project to death. Your developers will not forget that it took 20+ hours to quote the job. Suggestions 1-3 above will really help avoid that situation.
That really isn't a complete list, but I hope it helps point you in the right direction. To summarize: Get your project specifications together, be serious about your project, have a reasonable budget, and you should be able to find a developer that can work well with you.
Just tell us what you want, don't try and use technology buzz words that you don't actually know about. I see too many requirements that say they want an HTML5/CSS3 application when they truly don't know what that means...
Let the web developer translate your business needs into his/her technical requirements.
Creating a mockup (you can do this with the help of online tools if you're not sure to physically meet with the developper) might be a good way to proceed, perhaps completed with an explanatory text providing the context, goal and targeted audience for the app.
Mockups have the huge advantage of expressing many things in a more intuitive and clear way than many words would, and it also helps you to get your ideas straightened out while you build it.
In my experience that contributes to avoiding getting the developer confused with too long and detailed requirement documents.