Agile In a Nutshell

Jonathan Rasmusson

Tuesday, August 9, 2011

Tuesday, August 9, 2011

What we’re going to cover• How agile works• What to expect• What agile is• Agile myths• Review most popular methods• Three steps towards agility
Tuesday, August 9, 2011

Too much to do, not enough time

Credit: http://www.flickr.com/photos/geneoh/
Tuesday, August 9, 2011

You make a list
What do I need to do
to get ready for this date?
ToDo List
Clean house
Do dishes
Get wine
VacuumWrite poem
Get handsome
Wash carGet flowers
Iron shirtWork out

This alone makes you feel good

Tuesday, August 9, 2011

You size things up
Should take more thana couple of hours!
ToDo for date1 hrClean house½ hr

Do dishes

2 hr

Get wine½ hr

Vacuum½ hr

Write poem

1 hr

Get handsome

1 hr

Wash car½ hr

Get flowers½ hr

Iron shirt½ hr~ 8 hrs

Work out

Tuesday, August 9, 2011

Most

You set some priorities

importantDang! Too much to do.
ToDo for date1 hrClean house½ hr

Do dishes

2 hr

Get wine½ hrVacuum½ hr

Write poem

1 hrGet handsome

1 hr

Wash car½ hrGet flowers½ hr

Iron shirt½ hr

Work out

Least important
Tuesday, August 9, 2011

Out of scope

Start executing
ToDo for date1 hrClean house ½ hr ½ hrIron shirt

Ah! Didn’t really needthat shirt anyways.

½ hr Do dishes
2 hr Get wine
½ hr Vacuum
½ hr Write poem
1 hr Get handsome
1 hr Wash car
½ hr Get flowers
Work out

This is what most people do ...

Tuesday, August 9, 2011

A little secret
Pssssssst...

Tuesday, August 9, 2011

We do the same thing
in agile.

Only instead of ...

We use fancy names

ToDo lists

Master story lists

Tasks

User stories

Guesses

Estimates

Tuesday, August 9, 2011

Estimates

Agile planning

Master story
1 day

Create invoice

3 days Add user
5 days Print report
3 days Basic search
1 day

Update trade

...

...

160 days

PrioritizedUser stories

Tuesday, August 9, 2011

12

Iterations

3n‘The Plan’

Master story
1 day

Create invoice

Veloc

3 days Add user
5 days Print reportity

3 days Basic search1 day

Update trade

...

...

160 days

12Iterations

Tuesday, August 9, 2011

3nWhat we’re going to cover• How it works• What to expect• What agile is• Agile myths• Review most popular methods• Three steps towards agility
Tuesday, August 9, 2011

We flex on scope

TimeTuesday, August 9, 2011

BudgetQuality

ScopeWe have the same definition of ‘done’A plan?

A design?

A report?
Credit: http://www.sxc.hu/photo/422930

Tuesday, August 9, 2011

Working softwareis the primary measure of success
Project plans
Test plans
Requirements docs
Architectural diagrams
Analysis models
Security reports
Deployment plans… are of no value
to the customer.
Credit: http://www.flickr.com/photos/chris-hunt/3248785666/
Tuesday, August 9, 2011

That means …
Add user
Print itineraryBook reservation
Add user

Analysis
Testing
DesignCodingEverything else

1 -2 wks

Tuesday, August 9, 2011

Analysis, design, testing, and coding arecontinuous activities
Agile
Analysis

Waterfall

Test

VS

Analysis

Design

Code

Test

Code
DesignTuesday, August 9, 2011stage gated / big bang / all at onceAnd we have to work as one teamVSBA

Tuesday, August 9, 2011

Dev

QA

April 27,
2011

More overlap between roles

Tuesday, August 9, 2011

What we’re going to cover• How it works• What to expect• What agile is• Agile myths• Review most popular methods• Three steps towards agility
Tuesday, August 9, 2011

Iterative© Copyright 2009, Rasmusson Software Consulting

Tuesday, August 9, 2011

Iterative© Copyright 2009, Rasmusson Software Consulting

Tuesday, August 9, 2011

Adaptive

Tuesday, August 9, 2011

Adaptive

Tuesday, August 9, 2011

Adaptive
lost leaddeveloper

customer discovers what
they really wanted
New Star Trek
movie

hard to change

Tuesday, August 9, 2011

new bossPrice of oildrops 50%

Self directed
Empowered

Flat hierarchy

Adaptive
Tuesday, August 9, 2011

Self-organizing

Smart,Talented,Motivated People
Like working this way.

Tuesday, August 9, 2011

Agile isA common sense wayof building software ...

Tuesday, August 9, 2011

That reminds us that ...

Tuesday, August 9, 2011

software is about people.

Tuesday, August 9, 2011

It’s messy.
It isn’t perfect.
It doesn’t follow a Gantt chart.

Tuesday, August 9, 2011

Tuesday, August 9, 2011

It accepts the inherent complexity
and uncertainty that comes with
software delivery.

Tuesday, August 9, 2011

This isn’t ditch digging!

It accepts the inherent complexity
and uncertainty that comes with
software delivery.

Tuesday, August 9, 2011

