Professional Documents
Culture Documents
®
Agile & CMMI
(The Balancing Act)
®Capability Maturity Model, Capability Maturity Modeling, CMM, and CMMI are registered in the U.S. Patent and Trademark Office by Carnegie
Mellon University. SMCMM Integration, IDEAL, and SCAMPI are service marks of Carnegie Mellon University.
Agenda
1. Workshop Objective and Context Setting
8. Conclusion
3
Participant Introduction
• Name
• Organization / Department
• Total years of experience
• Years of experience and exposure to CMMI framework
and implementation
• Years of experience and exposure in Agile and related
methodologies
• Your expectations from the workshop
4
Logistics
5
Course Approach
• Lecture
• Exercises
• Questions and answers
• Discussions
• Participation by all
6
Rules of Engagement
Participate.
7
Typical Organizational Scenarios
Organizational
Context
All projects in
organization follow Significant part of
Agile practices
Integrating Agile(60% and
Projects
Processabove)
and Tools
in organization
follow Agile methods
others follow
traditional methods
8
Workshop Objective
To provide clarity on
9
Introduction to Agile Methodology
Requirements
Gathered
Architecture
Designed
Coding
Completed
Testing
11
Waterfall Insights
Project Timeline
Start Finish
The design of waterfall means that we will always be at our most vulnerable just
when we least want to be and that defects will be found when they are the
most expensive to fix.
12
The Shunt Effect
Construction
As each phase of the project is delayed, the remaining phases get moved back
but the deadline remains the same, causing compression in the last stages.
Delays are often caused by individuals who are reticent to sign-off the preceding
stage.
13
Some interesting facts..
Source: http://www.standishgroup.com/visitor/chaos.htm
14
What customer really needs?
• Design documents?
• Plans?
• UML diagrams?
• New technology implementations?
15
It’s All About…
Change!
16
Agile Manifesto
17
Twelve Agile Principles
Our highest priority is to satisfy the Working software is the primary
customer through early and continuous measure of progress
delivery of valuable software
The most efficient and effective At regular intervals, the team reflects
method of conveying information to how to become more effective, then
and within a development team is and adjusts its behavior
face-face conversation accordingly
18
Core Values of Agile
19
Agile Methods
Agile software development methods offer potential for business benefits and process improvement
opportunities if adopted properly. But, it can cause significant disruption if one adopts it improperly.
20
Agile Practices
21
SCRUM – How it works
Product
Scrum Master Daily Scrum
Backlog Meeting & Artifacts Update
Refinement
Team
Sprint
1-4 Weeks
Product Owner Review
22
In Summary Agile is Characterized by
Agile is….
An umbrella term for several iterative and incremental software development methodologies.
An approach where typically requirements & solutions evolve through collaboration of cross
functional teams.
Collection of many methods that focus at developing software projects in time boundaries,
referred as iterations.
PEOPLE
Process Technology
23
Introduction to CMMI Framework
25
CMMI® for Development
• Process Improvement Maturity Model for development of
products and services
Process Maturity
• The extent to which a specific
process is explicitly defined,
managed, measured, controlled
and effective
Organizational Performance
5 Management Causal Analysis & Resolution
5
Organizational Process
4 Quantitative Project Management Performance
4
Requirements Development
Technical Solution Organizational Training
3 Product Integration
Integrated Project Management
Risk Management
Organizational Process Definition Decision Analysis & Resolution 3
Verification Organizational Process Focus
Validation
28
Process Areas in CMMI® - Design View
Source: SEI/CMU-2006-TR-008
29
Required/Expected/Informative components
30
Process Area, Specific and Generic Goals
– Generic goals
» Achievement of each of these goals in the process area
signifies whether the implementation and institutionalization of
the process area is effective, repeatable, and lasting
» These are common across all Process Areas
» They provide institutionalization features
31
In Summary CMMI model is Characterized by
Complement or Contradict
Scope
• CMMI: Broad, Inclusive and Organizational
• Agile: Small, Focused, Project
Improvement focus
• CMMI: Process
• Agile: People
Ultimate Motivation
34
Agile and CMMI
CMMI model provides guidance to use when developing process content
for an organization and serves as a guide for process improvement
When used judiciously, the two can complement each other, with CMMI
providing the “what” and Agile defining the “how”.
Agile and CMMI Philosophy and approaches
CMMI Agile
• CMMI primarily describes “what “ • Agile methods provide software
must be done, but leaves “how “ to development how-to’s that are
the organization themselves missing in CMMI
• CMMI provides an infrastructure for • Scope of Agile is focused at project
organization learning and systematic level intensely practical and bias
improvement towards action
• CMMI provides a path for effective • Agile emphasis on tacit knowledge
use of processes, measurement, rather than explicit knowledge like
training, and improvement documentation
• CMMI has an expanded people focus • can be high risk in many
at organizational level by establishing environments like government
an environment where individuals can contracting etc.,
excel. • Only predictable on micro versus
• Focus is on Top down approach macro level
• Agile has a team and individual focus.
• Bottom up approach
36
Agile and CMMI Philosophy and approaches
CMMI Agile
• CMMI embodies sound systems • Early adopters of agile methods
engineering and software engineering generally focused on smaller single
principles applicable in project team development projects with
contexts that agile approaches were volatile requirements in a software
not intended to address only environment
• Overall system capabilities to be
developed , including non • Agile methods have flourished in a
technical requirements domain of low cost of failure.
• Scope, schedule, cost and risk
Examples within this domain include
trade offs
• Product (or service) architecture internet commerce, social
• CMMI was developed in a domain of networking and games development
high cost of failure “if a plane
• The success of agile methodologies
crashes, the cost of failure is
depends on the emergent properties
extremely high”
of the set of practices as a whole
• Early CMMI adopters were
developers of large-scale, risk-
averse, mission critical systems with
high levels of management oversight
and hierarchical governance.
37
Agile and CMMI Philosophy and approaches
CMMI Agile
• Measure and Improve Process • Customer response
• Better Process and Product • Minimal overhead
• Requirements Refinement
• People Characteristics • Metaphor
• Disciplined , follow rules, risk • Business case
averse • People characteristics
• Communication • Comfortable, risk takers, innovative
• Organizational , Macro • Communication
• Knowledge management • Person to person , micro
• Process assets • Knowledge management
• People
• An architectural description of the system
that provides a tour of the top-level design
can be invaluable for maintainers which is
sometimes not given enough focus in agile
39
Integrating CMMI Dev Framework and
Agile Methodology
Technical
Practices First
or Iterative First
Public display of
Stealth Mode or Agility
41
Agile implementation Challenges - Organizational context
• To compete in IT market – exploring the option of building software on onsite and
offshore model has become a reality
• Providing IT services - Client mandating the team to follow Agile methods
• Faster development cycle - Delivery model that satisfies the developers and
executing teams
Organizational • Large Programs
• Varied commercial models of project execution
Project • Fixed Price
Landscape • Time and Material
• Process that advocates customer sense of belongingness
• Methodology that provides flexibility to address
• Trust and Team work
• Different Time zones
• Requirements misunderstanding
42
Agile implementation Challenges - Organizational context
• Cultural
• Education system
• Asking Questions
• Colleges are yet to catch up on agile methodologies
43
Agile Implementation Patterns and Challenges
• Partial adoption
• Multiple interpretation
44
How to address some of the limitations explicitly
45
Agile Life Cycle Methodology Definition
Organizational
Best Practices
XP Practices
SCRUM Practices
Agile Lifecycle CMMI Practices
Model
46
CMMI and Agile Practices mapping
Quantitatively
Managed
Defined
Managed
Initial
© Software Engineering Institute
Staged View of Process Areas : CMMI-DEV
Organizational Performance
5 Management Causal Analysis & Resolution
5
Organizational Process
4 Quantitative Project Management Performance
4
Requirements Development
Technical Solution Organizational Training
3 Product Integration
Integrated Project Management
Risk Management
Organizational Process Definition Decision Analysis & Resolution 3
Verification Organizational Process Focus
Validation
- 49 -
Requirements - Management
Purpose:
The purpose of Requirements Management is to manage the requirements of the
project's products and product components and to identify inconsistencies between
those requirements and the project's plans and work products.
Refer: “Interpreting CMMI When Using Agile Approaches” in Part I of CMMI DEV V1.3
- 50 -
Mapping of Practices – CMMI and Agile (REQM)
CMMI Agile
SP No. Practice Statement Practices Artefacts
• Capturing requirements through User Stories during
Develop an understanding story writing workshops along with the
with the requirements customer/customer team/product owner • Product backlog / User stories /
SP 1.1
providers on the meaning of • Review of the same during iteration planning / Storyboards
the requirements. backlog refinement meeting with the
customer/Product owner
Ensure that project plans and • Alignment in release plans and refinement to project • Alignment to release plans (de-
SP 1.5 work products remain aligned backlog items to be discussed as a part of next scoping, re-prioritization, re-
with requirements iteration planning meetings estimation etc)
- 51 -
Project Planning
Purpose:
The purpose of Project Planning is to establish and maintain plans that define project
activities..
- 52 -
Project Planning
Refer: “Interpreting CMMI When Using Agile Approaches” in Part I of CMMI DEV V1.3
- 53 -
Mapping of Practices – CMMI and Agile (PP)
CMMI Agile
SP
Practice Statement Practices Artefacts
No.
• Establishing the overall release scope, next
Establish a top-level work breakdown release’s scope through selected epics and • Product backlog for
SP
structure (WBS) to estimate the scope of product backlog based on business priorities and release and tasks
1.1
the project technical estimates. identified for the sprint
• Sprint backlog (tasks) is next level of WBS
SP Establish and maintain estimates of the • Story point estimation or ideal days estimation done • Product backlog with story
1.2 attributes of the work products and tasks for epics / user stories points or Ideal days
SP Define the project life-cycle phases upon • Definition of agile lifecycle with well defined phases • Project lifecycle method in
1.3 which to scope the planning effort (e.g. SCRUM Process and its extensions) QMS
- 54 -
Mapping of Practices – CMMI and Agile (PP)
CMMI Agile
SP
Practice Statement Practices Artefacts
No.
SP
Establish the Budget and Schedule
2.1 • Release and Sprint planning sessions
• Task breakdown and task identification by team
SP during sprint planning
Identify Project Risks
2.2 • Daily planning meeting for reviewing and re planning • Estimates (Story points
SP tasks and project activities Ideal Time).
Plan Data Management • Estimates of what work
2.3
• A release plan to be maintained to establish the will be in each release.
SP major milestones of the project. • Release Plan, Sprint
Plan the Project’s Resources • Apart from this concept like "Sprint 0" to be defined Backlog and
2.4
prior to every release to capture dependencies, assignments(task board.)
SP assumptions, constraints, risks, resources and • Agile project Plan and
Plan Needed Knowledge and Skills
2.5 stakeholders. Knowledge and skills training Release Plan
SP required pertaining to that release.
Plan Stakeholder Involvement
2.6
SP • Establish and maintain an Agile project plan for
Establish the Project Plan
2.7 every release
• Scrum team roles, Product owner, Scrum Master
SP and team members
Review all plans that affect the project to
3.1 • Review of release plan and Agile project plan with
understand project commitments.
agile team and relevant stakeholders (external to
team) • Logs of Release , Sprint
SP planning and daily Scrum
Reconcile the project plan to reflect • Based on Sprint 0 review - inspect and adapt the sessions
3.2
available and estimated resources. Agile Project Plan and Release Plan
- 55 -
Project Monitoring and Control
Purpose:
• The purpose of Project Monitoring and Control 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.
Refer: “Interpreting CMMI When Using Agile Approaches” in Part I of CMMI DEV V1.3
- 56 -
Mapping of Practices – CMMI and Agile (PMC)
CMMI Agile
SP.
Practice Statement Practices Artefacts
No.
• Visual chart/Project Task Board used to track
stories (requirements) that are done, in progress, • Iteration / release burndown
or ones that need to complete DOD criteria. chart
SP 1.1 Monitor Project Planning Parameters • Sprint burndown chart that tracks effort remaining. • Agile project management tool
• Release burndown chart that tracks completed (Rally, Version one, Scrum
story points. This shows how much of the product works etc.,) for task tracking
functionality is left to complete.
• Daily Standup meeting. • Daily stand-up logs and
SP 1.2 Monitor Commitments
• Sprint review meeting iteration review log
• Risks identified during Sprint 0 & new risks
monitored during the iteration planning (to check • Updated risk log or maintain a
SP 1.3 Monitor Project Risks
the occurrence of the risk during iteration) during risk burndown chart
daily stand-up & iteration review.
• Updated project task board, Sprint burndown,
SP 1.4 Monitor Data Management • Daily stand up log
release burndown
• Discussions at the: Daily Scrum meeting and
SP 1.5 Monitor Stakeholder Involvement
Sprint review meeting.
• Updating Release burndown chart, Sprint burn Logs of
SP 1.6 Conduct Progress Reviews • Daily Scrum meeting.
down chart and Impediments
• Sprint Review meeting.
SP 1.7 Conduct Milestone Reviews • Sprint review and release review • Retrospectives.
• Analyzing issues (impediments) from daily Scrum
SP 2.1 Analyze Issues
meeting and demo during Sprint review
• Actions taken on the issues /impediments by the
SP 2.2 Take Corrective Action
Scrum Master and team • Issues log
Tracking of actions from:
SP 2.3 Manage Corrective Actions • Daily Scrum meeting.
• Sprint review meeting
- 57 -
Supplier Agreement Management
Purpose:
• The purpose of Supplier Agreement Management (SAM) is to manage the
acquisition of products and services from suppliers.
- 58 -
Mapping of Practices – CMMI and Agile (SAM)
CMMI Agile
SP.
Practice Statement Practices Artefacts
No.
- 59 -
Measurement Analysis
Purpose:
The purpose of Measurement and Analysis is to develop and sustain a measurement
capability that is used to support management information needs.
- 60 -
Mapping of Practices – CMMI and Agile (MA)
CMMI Agile
SP.
Practice Statement Practices Artefacts
No.
Establish and maintain measurement • Apart from Sprint burndown and • Sprint burndown chart that tracks effort
objectives that are derived from release burndown mandatory remaining.
SP 1.1
identified information needs and measurements, the MA objectives can • Release burndown chart that tracks
objectives. be identified based on Acceptance completed story points. This shows how
Criteria and Definition of Done for the much of the product functionality is left to
Specify measures to address the release and iteration as agreed with complete.
SP 1.2 the customer and the team. • Agile project management tool
measurement objectives.
• Measure of Acceptance criteria
(example: 0 Major defects, % of
Specify how measurement data will coverage, cyclomatic
SP 1.3 complexity)
be obtained and stored.
SP 2.1 Obtain specified measurement data. • Slippage of Release & Sprint - is • Sprint burndown
Analyze and interpret measurement tracked using Release Burndown, • Release burndown
SP 2.2 Sprint burndown charts • Base and derived measurement data
data.
Manage and store measurement • Daily Scrum meeting where Sprint and sets
SP 2.3 data, measurement specifications, Release burndown charts are • Analysis results and draft reports
and analysis results. reviewed.
• Sprint Retrospectives can be
Report results of measurement and used for analysing metrics captured
SP 2.4 analysis activities to all relevant during the sprint
stakeholders.
- 61 -
Process and Product Quality Assurance
Purpose:
• The purpose of Process and Product Quality Assurance (PPQA) is to provide staff
and management with objective insight into processes and associated work
products.
.
• Objectively Evaluate Processes and Work Products(SG1)
CMMI Version 1.3 elaboration about Process and Product Quality Assurance:
• In Agile environments, teams tend to focus on immediate needs of the iteration
rather than on longer term and broader organizational needs. To ensure that
objective evaluations are perceived to have value and are efficient, discuss the
following early: (1) how objective evaluations are to be done, (2) which processes
and work products will be evaluated, (3) how results of evaluations will be
integrated into the team’s rhythms (e.g., as part of daily meetings, checklists, peer
reviews, tools, continuous integration, retrospectives).
Refer: “Interpreting CMMI When Using Agile Approaches” in Part I of CMMI DEV V1.3
- 62 -
Mapping of Practices – CMMI and Agile (PPQA)
CMMI Agile
SP.
Practice Statement Practices Artefacts
No.
Objectively evaluate selected performed • Some basic PPQA are being done • Tracking to closure
processes against applicable process through Scrum Master role in Corrective actions derived
SP 1.1 descriptions, standards, and procedures. facilitating the implementation of during retrospective meeting
scrum process and removing process in subsequent sprints
barriers and inefficiencies
• Audit reports
Objectively evaluate selected work products • Participation of other Scrum Master in
against applicable process descriptions, Sprint Retrospectives to provide
SP 1.2 standards, and procedures. independent view point of
effectiveness of Scrum process
• Subjecting Agile projects to auditing
cycle as per the Agile methodology
Communicate quality issues and ensure defined in QMS
SP 2.1 resolution of noncompliance issues with the
staff and managers.
- 63 -
Configuration Management
Purpose:
• The purpose of Configuration Management (CM) is to establish and maintain the
integrity of work products using configuration identification, configuration control,
configuration status accounting, and configuration audits.
• Establish Baselines(SG1)
Refer: “Interpreting CMMI When Using Agile Approaches” in Part I of CMMI DEV V1.3
- 64 -
Configuration Management
Refer: “Interpreting CMMI When Using Agile Approaches” in Part I of CMMI DEV V1.3
- 65 -
Mapping of Practices – CMMI and Agile (CM)
CMMI Agile
SP.
Practice Statement Practices Artefacts
No.
• Establishing basic versioning approach by labeling
items like product backlog story points (e.g. “V1.1,”
Identify the configuration items, components, or “Story dated 1/2/YY”)
SP 1.1 and related work products that will be placed • Identify the configurable items(Product backlog, CM Strategy in Sprint 0
under configuration management. Release backlog, Iteration backlog, Agile Project
Plan etc) and baselines to be placed under CM
system during Sprint 0
Establish and maintain a configuration • Small releases, and continuous integration
SP 1.2 management and change management • Maintaining repository of CI items (e.g. Photo of CM system and CI tool
system for controlling work products. whiteboard discussion on design, user stories…)
Create or release baselines for internal use • Baselines during each iteration
SP 1.3
and for delivery to the customer. • Description of baselines per iteration
Track change requests for the configuration
SP 2.1
items. • Changes to be tracked by the Product owner and
the decision and priorities are made visible in
Product backlog, release backlog
• Other documents in Agile are iteratively developed
SP 2.2 Control changes to the configuration items.
and tracked in each iteration
• Code changes is managed by CM system
- 66 -
CMMI and Agile Practices mapping
Quantitatively
Managed
Defined
Managed
Initial
© Software Engineering Institute
Staged View of Process Areas : CMMI-DEV
Organizational Performance
5 Management Causal Analysis & Resolution
5
Organizational Process
4 Quantitative Project
Management
Performance
4
Requirements Development
Technical Solution Organizational Training
3 Product Integration
Integrated Project Management
Risk Management
Organizational Process
Definition Decision Analysis & Resolution 3
Verification Organizational Process Focus
Validation
- 69 -
Requirements Development
Purpose:
The purpose of Requirements Development is to produce and analyze customer,
product, and product-component requirements.
- 70 -
Requirements Development
CMMI Version 1.3 elaboration about Requirements Development:
• In Agile environments, customer needs and ideas are iteratively elicited,
elaborated, analyzed, and validated. Requirements are documented in forms
such as user stories, scenarios, use cases, product backlogs, and the results of
iterations (working code in the case of software).
• Which requirements will be addressed in a given iteration is driven by an
assessment of risk and by the priorities associated with what is left on the
product backlog. What details of requirements (and other artifacts) to document
is driven by the need for coordination (among team members, teams, and later
iterations) and the risk of losing what was learned.
• When the customer is on the team, there can still be a need for separate
customer and product documentation to allow multiple solutions to be explored.
As the solution emerges, responsibilities for derived requirements are allocated
to the appropriate teams.”
Refer: “Interpreting CMMI When Using Agile Approaches” in Part I of CMMI DEV V1.3
- 71 -
Mapping of Practices – CMMI and Agile (RD)
CMMI Agile
SP.
Practice Statement Practices Artefacts
No.
• Story board or list of user
SP 1.1 Elicit Needs
stories
• Story writing workshops deriving Release backlog and
the Iteration product backlog items • Product backlog which is
Transform Stakeholder Needs into
SP 1.2 a prioritised list of
Customer Requirements
requirements
Establish Product and Product • Evolving high level conceptual architecture during story
SP 2.1 writing workshops and arriving at the product component
Component Requirements
requirements and tracing in turn to the Epics • Product Architecture doc
Allocate Product Component • Also evolving the interface between the product (having dependency and
SP 2.2 components (Epics, Features)
Requirements interface chart )
SP 3.3 Analyze Requirements • Brainstorming done between the team and the
customer/product owner during the story writing
Analyze Requirements to Achieve workshop and Iteration Planning • Story writing workshop
SP 3.4 • Product backlog refinement meetings • Demo’s in sprint review
Balance
• Prioritization and Re-prioritization of backlog items
SP 3.5 Validate Requirements • Demo's done during Iteration review
- 72 -
Technical Solution
Purpose:
The purpose of Technical Solution is to design, develop, and implement solutions to
requirements. Solutions, designs, and implementations encompass products, product
components, and product-related life-cycle processes either singly or in combinations
as appropriate.
- 73 -
Technical Solution
CMMI Version 1.3 elaboration about Technical Solution:
• In Agile environments, the focus is on early solution exploration. By making the
selection and tradeoff decisions more explicit, the Technical Solution process
area helps improve the quality of those decisions, both individually and over
time.
• Solutions can be defined in terms of functions, feature sets, releases, or any
other components that facilitate product development. When someone other
than the team will be working on the product in the future, release information,
maintenance logs, and other data are typically included with the installed
product.
• To support future product updates, rationale (for trade-offs, interfaces, and
purchased parts) is captured so that why the product exists can be better
understood. If there is low risk in the selected solution, the need to formally
capture decisions is significantly reduced.
Refer: “Interpreting CMMI When Using Agile Approaches” in Part I of CMMI DEV V1.3
- 74 -
Mapping of Practices – CMMI and Agile (TS)
CMMI Agile
SP.
Practice Statement Practices Artefacts
No.
Develop alternative solutions and • Developing Design solutions at the beginning of the • Spike Iteration
SP 1.1 selection criteria. agile project during Sprint 0
• Creation of a design for a set of User Stories which
make up an Epic. While creating the design
Select the product-component
component capturing the alternative designs
SP 1.2 solutions that best satisfy the considered and rationale for selecting a design
criteria established. alternative
Develop a design for the product
SP 2.1
or product component.
Establish and maintain a technical • Iterative development of design, metaphor, simple
SP 2.2
data package. design
• Implementation and refinement of design through
Design product component
refactoring • Design Flow doc or diagram
SP 2.3 interfaces using established
• Establishing a baseline design and updating the • User story notes section
criteria
design during periodic milestone e.g. End of Sprint should capture these details
Evaluate whether the product or release demos
components should be developed,
SP 2.4
purchased, or reused based on
established criteria.
• Implemented design. Implementation and refinement
Implement the designs of the
SP 3.1 of design through refactoring
product components.
- 75 -
Product Integration
Purpose:
The purpose of Product Integration is to assemble the product from the product
components, ensure that the product, as integrated, functions properly, and deliver
the product.
- 76 -
Product Integration
CMMI Version 1.3 elaboration about Product Integration:
• In Agile environments, product integration is a frequent, often daily, activity. For
example, for software, working code is continuously added to the code base in a
process called “continuous integration.”
• In addition to addressing continuous integration, the product integration strategy
can address how supplier supplied components will be incorporated, how
functionality will be built (in layers vs. “vertical slices”), and when to “refactor.”
• The strategy should be established early in the project and be revised to reflect
evolving and emerging component interfaces, external feeds, data exchange,
and application program interfaces.
Refer: “Interpreting CMMI When Using Agile Approaches” in Part I of CMMI DEV V1.3
- 77 -
Mapping of Practices – CMMI and Agile (PI)
CMMI Agile
SP.
Practice Statement Practices Artefacts
No.
Establish and Maintain a product integration • Automated integration of user story
SP 1.1
strategy components and continuous integration
Establish and maintain the environment needed to (almost daily)
SP 1.2
support the integration of the product components. • Establishing Continuous integration • Automated
environment to assemble and evaluating a Continuous integration
single build or as a progression of & build framework
Establish and maintain procedures and criteria for
SP 1.3 incremental builds
integration of the product components.
• Automatically performing sanity/integration
testing of user stories in each iteration
Review interface descriptions for coverage and
SP 2.1 • Keeping the continuous integration
completeness. • Improvements to the
environment up-to-date w.r.t. the latest
Manage internal and external interface definitions, continuous integration
product and product component interfaces
SP 2.2 designs, and changes for products and product environment
components.
Confirm, prior to assembly, that each product
component required to assemble the product has
SP 3.1 been properly identified, behaves according to its • Build breaks
description, and that the product component • Automated test
interfaces comply with the interface descriptions. failures
• Practices of Continuous integration, • System/compiler
Assemble product components according to the combined with continuous testing, Test
SP 3.2 warnings
product integration strategy and procedures. automation
• Daily build and continuous integration • Coverage reports etc
• Meeting DOD,
Evaluate assembled product components for
SP 3.3 Acceptance Criteria
interface compatibility.
- 78 -
Verification
Purpose:
The purpose of Verification is to ensure that selected work products meet their
specified requirements.
- 79 -
Verification
CMMI Version 1.3 elaboration about Verification:
• In Agile environments, because of customer involvement and frequent releases,
verification and validation mutually support each other. For example, a defect can
cause a prototype or early release to fail validation prematurely. Conversely, early
and continuous validation helps ensure verification is applied to the right product.
• The Verification and Validation process areas help ensure a systematic approach to
selecting the work products to be reviewed and tested, the methods and
environments to be used, and the interfaces to be managed, which help ensure that
defects are identified and addressed early. The more complex the product, the
more systematic the approach needs to be to ensure compatibility among
requirements and solutions, and consistency with how the product will be used.
• Examples of verification methods include the following:
• Software architecture evaluation and implementation conformance evaluation
• Path coverage testing
• Load, stress, and performance testing
• Decision table based testing
• Functional decomposition based testing
• Test case reuse
• Acceptance testing
• Continuous integration (i.e., Agile approach that identifies integration issues early)
Refer: “Interpreting CMMI When Using Agile Approaches” in Part I of CMMI DEV V1.3
- 80 -
Mapping of Practices – CMMI and Agile (VER)
CMMI Agile
SP.
Practice Statement Practices Artefacts
No.
Select the work products to be verified
SP 1.1 and the verification methods that will be • Identifying the work products for verification
used for each. approach during Sprint 0
• Verification procedure (e.g. team to follow
Establish and maintain the environment • Verification strategy
SP 1.2 Test Driven Development
needed to support verification. during Sprint 0
• Automated testing setup (at least for unit /
Establish and maintain verification regressing / integration testing)
SP 1.3 procedures and criteria for the selected • Dedicated Sprint for Integration and Testing
work products.
Prepare for peer reviews of selected
SP 2.1
work products. • Peer reviews done through pair programming • Pairs identified for pair
practice programming
Conduct peer reviews on selected work • if not practicing pair programming then planning for • Peer review planned in
SP 2.2 products and identify issues resulting peer review during iteration planning meeting Sprint Plan
from the peer review. • Identifying review as task • Visual chart or Project
• Analyse the review data during iteration task board capturing
Analyze data about preparation, retrospective to improve in the next iteration review activity
SP 2.3
conduct, and results of the peer reviews.
- 81 -
Validation
Purpose:
- 82 -
Mapping of Practices – CMMI and Agile (VAL)
CMMI Agile
SP.
Practice Statement Practices Artefacts
No.
Select products and product components to be
SP 1.1 validated and the validation methods that will • Deciding the validation and
be used for each. acceptance procedure during Sprint 0
(e.g. End user domo or functional demo
Establish and maintain the environment needed • Validation strategy during
SP 1.2 or pilot etc)
to support validation. Sprint 0
• User stories and features
• Selecting the product or product
identified for validation during
components (User stories ) to be
Iteration review
Establish and maintain procedures and criteria validated during each iteration for
SP 1.3
for validation. Incremental delivery of working and
potentially acceptable product
Perform validation on the selected products and • Demo of the completed User stories • Sprint review and demo
SP 2.1
product components. done during Iteration Review meeting feedback
• Acceptance of user story
feature / product backlog
updation
•
• Demo Analysis report , acceptance of
Analyze the results of the validation activities
SP 2.2 user story feature / product backlog
and identify issues.
updation
- 83 -
Organizational Process Focus
Purpose:
The purpose of Organizational Process Focus is to plan, implement, and deploy
organizational process improvements based on a thorough understanding of the
current strengths and weaknesses of the organization’s processes and process
assets.
- 84 -
Mapping of Practices – CMMI and Agile (OPF)
CMMI Agile
SP.
Practice Statement Practices Artefacts
No.
Establish and maintain the description of the
SP 1.1 process needs and objectives for the
organization.
Appraise the processes of the organization
periodically and as needed to maintain an
SP 1.2
understanding of their strengths and
weaknesses.
• Establishing vision for implementing Agile methods in the organization
Identify improvements to the organization's • Establishing Agile Lifecycle Management System
SP 1.3
processes and process assets. • Evaluating the strengths and weaknesses of the Agile practices and
improvement plan
Establish and maintain process action plans to • Establishing organization wide Agile COE or Agile forum where agile
SP 2.1 address improvements to the organization's project teams can share best practices and learning’s between projects
processes and process assets. • Establishing periodic organization wide Agile forum meetings where each
project or group presents status report as well as
Implement process action plans across the
SP 2.2 • sharing what practices are working well
organization.
• what practices are not working well
Deploy organizational process assets across • any improvements made and learning’s that one can share
SP 3.1
the organization • Create "Socializing Agile" plan for deploying the agile LMS across the
Deploy org set of std process at their start-up organization
SP 3.2 • Agile Forums or Agile Councils at project level to monitor implementation
and deploy changes through out lifecycle
and also to capture process related experiences
Monitor the implementation of the organizations
SP3.3 set of standard processes and use of process
assets on all projects
Incorporate process related experiences
derived from planning and performing the
SP3.4 process into organizational process assets.
- 85 -
Organizational Process Definition
Purpose:
• The purpose of Organizational Process Definition (OPD) is to establish and
maintain a usable set of organizational process assets, work environment
standards, and rules and guidelines for teams.
- 86 -
Mapping of Practices – CMMI and Agile (OPD)
CMMI Agile
SP.
Practice Statement Practices Artefacts
No.
Establish and maintain the organization's set of
SP 1.1
standard processes.
- 87 -
Organizational Training
Purpose:
The purpose of Organizational Training is to develop the skills and knowledge of
people so that they can perform their roles effectively and efficiently.
- 88 -
Mapping of Practices – CMMI and Agile (OT)
CMMI Agile
SP.
Practice Statement Practices Artefacts
No.
Establish and maintain the strategic training
SP 1.1
needs of the organization
- 89 -
Integrated Project Management
Purpose:
The purpose of Integrated Project Management 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.
- 91 -
Risk Management
Purpose:
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.
- 92 -
Risk Management
CMMI Version 1.3 elaboration about Risk Management:
• In Agile environments, some risk management activities are inherently
embedded in the Agile method used. For example, some technical risks can be
addressed by encouraging experimentation (early “failures”) or by executing a
“spike” outside of the routine iteration.
• However, the Risk Management process area encourages a more systematic
approach to managing risks, both technical and non-technical. Such an
approach can be integrated into Agile’s typical iteration and meeting rhythms;
more specifically, during iteration planning, task estimating, and acceptance of
tasks.
Refer: “Interpreting CMMI When Using Agile Approaches” in Part I of CMMI DEV V1.3
- 93 -
Mapping of Practices – CMMI and Agile (RSKM)
CMMI Agile
SP.
Practice Statement Practices Artefacts
No.
Determine risk sources and • Use of short iterations, sprint review, involvement
SP 1.1 of customer in demo of working software at the
categories.
Define the parameters used to end of sprint are potential instruments to mitigate
analyze and categorize risks, and risks
SP 1.2
the parameters used to control the • Best way of dealing with risk is transparency ,
risk management effort. transparency is the hallmark of most agile
Establish and maintain the strategy • Risk management section in
SP 1.3 methods
to be used for risk management. the Agile Project plan
• Agile practices handles technical, product and • Risk assessment sheet
SP 2.1 Identify and document the risks. engineering related risks well
Evaluate and categorize each • Establish mechanism for handling risks related to
identified risk using the defined risk project resources and stakeholder issues
SP 2.2
categories and parameters, and
• Ensure risk identification, risk analysis and risk
determine its relative priority.
categorization during sprint 0 phase.
- 94 -
Decision Analysis and Resolution
Purpose:
• The purpose of Decision Analysis and Resolution (DAR) is to analyze possible
decisions using a formal evaluation process that evaluates identified alternatives
against established criteria.
• Evaluate Alternatives(SG1)
- 95 -
Mapping of Practices – CMMI and Agile (DAR)
CMMI Agile
SP No. Practice Statement Practices Artefacts
Establish and maintain the criteria for evaluating alternatives, and • This process area to be implemented as it is
SP 1.2
the relative ranking of these criteria. defined in CMMI.
• Sprint planning affords a frequent opportunity to
evaluate the direction of project, examines
SP 1.3 Identify alternative solutions to address issues.
alternatives and makes informed decisions
• Decisions on Product architecture and technical
SP 1.4 Select the evaluation methods.
solution during exploration phase
Evaluate alternative solutions using the established criteria and • Product backlog prioritization using MOSCOW
SP 1.5 principles (Business value, Risks, Technical
methods.
issues)
• Decision and Analysis in Product backlog
refinement meetings
Select solutions from the alternatives based on the evaluation
SP 1.6
criteria.
- 96 -
CMMI High Maturity (ML4 and ML5)
Process Area Mapping
Conclusion
Level - 4 Process Areas
(CMMI-DEV)
Optimizing
Quantitatively
Managed
Defined
Managed
Initial
© Software Engineering Institute
Staged View of Process Areas : CMMI-DEV
Organizational Performance
5 Management Causal Analysis & Resolution
5
Requirements Development
Technical Solution Organizational Training
3 Product Integration
Integrated Project Management
Risk Management
Organizational Process Definition Decision Analysis & Resolution 3
Verification Organizational Process Focus
Validation
- 99 -
Organizational Process Performance
Purpose:
• The purpose of Organizational Process Performance is to establish and maintain a
quantitative understanding of the performance of the organization's set of standard
processes in support of quality and process-performance objectives, and to provide
the process performance data, baselines, and models to quantitatively manage the
organization's projects.
- 100 -
Implementing OPP concepts in Agile projects
Agile practices focus is at project level, and does not advocate idea
of measuring process and maintaining baselines and models. Some
suggested steps could be
- 101 -
Quantitative Project Management
Purpose:
The purpose of the Quantitative Project Management process area is to quantitatively
manage the project's defined process to achieve the project's established quality and
process-performance objectives.
- 102 -
Quantitative Project Management
Refer: “Interpreting CMMI When Using Agile Approaches” in Part I of CMMI DEV V1.3
- 103 -
Implementing QPM concepts in Agile Projects
- 104 -
Level - 5 Process Areas
(CMMI-DEV)
Optimizing
Quantitatively
Managed
Defined
Managed
Initial
© Software Engineering Institute
Staged View of Process Areas : CMMI-DEV
Organizational Performance
5 Management Causal Analysis & Resolution
5
Requirements Development
Technical Solution Organizational Training
3 Product Integration
Integrated Project Management
Risk Management
Organizational Process Definition Decision Analysis & Resolution 3
Verification Organizational Process Focus
Validation
- 106 -
Causal Analysis and Resolution
Purpose:
The purpose of Causal Analysis and Resolution (CAR) is to identify causes of
selected outcomes and take action to improve process performance.
- 107 -
Implementing CAR concepts in Agile projects
- 108 -
Organizational Performance Management
Purpose:
The purpose of Organizational Performance Management (OPM) is to proactively
manage the organization’s performance to meet its business objectives.
- 109 -
Implementing OPM concepts in Agile projects
- 110 -
Conclusion
Primary goals
• CMMI: Predictability, Stability, high assurance
• Agile: Customer satisfaction, Speed
Scope
• CMMI: Broad, Inclusive and Organizational
• Agile: Small, Focused, Project
Improvement focus
• CMMI: Process
• Agile: People
111
Key Elements of QAI’s ApproachABOUT QAI
QAI is
• a leading global consulting
Identifying and workforce
& Applying Agile development
practices organization, addressing the space
of “Operational Excellence”.
• That
QAI Global Services, thebest suit the
consulting organization
division needs
of QAI, addresses the&space
context
of Operational
Excellence, which includes the areas of Process Management, Quality Management, Innovation
Management, • Project
To selective
Management, areas within
IT Service the organization
Management that are most favorable
and others. for Agile Implementation
QAI Global Institute, the workforce development division of QAI, focuses on creating international
•
education Competency
and building
training products within
and services organization
to address on Agile,
the competence CMMI and their co-existence
development,
assessments and certifications to cater to the large pool of manpower requiring skills for increased INDIA
• Establishing
employability. a complete
e-Learning, VSAT andand
based delivery customized IT approaches
blended learning Lifecycle haveModelbeen(approach) [Integrated USA
taken. Process Architecture] CHINA
QAI's regional bases across the globe in the US, Singapore, China, Malaysia, UK, Canada and
India helps to• innovatively
That isdistribute
based on andAgile
managepractices
engagements across multiple locations. QAI MALAYSIA
clients include IBM, Accenture, Wipro, Prudential, Genpact, American Express, Sony, Tata Motors SINGAPORE
and 200 others• across 30 countries.
Ensures compliance with CMMI-PAs
© QAI
All rights reserved. No part of this document may be reproduced or distributed in any form or by any means,
or stored in a database or retrieval system, without prior written permission of QAI
112