Key Software Development Standards

Software development is a critical aspect of building and fielding a system and, as such, is dealt with separately and in detail in Chapter 10. A very well-known standard for software development was the Department of Defense standard 2167A (DoD-Std-2167A) [2.11], which had the title ''Defense System Software Standard.'' The key phases of software development defined in that standard were

1. System requirements analysis/design

2. Software requirements analysis

3. Preliminary design

4. Detailed design

5. Coding and computer software unit (CSU) testing

6. Computer software component (CSC) integration and testing

7. Computer software configuration item (CSCI) testing

8. System integration and testing

From this list, we note the emphasis on requirements, design, integration, and testing. These are indeed extremely critical elements because we know from experience that untested software is a formula for failure. The standard appears to support the industry conventional wisdom for software of ''build a little, test a little.'' Because most of our modern large- and small-scale systems today contain large amounts of software, how it should be developed is a mandatory part of the training of today's Project Manager and Chief Systems Engineer. Of special interest is the manner in which the software development process ''fits into'' both project management and systems engineering. Again, this subject is discussed at length in Chapter 10.

The long-standing 2167A standard was replaced by Military Standard 498 in December 1994 [2.12]. The two-digit detailed requirements in this standard were articulated in the following subject areas:

• Project planning and oversight

• Establishing a software development environment

• System requirements analysis

• System design

• Software requirements analysis

• Software design

• Software implementation and unit testing

• Unit integration and testing

• CSCI qualification testing

• CSCI/HWCI (hardware configuration item) integration and testing

• System qualification testing

• Preparing for software use

• Preparing for software transition

• Software configuration management

• Software product evaluation

• Software quality assurance

• Corrective action

• Joint technical and management reviews

• Other activities

Two additional standards that relate specifically to software are:

1. IEEE/EIA 12207—Software Life Cycle Processes

2. IEEE P1471—Recommended Practice for Architectural Description

The second of these is of particular interest as it relates to the architecting of software and systems. The latter is a central theme of this book, with a full chapter 9 devoted to providing a prescriptive method for the process of ar-

chitecting a system. Additional information regarding these two standards is provided in Chapter 10.

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