CMMI and Agile
-
Upload
mohamed-el-deeb -
Category
Documents
-
view
69 -
download
4
Transcript of CMMI and Agile
CMMI and AgileBetter Together
• What’s the need for quality system
• Performance Measures
• What’s CMMI
• CMMI Model
• CMMI Representation
• CMMI Model Components
• Case Study-PPQA http://www.tutorialspoint.com/cmmi/cmmi-process-areas.htm
CMMI Overview
What’s the need for quality system?
Hopefully to solve or decrease the effect of the following problem samples.
• Commitment consistently missed
• No management visibility into progress.
•Quality problems.
•Poor morale
Late Delivery
You’re are always being surprised
Too much rework, functions not working
properly
People frustrated, is anyone in charge?
Performance Measures
The performance results are from 30 different organizations that applied CMMI and achieved change in one or more of the six categories of performance measures below.
Performance Category Median Improvement
Cost 34%
Schedule 50%
Productivity 61%
Quality 48%
Customer Satisfaction 14%
Return on Investment 4:1
What's CMMI
• Stands for Capability Maturity Model Integration.
• A collection of best practices.
• Framework for organizing and prioritizing activities.
• CMMI is not a process “ explains what to do, not how to
be done”
• CMMI describes the characteristics of effective processes.
CMMI Model
• Initial: essentially uncontrolled.
• Managed: product management procedures defined and used.
• Defined: process management procedures and strategies defined and used.
• Quantitatively Managed: Quality management strategies defined and used.
• Optimizing: Process improvement strategies defined and used.
CMMI Representation
CMMI Model Components
• Process areas24 process areas that are relevant to process capability and improvement are identified. These are organised into 4 groups.
• GoalsGoals are descriptions of desirable organisational states. Each process area has associated goals.
• Practices
Practices are ways of achieving a goal - however, they are
advisory and other approaches to achieve the goal may be used
PurposeThe purpose of Process and Product Quality Assurance (PPQA) is to provide staff and management with objective insight into processes and associated work products.
Specific Practices by GoalSG 1 Objectively Evaluate Processes and Work Products
SP 1.1 Objectively Evaluate ProcessesSP 1.2 Objectively Evaluate Work Products and Services
SG 2 Provide Objective InsightSP 2.1 Communicate and Ensure Resolution of Noncompliance IssuesSP 2.2 Establish Records
Process and Product Quality Assurance (PPQA)A Support process area at Maturity Level 2
Agile methodologies thinkingAn Introduction
The learning process
Shu Ha Ri
Is software development a defined process?
• Is every task completely understood?
• Given the same exact inputs (including people)
– Will we get the same results every time
– Can we even have the same exact inputs every
time
Project Resolution
Challenged52.7%
Cancelled31.1%
Success16.2%
Source: Standish Group “Chaos Report” 1995
Feature Usage
Cone of Uncertainty
History
• Software Crisis (1960’s) Software intensive systems delivered late, over budget and do not meet the quality requirements
• Solution attempt #1: Structured Methods (in 1980’s)
• Solution attempt #2: Object Oriented Methodologies
• Chronic Software Crisis (1990’s) Software intensive systems still delivered late, over budget and do not meet the quality requirements
• Solution attempt #3: Software process improvement
• Solution attempt #4: Agile development methodologies
Empirical Process
The Key to Empirical Process
• Inspect and Adapt
– Product (Changing Requirements / Scoping Features)
– Process (Engineering and Management Practices)
Understanding Agile Software Development
Think Differently
• What would you do different if you knew that your customer could afford only one day of software development.
• Keep in mind: may be by doing something different the customer might be able to afford yet another day of software development
We are uncovering better ways of developing software by doing it and
helping others do it. Through this work we have come to value:
– Individuals and interactions over processes and tools
– Working software over comprehensive documentation
– Customer collaboration over contract negotiation
– Responding to change over following a plan
That is, while there is value in the items on the right, we value the
items on the left more.
The Agile Manifesto(Agile Values)
Agile Principles (1/4)
• Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
• Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
• Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Agile Principles (2/4)
• Business people and developers must work together daily throughout the project.
• Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
• The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Agile Principles (3/4)
• Working software is the primary measure of progress.
• Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
• Continuous attention to technical excellence and good design enhances agility.
Agile Principles (4/4)
• Simplicity--the art of maximizing the
amount of work not done--is essential.
• The best architectures, requirements, and
designs emerge from self-organizing teams.
• At regular intervals, the team reflects on
how to become more effective, then tunes
and adjusts its behavior accordingly.
Methods for agile software development
• Dynamic Systems Development Method [Stapleton, 1997]
• Extreme Programming [Beck, 1999]
• Adaptive Software Development [Highsmith, 2000]
• Crystal Family of Methodologies [Cockburn, 2000]
• Feature Driven Development [Palmer & Felsing, 2002]
• Scrum [Schwaber & Sutherland, 1995; 2002]
• Lean Software development [Poppendieck x 2, 2003]
Blending is the key
Lean Principles
• Eliminate waste
• Amplify learning
• Decide as late as possible
• Deliver as fast as possible
• Empower the team
• Build integrity in
• See the whole
Lean Rules
• Add Nothing But Value
1. Eliminate Waste
2. Minimize Paperwork
3. Focus on Testing
• Center On Those Who Add Value
4. Empower Those Who Add Value
5. Create a Learning Environment
• Pull Value From Customers
6. Satisfy All Stakeholders
7. Decide As Late As Possible
8. Implement In Small Increments
• Optimize The Value Stream
9. Maximize Business Value
10.Optimize Across Organizations
XP Principles
• Communication
• Simplicity
• Feedback
• Courage
• Respect
XP Practices
Sustainable Pace
Jeff Sutherland - The Maxwell Curve: Getting more production by working less!
In a word, Agile is …
Minimum Process
Maximum Value
Why does Agile Software Development Pay?
Val
ue
Time
Expected target value for Business
Version 1.0(Traditional Waterfall)
Minimal accepted value
Added value asked from Business
Expected target value for Business
Version 1.0(Traditional Waterfall)
Minimal accepted value
© 2005 – 2006 OutSystems
Agile management with ScrumA practical overview
Scrum Life Cycle