Software Development is a kind of complicated field depend on requirements sometimes, but most important thing is even you have very talented developer, it doesn't mean that you will get the results you seek from your project unless you manage the progress carefully.
Software Developments have a few common risks in every project.
- Transferring Idea
Spoken briefs will be not enough in most cases because technical people are usually seeing the things different than you do and sometimes there could be completely different images on the mind of both sides. Here, the most important task starts with "transferring the idea", "purpose" and "targets" to Technical or Development Teams.
All required informations should be transferred to developers in a way that they require. No less than it, no more than it.