Baseline Software Configuration Tasks

J.E.D.I bTechnical Manuals cInstallation and Procedures for Software Engineering 7.Standards and Procedures for Software Engineering

7.10.1 Baseline

Managing SCIs uses the concept of baseline. A baseline is a software configuration management concept that helps software engineers control change without seriously impeding justifiable change. It is a specification or product that has been formally reviewed and agreed upon to be the basis for further development. It can only be changed through a formal change procedure. Figure 7.4 shows the dynamics of managing the baseline of SCIs. A Software Engineering Task develops a work product that becomes a software configuration item or unit. It goes through a formal technical review to detect faults and errors. Once the work product passes or is acceptable, it becomes a baseline and is saved in a project database. Sometimes, this work product is extracted from the project database as input to some other software engineering task. Notices that checking out a SCI involves controls and procedure. During the execution of the SE task, it is possible that the SCI has been modified. In this case, the modified SCI will pass through another formal technical review. If it passed or acceptable, the modified version becomes the new baseline.

7.10.2 Software Configuration Tasks

Software configuration management has the responsibility to control change. It identifies software configuration items and various version of the software. It also audits the software configuration items to ensure that they have been properly developed and that the reporting of changes is applied to the configuration. Five tasks are done, namely, Software Engineering 333 Figure 7.4 SCIs Baseline Dynamics SCI SE Tasks Formal Technical Review SCI SCI Modified Extracted with SCM Controls Must be Reviewed New Baseline J.E.D.I change identification, version control, change control, configuration audition and reporting. Change Identification It is the process of identifying items that change throughout the software development process. It specifically identifes software configuration items SCIs and uniquely gives it an identifier and name. Version Control It is the procedures and tools to manage the different version of configuration objects that are created during the software development process. A version is a collection of SCIs that can be used almost independently. Change Control It consists of human procedures and automated tools to provide a mechanism for the control of change. It has the following subset of task: • A change request is submitted and evaluated to assess technical merit, potential side effects, overall impact on other SCIs. • A change report is created to identify the final decision on the status and priority of the change. • The Engineering Change Order ECO is created that describes the change to be make, the constraints, and the criteria for review and audit. • The SCIs is checked out for modification. • It is, then, checked in after the review and subject to version control. Configuration Audit It is the process of assessing a SCIs for characteristics that are generally not considered during a formal technical review. It answers the following questions: • Was the change specified in the ECO done? Are there any additional modification made? • Did the formal technical review assessed the technical correctness of the work product? • Did the software engineering procedures been followed? • Did the SCM procedures been followed? • Have all appropriate SCIs been updated? Software Engineering 334 J.E.D.I Status Reporting It is the process of informing people that are affected by the change. It answers the following questions: • What happened? • Who did it? • When did it happen? • What else will be affected? Software Engineering 335 J.E.D.I

7.11 Project Assignment