Tuesday, August 9, 2011

12 Principles
Face-to-face
Simplicity

Continuous delivery
Working together
Self organization

Working software
Sustainable pace
Motivated individuals
Welcoming change
Technical excellence
Frequent delivery
Continuous improvement
Tuesday, August 9, 2011

Agile myths

Tuesday, August 9, 2011

Agile is a silver bullet• You can fail just as spectacularly on anagile project as any other.

• You just might do it sooner.
Here ... instead of here

Tuesday, August 9, 2011

Agile teams don’t
do documentation• More accurate to say agile teams don’t

write any ‘unnecessary documentation’.

• Treat documentation like any otherdeliverable:• Estimated and prioritized.

• Prefer face-to-face communication.
Tuesday, August 9, 2011

Agile is anti-planning• Agile teams plan extensively– Every quarter (release)– Every couple weeks (iterations)– Every day (daily stand-ups)• Uses diﬀerent tools– Burn downs vs Gantt charts• Planning is very visible– Stakeholders know early if there is a problem

Tuesday, August 9, 2011

Agile is undisciplined• Truth is agile is very disciplined• You have to test.
• You have to get feedback.
• You have to regularly ship.
• You have to update the plan.
Tuesday, August 9, 2011

Agile is anti-architecture
Don’t build this ...

Tuesday, August 9, 2011

if all you need is this.

Agile doesn’t scale• Agile scales like any other software
process- Not that great -• Instead of looking at how to scale up, try
to imagine ways you could scale down.

Tuesday, August 9, 2011

What we’re going to cover• How it works• What to expect• What agile is• Agile myths• Review most popular methods• Three steps towards agility
Tuesday, August 9, 2011

Agile comes in many flavours
CrystalScrum

Lean

DSDM

FDD

Extreme Programming (XP)
Tuesday, August 9, 2011

Lean Toyota’s ultra-lean manufacturing process.
I would like to buy a Toyota
Camry please.

Eliminating waste
Tuesday, August 9, 2011

Lean
• Very good high-level

principles and practices• Addresses system andorganizational
ineﬃciencies• Not IT specific• Can be harder toimplement

Lean has a lot to oﬀer. Very worth studying!
Tuesday, August 9, 2011

Scrum• A project management wrapper forincremental delivery of projects,
independent of technology or businessvertical.
• Can be used in non-IT projects.

Tuesday, August 9, 2011

Scrum• Easy to understand /pickup• Low barrier of entry• Speaks well to project managers• Non-threatening• Very popular• Silent on engineering• Easy to do the easy stuﬀ
while skipping on thehard

Easy to adapt - most non-threatening.
Tuesday, August 9, 2011

Extreme Programming• Popularized software engineering
practices necessary for agile development• Emphasizes– upfront testing– automation– evolutionary design– continuous integration

Tuesday, August 9, 2011

User story

Extreme Programming• Sound engineering practices• Strong in development
community• First real popular agile method• Very developer focused• Hard for other disciplines
relate• Sometimes characterizedby zealots

Essential engineering practices- unit testing - refactoring - continuous integration - test-Driven Design (TDD)
Tuesday, August 9, 2011

Options for adoptingXPfull on

Scrum
Scrum

Tuesday, August 9, 2011

++XP

XP+

engineering practices

engineering practices

Leanspirit

What I recommend
Start hereXP

engineering practices

Chooselanguage

Scrum
Study

Tuesday, August 9, 2011

orLeanXP

There is no one way
Extreme Programming (XP)Your own!
Lean

Scrum
DSDM
FDD

Do what ever works for you
Tuesday, August 9, 2011

What we’re going to cover• How it works• What to expect• What agile is• Agile myths• Review most popular methods• Three steps towards agility
Tuesday, August 9, 2011

Tuesday, August 9, 2011

Step 1: Deliver something of value
every weekweekweekweek

1. Big problems down into smaller ones.
2. Important stuﬀ first.
3. Forces you to test.
4. You’ll want feedback.
5. Change course when necessary.
Tuesday, August 9, 2011

Step 2: Start doing these 4 software
engineering practices today!
1. Unit testing
2. Refactoring
3. Test Driven-Development
4. Continuous Integration

Tuesday, August 9, 2011

Accept
three simple truths
1. It is impossible to gather all therequirements at the beginningof a project.
2. Whatever requirements you
do gather are guaranteed tochange.
3. There will always be more to dothan time and money will allow.

Tuesday, August 9, 2011

Final words

Tuesday, August 9, 2011

Do I think everyone will
one day be doing agile?

Tuesday, August 9, 2011

NoFor the same reason people
don’t eat right and exercise.

Tuesday, August 9, 2011

Agile is hard
It’s tough!
Requires a lot of discipline
And thinking
Not everyone’s into this kind of stuﬀ.

Tuesday, August 9, 2011

But it is a very natural way to work
A lot of people enjoy it

It isa lot offun

Tuesday, August 9, 2011

Learn more
• Blog– agilewarrior.wordpress.com• Twitter– @jrasmusson• Email– jr@agilewarrior.com
40% oﬀ this week only
Code: AGILEWEEK

Tuesday, August 9, 2011