Page 24 -
P. 24

A    N URGENT NEED CAN BE A GOOD MOTIVATOR. Software is usually built to address an urgent

                          need. For the stakeholders—meaning everyone who has a concern or real interest in the
                          success of the project—the fact that the need is urgent helps to convince the organization
                          to dedicate time and energy to addressing it. For the software engineers, an urgent need
                          means that their work will be appreciated and used in the foreseeable future. And for the
                          management of the organization, it means that there is a clear direction in how they need
                          to run things.

                          But urgency can also be the source of a project’s most difficult problems. Urgency causes
                          people to panic, and to potentially gloss over important parts of the project. People will
                          rush into gathering requirements (or, even worse, rush into building the code!) without
                          thoroughly understanding the needs of the people who want the software built.
                          If a project manager does not really understand the context in which the software is being
                          built, then the only thing that the project team sees is the urgency; they lose track of the
                          needs. They can see the individual problems that they are working to solve, but they may
                          lose track of the big picture.

                          Unless the team understands the needs that drive the project, they may end up with a nar-
                          row focus, causing them to waste time addressing problems that are of little importance to
                          the stakeholders. It’s easy to build great software that solves the wrong problems, but the
                          only way to build the appropriate software is for everyone in the project to understand
                          and agree on both why and how that software will be built before the work begins. That’s
                          the purpose of project planning.

                          Understand the Project Needs

                          When a stakeholder does not feel that his needs are being met, he usually puts pressure
                          on the project manager to provide an early version of the software, so that he can person-
                          ally verify that the team really understands why the software is being built. This is a big
                          source of communication failure between the people who need the software and the team
                          members who are building it. When the stakeholder asks for an early version or a proto-
                          type of the software, he is usually asking for evidence that his needs are understood and
                          being addressed. When programmers hear this request, however, they interpret it to mean

                          that the person is interested in the details of what they are doing, and that he wants to be
                          given a tour of the solution as it is being developed.
                          This may sound funny to some seasoned software engineers. Such a basic lack of communi-
                          cation couldn’t really be that widespread…right? But most software professionals have had
                          to sit through uncomfortable meetings where a designer or programmer gives a demo or
                          walkthrough of all of the great work he did, only to be surprised that nobody seems to care.

                          The reason nontechnical people seem so bored in demos and walkthroughs is because
                          they came to see confirmation that the technology team understands their needs. Instead,
                          they got a lecture in software design, which they did not want. This situation can be frus-
                          trating for everyone involved: the software engineers feel unappreciated and conde-
                          scended to, while the stakeholders feel like their needs are not being taken seriously.

                   16  CHAPTER TWO
   19   20   21   22   23   24   25   26   27   28   29