i come to bury agile not to praise it
Download
Skip this Video
Download Presentation
“I Come to Bury Agile, Not to Praise It”

Loading in 2 Seconds...

play fullscreen
1 / 29

“I Come to Bury Agile, Not to Praise It” - PowerPoint PPT Presentation


  • 384 Views
  • Uploaded on

“I Come to Bury Agile, Not to Praise It” Effective Software Development in the 21st Century Alistair Cockburn http://Alistair.Cockburn.us I come to bury Agile, not to praise it; The evil methods do lives after them, The good is oft interred with their bones, So let it be with Agile.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '“I Come to Bury Agile, Not to Praise It”' - Patman


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
i come to bury agile not to praise it

“I Come to Bury Agile, Not to Praise It”

Effective Software Development in the 21st Century

Alistair Cockburn

http://Alistair.Cockburn.us

slide2
I come to bury Agile, not to praise it;
  • The evil methods do lives after them, The good is oft interred with their bones, So let it be with Agile.
  • The noble Waterfall hath told you Agile was ambitious: If it were so, it was a grievous fault,
  • And grievously hath Agile answered it.
  • Here, under leave of Waterfall, Lean and the rest - For Lean is an honourable method, So are they all; all honourable methods, Come I to speak in Agile's funeral.
  • (based on Shakespeare’s Julius Caesar, Act 3. Scene 2)
slide3
Agile was my friend, faithful and just to me:
  • But Waterfall says he was ambitious; And Waterfall is an honourable method.
  • Agile hath brought many projects home to Rome,
  • Whose Payoff did the corporate coffers fill. Did this in Agile seem ambitious?
  • When the programmers have cried, Agile hath wept.
  • Ambition should be made of sterner stuff. Yet Waterfall says he was ambitious, And Waterfall is an honorable method.
  • You all did see that in 2003 We twice presented him a kingly crown, Which he did twice refuse. Was this ambition? Yet Waterfall says he was ambitious, And sure he is an honorable method.
  • (based on Shakespeare’s Julius Caesar, Act 3. Scene 2)
slide4
I speak not to disprove what Waterfall spoke, But here I am to speak what I do know.
  • You all did love Agile once, not without cause. What cause withholds you then to mourn for it?
  • (based on Shakespeare’s Julius Caesar, Act 3. Scene 2)
slide5
Bear with me.
  • My heart is in the coffin there with Agile,
  • And I must pause till it come back to me.
  • (based on Shakespeare’s Julius Caesar, Act 3. Scene 2)
slide7
People
  • inventing, deciding, communicating,
  • Solving a problemthey don't yet understand
      • which keeps changing
  • Creating a solutionthey don't yet understand
      • which keeps changing
  • Expressing ideas in languages they don’t understand
      • which keep changing
  • To an interpreter unforgiving of error
  • Making decisions with limited resources
  • and every choice has economic consequences
games have positions moves strategies
King-of-the-hill

wrestling

Poker

Tennis

Rock-Climbing

Swamp game

Theater

Chess

Exploration

Journalism

Software

Development

Games have positions, moves, strategies

Career Management

Organization Survival

Infinite

Product Line Management

Jazz music

Open-ended

IT Systems

Finite

goal-directed

Cooperative

Competitive

slide10
Two conflicting subgoals:
  • Deliverthis software
  • Set up for the next game
  • Three moves:
  • Invent
  • Decide
  • Communicate
  • and the situations (almost) never repeat!
adapt to your situation
Project Classification Scale:

Criticality

Life

L6

L20

L40

L100

X

X

Essential

moneys

E6

E20

E40

E100

X

Discretionary

moneys

X

X

D6

D20

D40

D100

Comfort

C6

C20

C40

C100

1 - 6

- 20

- 40

- 100

Number of people coordinated

Adapt to your situation
slide12
2 people atwhiteboard

(Courtesy of Thoughtworks, inc.)

(No Question-Answer)

