Professional Documents
Culture Documents
Abstract
The Capability Maturity Model Integration (CMMI) has been broadly used for assessing
organizational maturity and process capability throughout the world. Although most of the
customers give priority to CMMI certified organizations over others for guaranteeing the
quality, the nature of their rapid market change can no longer accept heavyweight plans,
requirements specification, change requests, contract negotiation, and other
documentation. Moreover, the rapid change in information technology has caused
increasing the frustration more, especially that there are new competitors started using
lightweight processes that invite to customer collaboration over contract negotiation and
working software over comprehensive documentation that is called “Agile” methodologies
that have been adopted to tackle this challenge. Agile development methods and CMMI are
often perceived to be at odds with each other. In fact, it’s possible to embrace both to
dramatically improve business performance. This paper focuses on the verification of
implementing CMMI Project Management process areas in agile organizations based on a
real and practical experience in Agile and CMMI successful projects.
The authors are going to share their practical experiences in interpreting the CMMI model's
project management practices in an Agile environment to address the model intent and not
compromising on the credibility or value of the practices.
1
2009
CMMI® 9th Technology Conference and User Group www.ndia.org/meetings/0110
Agile CMMI
Why Agile CMMI?
Most of the promising objectives of any software development method or process are delivering
working software on time, quality and budget. Software Engineering Institute (SEI) has paid a lot
of efforts to mostly satisfy these objectives in its process improvement models, and version 1.3
of CMMI Development will be released soon.
Nevertheless, the world becomes convinced with adding another objective, which was somehow
neglected more than highly considered, which is delivering a business value to the customer. [1]
Project Management process areas cover the project management activities related to
planning, monitoring, and controlling the project.
The Project Management process areas of CMMI are as follows:
• Project Planning
• Project Monitoring and Control
• Integrated Project Management
• Risk Management
The Basic Project Management process areas address the activities related to establishing
and maintaining the project plan, establishing and maintaining commitments, monitoring
progress against the plan, taking corrective action, and managing supplier agreements.
Project Planning
The purpose of Project Planning (PP) is to establish and maintain plans that define
project activities.
1.2 Establish and maintain estimates of the attributes of the Story points, used to estimate the
2
2009
CMMI® 9th Technology Conference and User Group www.ndia.org/meetings/0110
1.3 Define the project life-cycle phases upon which to scope The Scrum process.
the planning effort.
1.4 Estimate the project effort and cost for the work products Scrum Ideal Time estimate (similar
and tasks based on estimation rationale. to billable hours or Full-time
Equivalents).
2.1 Establish and maintain the project’s budget and Scrum estimates (in Ideal Time).
schedule. Estimates of what work will be in
each release.
Iteration Backlog.
Project Task board.
2.3 Plan for the management of project data. Project Internal Chartering
2.4 Plan for necessary resources to perform the project. Scrum estimates in Ideal Time
Release plan, Iteration Backlog and
assignments.
2.5 Plan for knowledge and skills needed to perform the Project Internal Chartering
project. Release Planning (synchronized
with the internal chartering)
2.6 Plan the involvement of identified stakeholders. Scrum process roles
External and Internal Chartering
2.7 Establish and maintain the overall project plan content. Scrum release plan.
Iteration Backlog.
Project Taskboard.
[Note: The term “plan” in CMMI
refers to additional plan
components (such as risks and data
management) that are not
called out specifically in Scrum.]
3.1 Review all plans that affect the project to understand Iteration planning meeting.
project commitments. Daily Scrum meeting.
3.2 Reconcile the project plan to reflect available and Iteration planning meeting.
estimated resources. Daily Scrum meeting.
3
2009
CMMI® 9th Technology Conference and User Group www.ndia.org/meetings/0110
The column of “Agile Practice” means either a previously defined practice in agile community or
a new proposed practice that does contradict with agile principles.
4
2009
CMMI® 9th Technology Conference and User Group www.ndia.org/meetings/0110
The purpose of Integrated Project Management (IPM) is to establish and manage the project and the
involvement of the relevant stakeholders according to an integrated and defined process that is
tailored from the organization’s set of standard processes.
Assumption:
There is an established Guidelines and Strategy of Agile Standards (GSAS) for agile projects:
- Data Management Strategy
- Lifecycle roadmap strategy (Agile roadmap or workflow with the connection dependencies,
conditions, input/output)
- People Management Plan:
- Agile People Roles, Skills and Responsibilities
- Any constraints
5
2009
CMMI® 9th Technology Conference and User Group www.ndia.org/meetings/0110
Risk Management
The purpose of Risk Management (RSKM) is to identify potential problems before they occur so that
risk-handling activities can be planned and invoked as needed across the life of the product or
project to mitigate adverse impacts on achieving objectives.
6
2009
CMMI® 9th Technology Conference and User Group www.ndia.org/meetings/0110
Important Notes:
- It’s really *important* to manage your risks
- Early risk identification (discovering and exploring)
- Consider both internal and external chartering risks (cost, schedule,
performance, technical and other risks)
- Discuss any new risk
- Prepare a mitigation for the identified risk with the collaboration of other
stakeholders
- Assign the responsibility of such mitigation actions to people
- Monitor and follow up these mitigations in the agile meetings in your process
- I personally prefer using any tracking tool that help you in adding/updating
risks
References:
[1] Neil Potter and Mary Sakry, Process Group Newsletter Volume 16 No 2, March 2009
[2] CMMI Product Team, CMMI for Development Ver 1.2, Nov 2007
[3] Agile CMMI Workshop by Ahmed Sidky, Marian Tadros, Sree Yellayi , Egypt 2008
[4] Raya Software Process Improvement Meetings
7