Who moved my‘Agile’ cheese?
Jonathan Rasmusson

Monday, 21 January, 13Adaptive planning

Iterative development

Changing requirements

Test first

User stories

Unit testingContinuous integration

Refactoring

Monday, 21 January, 13What’s not so fun

Monday, 21 January, 13

Monday, 21 January, 13

Cheese moved twice• Agile is always best
• Unit tests equal quality

Monday, 21 January, 13Agile is best

Monday, 21 January, 13

Too much to do, not enough time

Credit: http://www.flickr.com/photos/geneoh/
Monday, 21 January, 13

You make a list
ToDo List

What do I need to do
to get ready forthis date?

Clean house
Do dishes
Get wine
VacuumWrite poem
Get handsome
Wash carGet flowers
Iron shirt
Work out

This  alone  makes  you  feel  good

Monday, 21 January, 13

You size things up
Shouldn’t take morethan a 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

Monday, 21 January, 13Most

important  You set some priorities
Dang!
Too much to do.

ToDo for date1 hrClean house½ hr

Do dishes

2 hr

Get wine½ hrVacuum½ hr

Write poem

1 hr

Get handsome

1 hr

Wash car½ hr

Get flowers½ hr

Iron shirt½ hr

Work out

Least  important  Monday, 21 January, 13Out  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  ...

Monday, 21 January, 13

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

Monday, 21 January, 13

1

2Iterations

3nAgile is the best
expectation setting framework
I know for consistently producing
software in an industrialized way.

Monday, 21 January, 13Agile getting too complicatedMonday, 21 January, 13

Monday, 21 January, 13Agile planning right?
• Inception deck
• User stories• Estimates• Burn downs• Retrospectives
Monday, 21 January, 13

It didn’t work!
• Inception deck
• User stories• Estimates• Burn downs• Retrospectives
Monday, 21 January, 13?
Monday, 21 January, 13

Monday, 21 January, 13Not all work is created equal

Monday, 21 January, 13

Book writing ≠ Work• You are the boss (customer)• There is no one telling you what to do• You decide when it’s ‘good enough’• You decide when it is done• It ceases to be work - and becomessomething else

Monday, 21 January, 13The work becomes art.
Hint #1

Monday, 21 January, 13

Monday, 21 January, 13

Abandon your idea as soon as abetter one comes along ‘pivot’

Monday, 21 January, 13

Makes sense right?
Got a bad idea?

Just pivot!

Monday, 21 January, 13Just one problem...

What if you don’t carewhat others think?
What if you don’t wan’t to pivot.
Monday, 21 January, 13Last thing this world
needs is another bookon agile.

My good friend
Monday, 21 January, 13

“We think the Mac will sell zillions, but we didn’t build theMac for anybody else.
We built it for ourselves.
We were the group of people who were going tojudge whether it was great or not.
We weren’t going to go out and do market research.
We just wanted to build the best thing we could build.”
Steve Jobs

Monday, 21 January, 13

Speculative & Personal

Monday, 21 January, 13

Speculative ideas

Monday, 21 January, 13Personal ideas

Monday, 21 January, 13

It’s personal.
Hint #2

Monday, 21 January, 13

Purpose

Monday, 21 January, 13The purpose of a company“If anything imaginable is possible,
If there are no constraints whatever,what would be the nature of an idealorganization to...”Dee Hock, Founder VISA
Birth of the Chaordic Age

Monday, 21 January, 13• Autonomy• Master• Purpose
There is a class ofwork that defies‘management’

Monday, 21 January, 13

Monday, 21 January, 13There’s a strong
purpose.
Hint #3

Monday, 21 January, 13

So when...
The work becomes art
It’s highly personal, andThere’s a strong sense of purpose
Formal methods

Monday, 21 January, 13Unit tests = Quality

Monday, 21 January, 13

My first iOS gig• Unit tests• TDD• Continuous
Integration• Refactoring
Monday, 21 January, 13The hypocrite• Unit tests• TDD• Continuous
Integration• Refactoring
It worked!
Monday, 21 January, 13Not doing this one really bugged me• Unit tests• TDD• Continuous
Integration• Refactoring
Monday, 21 January, 13?
Monday, 21 January, 13The rational explanation• Smaller screen size
• One language• No legacy• Very visualBut that still didn’t explain the reputation for quality.
Monday, 21 January, 13

#1 Reason why I believe iOS developers
build quality products without extensive
suites of unit tests...

Monday, 21 January, 13They care.

Monday, 21 January, 13Out caring thecompetition• Care about the art• Care about the experience• Care about the words• Human interface guidelines• They curate out bad apps
• They make is easy to care - it’s expected
Monday, 21 January, 13The iOS
Human Interface Guidelines

Monday, 21 January, 13

Care about art

Monday, 21 January, 13

Care about experience• Focus on the primary task.
• Elevate content people care about.
• Make usage easy and obvious.
• Minimize effort required for user input.
• Be succinct• Consider adding physicality and realism• Delight people with stunning graphics
Monday, 21 January, 13

Care about words• Avoid single-word titles

that don’t provide usefulinformation.

• Write text thatsuccinctly describes thesituation and explains
what people can doabout it.

Monday, 21 January, 13• Title-style capitalization• Sentence-stylecapitalization

They just care very
deeply about the ‘quality’of what they build.

Monday, 21 January, 13What does this have to
do with unit tests?
(absolutely nothing)

Monday, 21 January, 13

Monday, 21 January, 13How I used to view
unit tests and quality
25%

75%

Everything else
Monday, 21 January, 13

Unit tests

How I see the world now
2%98%

Everything else
Monday, 21 January, 13

Unit tests

Note: I am not saying• Unit tests are not important.
• Unit tests don’t contribute to quality.
• iOS developers don’t need to unit test.

Monday, 21 January, 13What I am saying:• There is a lot more to quality than unittests.

• There is a lot I can learn from thiscommunity in terms of quality.

• I still have a lot to learn in terms of building
a quality product and experience.

• Don’t judge (the Apple community)
Monday, 21 January, 13Want better UX?
Want higher quality?
Want better customer service?
Find people who care.
(the rest will take care of itself)

Monday, 21 January, 13The Point• Whether you agree/disagree with theseassertions I am making doesn’t matter.

• What matters is...

Monday, 21 January, 13Your cheese will move
• Never assume you’ve got it all figured out.
• If it makes you uncomfortable that’s good!
• It shows you care.

Monday, 21 January, 13

Monday, 21 January, 13

Monday, 21 January, 13Thank you

Monday, 21 January, 13