The BEST agile process

Post on 15-Jan-2015

1.004 views 0 download

Tags:

description

How do you pick the best agile process for your team/organization? Is it XP? Scrum? Kanban? or something more traditional like TSP? This presentation will tell you which is the best process.

Transcript of The BEST agile process

RALLYS O F T W A R E

The BEST agile process

A discussion of XP, Scrum, Kanban… and TSP

Twitter: @LMaccherone

THERE ARE NO BEST

PRACTICES…

ONLY GOOD PRACTICES…

…IN CONTEXT

Drag picture to placeholder or click icon to add

Twitter: @LMaccherone

LARRYMACCHERONETwitter: @LMaccherone

RALLYS O F T W A R E

What is Agile?

VALUES+

Controller System

Sensor

ReferenceMeasured

error

Measured output

Systeminput System output+

-

Twitter: @LMaccherone

RALLYS O F T W A R E

TRADITIONAL/DMAIC

AGILE

PROCESS FEEDBACKFORMAL, AND CAN BE HEAVY WEIGHT LIGHT BUT OFTEN

PRODUCT AND DESIGN FEEDBACK

?EARLY, OFTEN, AND CLOSE TO THE CUSTOMER

PLAN FEEDBACK ?FREQUENT BUT

QUICK

DOMINANT VALUE PLANNING/CONTROL COLLABORATION

Twitter: @LMaccherone

RALLYS O F T W A R E

Every great cause begins as a movement, becomes a business, and turns into a racket.

~Christopher McDougall

Twitter: @LMaccherone

RALLYS O F T W A R E

AGILE

Scrum

Kanban XP

many others TSP

Twitter: @LMaccherone

RALLYS O F T W A R E

How is agile different?

REDUCTION IN COORDINATION

COSTS

(XP)

REDUCTION IN

EVOLUTION COSTS

(KANBAN)

CHANGE IN FEEDBACK EMPHASIS

(SCRUM)

Twitter: @LMaccherone

XP

FOCUS: ENGINEERING

PRACTICES

BEST AT:REDUCTION IN

COORDINATION COSTS

Build the thing right!

Twitter: @LMaccherone

RALLYS O F T W A R E

Twitter: @LMaccherone

RALLYS O F T W A R E

Twitter: @LMaccherone

RALLYS O F T W A R E

XP: Reduces coordination costs

• Continuous integration

• Test driven development• Test-first design• Comprehensive test

suites

• Simple design• Refactoring• System metaphor

• Also:• Coding standard• Whole team• Pair programming• Collective code

ownership

Twitter: @LMaccherone

RALLYS O F T W A R E

Simple design

1. All tests must pass

2. No code is duplicated

3. Code is self-explanatory

4. No superfluous parts exist

1. Passes tests (given TDD)

2. Minimizes duplication

3. Maximizes clarity (great identifiers)

4. Has fewer elements

Twitter: @LMaccherone

SCRUM

FOCUS:PROJECT

MANAGEMENT

BEST AT:CHANGE IN FEEDBACK EMPHASIS

Build the right

thing!

Twitter: @LMaccherone

RALLYS O F T W A R E

ProjectInceptionDiscovery

Assessment

Iteration 0

Set up Project

Infrastructure

TargetSystem

Iteration 1 Iteration 2 Iteration 3 Iteration n

AG

ILEPROJECT

LIFECYCLE

release 1 release n

Incremental delivery in time-boxed iterations

Twitter: @LMaccherone

RALLYS O F T W A R E

Product

Backlog

Iteration

Backlog

Iteration

2-4 Weeks

DailyMeeting

ProductIncrement

SCRUMMECHANICS

Twitter: @LMaccherone

What did youwork on yesterday?

What are youcommitting to today?

Do you have anyimpediments?

STAND-UPDAILY

Twitter: @LMaccherone

RALLYS O F T W A R E

POTENTIALLY SHIPPABLE PRODUCT

Demo and get feedback EVERY SPRINT!!!

Twitter: @LMaccherone

RALLYS O F T W A R E

Burndown chart

Twitter: @LMaccherone

Larry@Maccherone.com

ROLESSCRUM

RALLYS O F T W A R E

Scrum framework

Product Increment

Daily

Daily Scrum Meeting

Planning Meeting• Revisit Release Plan• Review Product Backlog• Create Sprint Backlog• Commit to 2-4 weeks of work

Sprint Backlog• Product Backlog Items assigned

to Sprint• Emergent list of estimated tasks

Vision

2-4 weeksSprint Retrospective

Product BacklogPrioritized Featuresdesired by Customer

Sprint Review (Demo)

Release Planning

Burndown Chart

Twitter: @LMaccherone

KANBAN

FOCUS:INCREMENTAL IMPROVEMENT

BEST AT:REDUCTION IN

EVOLUTION COSTS

Go faster! Get

better!

Twitter: @LMaccherone

RALLYS O F T W A R E

A kanban

Twitter: @LMaccherone

RALLYS O F T W A R E

Characteristics of the Kanban Method

0. Start where you are

1. Visualize workflow

2. Limit WIP

3. Make management policies explicit

4. Manage flow

5. Improve collaboratively

Adapted from Kanban by David J. Anderson

Twitter: @LMaccherone

0. Start where you are

RALLYS O F T W A R E

1. Visualize workflow

Twitter: @LMaccherone

RALLYS O F T W A R E

1. Visualize workflow

RALLYS O F T W A R E

2. Limit work in process (WIP)

Twitter: @LMaccherone

RALLYS O F T W A R E

3. Make policies explicit

Twitter: @LMaccherone

RALLYS O F T W A R E

4. Manage flow: watch WIP

Twitter: @LMaccherone

RALLYS O F T W A R E

5. Improve collaboratively:measure outcomes

Twitter: @LMaccherone

RALLYS O F T W A R E

5. Improve collaboratively:use data for decision making

Twitter: @LMaccherone

RALLYS O F T W A R E

The Team Software Process (TSP)

Where does it fit?

Twitter: @LMaccherone

RALLYS O F T W A R E

How is agile

different?

Coordination costs

Evolution costs

Feedback emphasis

Aspects of agile

Build the thing right

Build the right thing

Improve

XP

Scrum

Kanban

Product evolution also (TSP, design,

design patterns)

Twitter: @LMaccherone

RALLYS O F T W A R E

I recommend

1. Adopt XP engineering practices.• Add peer review.

• Add design patterns and possibly more design/design review.

2. If you are doing product design and new to agile, adopt Scrum.

3. If you are doing IT work, or have a mature agile culture, or can’t accept all of Scrum’s changes, adopt Kanban.

4. If you need CMMi, adopt TSP.

5. If safety is critical, consider Crystal.

6. Buy Rally Software.

Twitter: @LMaccherone

LARRYMACCHERONETwitter: @LMaccherone

RALLYS O F T W A R E

Credits

• Kanban content. Rick Simmons.(rsimmons@rallydev.com)

• Scrum content. Various at Rally Software.

• XP content. Mostly from Kent Beck.

• Simple design. Alistair McKinnell, Declan Whelan.