0% found this document useful (0 votes)
41 views58 pages

Agile in A Nutshell

The document provides an overview of Agile methodology, emphasizing its adaptive planning, iterative processes, and the importance of delivering value through working software. It debunks common myths about Agile, such as it being anti-planning or undisciplined, and outlines various Agile methods like Scrum and Extreme Programming. The author encourages embracing Agile principles and practices to improve project outcomes and team collaboration.

Uploaded by

Sandra Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views58 pages

Agile in A Nutshell

The document provides an overview of Agile methodology, emphasizing its adaptive planning, iterative processes, and the importance of delivering value through working software. It debunks common myths about Agile, such as it being anti-planning or undisciplined, and outlines various Agile methods like Scrum and Extreme Programming. The author encourages embracing Agile principles and practices to improve project outcomes and team collaboration.

Uploaded by

Sandra Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 58

Agile in a nutshell

Jonathan Rasmusson

http://agilewarrior.wordpress.com/
© Copyright 2009, Rasmusson Software Consulting
Adaptive plans

The Waterfall Horror


Feature Show
Beware
Agile Software Delivery

- Coming soon to a project near you -

© Copyright 2009, Rasmusson Software Consulting


What we’re going to cover
• You already know agile planning
• What to expect
• De-bunk some myths
• Overview some agile methods
• 3 steps towards agility today

© Copyright 2009, Rasmusson Software Consulting


Agile planning in a nutshell

© Copyright 2009, Rasmusson Software Consulting


Too much to do, not enough time

Credit: http://www.flickr.com/photos/geneoh/
© Copyright 2009, Rasmusson Software Consulting
You make a list
Alright, what do I need to
do, to get ready for this
date?
ToDo List

Clean house
Do dishes
Get wine
Vacuum
Write poem
Get handsome
Wash car
Get flowers
Iron shirt
Work out

Doing this alone makes you feel good

© Copyright 2009, Rasmusson Software Consulting


You size things up
Looks like it shouldn’t take
more than a couple of hours!

ToDo for date

1 hr Clean 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 Work out
~ 8 hrs

© Copyright 2009, Rasmusson Software Consulting


Most
important You set some priorities
Dang, mom says she’s going
be in in 11 hrs.

ToDo for date

1 hr Clean 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 Work out

Least Out
important of scope© Copyright 2009, Rasmusson Software Consulting
Start executing
Roses are red, violets are blue,
I hope you like this apple juice.
Cheese and crackers too.
ToDo for date

1½ hrhr Clean house

2 hr Do dishes

½ hr Get wine
½ hr Vacuum
 Write poem
1 hr Get handsome
1 hr Wash car
½ hr Get flowers

 ½ hr Iron shirt
 ½ hr Work out

That in a nutshell is what most people do


© Copyright 2009, Rasmusson Software Consulting
A little secret
Pssst We do the
same thing in
agile…

© Copyright 2009, Rasmusson Software Consulting


Only instead of We use fancy names

ToDo list Master story list

Tasks => User stories

Guesses Estimates

© Copyright 2009, Rasmusson Software Consulting


a date
Most How does this make a plan? a budget
important a plan

½ done here


Add user
Print itinerary
1wk  Book reservation

 Cancel trip
Book permit



Update permit
Search



Create new device
Add swap trade
Add option
Cancel plan


Book car
Update hotel
 Change profile
 Add admin screen

Out of money
 Add Facebook
   Out of time
 Delete MySpace
 Update Twitter
1wk 1wk 1wk Nothing left

Least
important © Copyright 2009, Rasmusson Software Consulting
What we’re going to cover
• You already know agile planning
• What to expect
• De-bunk some myths
• Overview some agile methods
• 3 steps towards agility today

© Copyright 2009, Rasmusson Software Consulting


We flex on scope

Time Budget Quality Scope

Flex here

© Copyright 2009, Rasmusson Software Consulting


We have the same definition of done
Are we done raking
the leaves when:

A plan?
A design?
A report?

Not at my house!

© Copyright 2009, Rasmusson Software Consulting


