When given a task to implement an application, or other software technology, most developers / development teams first ask the question “What are the requirements of the application that is to be developed?” (some even jump straight to “How to develop?” – but that’s a topic for a different discussion). I believe that the first question, or at least the question right after “What“, should be “Why is this needed / desired?”.
Yes, understanding who, what, when, where and how are important (or even critical) to the successful implementation of a software product (or any other activity, for that matter). But while the answers to these questions will most likely provide the quantitative controls for an implementation project (e.g. specific requirements, users and user types, delivery deadlines, internal vs. external usage, etc.) – the question of “why” seeks to answer the more qualitative ones. The answers to why (when examined by someone of some level of experience) can provide valuable info on purpose, priority, constraints, dependencies, biases and other such matters. It can lead to such decisions as whether the task should be undertaken in the first place; whether it would be better to buy a product, instead of build one; whether the development team should spend more time on making the UI top-notch vs. building a completely open and extensible back-end. These insights, and much more, can result from asking “Why?“.
So when next faced with an implementation task, don’t be afraid to ask the sometimes difficult question of “Why?“. It may save you a tremendous amount of effort in the pursuit of what and how, as well as the other questions of choice.

June 1, 2010 at 7:10 pm
So true. There are teams / people who don’t even bother to ask What will be the business impact or how the code they write impacts the day to day operations of the business.
Also, looking for the How to implement post. Due to lack of maturity I always try to put in pieces of How to do this thing when providing an estimate. To me you need to know what to do and how to do to provide an estimate which may be wrong. So, how about a post on how to estimate the effort involved in a project?
June 2, 2010 at 7:38 am
I’ll add that to my list for future posts. Thanks for the input.
By the way, asking How is not a bad thing, and is usually the most fun to answer, but it should be shaped by the responses to the other questions (why, what, who, when, where) – in my opinion.