IEEE Process Map for Software Life Cycle Process

IEEE 1074 provides a process for creating a software life cycle process (SLCP). The SLCP is defined as the project-specific description of the process that is based on a project's software life cycle (SLC) and the integral and project management processes used by the organization. These integral processes include configuration management, metrics, quality assurance, risk reduction, and the acts of estimating, planning, and training. It is primarily the responsibility of the project manager and the process architect for a given software project to create the SLCP.

This methodology begins with the selection of an appropriate software life cycle model (SLCM) for use on the specific project. It continues through the creation of the SLC, using the selected SLCM and the activities described in Table 3-1. The methodology concludes with the augmentation of the SLC with an organization's support processes to create the SLCP. The activities described in the 1074 mapping table cover the entire life cycle of a software project, from concept exploration through the eventual retirement of the software system. 1074 does not address nonsoftware activities, such as contracting, purchasing, or hardware development. It also does not mandate the use of a specific SLCM. 1074 presumes that the project manager and process architect are already familiar with a variety of SLCMs, with the criteria for choosing among them, and with the criteria for determining the attributes and constraints of the desired end system and the development environment that affects this selection. An example of life cycle derivation is shown in Figure 3-6.

Figure 3-6. Deriving the Software Life Cycle

Table 3-1. IEEE 1074 Process Mapping

Category

Process

Activity

I. Software Life Cycle Model Process

A. Software Life Cycle Model

1. Identify Candidate SLC Models

2. Select Project Model

II. Project Management Processes

A. Project Initiation

1. Map Activities to SLC Model

2. Allocate Project Information

3. Establish Project Environment

4. Plan Project Management

B. Project Monitoring and Control

1. Analyze Risks

2. Perform Contingency Planning

3. Manage the Project

4. Retain Records

5. Implement Problem Reporting Method

C. Software Quality Management

1. Plan Software Quality Management

2. Define Metrics

3. Manage Software Quality

4. Identify Quality Improvement Needs

III. Predevelopment Processes

A. Concept Exploration

1. Identify Ideas or Needs

2. Formulate Potential Approaches

3. Conduct Feasibility Studies

4. Plan System Transition

Refine and Finalize the

Category

Process

Activity

Idea or Need

B. System Allocation

1. Analyze Functions

2. Develop System Architecture

3. Decompose System Requirements

IV. Development Processes

A. Requirements

1. Define and Develop Software Requirements

2. Define Interface Requirements

3. Prioritize and Integrate Software Requirements

B. Design

1. Perform Architecture Design

2. Design Database

3. Design Interfaces

4. Select or Develop Algorithms

5. Perform Detailed Design

C. Implementation

1. Create Test Data

2. Create Source

3. Generate Object Code

4. Create Operating Documentation

5. Plan Integration

6. Perform Integration

V. Post-Development Processes

A. Installation

1. Plan Installation

2. Distribute Software

3. Install Software

Category

Process

Activity

Operational Environment

B. Operation and Support

1. Operate the System

2. Provide Technical Assistance and Consulting

3. Maintain Support Request Log

C. Maintenance

1. Reapply Software Life Cycle

2. Conduct Parallel Operations

3. Retire System

VI. Integral Processes

A. Verification and Validation

2. Execute V&V Tasks

3. Collect and Analyze Metric Data

4. Plan Testing

5. Develop Test Requirements

6. Execute the Tests

Configuration

Management

1. Plan Configuration Management

2. Develop Configuration Identification

3. Perform Configuration Control

4. Perform Status Accounting

Category

Process

Activity

C. Documentation Development

1. Plan Documentation

2. Implement Documentation

3. Produce and Distribute Documentation

D. Training

1. Plan the Training Program

2. Develop Training Materials

3. Validate the Training Program

4. Implement the Training Program

1074 is useful to any organization that is responsible for managing and performing software projects. It can be used where software is the total system or where software is part of a larger system. It works for pure software product organizations, internal information technology (IT) shops, software consultants, and pure project management organizations that procure and implement commercial-off-the-shelf (COTS) software products. The 1074 product is the SLCP that is required for a specific software project.

Although 1074 describes the creation of a single, overall SLCP that is to be used for a project, the user of this standard should recognize that an SLCP can itself include lower-level SLCPs. This is the same concept as in configuration management, in which a particular configuration item can include subordinate configuration items. This standard applies equally to the development of SLCPs at any level.

1074 consists of six major process categories:

1. Software life cycle model process

2. Project management processes

3. Predevelopment processes

4. Development processes

5. Post-development processes

6. Integral processes

Within the processes, there are 17 subprocesses and a total of 65 activities in the subprocesses. The 1074 mapping table summarizes these.

1074 is not a prescriptive, specific SLCM. It cannot exist without an organization's SLC. 1074 does not presume to use any specific software development methodology, nor does it recommend one. It is not self-limiting—more stringent requirements may be added, if desired. Table 3-1 shows the IEEE 1074 map of category to process to activity.

Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook


Post a comment