Photo Credit: Flavio~
Even when software developers have the best intentions, they themselves may be deluded into believing they can give you a useful solution, on schedule, and for a reasonable price. Despite bad estimates and misplaced priorities, you can take a few simple steps to ensure you end up with a proven solution that is worth the cost.
Denis mentioned the book, Making Things Happen, by Scott Berkun, which perfectly describes how to construct a Vision Document to help developers and clients draft the basic game plan for a software development project.
After a vision document is agreed on, Denis and his clients write features and scenarios using the Gherkin format: GIVEN... WHEN... THEN...
You can learn more about Gherkin and the principles of Behavior Driven Development, at Cucumber.io