Face-to-face is the most effective - Try Video

2 people on phone

Communication Effectiveness

Videotape

(Question-and-Answer)

2 peopleon chat

Paper

Richness of communication channel

distance is expensive
Programming in pairs

12 people:= $100,000 / yr penalty

Kim

Pat

12 people = $300,000 / yr penalty

Kim

Pat

Kim

Pat

Distance is expensive

“Managing the Flow of Technology” “Distance Matters”

people issues determine a project s speed
People issues determine a project’s speed
  • Can they easily detect something needs attention?
  • (Good at Looking Around)
  • Will they care enough to do something about it?
  • (Pride-in-work; Amicability)
  • Can they effectively pass along the information?
  • (Proximity;face-to-face)
craft teaches us to pay attention to our skills and to the medium
Craft teaches us to pay attention to our skillsand to the medium
  • Major crafts:
  • 1 Deciding what to build
  • 2 Managing (people and projects)
  • 3 Modeling
  • 4 Designing the external view
  • 5 Large-scale design (architecting)
  • 6 Fine-scale design (programming)
  • 7 Validating the work
people learn skills in 3 stages
People learn skills in 3 stages
  • Shu: Learna technique
  • Ha: Collecttechniques
  • Ri: Invent / blendtechniques
software development looks like manufacturing if the unit of inventory is the unvalidated decision
I wish they’d decidewhat stylethey want!

I wish they’d think a bit more carefullybefore coding!

I wish they’d decideon the UI designalready!

A decision

UI Designers

Every line of code is a decision

Users &Sponsors

Programmers

I wish they’d decide what functions they want!

BusinessAnalysts

Testers

Software development looks like manufacturing if the unit of inventory is the unvalidated decision!
software development has correction loops
Detaileddecisions aboutexternalappearance

Decisions about function and style

Decisions about systemcorrectness

Decisions about programstructure

UI Designers

Detailed decisionsabout functionand data

Users &Sponsors

Testers

Programmers

BusinessAnalysts

Software development has correction loops
from lean manufacturing aim for continuous flow
100 lines of codeshow up for testing

Testers

From Lean Manufacturing:aim for continuous flow

# of design decisions

How long this line of code/ screen / use case / decisionsits in the testing queue

Decisions arriving

Decisions being validated or broken

time

from lean manufacturing watch your queues
UI Designer

Lots of Programmers

Enough Users & Sponsors

Single, solitaryDatabasedesigner

A few Business Analysts

Enough Users & Sponsors

Not enough Programmers

SomeTesters

Many Business Analysts

UI Designers

some Programmers

Users & Sponsorsabsent

Tester

Business Analysts

Database designers

From Lean Manufacturing: watch your queues
waterfall is a late learning strategy
cost

Knowledge comes atthe “moment of truth”: final integration.

Delivers nearly no knowledge

(or risk reduction)

Waterfall is a late-learning strategy

Growth of knowledge with big-bang integration

time

we can pay to learn early in the project
Development sequence

indifferent (with respectto knowledge)

cost

Delivers knowledge

(risk reduction)

We can pay to learn early in the project

Growth of knowledge with early, continuous integration

time

develop for business value once risks are down
Develop for business value once risks are down

Business value growing

Knowledge growing(risk reduction)

cost

Growth of

business value

time

trim the tail choose to deliver by value or date
Trim to deliver

on-time (or early)

Delay to get more

or better

Trim the Tail: Choose to deliver by valueordate
in the 21st century software engineering will use craft c ooperative game lean principles
In the 21st century, software engineering will use craft, cooperative game& lean principles
  • Craftdeveloping skills in a mediumshu - ha - ri
  • Cooperativegame of invention and communicationteamwork, communication, strategies
  • Leanprocesses(“unvalidated decisions = inventory”)small queues, cross-trained people, varyied processes
  • Design as knowledge acquisitionearly integrationpay to learn trim the tail
ad