Overview
In this activity, the software configuration management (SCM) manager determines the level of SCM needed for each computer software configuration item (CSCI) on a project. The SCM manager bases this determination on a set of driving factors: software size, staff size, complexity, and criticality. The SCM manager assigns a rating to each driving factor, and uses this rating to calculate a numerical value known as the "configuration management (CM) needs index." The table provided in the Procedures section suggests a SCM level for a given CM needs index. The SCM manager uses lessons learned from previous projects to tailor this level of SCM to meet the current projects needs.
Roles and Responsibilities
The SCM manager is responsible for determining the level of SCM needed on the project.
The project software manager provides information on the CSCIs and the projects driving factors to the SCM manager.
Controls
See parent activity 1.1.2.1. Determine Projects Software Configuration Management Needs.
Inputs
The preliminary Software Development Plan (SDP) (see Appendix E), which contains estimates and explanations of the software size, staff size, complexity, and criticality of the CSCI being developed.
Procedures
1) The SCM manager obtains estimates of the software size, staff size, and complexity and criticality levels for each CSCI from the project software manager. The SCM manager also may obtain these from a preliminary SDP, if one exists.
2) The SCM manager completes items 1 through 6 on the Software Configuration Management Needs Form, rating each driving factor according to the guidelines in the instructions (see Appendix C). The SCM manager computes the CM needs index, which has a value ranging from 2.5 through 7.5.
3) Table 1.1.2.1.1-1 proposes different levels of SCM for different values of the CM needs index. The SCM manager evaluates the suggested level of SCM for each CSCI, reviewing information from previous projects, lessons learned, and the examples given below to determine the projects actual SCM needs. The SCM manager then documents these in Item [8] on the Software Configuration Management Needs Form.
If a project consists of multiple CSCIs, the CM needs index may be different for each. Based on the organizational structure and the nature of the CSCIs, the SCM manager may choose to use the same control board structure, backup schedules, or SCM tools for all the CSCIs on the project, regardless of the suggested SCM needs, to maintain continuity throughout the project. If so, the SCM manager documents this in Item [7] on the Software Configuration Management Needs Form.
| CM Needs Index | Suggested CM Needs |
| 2.53.4 | · A project Change Control Board (CCB) to oversee
all Configuration Change Requests (CCR) (see Appendix C)
submitted by the different disciplines. · A SCM manager is assigned to the project. This may be one of the developers or the software engineering manager. · A single, small Software Control Board (SCB) to approve and maintain the status of all software changes. This board consists of the SCM manager, the project software manager, and a Software Quality Assurance (SQA) representative. The board meets as needed. · Regular backups (preferably daily) of all software products. |
| 3.55.4 | · A project CCB to oversee all CCRs submitted by
the different disciplines. · A SCM manager is assigned to the project. · A single SCB to approve and maintain the status of all software changes. This board will consist of the SCM manager, SQA representative, project software manager, and software engineering manager(s). · The SCM manager uses a SCM tool to accomplish the following: control software baselines and versions, track commercial off-the-shelf (COTS) products with each baseline, and control all project documentation. · Automatic, daily backup(s) of all software products. |
| 5.57.5 | · A project CCB to oversee all CCRs submitted by
the different disciplines. · A SCM manager is assigned to the project. · A SCB to oversee all Software Change Requests (SCR) (see Appendix C), and a Software Trouble Report Board (STRB) to oversee all Software Trouble Reports, if Software Trouble Report activity is expected to require a separate board. · The SCM manager performs SCM using a SCM tool to accomplish the following: control software baselines and versions, track COTS products associated with each baseline, and control all project documentation. · Automatic, daily backup of all software products. |
4) Repeat steps 2 and 3 for each CSCI on the project.
5) The SCM manager reviews the actual SCM needs with the project software manager to verify that the data used was correct and to ensure that the project software manager agrees with the findings and recommendations.
6) The SCM manager places the completed Software Configuration Management Needs Form as an appendix to the Software Configuration Management Plan (SCMP). Examples 1 through 6 show completed Software Configuration Management Needs Forms for several projects.
Example 1:
[1] CSCI Name: Space Shuttle On-Board Software [2] Driving Factor Rating Estimated Values [a] Software Size Large (3) Over 500K lines of code (LOC) [b] Staff Size Large (3) More than 240 people [c] Complexity Level High (3) Hundreds of software modules, complex requirements, and interaction with other systems [d] Criticality Level High (3) Loss of vehicle and crew is possible [3] Computed CM Needs Index 7.5 [4] Comments: N/A [5] Actual SCM Needs: This project is supported with the following: multiple control boards meeting weekly, an SCM department, a full SCM database, SQA reviews and audits, and customer involvement with the SCM process (e.g., the customer may be a member of any control boards and may take part in any reviews) and insight into all SCM-controlled products (i.e., the customer receives drafts and final versions of all products created). All work items are automatically backed up daily.
Example 2:
[1] CSCI Name: Austin Device Drive Software [2] Driving Factor Rating Estimated Value [a] Software Size Small (1) Fewer than 10K LOC [b] Staff Size Medium (2) Fewer than 25 people [c] Complexity Level High (3) Complex requirements and complex interactions with other CSCIs and operating systems [d] Criticality Level Medium (2) Failure can result in loss of some capability [3] Computed CM Needs Index 5.5 [4] Comments: N/A [5] Actual SCM Needs: This project is supported with a single SCB and a project-level CCB. The SCB consists of the lead software developer, lead software tester, and project software manager. This board meets regularly. SCM is performed using a project-wide tool, Polytron Version Control System (PVCSÔ ), to control versions. The system administrator provides regular backups of all developed software.
Example 3:
[1] CSCI Name: Lidar Inspace Technology Experiment (LITE) Flight Project [2] Driving Factor Rating Estimated Value [a] Software Size Medium (2) Fewer than 50K LOC [b] Staff Size Medium (2) Fewer than 25 people [c] Complexity Level Medium (2) Fewer than 50 software modules; complex interaction with other systems [d] Criticality Level High (3) Failure can result in loss of all mission objectives [3] Computed CM Needs Index 6.0 [4] Comments: N/A [5] Actual SCM Needs: This project is supported with an SCB and a project-level CCB to approve and maintain the status of all software changes. These boards meet as required. SCM is performed using a project-wide tool, PVCSÔ , to control versions. The system administrator backs up all developed software on a daily basis.
Example 4:
[1] CSCI Name: LITE Ground Project [2] Driving Factors Ratings Estimated Values [a] Software Size Medium (2) Fewer than 50K LOC [b] Staff Size Small (1) Fewer than 6 people [c] Complexity Level Medium (2) Fewer than 50 modules, complex code, interaction with other systems [d] Criticality Level Medium (2) Failure can result in loss of some capability [3] Computed CM Needs Index 4.5 [4] Comments: N/A [5] Actual SCM Needs: Project support will be the same as in the LITE flight project example to maintain consistency throughout the project.
Example 5:
[1] CSCI Name: LITE Mission OPS Project [2] Driving Factors Ratings Estimated Values [a] Software Size Medium (2) Fewer than 50K LOC [b] Staff Size Small (1) Fewer than 6 people [c] Complexity Level Medium (2) More than 50 modules, complex code, interaction with other systems [d] Criticality Level Medium (2) Failure can result in loss of some capability [3] Computed CM Needs Index 4.5 [4] Comments: N/A [5] Actual SCM Needs: Project support will be the same as in the LITE flight project example to maintain consistency throughout the project.
Example 6:
[1] CSCI Name: Materials In Devices As Superconductors (MIDAS) [2]Driving Factors Ratings Estimated Values [a] Software Size Small (1) Fewer than 10K LOC [b] Staff Size Small (1) Only 2 people [c] Complexity Level Medium (2) More than 10 modules [d] Criticality Level High (3) Failure can result in loss of all mission objectives. [3] Computed CM Needs Index 5.25 [4] Comments: The MIDAS CSCI is a small project developed by two people.
[5] Actual SCM Needs: This project is supported with project-level and software-level CCBs to approve and maintain the status of all software changes. These boards meet as needed. It is recommended that a SCM tool (e.g., PVCSÔ ) be used to control versions. Backups of all developed software are performed on a daily basis. Because the staff size is extremely small, the role of SCM manager may be performed by the project software manager or a developer.
Outputs
The completed Software Configuration Management Needs Form which is included as an attachment in the SCMP.