Biting the Bullet - CMMi Level 5 Assessment for Agile Programs
CMMi Level 5 assessment has been a necessity and a hygiene factor for any service organization. Our organization has been assessed at Level 5 continuously since 1999. However, with spread of Agile methodologies in offshore scenarios we were faced with a question of ensuring CMMi compliance in Agile programs.
This session will delve into details of our CMMi journey for Agile programs and how NIIT Technologies successfully got re-assessed at CMMi Level 5 with Agile in August 2013. The session will talk about various mapping of agile practices with CMMi process areas, identified gaps and how these gaps were addressed to ensure a successful assessment without diluting the Agile promise.
Some examples of how various process areas have been mapped to various agile practices. The session will be mostly example based and experience sharing.
Example 1 (Level 2 Maturity)
CMMi Requirements Management PA talks about bidirectional traceability. If you go to sub practice (SP 1.4 of Requirements Management PA) level then there are three requirements:
- 1) Maintain requirements traceability to ensure that the source of lower level (i.e., derived) requirements is documented.
- 2) Maintain requirements traceability from a requirement to its derived requirements and allocation to work products.
- 3) Generate a requirements traceability matrix.
Looking at the above, we managed this through requirements management being done in Agile projects using tools like Rally, TFS (agile templates), Jira Greenhopper and NIIT's internal agile management tools. These tools provide traceability from Epics --> Stories --> Tasks --> Test Cases --> Defects. This fullfils the intent of the PA. Hence we do not explicitly generate any RTM especially for agile projects (3rd bullet above) as the intent is already met.
Example 2 (Level 2 Maturity)
CMMi Project Monitoring and Control (PMC) PA talks about a goal "Manage Corrective Actions to Closure" (SG2). This has 3 separate sub processes
- 1) Analyze Issues
- 2) Take corrective Action
- 3) Manage Corrective Action
All these have been covered through the Agile practice of having "retrospectives", which happen regularily in Scrum. Retrospectives is where the people point out issues amongst other things, discuss what actions can be taken to improve and/or address the problem at hand. These action items coming out of retrospectives are then tracked as they would normally have been done to closure. We do not mandate any specific format/tool for capturing and tracking this information.
Example 3 (Level 4 Maturity)
CMMi Organization Process Defintion PA, has a goal for "Establishing Performance Baselines and Models" and a Sub Practice "Analyze Process Performance and Establish Process Performance Baseline".
Here instead of taking traditional metrices like productivity (hrs/FP), schedule slippage etc. we have taken metrices which are more close to the agile process. Examples of these are:
- 1) UAT Defects per Engineering Effort Unit
- 2) Velocity Improvement over time
- 3) % of story point change to measure requirements stability
Outline/Structure of the Case Study
- CMMi Introdution and Process Areas
- Agile practices mapping with process areas
- Gaps in Level 4 Maturity and means to address them
- Gaps in Level 5 Maturity and means to address them
- Key Learnings
- CMMi Process Areas and their mapping with Agile Practices
- High Maturity Areas and their discomfort with Agile
- Level 4 Gaps and how to address them in an agile program for a successful assessment
- Quantitative Project Management
- Organization Process Peformance
- Level 5 Gaps and how to address them in an agile program for a successful assessment.
- Organization Performance Management
Agile practitioners, process experts, IT professionals