Title: An Agile Approach to Achieve CMMI
1CS 564 PRESENTATION
An Agile Approach to Achieve CMMI
BY PRIYANKA AGRAWAL DATE 12/07/2007
2INDEX
- Key message
- Brief Overview of CMMI
- Brief Overview of Agile
- Mapping CMMI to Agile
- Benefits of Mapping CMMI to Agile
- Key Points
3KEY MESSAGE
This premise of this presentation is that not
only CMMI and Agile Development has value, but
that there is a way to employ both in such a way
that the whole is greater than the sum of its
parts.
4BRIEF OVERVIEW OF CMM
- Capability Maturity Model (CMM) was created by
the Carnegie Mellons Software Engineering
Institute (SEI) in the late 1980s. - The Capability Maturity Model (CMM) is a way to
develop and refine an organization's processes. - A maturity model is a structured collection of
elements that describe characteristics of
effective processes. A maturity model provides - a place to start
- the benefit of a communitys prior
experiences - a common language and a shared vision
- a framework for prioritizing actions
- a way to define what improvement means for
your organization
5CMMI BRIDGING THE GAP
- Integrates systems and software disciplines into
one process improvement framework. - Provides a framework for introducing new
disciplines as needs arise.
6ELEMENTS OF THE CMMI MODEL
- CMMI Model employs three major elements
- Process Areas (PAs)
- Strategic goals for each process area
- Specific Practices
7MATURITY LEVELS IN CMMI
8WHY ONE WOULD WANT TO USE CMMI ?
CMMI provides
- Commitment
- Control
- Communication
The CMM/CMMI focus is on what needs to be done,
not how. It allows for innovative processes
that address the current business needs of an
organization to be added to the organizational
process database.
9CRITIQUE OF CMMI
The projects most worth doing are the ones that
will move you DOWN one full level on your process
scale. (Peopleware)
10BRIEF OVERVIEW OF AGILE
- Agile is a pragmatic method for getting your
business where it wants to be in the shortest
possible time. - Agile is a unique hybrid approach to software
development that retains the core elements of XP
that make it an effective methodology while
compensating for XPs shortcomings. - It is different because operational business
people retain control and maintain a stake in the
process, and very small teams of people can
effect significant positive change.
11EXTREME PROGRAMMING
Extreme Programming (or XP) is a popular software
development process that encourages a return to
the days of little or no documentation, Design
After First Testing, and, Constant Refactoring
After Programming. Despite its popularity, not
everyone thinks XP is a good idea.
12PHILOSOPHY OF AGILE
- Essential streamlined Highly disciplined
processes - No nonsense, intensely practical
- Bias towards action
- Flexible, adaptable and speed-to-market
- Execution with swiftness and precision
13WHY WOULD ONE USE AGILE OVER TRADITIONAL METHODS?
- Traditional Methods
- Deny the need for software to evolve and
assumed that all requirements were stable. - Define processes and plans before project start
with such detail and rigidity that it was
difficult to deal with inevitable contingencies - Result in documentation bloat
- Put too many layers of formality between the
customer, the developers and a palpable
understanding of the problem and the state of the
project
14LIMITATIONS OF XP
- Only predictable on a micro versus a macro level
- Difficult to scale
- Vulnerable to changes at the system level
- Vague about the nature of tests
- Inflexible to special needs
- Impractical in some respects
- Lacked explicit management of risks
15COMMON MISCONCEPTIONS ABOUT CMMI
- CMMI is proprietary for the US military use
- CMMI is next release of CMM
- You cannot use CMMI if you already use some
other improvement model. - CMMI is not suitable for small organizations
- CMMI is not suitable for companies using Agile
methods.
16COMMON MISCONCEPTIONS ABOUT AGILE
- Agile Development Practices Are Unproven
- Agile Methods Add Risk to a Project
- Agile Development Methods Dont Scale
- Agile Development Methods Wont Work in a
Regulated Environment - Agile Methods are Incompatible With the Software
CMM and CMMI
17MARRYING AGILE AND CMMI
- Two Ways are there
- Focus on correct target
- - Why do we want to change everything?
- - What do we hope to accomplish?
- - Whats the purpose for ANY process or method?
- - What is the primary concern f ANY commercial
enterprise?
18CONTD
- Where and when to assert discipline
- - What are the proper roles for CMMI and for
Agile? - - Are the roles they play compatible?
- - What are we trying to apply CMMI towards?
- - What does Agile buy us ?
19HOW TO APPLY TRICK 1 ?
- Ordinary implementation of discipline in
development environments. - Discipline is super-imposed onto development
processes. - Add a layer of effort not in-line with
productivity. - Preferred implementation of discipline in
development environments. - Discipline is integrated into and aligned with
development. - Contributes to capacity and value of company.
20HOW TO APPLY TRICK 2 ?
- Underlay process discipline.
- - Map their reality to CMMI.
- - Use developer interview scripts
- - Dont forget warm fuzzies like leadership
sponsors and commitments.
21RELEVANT ABBREVIATIONS
22MAPPING AGILE TO THE CMMI
23CONTD
24CONTD
25CONTD
26CONTD . . .
27CONTD . . .
28CONTD . . .
29CONTD . . .
30CONTD . . .
31CONTD . . .
32BENEFITS OF USING AGILE ON CMMI LEVEL 2 AND 3
- The ability to deal with incomplete and unstable
requirements. - Much faster time to market
- More effective control over schedule and costs
- The right balance between agility and rigor
- Much more enriching and satisfying way to
develop software - A happier customer
33KEY POINTS
- CMMI exists because without it companies cant
- - Scale
- - Manage recourses
- - Consistently predict outcomes
- - Easily control costs
- Agile development exists because previous
development and management approaches focused too
much energy on the process and not enough energy
on reality. - Agile CMMI is achievable when discipline and
productivity work together. - Requires designing a process architecture around
reality.
34REFERENCES
- Chrissis, Mary Beth, Mike Konrad , and Sandy
Shrum . CMMI Guidelines for Process Integration
and Product Improvement, Addison-Wesley
Publishing Company, Reading, MA, 2003. - Manzo, J. Agile Success Stories,
www.agiletek.com/resources - http//www.appligenics.com/agileplus/certifiedana
lyst.htm - http//www.entinex.com/papers/Agile_CMMI.pdf
- Goldenson, Dennis R, and Diane L. Gibson,
Demonstrating the Impact and Benefits of CMMI
An Update and Preliminary Results, SEI Special
Report CMU/SEI-2003-SR-009
35THANK YOU