Characterizing The Software Process: A Maturity Framework
Characterizing The Software Process: A Maturity Framework
Characterizing The Software Process: A Maturity Framework
• Introduction
• Characteristic of Ideal Software Process
Predictability
statistical control
Measurement
• Development-process improvement
1- understanding the current status of development process
2- developing a vision of the desired process.
3- establishing a list of prioritized required actions.
4- producing a plan to accomplish these actions
5- commit the resources to execute the plan.
Overview
• Five levels of Process Maturity Framework by SEI:
1- Initial Process
1-1 Project management
1-2 Management oversight
1-3 Quality assurance group
1-4 Change control
2- Repeatable Process
2-1 Establish a process group
2-2 Establish a software-development process architecture
2-3 introduce a family of software-engineering methods and
technologies
Overview
3- Defined Process
3-1 Establish a minimum, basic set of process measurements
3-2 Establish a process database
3-3 provide sufficient process resources to gather and maintain this
data
3-4 Assess the relative quality of each product
4- Managed Process
4-1 Support automatic gathering of process data
4-2 Analyze and modify the process
5- Optimizing Process
• How to use this framework
• Conclusion
Introduction
This article presents a maturity framework
that can be used by any software organization to:
1- Identify its highest priority problems
2- Assess its own capabilities
3- Start making improvements.
Characteristic of Ideal
Software Process
Predictable: Cost estimates and schedule commitments
are met with reasonable consistency and the quality of the
resulting products generally meet user needs.
Statistical Control To achieve better result, the
development process must be under statistical control.when a
process is under statistical control, repeating the work in
roughly the same way will produce roughly the same result.
While there are some important differences, the concepts of
statistical control applied to industry are applicable to software as well.
Characteristics of Ideal
Software Process
Measurement The basic principle behind statistical control is
measurement. If our knowledge can not be expressed in numbers, it is of a
meager and unsatisfactory kind.
There are several factors to consider in measuring the programming
process.Perhaps the most important is that the mere act of measuring
human processes changes them. Since people’s fears and motivations are
involved, the results must be viewed in a different light than data on
natural phenomena.
Development-process
improvement
• First important step in addressing software problems is to treat the entire
development task as a process that can be controlled, measured, and
improved.
• To improve their software capabilities, organizations must take five steps:
• 1- understand the current status of their development process
• 2- develop a vision of the desired process.
• 3- establish a list of required process improvement actions in
order of priority.
• 4- produce a plan to accomplish these actions
• 5- commit the resources to execute the plan.
A Maturity Framework
• The maturity framework, developed at the SEI,
addresses these five steps by characterizing a
software process into one of the five maturity
levels.
• By establishing their organization’s position in
this maturity structure, software professionals and
management can more readily identify those areas
where improvement actions are most likely to
produce results.
Process evolution
Optimizing
Process
Managed control
Process
Defined measurement
Process
Repeatable Definition
Basic
management
Initial control
Process Maturity levels