UNIT-1
Software process Maturity
Software process maturity in Software Process and Project
Management (SPPM) refers to the level of refinement and
reliability in how a software project is planned, executed, and
controlled. It signifies the evolution from chaotic approaches to
well-structured and optimized processes. As organizations
move through maturity levels—like initial, managed, defined,
quantitatively managed, and optimizing—they become better
at delivering software predictably, efficiently, and with
improved quality.
Software Process maturity Framework
The Software Process maturity framework, developed
at the SEI, addresses these five (05) 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.
The Five Maturity Levels are given below…
➢ Initial
➢ Repeatable
➢ Defined
,➢ Managed
➢ Optimizing
➢ Initial: It is also called “ad hoc Process”. The
organization operates without formalized procedures,
cost estimates, and project plans. If there are any formal
procedures for project control, there is no management
mechanism to ensure they are used. The best test to
observe how such an organization behaves in a crisis is,
abandoning established procedures and reverting to
merely coding and testing.
Organizations at this level can improve their
performance by instituting basic project controls. The most
important are:
• Project management: The fundamental role of a project
Management system is to ensure effective control of
commitments which requires adequate preparation, clear
responsibility, a public declaration, and a dedication to
performance. In any projects, a plan must be developed to
determine the best schedule and the resources required. In
the absence of such an orderly plan, no commitment can be
better than an educated guess.
, • Management oversight: A disciplined software
development organization must have senior management
oversight that review and approve all major plans before
official commitment.
• Quality assurance: A quality assurance group is charged
with assuring management that the software development
work is actually done the way it is supposed to be done. To
be effective, the assurance organization must have an
independent reporting line to senior management and
sufficient resources to monitor performance of all key
planning, implementation, and verification activities.
• Change control: To develop quality software on a
predictable schedule, the requirements must be maintained
with reasonable stability throughout the development
cycle. Changes will have to be made, but must be managed
and introduced in an orderly way.
➢ Repeatable: The organization has achieved a stable process
with a repeatable level of statistical control by initiating rigorous
project management of commitments, cost, schedule, and
changes. This process has one important strength over the initial
process i.e. It provides commitment control.
• Organizations at this level face major risks when they are
presented with new challenges.
• Examples of the changes that represent the highest risk
are:
✓ It is possible for a new technology to do more harm than
good, if there is no defined process framework.