Page 42 -
P. 42

CHAPTER 1  THE PRODUCT                                              13

                              later." At first, this statement may seem counterintuitive. However, as new people
                              are added, people who were working must spend time educating the newcomers,
                              thereby reducing the amount of time spent on productive development effort.  Peo-
               The Software Project  ple can be added but only in a planned and well-coordinated manner.
               Managers Network at   Myth:  If I decide to outsource the software project to a third party, I can just relax
                                                        3
               www.spmn.com can
               help you dispel these and  and let that firm build it.
               other myths.   Reality:  If an organization does not understand how to manage and control software
                              projects internally, it will invariably struggle when it outsources software projects.
                              Customer myths. A customer who requests computer software may be a person
                              at the next desk, a technical group down the hall, the marketing/sales department,
                              or an outside company that has requested software under contract. In many cases,
                              the customer believes myths about software because software managers and prac-
                              titioners do little to correct misinformation. Myths lead to false expectations (by the
                              customer) and ultimately, dissatisfaction with the developer.
                              Myth:  A general statement of objectives is sufficient to begin writing programs—
                              we can fill in the details later.
                Work very hard to
                understand what you  Reality:  A poor up-front definition is the major cause of  failed software efforts.  A
                have to do before you  formal and detailed description of the information domain, function, behavior, per-
                start. You may not be  formance, interfaces, design constraints, and validation criteria is essential.  These
                able to develop every  characteristics can be determined only after thorough communication between cus-
                detail, but the more
                you know, the less risk  tomer and developer.
                you take.     Myth:  Project requirements continually change, but change can be easily accom-
                              modated because software is flexible.
                              Reality:  It is true that software requirements change, but the impact of change
                              varies with the time at which it is introduced.  Figure 1.3 illustrates the impact of
                              change. If serious attention is given to up-front definition, early requests for change
                              can be accommodated easily.  The customer can review requirements and recom-
                 XRef         mend modifications with relatively little impact on cost.  When changes are requested
                The management and  during software design, the cost impact grows rapidly.  Resources have been com-
                control of change is  mitted and a design framework has been established.  Change can cause upheaval
                considered in detail in
                Chapter 9.    that requires additional resources and major design modification, that is, additional
                              cost.  Changes in function, performance, interface, or other characteristics during
                              implementation (code and test) have a severe impact on cost.  Change, when requested
                              after software is in production, can be over an order of  magnitude more expensive
                              than the same change requested earlier.





                              3  The term “outsourcing” refers to the widespread practice of contracting software development
                                work to a third party—usually a consulting firm that specializes in building custom software for
                                its clients.
   37   38   39   40   41   42   43   44   45   46   47