CMMI and Agile

52
CMMI and Agile Better Together

Transcript of CMMI and Agile

Page 1: CMMI and Agile

CMMI and AgileBetter Together

Page 2: CMMI and Agile

• 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

Page 3: CMMI and Agile

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?

Page 4: CMMI and Agile

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

Page 5: CMMI and Agile

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.

Page 6: CMMI and Agile

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.

Page 7: CMMI and Agile

CMMI Representation

Page 8: CMMI and Agile

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

Page 9: CMMI and Agile

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

Page 10: CMMI and Agile

Agile methodologies thinkingAn Introduction

Page 11: CMMI and Agile

The learning process

Shu Ha Ri

Page 12: CMMI and Agile

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

Page 13: CMMI and Agile

Project Resolution

Challenged52.7%

Cancelled31.1%

Success16.2%

Source: Standish Group “Chaos Report” 1995

Page 14: CMMI and Agile

Feature Usage

Page 15: CMMI and Agile

Cone of Uncertainty

Page 16: CMMI and Agile

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

Page 17: CMMI and Agile

Empirical Process

Page 18: CMMI and Agile

The Key to Empirical Process

• Inspect and Adapt

– Product (Changing Requirements / Scoping Features)

– Process (Engineering and Management Practices)

Page 19: CMMI and Agile

Understanding Agile Software Development

Page 20: CMMI and Agile

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

Page 21: CMMI and Agile
Page 22: CMMI and Agile

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)

Page 23: CMMI and Agile

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.

Page 24: CMMI and Agile

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.

Page 25: CMMI and Agile

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.

Page 26: CMMI and Agile

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.

Page 27: CMMI and Agile

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

Page 28: CMMI and Agile

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

Page 29: CMMI and Agile

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

Page 30: CMMI and Agile

XP Principles

• Communication

• Simplicity

• Feedback

• Courage

• Respect

Page 31: CMMI and Agile

XP Practices

Page 32: CMMI and Agile

Sustainable Pace

Jeff Sutherland - The Maxwell Curve: Getting more production by working less!

Page 33: CMMI and Agile

In a word, Agile is …

Minimum Process

Maximum Value

Page 34: CMMI and Agile

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

Page 35: CMMI and Agile

Agile management with ScrumA practical overview

Page 36: CMMI and Agile

Scrum Life Cycle

Page 37: CMMI and Agile
Page 38: CMMI and Agile
Page 39: CMMI and Agile
Page 40: CMMI and Agile
Page 41: CMMI and Agile
Page 42: CMMI and Agile
Page 43: CMMI and Agile
Page 44: CMMI and Agile
Page 45: CMMI and Agile
Page 46: CMMI and Agile
Page 47: CMMI and Agile
Page 48: CMMI and Agile
Page 49: CMMI and Agile
Page 50: CMMI and Agile
Page 51: CMMI and Agile
Page 52: CMMI and Agile