1 / 29

“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. 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.

vesna
Download Presentation

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

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. “I Come to Bury Agile, Not to Praise It” Effective Software Development in the 21st Century Alistair Cockburn http://Alistair.Cockburn.us

  2. 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)

  3. 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)

  4. 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)

  5. 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)

  6. Developing software consists of People making Ideas concrete in an Economic context

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

  8. Software development is aCooperative Game

  9. 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

  10. Two conflicting subgoals: • Deliverthis software • Set up for the next game • Three moves: • Invent • Decide • Communicate • and the situations (almost) never repeat!

  11. 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

  12. 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

  13. 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”

  14. 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)

  15. Software development is a Craft

  16. 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

  17. People learn skills in 3 stages • Shu: Learna technique • Ha: Collecttechniques • Ri: Invent / blendtechniques

  18. Use Lean Processes

  19. 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!

  20. 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

  21. 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

  22. 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

  23. Design is Knowledge Acquisition

  24. 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

  25. 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

  26. Develop for business value once risks are down Business value growing Knowledge growing(risk reduction) cost Growth of business value time

  27. Trim to deliver on-time (or early) Delay to get more or better Trim the Tail: Choose to deliver by valueordate

  28. 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

  29. http://Alistair.Cockburn.us

More Related