Page 255 -
P. 255

226           PART TWO  MANAGING SOFTWARE PROJECTS



            QUICK         What is the work product? The  How do I ensure that I’ve done it right? When
            LOOK          Software Configuration Manage-  every work product can be accounted for, traced,
                          ment Plan defines the project  and controlled; when every change can be
              strategy for SCM. In addition, when formal SCM  tracked and analyzed; when everyone who needs
              is invoked, the change control process produces  to know about a change has been informed—
              software change requests and reports and engi-  you’ve done it right.
              neering change orders.




                       into operation. Software configuration management is a set of tracking and control
                       activities that begin when a software engineering project begins and terminate only
                       when the software is taken out of operation.
                          A primary goal of software engineering is to improve the ease with which changes
                       can be accommodated and reduce the amount of effort expended when changes
                       must be made. In this chapter, we discuss the specific activities that enable us to man-
                       age change.


                 9.1   SOFTWARE CONFIGURATION MANAGEMENT
                       The output of the software process is information that may be divided into three broad
                       categories: (1) computer programs (both source level and executable forms); (2) doc-
                       uments that describe the computer programs (targeted at both technical practition-
                       ers and users), and (3) data (contained within the program or external to it). The items
                       that comprise all information produced as part of the software process are collec-
                       tively called a software configuration.
                          As the software process progresses, the number of software configuration items
                       (SCIs) grows rapidly. A System Specification spawns a Software Project Plan and Soft-
                       ware Requirements Specification (as well as hardware related documents). These in
         “There is nothing  turn spawn other documents to create a hierarchy of information. If each SCI simply
          permanent except
                       spawned other SCIs, little confusion would result. Unfortunately, another variable
          change.”
                       enters the process—change. Change may occur at any time, for any reason. In fact,
          Heraclitus
          500 B.C.     the First Law of System Engineering [BER80] states:  “No matter where you are in the
                       system life cycle, the system will change, and the desire to change it will persist
                       throughout the life cycle.”
                          What is the origin of these changes? The answer to this question is as varied as
                       the changes themselves. However, there are four fundamental sources of change:
                         •  New business or market conditions dictate changes in product requirements
                            or business rules.
                         •  New customer needs demand modification of data produced by information
                            systems, functionality delivered by products, or services delivered by a
                            computer-based system.
   250   251   252   253   254   255   256   257   258   259   260