You are on page 1of 29

Practical Experience Report:

Application of Project
Management areas from CMMI
model in an Agile development
environment
Ahmed Mahdy
Senior Software Engineer and Agile Coach, Raya
Software
Agile CMMI Researcher in Cairo University
aamahdys@gmail.com
http://www.agilecmmi.blogspot.com (Refer to the full
paper)
http://www.linkedin.com/in/amahdy
Agenda
• Introduction
• Agile CMMI is better ?
• Agile CMMI can work together in one
environment?
• Mechanism of Agile CMMI Compatibility
• Project Management Process Areas
• Project Planning
• Project Monitoring and Control
• Integrated Project Management
• Risk Management
• Quantitative Project Management
• Supplier Agreement Management

Agenda
• Introduction
• Agile CMMI is better ?
• Agile CMMI can work together in one
environment?
• Mechanism of Agile CMMI Compatibility
• Project Management Process Areas
• Project Planning
• Project Monitoring and Control
• Integrated Project Management
• Risk Management
• Quantitative Project Management
• Supplier Agreement Management

Agile CMMI is better ?
• Need each other to achieve the
excellence and flexibility,
• Enforce the model to be value-
driven,
• By definition, work with “Client”
instead of “Customer”,
• Guarantee the knowledge of new
practices and updates from model
source (SEI) based on other
global/local experiences
Agenda
• Introduction
• Agile CMMI is better ?
• Agile CMMI can work together in one
environment?
• Mechanism of Agile CMMI Compatibility
• Project Management Process Areas
• Project Planning
• Project Monitoring and Control
• Integrated Project Management
• Risk Management
• Quantitative Project Management
• Supplier Agreement Management

Agile CMMI can work together
in one environment?
• “CMMI and Agile champions work
toward deriving benefit from using
both and exploit synergies that
have the potential to dramatically
improve business performance.” Why
Not Embrace Both, SEI report.


• Agile Companies that is already
following CMMI 1.2
Agenda
• Introduction
• Agile CMMI is better ?
• Agile CMMI can work together in one
environment?
• Mechanism of Agile CMMI Compatibility
• Project Management Process Areas
• Project Planning
• Project Monitoring and Control
• Integrated Project Management
• Risk Management
• Quantitative Project Management
• Supplier Agreement Management

Mechanism of Agile CMMI
Compatibility
- Agile Principles & Values (defined in
Agile Manifesto) are the mandatory
criteria for implementing Agile
CMMI
- Ongoing Agile Practices are not
written on stone
- Inspect and Adapt for getting new
practices that add more value
-
Agenda
• Introduction
• Agile CMMI is better ?
• Agile CMMI can work together in one
environment?
• Mechanism of Agile CMMI Compatibility
• Project Management Process Areas
• Project Planning
• Project Monitoring and Control
• Integrated Project Management
• Risk Management
• Quantitative Project Management
• Supplier Agreement Management

Project Planning – PP (1/3)
The purpose of Project Planning (PP) is to establish and

maintain plans that define project activities.


