The Repeatable Level(Two)
Home ô About SEI ô CMM Overview ô CMM Levelsô CMM Links
Click here to go back to CMM Levels Diagram
Now that the process for repeatability is now in place policies for managing a software project and procedures to implement those policies are established. The organisation is no longer reliant on the heroes of the group. Planning and managing new projects is based on experience with similar projects. An objective in achieving Level 2 is to institutionalise effective management processes for software projects, which allow organizations to repeat successful practices developed on earlier projects, although the specific processes implemented by the projects may differ. An effective process can be characterized as practiced, documented, enforced, trained, measured, and able to improve. It is now possible to make and meet the groups estimates and plans.
Moving from level 1 to level 2 requires the introduction of procedures for requirements management, project planning and tracking, configuration management, and software quality assurance. However level 2 organisations face major risks when they are presented with new challenges. For example they may have difficulty in the implementation of new tools and technologies. They also may have difficulty in the development of new products.
The software process capability of Level 2 organisations can be summarized
as disciplined because planning and tracking of the software project is stable
and earlier successes can be repeated. The project's process is under the
effective control of a project management system, following realistic plans
based on the performance of previous projects.
Level Two processes
Requirements Management
In many projects software requirements are incomplete, inadequately documented, continually changed, difficult to control, difficult to track, and untestable. In many cases changes to the software requirements are not reflected in the project plan.The purpose of Requirements Management is to establish a common understanding between the customer and the software project of the customer's requirements that will be addressed by the software project. This agreement with the customer is the basis for planning and managing the software project. This agreement is referred to as the "system requirements allocated to the software". Control of the relationship with the customer depends on following an effective change control process (as described in Software Configuration Management). To achieve control, the software engineering group reviews the initial and revised system requirements allocated to software to resolve issues before they are incorporated into the software project.
Goals of requirement management
Goal 1: System requirements allocated to software are sontroled to establish a baseline for software engineering and management use.
Goal 2: Software plans, products and activities are kept consistent with the system requirements allocated to software.Project Planning
Some common project planning problems are poor techniques, no historical data available to plan using previous experience, plan not kept up to date, roles and responsibilities not adequately defined, actuals not tracked against plans, and often problems are identified too late.
Software planning begins with a statement of the work to be carried out (requirements)The purpose of Software Project Planning is to establish reasonable plans for performing the software engineering and for managing the software project. These plans are the necessary foundation for managing the software project (as described in Software Project Tracking and Oversight). Without realistic plans, effective project management cannot be implemented.
Goals of software project planning
Goal 1: Software estimates are documented for use in planning and tracking the software product.
Goal 2: Software project activities and commitments are planned and documented.
Goal 3: Affected groups and individuals agree to their commitments related to the software project.Project Tracking
A plan is of little value if it is not adhered to, what happens if we do not meet our targets?, and how can we get back on track?.The purpose of Software Project Tracking and Oversight is to establish adequate visibility into actual progress so that management can take effective actions when the software project's performance deviates significantly from the software plans.
Tracking provides visibility into the status of the project, project activities are monitored, and action is taken when performance deviates from plans.
Goals of software project tracking:Goal 1: Actual results and performances are tracked against software plans.
Goal 2: Corrective actions are taken and managed to closure when when actual results and performance deviate significantly from the software plans.
Goal 3: Changes to software commitments are agreed by the affected groups and individuals.Quality Assurance
The purpose of software Quality Assurance is to provide management with assurance that standards and procedures are being followed and are appropriate for use. It also provides a level of visibility into software process and into software products developed.
SQA performs and independent review of Software engineering activities and work products to provide management with the assurance that standards and procedures are being followed correctly.
Goals of SQA
Goal 1: Software quality assurance are planned.
Goal 2: Adherence of software products and activities to the application standards, procedures and requirements is verified objectively.
Goal 3: Affected groups and individuals are informed of software quality assurance activities and results.Configuration Management
The purpose of Software Configuration Management is "to establish and maintain the integrity of the products of the software project throughout the project's software life cycle". Software Configuration Management is an integral part of most software engineering and management processes. Effective configuration management is critical for any software project and is always a complex issue.
Goals of configuration management
Goal 1: Software config management activities are planned
Goal 2: Selected work products are identified controlled and available
Goal 3: Changes to identified software work products are controlledSubcontract Management
The purpose of Software Subcontract Management is to select qualified software subcontractors and manage them effectively. It combines the concerns of Requirements Management, Software Project Planning, and Software Project Tracking and Oversight for basic management control, along with necessary coordination of Software Quality Assurance and Software Configuration Management, and applies this control to the subcontractor as appropriate.
Goals of Software Subcontract Management
Goal 1:The prime contractor selects qualified spftware subcontractors
Goal 2: The prime contractor and the software subcontractor agree their commitments to each other.
Goal 3: The prime contractor and the Software subcontractor maintain ongoing comitments