Chapter 3. How to figure out what to do
Few agree on how to plan projects. Often, much time during planning is wasted getting people to agree on how planning should be done. I think people obsess about planning because it’s the point of contact for many different roles in any organization. When major decisions are at stake that will affect people for months, everyone has the motivation to get involved. There is excitement and new energy but also the fear that if action isn’t taken, opportunities will be lost. This combination makes it all too easy for people to assume that their own view of the world is the most useful. Or worse, that it is the only view of the world worth considering.
“The hardest single part of building a software system is deciding what to build. No other part of the conceptual work is as difficult in establishing the detailed technical requirements, including the interfaces to people, to machines, and to other software systems. No other part of the work so cripples the results if done wrong. No other part is more difficult to rectify later. Therefore, the most important function that the software builder performs for the client is the iterative extraction and refinement of the product requirements.”
It’s not surprising then that the planning-related books in the corner of my office disagree heavily with each other. Some focus on business strategy, others on engineering, and a few on understanding customers. But more distressing than their disagreements ...