Presentation is loading. Please wait.

Presentation is loading. Please wait.

©Alistair Cockburn 2009 “I Come to Bury Agile, Not to Praise It” Effective Software Development in the 21st Century Alistair Cockburn

Similar presentations


Presentation on theme: "©Alistair Cockburn 2009 “I Come to Bury Agile, Not to Praise It” Effective Software Development in the 21st Century Alistair Cockburn"— Presentation transcript:

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

2 ©Alistair Cockburn 2009 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 ©Alistair Cockburn 2009 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 ©Alistair Cockburn 2009 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 ©Alistair Cockburn 2009 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 ©Alistair Cockburn 2009 6 Developing software consists of People making Ideas concrete in an Economic context

7 ©Alistair Cockburn 2009 7 inventing, deciding, communicating, Solving a problem they don't yet understand which keeps changing Creating a solution they 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 People

8 ©Alistair Cockburn 2009 8 Software development is a Cooperative Game

9 ©Alistair Cockburn 2009 9 Infinite Organization Survival Career Management Competitive Cooperative Open-ended Jazz music Finite goal-directed King-of-the-hill wrestling Poker Tennis Chess Product Line Management Rock-Climbing Theater Journalism Exploration Software Development Swamp game IT Systems Games have positions, moves, strategies

10 ©Alistair Cockburn 2009 10 Two conflicting subgoals: Deliver this software Set up for the next game Three moves: Invent Decide Communicate and the situations (almost) never repeat!

11 ©Alistair Cockburn 2009 11 C6C20C40C100 D6D20D40D100 E6E20E40E100 L6L20L40L100 Project Classification Scale: Number of people coordinated 1 - 6- 20- 40- 100 Comfort Essential moneys Life Discretionary moneys Criticality X X X X X Adapt to your situation

12 ©Alistair Cockburn 2009 12 Richness of communication channel Communication Effectiveness 2 people on phone 2 people on chat (Question-and-Answer) 2 people at whiteboard (Courtesy of Thoughtworks, inc.) Face-to-face is the most effective - Try Video Paper (No Question-Answer) Videotape

13 ©Alistair Cockburn 2009 13 Kim Pat 12 people: = $100,000 / yr penalty 12 people = $300,000 / yr penalty Kim Pat Distance is expensive KimPat Programming in pairs “Managing the Flow of Technology” “Distance Matters”

14 ©Alistair Cockburn 2009 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 ©Alistair Cockburn 2009 15 Software development is a Craft

16 ©Alistair Cockburn 2009 16 Craft teaches us to pay attention to our skills and 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 ©Alistair Cockburn 2009 17 People learn skills in 3 stages Shu: Learn a technique Ha: Collect techniques Ri: Invent / blend techniques

18 ©Alistair Cockburn 2009 18 Use Lean Processes

19 ©Alistair Cockburn 2009 19 I wish they’d decide what style they want! Users & Sponsors Testers Business Analysts I wish they’d decide what functions they want! A decision I wish they’d decide on the UI design already! I wish they’d think a bit more carefully before coding! Programmers Every line of code is a decision UI Designers Software development looks like manufacturing if the unit of inventory is the unvalidated decision!

20 ©Alistair Cockburn 2009 20 Software development has correction loops

21 ©Alistair Cockburn 2009 21 From Lean Manufacturing: aim for continuous flow time Testers 100 lines of code show up for testing # of design decisions Decisions being validated or broken How long this line of code / screen / use case / decision sits in the testing queue Decisions arriving

22 ©Alistair Cockburn 2009 22 From Lean Manufacturing: watch your queues Enough Users & Sponsors Many Business Analysts Not enough Programmers Some Testers Users & Sponsors absent UI Designers Business Analysts some Programmers Database designers Tester Enough Users & Sponsors UI Designer A few Business Analysts Lots of Programmers Single, solitary Database designer

23 ©Alistair Cockburn 2009 23 Design is Knowledge Acquisition

24 ©Alistair Cockburn 2009 24 Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall is a late-learning strategy time cost Growth of knowledge with big-bang integration

25 ©Alistair Cockburn 2009 25 Development sequence indifferent (with respect to knowledge) Delivers knowledge (risk reduction) We can pay to learn early in the project time cost Growth of knowledge with early, continuous integration

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

27 ©Alistair Cockburn 2009 27 Trim to deliver on-time (or early) Delay to get more or better Trim the Tail: Choose to deliver by value or date

28 ©Alistair Cockburn 2009 28 In the 21st century, software engineering will use craft, cooperative game & lean principles Craft developing skills in a medium shu - ha - ri Cooperative game of invention and communication teamwork, communication, strategies Lean processes ( “ unvalidated decisions = inventory ” ) small queues, cross-trained people, varyied processes Design as knowledge acquisition early integration pay to learn trim the tail

29 ©Alistair Cockburn 2009 29 http://Alistair.Cockburn.us


Download ppt "©Alistair Cockburn 2009 “I Come to Bury Agile, Not to Praise It” Effective Software Development in the 21st Century Alistair Cockburn"

Similar presentations


Ads by Google