Working software is the primary
measure of success
Are all fine
and dandy …
Project plans
Test plans
Requirements docs
Architectural diagrams
Analysis models
Security reports
Deployment plans

… but they are of no


value to the customer.

© Copyright 2009, Rasmusson Software Consulting


That means …

Add user
 Analysis
 Testing 100% complete
Print itinerary
 Design
Book reservation  Coding

Add user
 Everything else

 1wk

© Copyright 2009, Rasmusson Software Consulting


And we have to work as one team

VS
BA Dev QA

© Copyright 2009, Rasmusson Software Consulting


May 1,
More overlap between roles
2009

The team
© Copyright 2009, is accountable
Rasmusson Software Consulting
Analysis, design, testing, and coding are
continuous activities
Agile

Waterfall
Analysis
Test

VS Analysis Design Code Test


Code
Design

stage gated / big bang / all at once

© Copyright 2009, Rasmusson Software Consulting


Some terms you’ll hear

© Copyright 2009, Rasmusson Software Consulting


Iterative

  


1wk 1wk 1wk

© Copyright 2009, Rasmusson Software Consulting


Iterative

© Copyright 2009, Rasmusson Software Consulting


Time-boxed delivery

Credit Yogi: http://www.flickr.com/photos/yogi/1147960/


© Copyright 2009, Rasmusson Software Consulting
Adaptive planning
original plan

customer
discovers what
lost lead they really wanted
developer New Star Trek
movie

Price of oil
drops 70%
hard to change reality

© Copyright 2009, Rasmusson Software Consulting


Characteristics of agile teams

x
The goal
Empowered

Self-organizing

Self-directed

Adaptive

Flat hierarchy

Smart talented people like working this way


© Copyright 2009, Rasmusson Software Consulting
Agile Myths

What agile is not


© Copyright 2009, Rasmusson Software Consulting
Agile is a silver bullet
• You can fail just as dramatically
• All your problems will still be there
– Agile will just highlight them sooner

© Copyright 2009, Rasmusson Software Consulting


Agile teams don’t write
documentation
• More accurate to say agile teams don’t
write unnecessary documentation
• Agile teams prefer a face-to-face over
documentation
• Documentation gets treated
like anything else
– Prioritized, estimated, delivered

© Copyright 2009, Rasmusson Software Consulting


Agile is anti-planning
• Agile teams plan extensively
– Every quarter (release)
– Every couple weeks (iterations)
– Every day (daily stand-ups)
• Uses different tools
– Project burn downs vs Gantt and PERT
• Planning is very visible
– Stakeholders know early if there is a problem

© Copyright 2009, Rasmusson Software Consulting


Agile is anti-architecture
Agile is anti-over-architecture

Don’t spend time designing this …

… if this is all that is needed.


© Copyright 2009, Rasmusson Software Consulting
Agile development doesn’t scale
• Agile scales just like any other method
– Not that great
• Instead of looking at how you can scale up
– See if there are ways you can scale down

© Copyright 2009, Rasmusson Software Consulting


Agile teams don’t model
• Agile teams model
– They just don’t believe them
• The sooner they can
turn a model into working
software the better

© Copyright 2009, Rasmusson Software Consulting


Agile is undisciplined
• Agile has been bruised by people taking the
easy stuff
– and leaving out he hard
• Truth is agile is very disciplined
– You have to write tests
– You have to design
– You must regularly integrate your code
– You have to regularly release working software
– You must deliver something of value each iteration
• The more agile a team – the more disciplined

© Copyright 2009, Rasmusson Software Consulting


Agile development is unpredictable
• Agile acknowledges the inherent complexity and
uncertainty of software
• Agile quickly incorporates actual data into it’s
forecasts
• It doesn’t dwell on reconciling actual and original
plans
• Accepts that things are going to change, and
incrementally re-plans when better data is
available
If you crave predictability,
you picked the wrong profession
Credit: ©http://www.flickr.com/photos/shadphotos/
Copyright 2009, Rasmusson Software Consulting
Agile requires talented people

Skill-set of people

Project success

Creating valuable, innovative software requires skilled people


