Page 257 -
P. 257

228           PART TWO  MANAGING SOFTWARE PROJECTS


                                   Modified
                                    SCIs
                                                                     Project database
                                                       Approved
                       Software               Formal
                      engineering   SCIs     technical   SCIs
                         tasks               reviews
                                                                             Stored
                                                                              SCIs


                                                  Extracted
                                          SCM       SCIs
                                         controls
                                                                     BASELINES:
                                                                       System Specification
                                                                       Software Requirements
                                                                       Design Specification
                                                                       Source Code
                                                                       Test Plans/Procedures/Data
                                                                       Operational System
         FIGURE 9.1 Baselined SCIs and the project database


                          In the context of software engineering, a baseline is a milestone in the develop-
                       ment of software that is marked by the delivery of one or more software configura-
                       tion items and the approval of these SCIs that is obtained through a formal technical
                       review (Chapter 8). For example, the elements of a Design Specification have been
                       documented and reviewed. Errors are found and corrected. Once all parts of the spec-
                       ification have been reviewed, corrected and then approved, the Design Specification
                       becomes a baseline. Further changes to the program architecture (documented in
                       the Design Specification) can be made only after each has been evaluated and approved.
                       Although baselines can be defined at any level of detail, the most common software
                       baselines are shown in Figure 9.1.
                          The progression of events that lead to a baseline is also illustrated in Figure 9.1.
                       Software engineering tasks produce one or more SCIs. After SCIs are reviewed and
                       approved, they are placed in a project database (also called a project library or soft-
         Be sure that the
         project database is  ware repository). When a member of a software engineering team wants to make a
         maintained in a  modification to a baselined SCI, it is copied from the project database into the engi-
         centralized, controlled  neer's private work space. However, this extracted SCI can be modified only if SCM
         location.     controls (discussed later in this chapter) are followed. The arrows in Figure 9.1 illus-
                       trate the modification path for a baselined SCI.
                       9.1.2  Software Configuration Items
                       We have already defined a software configuration item as information that is created
                       as part of the software engineering process. In the extreme, a SCI could be consid-
                       ered to be a single section of a large specification or one test case in a large suite of
   252   253   254   255   256   257   258   259   260   261   262