©Alistair Cockburn 2010 What Makes Agile Work: The New Software Engineering Getting Past “Wimpy” Agile Dr. Alistair Cockburn
©Alistair Cockburn The Agile Manifesto invites wimpy-ness "… Individuals and interactions over processes & tools…" (Yayy!! I don't 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…" (I'm done when I'm 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 People... Solving a problem Creating a solution To an interpreter unforgiving of error Making decisions every decision has economic consequences and resources are limited. … they don’t understand which keeps changing Communicating Deciding Inventing Expressing ideas in a language … they don’t understand which keeps changing … they don’t understand which keeps changing
©Alistair Cockburn Craft Cooperative Game Knowledge Acquisition Flow Management Self-Awareness (Personalities) origami courtesy of Gery Derbier
©Alistair Cockburn Self - Awareness
©Alistair Cockburn People don’t match formulas
©Alistair Cockburn Craft
©Alistair Cockburn People learn skills in 3 stages Shu: Learn a technique Ha: Collect techniques Ri: Invent / blend techniques
©Alistair Cockburn 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
©Alistair Cockburn The International Consortium for Agile is establishing a learning roadmap for each specialty.
©Alistair Cockburn Cooperative Game
©Alistair Cockburn Infinite Organization Survival Career Management Competitive Cooperative Open-ended Jazz music Finite goal-directed King-of-the-hill wrestling Poker Tennis Chess Rock-Climbing Theater Journalism Exploration Software Development Business Product Line Management IT Systems Games have positions, moves, strategies
©Alistair Cockburn Three moves: Two conflicting subgoals: Deliver this system Set up for the next game The situations (almost) never repeat! Communicating Deciding Inventing
©Alistair Cockburn C6C20C40C100 D6D20D40D100 E6E20E40E100 L6L20L40L100 Project Classification Scale: Number of people coordinated Comfort Essential moneys Life Discretionary moneys Criticality X X X X X Adapt to your situation
©Alistair Cockburn 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
©Alistair Cockburn 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)
©Alistair Cockburn Flow Management
©Alistair Cockburn 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 Design = manufacturing if Inventory = Decisions!
©Alistair Cockburn Users & Sponsors UI Designers Programmers Testers Business Analysts Convert jams Users & Sponsors UI Designers Programmers Testers Business Analysts to continuous flow. Reduce decisions in motion & balance the flow
©Alistair Cockburn Knowledge Acquisition
©Alistair Cockburn Delivers nearly no knowledge (or risk reduction) Big-Bang Design is a late-learning strategy time Knowledge comes at the “moment of truth”: final integration. cost Growth of knowledge with big-bang integration
©Alistair Cockburn 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 Applies to both business ("lean startups") & technical design
©Alistair Cockburn Develop for business value once risks are down time Knowledge growing (risk reduction) cost Business value growing Reduce risks: - Business - Social - Technical - Cost / Schedule
©Alistair Cockburn Trim to deliver on-time (or early) Delay to get more or better Payoff = Trim-the-Tail: Deliver by value or date
©Alistair Cockburn Craft Professions skills in a medium Cooperative Game communication teamwork strategies Knowledge Acquisition pay-to-learn trim-the-tail Flow Management unvalidated decisions = inventory, lean processes Self-Awareness (Personalities) the people, strategies, techniques actually used Designing in Teams origami courtesy of Gery Derbier