Page 288 -
P. 288

of the organization. The problem is that the users are no longer available to the program-
                          mer whenever input is needed. A programmer used to walking across the office and ask-
                          ing for clarification about a confusing or unclear concept will often have trouble adjusting
                          to a situation in which that input is not readily available.
                          This problem is compounded when the knowledge needed to define the behavior of the
                          software does not exist anywhere in the organization. Programmers know how to build soft-
                          ware; they are not necessarily familiar with the day-to-day business of the people who will
                          use it. This is where the “jack-of-all-trades” can suddenly find himself on shaky ground. He’s
                          spent a great deal of time learning about the particular needs of a small number of users; if a
                          new project requires that he understand a completely different set of users, he may have to
                          spend a very long time building up sufficient expertise in this new area.
                          Lack of Process Maturity Is Not “Immature”
                          There are many excellent textbooks on the nuts and bolts of software process improve-
                          ment, but few of them acknowledge the fact that many successful organizations do not
                          have a formal software process. In fact, process improvement experts often talk about pro-
                          cess improvement in ways that are actually insulting to software professionals who feel
                          they have done a good job and gone a long way in their careers. They use words such as
                          “immature,” “haphazard,” “chaotic,” and even “childish” to describe the software process
                          of an organization that does not have a formal software process. This is not a useful way to
                          convince people to change the way they do their jobs. (This was a major consideration in
                          choosing “initial” as the label for the first maturity level in the CMM—see the section “The
                          Capability Maturity Model.”)

                          For example, one otherwise excellent book on practical process improvement contains a
                          chapter demonstrating this problem. It compares the key behaviors of a child (moody,
                          unpredictable, inconsistent, living for the moment, thrown into a panic by unexpected
                          setbacks) with the behaviors of a “mature adult” (stable, reliable, consistently capable,
                          plans ahead, copes well with the unexpected). The author uses this comparison to illus-
                          trate the difference between an organization with a formal process and one without. This
                          is quite insulting to anyone who works in an organization without a formal process; it’s
                          also untrue, since there are plenty of organizations that in no way display those character-

                          istics. Yet some process improvement professionals attempt to change organizations by
                          showing them exactly this sort of “evidence,” presumably in hope of shaming the team
                          into adopting the changes they recommend.
                          Even worse than insulting people into changing is evangelizing to them, but this is exactly
                          what many process improvement experts do. As unlikely as it sounds, process improve-
                          ment textbooks and articles literally talk in terms of religion, believers, disbelievers, and
                          evangelism. To someone who thinks this way, process improvement is a way of thinking
                          that requires faith; unbelievers cannot be “converted,” no matter how much they are
                          cajoled or harangued. It’s not surprising that many process improvement efforts fail. Peo-
                          ple distrust evangelists and suspect they have more of an allegiance to the process than to
                          the organization and the team. Software engineers who are pestered or pressured into


                   280  CHAPTER TWELVE
   283   284   285   286   287   288   289   290   291   292   293