Characteristics of Software Process
Characteristics of Software Process
Optimality and Scalability
Optimality revolves around producing high quality software at low cost in less time.
Scalability means that the process should be applicable to all sizes and all complexities of projects.
Predictability
Support for Testability and Maintainability
Early Defect Removal and Prevention
Process Improvement
Predictability
Predictability of a process determines how accurately the outcome of following a process in a project can be predicted before the project is completed.
Predictability of a software process revolves around:
Cost and Schedule Estimates &
Plans for Quality Assurance
Statistical Control
Support for Testability and Maintainability
Software maintenance cost exceeds software development cost.
Effort Distribution in Phases:
Requirement Analysis 10%
Design 20%
Coding 20%
Testing 50%
Early Defect Removal and Prevention
Errors can occur at any stage and the cost of correcting errors of different phases is not same and depends upon when the error is detected and corrected.
Error Distribution in Phases:
Requirement Analysis 20%
Design 30%
Coding 50%
Detection of errors soon after they have been introduced is the objective to be supported by the process.
Process Improvement
Software process should support its own improvement or evolution. It is done by the process management component of the Software Process
Mechanism:
Evaluation of Software Process
Understanding weaknesses
Improving upon
Objective
Evaluation should be quantifiable rather than subjective.