Answering the "Why" question

When I'm writing a description of a feature I always try to describe not just what needs to be implemented but also why the feature is needed in the first place. There are several reasons why I believe spending time providing extensive rationale behind a feature request is an investment well worth the effort. First, I believe that smart people are for most part capable of figuring out themselves what needs to be done if they understand why a feature deserves to exists which gives them a sense of ownership and saves a lot of project manager's time. Second, if people can connect their work with a higher purpose they are much more motivated to do the work and to do it properly. Third, a specification never exactly matches the project manager's idea. Having engineers and other experts understand the reasoning behind the blueprint enables them to better understand the idea and to point out deficiencies in the specifications. Finally, if you tell people what they need to do you'll only get what you asked for. But if you tell them why something is needed they are able to see beyond specification and come up with what's needed not just what's requested.