You are on page 1of 37

The BEST agile process

A discussion of XP, Scrum, Kanban and TSP

RALLY
S O F T W A R E

Twitter: @LMaccherone

THERE ARE NO BEST PRACTICES

ONLY GOOD PRACTICES IN CONTEXT


Twitter: @LMaccherone

LARRY
MACCHERONE
Twitter: @LMaccherone

What is Agile?
Reference + Measured error

Controller

System input

System output

System

Measured output

Sensor

VALUES
RALLY
S O F T W A R E

Twitter: @LMaccherone

TRADITIONAL/DM AIC
PROCESS FEEDBACK FORMAL, AND CAN BE HEAVY WEIGHT

AGILE

LIGHT BUT OFTEN

PRODUCT AND DESIGN FEEDBACK PLAN FEEDBACK

EARLY, OFTEN, AND CLOSE TO THE CUSTOMER FREQUENT BUT QUICK COLLABORATION

DOMINANT VALUE PLANNING/CONTROL

RALLY
S O F T W A R E

Twitter: @LMaccherone

Every great cause begins as a movement, becomes a business, and turns into a racket.
~Christopher McDougall
RALLY
S O F T W A R E

Twitter: @LMaccherone

AGILE

RALLY
S O F T W A R E

Twitter: @LMaccherone

REDUCTION IN COORDINATION COSTS (XP)

How is agile different?

CHANGE IN FEEDBACK EMPHASIS (SCRUM)

REDUCTION IN EVOLUTION COSTS (KANBAN)

RALLY
S O F T W A R E

Twitter: @LMaccherone

XP
FOCUS: ENGINEERING PRACTICES BEST AT: REDUCTION IN COORDINATION COSTS
Twitter: @LMaccherone

Build the thing right!

RALLY
S O F T W A R E

Twitter: @LMaccherone

RALLY
S O F T W A R E

Twitter: @LMaccherone

XP: Reduces coordination costs


Continuous integration Test driven development
Test-first design Comprehensive test suites

Also:
Coding standard Whole team Pair programming Collective code ownership

Simple design Refactoring System metaphor

RALLY
S O F T W A R E

Twitter: @LMaccherone

Simple design
1. All tests must pass
2. No code is duplicated 1. Passes tests (given TDD) 2. Minimizes duplication

3. Code is selfexplanatory
4. No superfluous parts exist

3. Maximizes clarity (great identifiers)


4. Has fewer elements

RALLY
S O F T W A R E

Twitter: @LMaccherone

SCRUM
FOCUS: PROJECT MANAGEMENT BEST AT: CHANGE IN FEEDBACK EMPHASIS
Twitter: @LMaccherone

Build the right thing!

AGILE

PROJECT

LIFECYCLE
release 1 release n

Project Inception
Discovery Assessment

Iteration 0
Set up Project Infrastructure

Iteration 1

Iteration 2

Iteration 3

Iteration n

Target System

Incremental delivery in time-boxed iterations

RALLY
S O F T W A R E

Twitter: @LMaccherone

SCRUM

MECHANICS

Daily Meeting

Iteration 2-4 Weeks

Product Backlog

Iteration Backlog

Product Increment

RALLY
S O F T W A R E

Twitter: @LMaccherone

DAILY STAND-UP
What did you work on yesterday?
What are you committing to today? Do you have any impediments?
Twitter: @LMaccherone

POTENTIALLY SHIPPABLE PRODUCT

Demo and get feedback EVERY SPRINT!!!

RALLY
S O F T W A R E

Twitter: @LMaccherone

Burndown chart

RALLY
S O F T W A R E

Twitter: @LMaccherone

SCRUM

ROLES

Larry@Maccherone.com

Scrum framework
Vision
Daily Scrum Meeting Burndown Chart

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

2-4 weeks
Sprint Review (Demo)

Product Backlog Prioritized Features desired by Customer

Product Increment
Sprint Backlog
Product Backlog Items assigned to Sprint Emergent list of estimated tasks

RALLY
S O F T W A R E

Twitter: @LMaccherone

KANBAN
FOCUS: INCREMENTAL IMPROVEMENT BEST AT: REDUCTION IN EVOLUTION COSTS
Twitter: @LMaccherone

Go faster! Get better!

A kanban

RALLY
S O F T W A R E

Twitter: @LMaccherone

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

RALLY
S O F T W A R E

Twitter: @LMaccherone

0. Start where you are

1. Visualize workflow

RALLY
S O F T W A R E

Twitter: @LMaccherone

1. Visualize workflow

RALLY
S O F T W A R E

2. Limit work in process (WIP)

RALLY
S O F T W A R E

Twitter: @LMaccherone

3. Make policies explicit

RALLY
S O F T W A R E

Twitter: @LMaccherone

4. Manage flow:
watch WIP

RALLY
S O F T W A R E

Twitter: @LMaccherone

5. Improve collaboratively:
measure outcomes

RALLY
S O F T W A R E

Twitter: @LMaccherone

5. Improve collaboratively:
use data for decision making

RALLY
S O F T W A R E

Twitter: @LMaccherone

The Team Software Process (TSP)

Where does it fit?

RALLY
S O F T W A R E

Twitter: @LMaccherone

XP

Build the thing right


Aspects of agile

Product evolution also (TSP, design, design patterns)

Coordination costs
Improve
How is agile different?

Build the right thing

Feedback emphasis

Evolution costs

Kanban

RALLY
S O F T W A R E

Scrum
Twitter: @LMaccherone

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.
4.

If you are doing IT work, or have a mature agile culture, or cant accept all of Scrums changes, adopt Kanban.
If you need CMMi, adopt TSP.

5.
6.

If safety is critical, consider Crystal.


Buy Rally Software.

RALLY
S O F T W A R E

Twitter: @LMaccherone

LARRY
MACCHERONE
Twitter: @LMaccherone

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.

RALLY
S O F T W A R E

You might also like