© Copyright 2009, Rasmusson Software Consulting
What we’re going to cover
• You already know agile planning
• What to expect
• De-bunk some myths
• Overview some agile methods
• 3 steps towards agility today

© Copyright 2009, Rasmusson Software Consulting


Agile comes in many flavours
Crystal
Scrum

Lean DSDM

FDD

Extreme Programming (XP)


© Copyright 2009, Rasmusson Software Consulting
Lean

I would like to Toyota’s ultra-lean manufacturing process.


buy a Toyota
Prius please

Elimination of waste

© Copyright 2009, Rasmusson Software Consulting


+ pluses - minuses
Lean

• Very good high-level • Advice / practices are


principles and not IT specific
practices • Harder to implement
• Addresses systems
and organizational
improvements across
the board

Lean has much to offer – very worth of study

© Copyright 2009, Rasmusson Software Consulting


Scrum
• A project management wrapper for
incremental delivery of projects,
independent of technology or business
vertical.
• Can be used in non-IT projects.

© Copyright 2009, Rasmusson Software Consulting


Scrum
+ pluses - minuses
• Easy to understand • Silent on engineering
• Low barrier of entry • Easy to do the easy
• Easy to pick up stuff while skipping
• Speaks well to project the hard stuff
managers
• Non-threatening
• Most popular

Easy to adapt – most non-threatening


© Copyright 2009, Rasmusson Software Consulting
Extreme Programming (XP)
• Popularized software engineering
practices necessary for agile development
• Emphasizes
– upfront testing
– automation
– evolutionary design
– continuous integration

© Copyright 2009, Rasmusson Software Consulting


Extreme Programming
+ pluses - minuses
• Sound engineering • Very developer
practices focused
• Strong in • Hard for other
development disciplines relate
community • Sometimes
• First real popular characterized by
agile method zealots

Essential engineering practices


© Copyright 2009, Rasmusson Software Consulting
Options for adopting

XP
full on

Scrum + XP
engineering practices

Scrum + XP +
engineering practices
Lean
spirit
* engineering practices
- unit testing, refactoring
- continuous integration, Test-Driven
© Copyright 2009, RasmussonDesign (TDD)
Software Consulting
What I recommend
Start here
XP
* engineering practices

Choose Scrum or
XP
language

Study
Lean

© Copyright 2009, Rasmusson Software Consulting


There is no one way
Extreme Programming (XP)

Crystal Scrum

DSDM

Lean

FDD

Do what works for you

© Copyright 2009, Rasmusson Software Consulting


3 steps you can take
towards agility
today

© Copyright 2009, Rasmusson Software Consulting


Deliver something of value every week

$ Value!

Week 1 Week 2 Week 3

Most important Least important


time

© Copyright 2009, Rasmusson Software Consulting


Start doing these 4 practices
• Agile is underpinned by technical
excellence
• Practices like these are essential:
Unit testing Test-Driven Design

Refactoring Continuous integration

• If you get these right


– everything else becomes a lot easier

© Copyright 2009, Rasmusson Software Consulting


Accept 3 simple truths
1. It is impossible to gather all the requirements
at the beginning of a project.
2. The requirements are guaranteed to change.
3. There will always be more requirements, than
time and money allow.

© Copyright 2009, Rasmusson Software Consulting


Final words

© Copyright 2009, Rasmusson Software Consulting


Final words
• No magic – you already think agile
• Expect change
• There is no one way

© Copyright 2009, Rasmusson Software Consulting


Do I think everyone will one
day be doing agile?

© Copyright 2009, Rasmusson Software Consulting


No
For the same reason most people
still don’t eat right or exercise.

© Copyright 2009, Rasmusson Software Consulting


Agile is tough
Agile is hard work
Agile requires great discipline

Not everyone is into this kind of stuff!

© Copyright 2009, Rasmusson Software Consulting


But it is a very natural way to work

It is
a lot of fun
And it works – very well

© Copyright 2009, Rasmusson Software Consulting


For more information
http://agilewarrior.wordpress.com/

[email protected]
© Copyright 2009, Rasmusson Software Consulting

You might also like