• SP CMMI Practice How to do it?
1.1 Establish a top-level work breakdown structure High level user stories (i.e. the parent of user stories)
• 1.2 (WBS) to and
Establish estimate the scope
maintain of the
estimates of project.
the attributes Story points, used to estimate the difficulty/complexity (or
1.3 of the work
Define products
the project and tasks.
life-cycle phases upon which relative
The size)process.
Scrum of a Story (feature).
1.4 to scope the
Estimate the planning effort.
project effort and cost for the work Scrum Ideal Time estimate (similar to billable hours or Full-time
products and tasks based on estimation rationale. 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.
2.2 Identify and analyze project risks. Iteration
Iteration Backlog.
Retrospective
Project Task board.
2.3 Plan for the management of project data. Project Internal Chartering
Project Planning – PP (2/3)
•SP CMMI Practice How to do it?
1.1 Establish a top-level work breakdown structure High level user stories (i.e. the parent of user stories)
(WBS) to estimate the scope of the project.

1.2 Establish and maintain estimates of the attributes of Story points, used to estimate the difficulty/complexity (or
the work products and tasks. relative size) of a Story (feature).
1.3 Define the project life-cycle phases upon which to The Scrum process.
scope the planning effort.
1.4 Estimate the project effort and cost for the work Scrum Ideal Time estimate (similar to billable hours or Full-
products and tasks based on estimation rationale. 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.2 Identify and analyze project risks. Iteration Retrospective


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)
Project Planning – PP (3/3)
•SP CMMI Practice How to do it?
2.6 Plan the involvement of identified stakeholders. Scrum/organization process roles
External and Internal Chartering

2.7 Establish and maintain the overall project plan Scrum release plan.
content. Iteration Backlog.
Project Task-board.

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.3 Obtain commitment from relevant stakeholders Iteration planning meeting.
responsible for performing and supporting plan Daily Scrum meeting (standup).
execution.
Agenda
• Introduction
• Agile CMMI is better ?
• Agile CMMI can work together in one
environment?
• Mechanism of Agile CMMI Compatibility
• Project Management Process Areas
• Project Planning
• Project Monitoring and Control
• Integrated Project Management
• Risk Management
• Quantitative Project Management
• Supplier Agreement Management

Project Monitoring and Control
– PMC (1/3)
The purpose of Project Monitoring and Control (PMC) is to

provide an understanding of the project’s progress so that


appropriate corrective actions can be taken when the
project’s performance deviates significantly from the plan.
SP CMMI Specific Practice How to do it?
•SP 1.1 Monitor the actual values of the project planning parameters Iteration burnup /down chart that tracks effort
against the project plan. remaining.
Release burnup /down chart that tracks completed
story points.
Project Task Board
SP 1.2 Monitor commitments against those Discussions on team commitments at the:
identified in the project plan. Daily Scrum meeting.
Iteration review meeting.
Iteration burnup/ down chart
Release burnup/ down chart
Project Monitoring and Control
– PMC (2/3)
SP CMMI Specific Practice How to do it?

SP 1.3 Monitor risks against those identified in the project plan. Iteration Retrospective
Release Retrospective

SP 1.4 Monitor the management of project data against the Project Workspace
project plan. Convention of naming, filing, …etc
Agile Software to monitor project data
SP 1.5 Monitor stakeholder involvement against the project plan. Daily Scrum meeting.
Iteration review meeting.

SP 1.6 Periodically review the project's progress, performance, Daily Scrum meeting.
and issues. Iteration review meeting.
Retrospectives.
Management meetings

SP 1.7 Review the accomplishments and results of the project at Iteration review meeting.
selected project milestones.
Project Monitoring and Control
– PMC (3/3)
SP CMMI Specific Practice How to do it?
SP 2.1 Collect and analyze the issues and Daily Scrum meeting discussion.
determine the corrective actions Iteration review meeting discussion.
necessary to address the issues.

SP 2.2 Take corrective action on identified Iteration review meeting actions


issues. Standup meeting actions

SP 2.2 Manage corrective actions to closure. Tracking of actions in the following:


Daily Scrum meeting.
Iteration review meeting.
Agenda
• Introduction
• Agile CMMI is better ?
• Agile CMMI can work together in one
environment?
• Mechanism of Agile CMMI Compatibility
• Project Management Process Areas
• Project Planning
• Project Monitoring and Control
• Integrated Project Management
• Risk Management
• Quantitative Project Management
• Supplier Agreement Management

Integrated Project
Management – IPM (1/4)
•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.
•Important Assumption: (from Agile CMMI Workshop’08 in Cairo)

•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
Integrated Project
Management – IPM (2/4)
SP CMMI Practice How to do it?
1.1 Establish and maintain the project's defined process from OPF and OPD is a reference for this
project startup through the life of the project. practice
Project process can be stated from the
internal/external chartering meetings (it can
be updated with re-meeting the
stakeholders throughout the work because
the nature of software process is empirical)

1.2 Use the organizational process assets and measurement repository Given the Guidelines and Strategy of Agile
for estimating and planning the project’s activities. Standards:
1.3 Establish and maintain the project's work environment based on Roadmap
Given the (Scope of Work)
Guidelines and Strategy of Agile
the organization's work environment standards. Release Planning
Standards:
Iteration Planning
List of required tools for agile or scrum
(the estimation
activities of stories – both high and
low
Otherlevel)
requirements for work environment
that are standardized in
Integrated Project
Management – IPM (3/4)
SP CMMI Practice How to do it?
1.4 Integrate the project plan and the other plans that affect the project to Project Integrated Plan which includes:
describe the project’s defined process. Roadmap (Scope of Work over the releases)
Release Plan
Iteration Plan
1.5 Manage the project using the project plan, the other plans that affect (Project
it’s important to integrate
Integrated plan these plans to be
the project, and the project’s defined process. synchronized
Review meetings due that
to the expected
may update updates
throughout
requirements theand
work)
plans
1.6 Contribute work products, measures, and documented experiences to Iteration Retrospectives
Using Rally, VersionOne, TFS 2010 or any
the organizational process assets. Release Retrospectives
other similar tools definitely help you in
Project Lessons learned
achieving that easily.
Integrated Project
Management – IPM (4/4)
SP CMMI Practice How to do it?
2.1 Manage the involvement of the relevant stakeholders in the project. Updatable Schedule of the coming events
(Release planning and retrospectives,
Iteration planning and retrospectives,
customer meetings)
2.2 Participate with relevant stakeholders to identify, negotiate, and Actionitems from standup meetings,
track critical dependencies. Roles andand
iteration Responsibilities in GSAS
release retrospectives
Story slicing that can show dependencies
2.3 Resolve issues with relevant stakeholders. The tool of action items tracking should
Senior Management
status of allmeetings and its
show the action items, andaction
all
items
issues.
Action items should be assigned and tracked
Results of action items’ tracking
in whatever tool
Agenda
• Introduction
• Agile CMMI is better ?
• Agile CMMI can work together in one
environment?
• Mechanism of Agile CMMI Compatibility
• Project Management Process Areas
• Project Planning
• Project Monitoring and Control
• Integrated Project Management
• Risk Management
• Quantitative Project Management
• Supplier Agreement Management

Risk Management – RSKM
(1/3)
•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.
•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
Risk Management – RSKM
(2/3)
SP CMMI Practice How to do it?
1.1 Determine risk sources and categories. Risk Categories in iteration and release retrospectives

1.2 Define the parameters used to analyze and categorize Discuss each risk in iteration and release
risks, and the parameters used to control the risk retrospectives , define the parameters for risks, and not
management effort. to involve the management in all risks, you can define
threshold for management involvement other than the
relevant risks by nature.

1.3 Establish and maintain the strategy to be used for risk Discuss the mitigationfor each risk with the
management. stakeholders in iteration and release retrospectives,
identify assigned action items and how to monitored
with due dates if possible.
Risk Management – RSKM
(3/3)
SP CMMI Practice How to do it?
2.1 Identify and document the risks. Here the call to use any tool for documenting and
monitoring the risks.

2.2 Evaluate and categorize each identified risk using the Discuss and analyze each risk with evaluating its
defined risk categories and parameters, and determine its defined parameters (priority, impact, probability and
relative any other parameter you need for your organization)
priority.

3.1 Develop a risk mitigation plan for the most important Discuss the actionsfor each identified risk mitigation
risks to the project as defined by the risk management and plan for its follow up and handling
strategy.
3.2 Monitor the status of each risk periodically and Iteration and release retrospective can perform these
implement the risk mitigation plan as appropriate. actions:
Update the risks with additional risks, status of old
risks, status of actions and mitigations,
Agenda
• Introduction
• Agile CMMI is better ?
• Agile CMMI can work together in one
environment?
• Mechanism of Agile CMMI Compatibility
• Project Management Process Areas
• Project Planning
• Project Monitoring and Control
• Integrated Project Management
• Risk Management
• Quantitative Project Management
• Supplier Agreement Management

These process areas are not included in

this experience report:


• Quantitative Project Management (out of
ML 3)
• Supplier Agreement Management (out of
company scope)

• However, they can be accomplished by
Agile practices that are aligned with
agile principles, the work is in-progress.
Contact Mr. Ahmed
aamahdys@gmail.com to get updates
about this patch and other process
areas.
• You can follow Agile CMMI blog
• Thank You!

• Questions?