際際滷

際際滷Share a Scribd company logo
What Makes Agile Work:
 The New Software Engineering
 Getting Past Wimpy Agile


Dr. Alistair Cockburn
http://Alistair.Cockburn.us



                              息Alistair Cockburn 2010
2

          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 2010
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                        ob
Inv




                                                      lu            le
                     ti n              gu id            tio            m
      Deciding           g               a g ea            n
                                            e s
                                            they dont 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

                                    Craft



                                                     Flow Management
Cooperative Game




                                            Self-Awareness (Personalities)
    Knowledge Acquisition


 origami courtesy of Gery Derbier
                                                       息Alistair Cockburn 2010
5




Self - Awareness




                   息Alistair Cockburn 2010
6

People dont match formulas



                  Keep these         Try these




                  Problems




                               息Alistair Cockburn 2010
7




Craft




        息Alistair Cockburn 2010
8


People learn skills in 3 stages



      Shu: Learn a technique




        Ha: Collect techniques




          Ri: Invent / blend techniques




                               息Alistair Cockburn 2010
9

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 2010
10


The International Consortium for Agile is
establishing a learning roadmap for each specialty.




                                       息Alistair Cockburn 2010
11




Cooperative Game




                   息Alistair Cockburn 2010
12

           Games have positions, moves, strategies

                                         Career Management
      Infinite   Organization Survival      Product Line Management



Open-ended         King-of-the-hill               Jazz music
                      wrestling                          IT Systems
                                  Poker

        Finite                                    Rock-Climbing
goal-directed            Tennis                                  Theater
                                                Business
                                                             Exploration
                      Chess                        Journalism
                                                             Software
                                                            Development

                      Competitive                Cooperative

                                                       息Alistair Cockburn 2010
13



Three 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

              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


                                   Face-to-face is the most effective - Try Video


                                                                                                2 people at
Communication 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

People issues determine a projects 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 2010
17




Flow Management




                  息Alistair Cockburn 2010
18

  Design = manufacturing if Inventory = Decisions!


                        I wish theyd decide
                             what style
                             they want!        I wish theyd decide
                                                 on the UI design
           A decision                                 already!

                            UI
                         Designers                             Every
                                                           line of code
 Users &
                                           Programmers     is a decision
Sponsors            I wish theyd
                    decide what
                   functions they
                        want!                              I wish theyd think a
                                                             bit more carefully
                                                               before coding!

                    Business
                    Analysts
                                                          Testers


                                                            息Alistair Cockburn 2010
19

Reduce decisions in motion & balance the flow


       Convert jams to continuous flow.




                    UI
                 Designers


 Users &                                     Testers
Sponsors                     Programmers




             Business
             Analysts


                                           息Alistair Cockburn 2010
20




Knowledge Acquisition




                        息Alistair Cockburn 2010
21

    Big-Bang Design is a late-learning strategy
Growth of knowledge with
big-bang integration
                                                            cost



                                            Knowledge comes at
                                            the moment of truth:
                                            final integration.



                      Delivers nearly
                      no knowledge
                      (or risk reduction)



                                                                   time
                                                   息Alistair Cockburn 2010
22

       We can pay to learn early in the project
Growth of knowledge with
early, 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

 Develop for business value once risks are down
Knowledge growing        Business value growing
(risk reduction)


                                                          cost




                       Reduce risks:
                              - Business
                              - Social
                              - Technical
                              - Cost / Schedule


                                                       time


                                        息Alistair Cockburn 2010
24

Payoff = 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

  Designing in Teams                    Craft
                                     Professions
                                    skills in a medium


Cooperative 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

More Related Content

Agile and software engineering in the 21st century

  • 1. What Makes Agile Work: The New Software Engineering Getting Past Wimpy Agile Dr. Alistair Cockburn http://Alistair.Cockburn.us 息Alistair Cockburn 2010
  • 2. 2 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 2010
  • 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 ob Inv lu le ti n gu id tio m Deciding g a g ea n e s they dont 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 Craft Flow Management Cooperative Game Self-Awareness (Personalities) Knowledge Acquisition origami courtesy of Gery Derbier 息Alistair Cockburn 2010
  • 5. 5 Self - Awareness 息Alistair Cockburn 2010
  • 6. 6 People dont match formulas Keep these Try these Problems 息Alistair Cockburn 2010
  • 7. 7 Craft 息Alistair Cockburn 2010
  • 8. 8 People learn skills in 3 stages Shu: Learn a technique Ha: Collect techniques Ri: Invent / blend techniques 息Alistair Cockburn 2010
  • 9. 9 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 2010
  • 10. 10 The International Consortium for Agile is establishing a learning roadmap for each specialty. 息Alistair Cockburn 2010
  • 11. 11 Cooperative Game 息Alistair Cockburn 2010
  • 12. 12 Games have positions, moves, strategies Career Management Infinite Organization Survival Product Line Management Open-ended King-of-the-hill Jazz music wrestling IT Systems Poker Finite Rock-Climbing goal-directed Tennis Theater Business Exploration Chess Journalism Software Development Competitive Cooperative 息Alistair Cockburn 2010
  • 13. 13 Three 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 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 Face-to-face is the most effective - Try Video 2 people at Communication 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 People issues determine a projects 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 2010
  • 17. 17 Flow Management 息Alistair Cockburn 2010
  • 18. 18 Design = manufacturing if Inventory = Decisions! I wish theyd decide what style they want! I wish theyd decide on the UI design A decision already! UI Designers Every line of code Users & Programmers is a decision Sponsors I wish theyd decide what functions they want! I wish theyd think a bit more carefully before coding! Business Analysts Testers 息Alistair Cockburn 2010
  • 19. 19 Reduce decisions in motion & balance the flow Convert jams to continuous flow. UI Designers Users & Testers Sponsors Programmers Business Analysts 息Alistair Cockburn 2010
  • 20. 20 Knowledge Acquisition 息Alistair Cockburn 2010
  • 21. 21 Big-Bang Design is a late-learning strategy Growth of knowledge with big-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 We can pay to learn early in the project Growth of knowledge with early, 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 Develop for business value once risks are down Knowledge growing Business value growing (risk reduction) cost Reduce risks: - Business - Social - Technical - Cost / Schedule time 息Alistair Cockburn 2010
  • 24. 24 Payoff = 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 Designing in Teams Craft Professions skills in a medium Cooperative 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