Process Framework

Definitions

Basic Definitions
Software
Engineering
The disciplined application of engineering, scientific, and mathematical principles, methods, and tools to the economical production of quality software.
Software
Engineering
Process
The total set of software engineering activities needed to transform the user's requirements into software.
Software
Process
Architecture
A framework within which project-specific software processes are defined.
Software
Process
Model
One specific embodiment of a software process.
Software
Process
The set of activities, methods, and practicies that are used in the production and evolution of software.

Levels of Software Process Models

Model TypeCharacteristics
UniversalDescribes the basic process steps and provides gneral guidance on their role and order (e.g., Waterfall and Spiral Model).
Permit global understanding and provide a framework for establishing policies.
AtomicPrecise data definitions, algorithmic specifications, information flows and user procedures. Atomic process definitions are often embodied in process standards and conventions.
Provide atomic detail for training and task mechanization.
WorldlyGuides the sequence of tasks, defines task prerequisites and results, specify who does what when, models anticipated results, measure and key checkpoints.
Guide daily work.

Software Process Architecture

The three levels must be present in the process framework giving policies, procedures and standards (corresponding to the three levels). The architectural framework provides a definition for the basic elements, how they relate and how they are decomposed into greater detail.

The basic element of the process model is the Unit Cell. A unit cell is defined to accomplish a specific task and is uniquely identified. Each cell has required entry conditions with inputs, task standards, procedures, methods, responsibilities, and measures. Exit conditions define the results produced, their level of validation, and any post-task conditions. Feedback is allowed to and from other unit cells.


Table 1: Basic Unit Cell Specification
Specification
EntryConditions to be met before task initiation
ExitResults produced
FeedbackIN: Feedback from other cells
OUT: Feedback to other cells
TaskWhat is to be done (who, what, when)? Standards, procedures, and responsibilities.
MeasurementsTask, output, and feedback measures

The Table 2 provides an example that should highlight the modeling activity. In particular, Table 2 offers a model for what we normally refer to as the development cycle for small projects.


Table 2: Unit Cell Definitions for Process Model
Standard as Process
Cell001002003
EntryApproved requirements, changes and development planInspected and approved design and changesInspected and approved code and changes
ExitInspected and approved design and changesInspected and approved code and changesInspected, tested and approved software
Feedback
In
Design IssuesImplementation Issues
Feedback
Out
Requirements IssuesRequirements and Design IssuesRequirements, Design Issues, and implementation issues
TaskDesignImplementation, Inspection and unit testTesting: Integration, Function, System, and Acceptance
MeasuresResources, Product: Changes, Errors, Design, Document PagesResources, Product: Changes, Errors, Code, Document PagesResources, Product: Changes, Errors, Code, Document Pages, Test Suite


References

Humphrey, W. (1989) Managing the Software Process. Reading, MA: Addison-Wesley. p. 247-286.

Representative Process Architectures and Frameworks