Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Agile and software engineering in the 21st century

4,089 views

Published on

Dr. Alistair Cockburn
Agile and Software Engineering in the 21st Century

Agile and software engineering in the 21st century

  1. 1. What Makes Agile Work: The New Software Engineering Getting Past “Wimpy” AgileDr. Alistair Cockburnhttp://Alistair.Cockburn.us ©Alistair Cockburn 2010
  2. 2. 2 The Agile Manifesto invites wimpy-ness"… Individuals and interactions over processes & tools…" (Yayy!! I dont have to follow those stupid processes any more!)"… Working software over comprehensive documentation…" (W00t!! Dump the documentation! I LOVE this agile stuff!)"… Customer collaboration over contract negotiations…" (Im done when Im done and I never have to say when!)"… Responding to change over following a plan…" (No plans! No project managers! No architects! ) Where do I sign up? ©Alistair Cockburn 2010
  3. 3. 3 People ... Co Cr So ea mm Ex lv ng tin in pr g g un ti in es a a en a sin so pr ic a lan g obInv lu le ti n gu id tio m Deciding g a g ea n e s … they don’t understand which keeps changing To an interpreter unforgiving of error Making decisions every decision has economic consequences and resources are limited. ©Alistair Cockburn 2010
  4. 4. 4 Craft Flow ManagementCooperative Game Self-Awareness (Personalities) Knowledge Acquisition origami courtesy of Gery Derbier ©Alistair Cockburn 2010
  5. 5. 5Self - Awareness ©Alistair Cockburn 2010
  6. 6. 6People don’t match formulas Keep these Try these Problems ©Alistair Cockburn 2010
  7. 7. 7Craft ©Alistair Cockburn 2010
  8. 8. 8People learn skills in 3 stages Shu: Learn a technique Ha: Collect techniques Ri: Invent / blend techniques ©Alistair Cockburn 2010
  9. 9. 9Craft teaches us to pay attention to our skills and to the mediumMajor 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 ©Alistair Cockburn 2010
  10. 10. 10The International Consortium for Agile isestablishing a learning roadmap for each specialty. ©Alistair Cockburn 2010
  11. 11. 11Cooperative Game ©Alistair Cockburn 2010
  12. 12. 12 Games have positions, moves, strategies Career Management Infinite Organization Survival Product Line ManagementOpen-ended King-of-the-hill Jazz music wrestling IT Systems Poker Finite Rock-Climbinggoal-directed Tennis Theater Business Exploration Chess Journalism Software Development Competitive Cooperative ©Alistair Cockburn 2010
  13. 13. 13Three moves: Co mm g tin un en ic a Inv t in Deciding g Two conflicting subgoals: Deliver this system Set up for the next game The situations (almost) never repeat! ©Alistair Cockburn 2010
  14. 14. 14 Adapt to your situation Project Classification Scale:Criticality Life L6 L20 L40 L100 X Essential X moneys E6 E20 E40 E100 X Discretionary X moneys D6 X D20 D40 D100 Comfort C6 C20 C40 C100 1-6 - 20 - 40 - 100 Num of people coordinated ber ©Alistair Cockburn 2010
  15. 15. 15 Face-to-face is the most effective - Try Video 2 people atCommunication Effectiveness whiteboard 2 people on phone w er) ns Videotape -A -a nd (Courtesy of Thoughtworks, inc.) ti on 2 people u es (Q on chat r) n- Answe Paper estio (No Qu Richness of communication channel ©Alistair Cockburn 2010
  16. 16. 16People issues determine a project’s speedCan 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) ©Alistair Cockburn 2010
  17. 17. 17Flow Management ©Alistair Cockburn 2010
  18. 18. 18 Design = manufacturing if Inventory = Decisions! I wish they’d decide what style they want! I wish they’d decide on the UI design A decision already! UI Designers Every line of code Users & Programmers is a decisionSponsors I wish they’d decide what functions they want! I wish they’d think a bit more carefully before coding! Business Analysts Testers ©Alistair Cockburn 2010
  19. 19. 19Reduce decisions in motion & balance the flow Convert jams to continuous flow. UI Designers Users & TestersSponsors Programmers Business Analysts ©Alistair Cockburn 2010
  20. 20. 20Knowledge Acquisition ©Alistair Cockburn 2010
  21. 21. 21 Big-Bang Design is a late-learning strategyGrowth of knowledge withbig-bang integration cost Knowledge comes at the “moment of truth”: final integration. Delivers nearly no knowledge (or risk reduction) time ©Alistair Cockburn 2010
  22. 22. 22 We can pay to learn early in the projectGrowth of knowledge withearly, continuous integration Delivers knowledge Development sequence cost indifferent (with respect (risk reduction) to knowledge) Applies to both business ("lean startups") & technical design time ©Alistair Cockburn 2010
  23. 23. 23 Develop for business value once risks are downKnowledge growing Business value growing(risk reduction) cost Reduce risks: - Business - Social - Technical - Cost / Schedule time ©Alistair Cockburn 2010
  24. 24. 24Payoff = Trim-the-Tail: Deliver by value or date Trim to deliver Delay to get more on-time (or early) or better ©Alistair Cockburn 2010
  25. 25. 25 Designing in Teams Craft Professions skills in a mediumCooperative Game communication Flow Management teamwork unvalidated decisions strategies = inventory, lean processes Self-Awareness (Personalities) Knowledge Acquisition the people, strategies, techniques pay-to-learn actually used trim-the-tail origami courtesy of Gery Derbier ©Alistair Cockburn 2010

×