SOFTWARE ENGINEERING & ANALYSIS LABSOFTWARE PROCESS IMPROVEMENT VOLUMEOF THE SOFTWARE ENGINEERING PROCESS GUIDEBOOKFinalFebruary 5, 1997National Aeronautics
and |
Overview
In this activity, the organization capitalizes on experiences from former projects to support on-going projects, and continuously performs process and product improvements. This activity includes:
Defining an organizational software baseline that documents statistical norms for the organizations products and processes.
Identifying and prioritizing improvement goals.
Identifying lessons learned on past projects.
Identifying needed changes in processes and technologies.
Running controlled experiments to determine what changes and technologies are beneficial.
Providing projects with reusable products and meaningful project metric reports.
Documenting and updating the organizations standard software process.
Dispositioning requests for deviations from the organizational standards.
Providing organizational training.
Roles and Responsibilities
The software engineering process group (SEPG) performs the following main functions: identifying, testing, and implementing process improvements; maintaining the organizational assets; and defining and providing organizational training.
The SEPG normally consists of experienced project software managers, software developers, software testers, and software quality assurance (QA) and configuration management (CM) personnel. Usually, at least one professional is assigned full time to the SEPG, and the groups membership consists of 1 to 3 percent of the organizations software professionals. The SEPG leader (i.e., the SEPG chairperson) must be an experienced and knowledgeable manager with the respect of the projects professionals and support of top management [Humphrey, 1989, p. 295].
Controls
Organizational goals determining: the overall approach to process improvement, process areas to be focused on, and improvement program goals.
The organizations standard software process that defines the process improvement activities and products to be produced.
Inputs
Requests for Deviation/Waiver (see Appendix C) from software projects requesting deviations from the organizations standard software process.
Reusable software products from projects that are within the organization or from other organizations, or that are commercially purchased.
Project metrics submitted by software projects within the organization.
Procedures
The SEPGs three main functions are: identifying/implementing process improvements, maintaining the organizational assets, and organizational training. The SEPG performs these on-going activities, which are not bounded by project schedules or delivery dates.
1) 4.1 Identify And Test Process Improvements - In this activity, the SEPG determines what process or technology changes should be made in the organizations standard, based on the high-level organizational goals; by continuously evaluating new processes, methods, and technologies; developing improvement studies to test the proposed changes; testing these changes via pilot projects; and evaluating the results. These experiments and their results are documented in Improvement Study Plans (ISP) (see Appendix E). In addition to these planned changes during a software projects course, the project software manager may need to deviate from or substantially tailor the organizations standard software process and, consequently, submits a completed Request for Deviation/Waiver documenting the need to the SEPG for evaluation and approval.
2) 4.2 Maintain The Organizations Assets - In this activity, information about the organizations process and products is tracked and maintained. This consists of collecting and storing the organizations assets (e.g., reusable software products, the organizations standard software process), determining and maintaining the organizations software baseline, updating the organizations products, and providing metric reports to the projects.
3) 4.3 Develop And Supply Organizational Training - In this activity, the organizations training needs are defined, training materials and methods are developed or identified, and the training is conducted.
Outputs
Reusable software products maintained by the SEPG and made available to software projects and other organizations.
Metric reports documenting the organizations norms and reports on software projects status.
Dispositioned deviations/waivers for software projects seeking to deviate from the organizations standard software process.
ISPs documenting experiments to be implemented on the organizations projects, in addition to results and associated recommendations based on the studies.
The organizations standard software process, which is maintained.