I come to bury agile not to praise it
Download
1 / 29

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


  • 383 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 l.jpg

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

Effective Software Development in the 21st Century

Alistair Cockburn

http://Alistair.Cockburn.us


Slide2 l.jpg

  • 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 l.jpg

  • 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 l.jpg

  • (based on Shakespeare’s Julius Caesar, Act 3. Scene 2)


Slide5 l.jpg

  • 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)


Developing software consists of people making ideas concrete in an economic context l.jpg
Developing software consists of People making Ideas concrete in an Economic context


Slide7 l.jpg

  • 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


  • Slide8 l.jpg

    Software development is aCooperative Game


    Games have positions moves strategies l.jpg

    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 l.jpg

    • 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 l.jpg

    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 l.jpg

    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 l.jpg

    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 l.jpg
    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 l.jpg
    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 l.jpg
    People learn skills in 3 stages

    • Shu: Learna technique

    • Ha: Collecttechniques

    • Ri: Invent / blendtechniques


    Slide18 l.jpg

    Use Lean Processes


    Software development looks like manufacturing if the unit of inventory is the unvalidated decision l.jpg

    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 l.jpg

    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 l.jpg

    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 l.jpg

    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


    Slide23 l.jpg

    Design is Knowledge Acquisition


    Waterfall is a late learning strategy l.jpg

    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 l.jpg

    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 l.jpg
    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 l.jpg

    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 l.jpg
    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