SlideShare a Scribd company logo
“War Stories”
Experiences applying Agile in many types of business

             gerard.hartnett@coclarity.com

                Enterprise Ireland,
                Dublin, IRELAND.
                  23-Nov-2009
Overview
                              Introduction
                              Patterns, PLOPS and OOPSLA
                              Scrum
                              eXtreme Programming
                              GTD and 4HWW
                              Conclusion

Copyright © 2009 coClarity Ltd.              2
Introduction
                                  20-years SW experience
                                  Currently: coClarity, Limerick
                                  Intel, Basis & Tellabs, Shannon
                                  Digital, Galway
                                  Motorola, Cork, & USA
                                  QC-Data, Cork & Canada

Copyright © 2009 coClarity Ltd.                  3
Conclusion
                 Great ideas cross boundaries between
                 disciplines
                 Software has Borrowed from Everywhere
                 Agile techniques can be applied in any kind of
                 business
                 Customer Focus, Deliver Early & Often,
                 Simplicity (Product & Plans), Self-Organising

Copyright © 2009 coClarity Ltd.       4
Patterns, PLOPS and
     OOPSLA
Patterns
                 Reusable solution to a
                 common problem
                 Borrowed from
                 Architecture (Alexander)
                 1987 OOPSLA, Beck &
                 Cunningham
                 1994, Gang of Four

Copyright © 2009 coClarity Ltd.       6
PLOPs

                 Pattern Languages of
                 Programs
                 Conferences Started 1994
                 PLOP-2, paper on
                 Episodes (Cunningham)



Copyright © 2009 coClarity Ltd.         7
OOPSLA 98
                 Birds-of-a-feather
                 session
                 100s arrived
                 One page handout of
                 the key practices
                 Diagram of how they
                 related to each other

Copyright © 2009 coClarity Ltd.        8
eXtreme Programming
Overview

                 A light-weight methodology
                 For small-to-medium-sized teams
                 Vague or rapidly-changing requirements
                 Values: communication, feedback, simplicity,
                 courage and respect


Copyright © 2009 coClarity Ltd.       10
Practices
                 Quick Plan                Pair Programming
                 Small Releases            Collective Ownership
                 Metaphor                  Continuous Integration
                 Simple Design             40-Hour Week
                 Testing                   On-Site Customers
                 Refactoring               Coding Standards

Copyright © 2009 coClarity Ltd.       11
A-La-Carte

            The books warn against a-la carte approach
            We tailored it out of necessity
            Didn’t really use: Metaphor, On-site Customers
            Modified: Scrum for planning, Collective
            Ownership within Team


Copyright © 2009 coClarity Ltd.       12
Pair Programming




         Photo credit flickr.com/people/lucadex
Pair Programming our
                     Experience
                 The most controversial practice
                 Some components pair programmed
                 Lowest defect rates
                 Smaller code sizes
                 Small sample set


Copyright © 2009 coClarity Ltd.        14
Pair Lessons Learned
                 No Keyboard Wrestling, Large Fonts
                 Think about neighbours
                 No editor wars
                 Set key objectives
                 Not as useful during bug-fix phase
                 Can be done remotely (gotomeeting)

Copyright © 2009 coClarity Ltd.       15
Scrum
New New Product
                    Development Game
            Article in Harvard
            Business Review 1986
            Study of companies in
            Japan & US
            Fuji-Xerox, Canon,
            Honda, NEC, HP, 3M


Copyright © 2009 coClarity Ltd.     17
Six Characteristics
                 Built in instability - broad challenging goal
                 Self-organising teams
                 Overlapping Development Phases
                 Multilearning
                 Subtle Control
                 Organisational transfer of learning

Copyright © 2009 coClarity Ltd.        18
Scrum

•   Computer guys
    borrowed from
    “New New...”

•   Called it Scrum

•   I suspect they were
    never in a real Scrum



                                Photo credit flickr.com/photos/bohane/
Scrum Overview
                 You can manage any kind of project with
                 Scrum
                 I’ve used on tiny and large projects
                 Not rocket science or expensive (although
                 an “industry” has popped up)
                 It works & viral


Copyright © 2009 coClarity Ltd.       20
“Opportunities”
        All projects have chickens
        and pigs
        Pigs are happy: no status
        reports or boring meetings
        Chickens are happy: they
        know what’s happening
        without getting in the way

Copyright © 2009 coClarity Ltd.    21   Photo credit flickr.com/photos/7326810@N08
The Theory
                 Software engineering is complex adaptive
                 system
                 Traditional planning - illusion of control
                 Empirical process not a “defined process”
                 Complexity theory - better to do frequent
                 samples and small adjustments
                 Adaptability is better than predicability

Copyright © 2009 coClarity Ltd.        22
The Team


                 Should be small (6 max) - if bigger, split
                 Ideally co-located (can work distributed)




Copyright © 2009 coClarity Ltd.        23
The Project




                            Diagram by Lakeworks http://commons.wikimedia.org/wiki/Image:Scrum_process.svg




•   Punctuated Equilibrium - balance team focus, management
    visibility, and adaptability
The Sprint

                 Easier for team to focus on something a
                 month away
                 Daily short meetings
                 At the end - write-up or demo



Copyright © 2009 coClarity Ltd.         25
The Daily Meeting
                 KISS - 15 minutes max, same time & place
                 3 questions
                   • what did you do? (binary - all or nothing)
                   • what roadblocks?
                   • what will you do by tomorrow?
                 Everyone responsible for their own tasks

Copyright © 2009 coClarity Ltd.        26
+?#!$'(% 8% "*+&'0% !/% ,')6"-@*'1% /0!+% IJ?-1!('1K%                        S'0$%S-1-&#'%-"%,6'%!0A8"-V8,-!";%8"(%)*0-!1-,$%/0!+%!,6'


                 Loads of Post-its stuck
"A68+;%NOOPQ%,6'%?0')*01!0%,!%'R,0'+'%?#8""-"A=%                             ,'8+1%6'#?'(%,6'%-"-,-8#%1?0'8(%!/%,6'%,')6"-@*'=%W-A*0'%N
*+% 781% -"-,-8##$% ?-#!,'(% &$% !"'% ,'8+% 8"(% -,1% *1'%                   &'#!7% -##*1,08,'1% 8% 18+?#'% +'',-"A% 0')!0(% 7-,6% X!1,TH,1
 7"%!0A8"-)8##$%,!%,6'%'E,'",%,68,%-,%"!7%-1%*1'(%&$%                        8,,8)6'(=%
 6'% ,'8+1% -"% H",'#% 568""!"=% G6'$% &'#-'S'% ,6'% .'$%                        %


                 to a big sheet of paper
                                                                            %
                                                                            %
                                                                            %
                                                                            %
                K.9/%                        ='?+%                          % J(.#8(                       D$/8.     %
                                                                            %
                                                                            %
                   -.)%+(&(%
                                                                                   A%7'&(,=+'/
                                                     4')%+(                                                   D('7,E,"9'%&(#!%
                   5=>,314%                      >/&(#@'"(,-.7(%
                                                                            %                                    .@,A4B,*..C%
                                                                            %                   =H:

                                                      -.)%+(&(%
                                                                            %                 F((&$/8%

                                                  '!!()*+(#,&(!&%           %        6#$&(,)((&$/8%
                                                        !"#$%&!%            %            )$/?&(!%

                                                                            %
                                                                            %
                     -?##(/&,B'"C+.8%                                       %
                                                                        B'"C+.8                            H./(    %
                                                                            %
                                       46,414%
                                       ".)%+(&(%                  D(@'"&.#, %                               414%
                    A4B,$)%'"&%
                     '!!(!)(/&%
                                                                  I4,17'%&.#
                                                                            !                            !"(/'#$.!%
                                                                  !"#$%&&&'
                                                                            ! H(!$8/%                     0#$&&(/%
                                                                                                                          46,.#8%
                             46,=>=,.?&,@.#%
                                                                            ! =4FG50!<%                                  7("$7(7%
                                  #(<$(0%                                                                     56%
                                                                            ! $/&(#@'"(%                  )$+(!&./(!%
                          3&9(#/(&,:;%
                        7(!$8/,!"(/'#$.%
                                                                            !                                $/,%+'/%
                                                                                                                             112,314%

                                                                            !                                                 !("&$./%
                                                                                                                              0#$&&(/%
                                                                            !
Consequence of “Loads
                 of post-its”
                 Low effort - visualisation of progress
                 Preparation is fast - post-its on monitors
                 Occasional trips to the “big sheet”
                 Not great for distributed teams
                 3M make loads of money


Copyright © 2009 coClarity Ltd.       28
Planning
                 More KISS
                 No complex Gannt chart
                 Plan is a series of sprints
                 Dependencies only at a sprint level
                 Can use sophisticated estimation techniques
                 Shorter sprints at the start and end

Copyright © 2009 coClarity Ltd.        29
!""#$%!&#'( )*( +$,)-$&.)'+( +'/'#*"0'1)( )2!1( 2!,( &''1(                 D#!11$13( $,( E'")( ,$0"#'=( A2'-'( $,( 1*( %*0"#'F( G!1))(
,.33',)'+(."()*(1*4(56%7-''18(9::;<=(                                  %2!-)( 4$)2( %*0"#'F( $1)'-H+'"'1+'1%$',( &')4''1( )!,E,=(


            Planning - Full Project
   (                                                                   A2'(*/'-!##("#!1($,(!(,'-$',(*@(,"-$1),(5,''(I$3(9<=(>1)'-1!#(
!"#"$"%&'()*%+,-../.0%                                                 *-( 'F)'-1!#( 0$#',)*1',( %!1( &'( #$1'+( ."( 4$)2( ?"-$1)(
     (                                                                 %*0"#')$*1,8( &.)( )2'( +'"'1+'1%$',( &')4''1( )2'( )!,E,(
     >1)'#( ?2!11*1( 2!/'( 0!+'( ,*0'( 0*+$@$%!)$*1,( )*( )2'(         4$)2$1()2'(,"-$1)(!-'(1*)(4*-E'+(*.)($1(!+/!1%'=(
"#!11$13("-*%',,(!#,*=(A2'B(.,'()4*("#!11$13(,)!3',8(*1'(                  (
!)( )2'( ,)!-)( *@( '!%2( ,"-$1)( !1+( *1'( !)( )2'( ,)!-)( *@( )2'(       (
"-*C'%)=((                                                                 (
     (
     (
     (
     (     !""!#$%&!'()*+!,'-"'!(.%(!!,/                                    012       012      013      014      014      014
           !"#$%&'()*+*                                    56/!7%(! 89,%($': 89,%($'0 89,%($'; 89,%($'< 89,%($'= 89,%($'2 >(6//%.(!?
     (
           @$*?1ABC1D-,E/F-9/                                   :01G                                                              :01G
     (     @67=H@67GH@6701D-,E/F-9/                               01G                                                              01G
     (     I96$F                                                2<1=                                                              2<1=
(          JK.,                                                 <;1=                                                              <;1=
           @$*?                                                :::1=                                                             :::1=
(          @67=@##1I)(#89!#1C,6"$HL!&%!D                        :G1G                                                              :G1G
     (     @67=@##1C!/%.(89!#                                     31G                                                              31G
     (     @67=@##1M-?!                                           21G                                                              21G
           @67=M-?!7!$189!#                                       31=                                                              31=
     (
           @67=M-?!7!$1M-?!                                       31G                                                              31G
     (     N-$67                                                 03:          G         G        G        G        G        G    03:1G
     (
     (     ,$-./'01.#2.)/
           A-7%?6O/1P)+7%#                                        <1G                                                              <1G
     (     A-7%?6O/1Q6#6$%-(                                    <=1G                                                              <=1G
           N,6%(%(.                                               <1G    %                                                         <1G
           N-$67                                                   =;    % G            G        G        G        G        G     =;1G
                                                                         % G            G        G        G        G        G

                                                                         %
                                                            1/0%#%&'()*%+,-../.0%
                                                                         %
                                                                         %
                                                                         %
     J!%2()'!0(#'!+(+*',(!("#!1(*.)#$1$13(!##(*@()2'(,"-$1),(              )2'( ,)!-)( *@( "-*C'%)( ,"-$1)( "#!1( !1+( #**E( !)( !1B( 1'4(
)*( )2'( '1+( *@( )2'( "-*C'%)=( >1$)$!#( 0'')$13,( !-'( %*1+.%)'+(        &!%E#*3( $)'0,( )2!)( 0!B( 2!/'( %*0'( ."( +.-$13( )2'( #!,)(
Planning - Sprint
                 At the start check project plan & look at
                 new backlog items
                 Allocate to individuals - could use simple
                 spreadsheet
                 Efforts based on “ideal days”
                 Inside/Outside end-date
                 At the end: write-up, demo, release

Copyright © 2009 coClarity Ltd.       31
The Big Chickens
                 Start to trust it - less reporting needed
                 Can show up at daily meetings - must
                 remember they are chickens
                 Can add new items to backlog
                 Other possibilities - earned value, wide-
                 band-delphi, comparison to estimates


Copyright © 2009 coClarity Ltd.       32
Scrum Conclusion
                    Simple, low-overhead, adaptable any kind/
                    size project
                    Everyone gets involved in planning and
                    tracking, team “gells”
                    The chickens can actually contribute
                    Scrum was more sticky than eXP


Copyright © 2009 coClarity Ltd.        33
GTD and 4HWW
GTD
            Getting Things Done
            A new cult for the info age -
            Wired
            Levels: Actions, Projects,
            Areas,Yearly, 5-Year, Life
            Collect, Process, Organise,
            Review, Do
Copyright © 2009 coClarity Ltd.     35
Actions and Projects
                 Action: always something that needs to be
                 done first
                 Each action has a context
                 Project: requires more than one action
                 Don’t need to plan projects in detail but
                 define outcome
                 Choose actions based on context

Copyright © 2009 coClarity Ltd.       36
4HWW

                 The 4 Hour Workweek
                 80/20 Rule
                 Decide two meaningful
                 things to accomplish
                 Email twice a day


Copyright © 2009 coClarity Ltd.      37
Conclusion
Common Patterns
                 Bottom Up Planning (take care of days...)
                 Simple Top Down Plan - it will change
                 Adaptable more important than predictable
                 Don’t Just React - Make Active Choices
                 Feedback Loops
                 Encourage self-organisation

Copyright © 2009 coClarity Ltd.      39
Conclusion
                 Great ideas cross boundaries between
                 disciplines
                 Software has Borrowed from Everywhere
                 Agile techniques can be applied in any kind of
                 business
                 Customer Focus, Deliver Early & Often,
                 Simplicity (Product & Plans), Self-Organising

Copyright © 2009 coClarity Ltd.       40
Ideas            X         Execution
                 Derek Sivers [7]

• Awful -1                  • None $1
• Weak 1         €13.71     • Weak $1,000
• So-So 5                   • So-So $10,000
                 $500k
• Good 10                   • Good $100,000
• Great 15                  • Great $1,000,000
• Brilliant 20   $200M      • Brilliant $10,000,000
Next Steps
                    Decide what aspects you are interested in
                    Read about them on wikipedia
                    Read the paper: Fitzgerald, Hartnett “Agile
                    inside Intel” (short.ie/uehtqv)
                    Try some of the Patterns even on your
                    personal work
                    Consider trying Scrum with your team

Copyright © 2009 coClarity Ltd.        42
Thank You
               Happy to talk about
                       SCRUM          Startups
       GTD
                                  coclarity
        Goshido Web-collaboration
                       OO Design
      Entrepreneurship    Ruby on Rails



Copyright © 2009 coClarity Ltd.          43

More Related Content

PDF
Michal Krzycki, Capgemini
PPT
Introduction_to_Scrum_Agile_Values
PDF
The Lean within Scrum
PDF
Joe Little - What's Lean got to do with it - The Lean within Scrum
 
PPTX
Simulation Professional - What each module can do for me
PDF
Making Scrum Stick Inside Heavy Regulated Industries (2012)
PPTX
Agile User Experience
 
PDF
Comparative agile measurement_system_ciklum_white_paper
Michal Krzycki, Capgemini
Introduction_to_Scrum_Agile_Values
The Lean within Scrum
Joe Little - What's Lean got to do with it - The Lean within Scrum
 
Simulation Professional - What each module can do for me
Making Scrum Stick Inside Heavy Regulated Industries (2012)
Agile User Experience
 
Comparative agile measurement_system_ciklum_white_paper

What's hot (16)

PDF
One XP Experience: Introducing Agile (XP) Software Development into a Culture...
PDF
Scrum Hates Technical Debt
PDF
Technical debt
PDF
Can MVP help Government innovate like a Startup?
PDF
Managing Continuity and Availability in Technology Within a Large Scale Envir...
PDF
The CIO Agenda: How to be Relevant in 2010
PDF
Slow and dirty with callouts
PDF
Managing Software Debt in Practice 2011
PDF
The Stream Process™ for Defining Projects
PDF
The Real Innovations that Fabless Companies Should Look At
 
PPTX
Technology sailing effects
PDF
Inno Pass Breakthrough Innovation Ss
PDF
Bv Eng & Agile Specs For Scrum U.Key
PDF
Testing in an Agile Context 2011
PPT
Introduzione a Scrum
PDF
Its mf tunisia-dynamiques-agiles-v1.1b
One XP Experience: Introducing Agile (XP) Software Development into a Culture...
Scrum Hates Technical Debt
Technical debt
Can MVP help Government innovate like a Startup?
Managing Continuity and Availability in Technology Within a Large Scale Envir...
The CIO Agenda: How to be Relevant in 2010
Slow and dirty with callouts
Managing Software Debt in Practice 2011
The Stream Process™ for Defining Projects
The Real Innovations that Fabless Companies Should Look At
 
Technology sailing effects
Inno Pass Breakthrough Innovation Ss
Bv Eng & Agile Specs For Scrum U.Key
Testing in an Agile Context 2011
Introduzione a Scrum
Its mf tunisia-dynamiques-agiles-v1.1b
Ad

Viewers also liked (20)

PPT
Planning a school library
PPTX
Google's search, plus your world
PDF
Goshido Way 2010 Cork
ZIP
Simple Planning for Startups Bizcamp Limerick 09
PDF
Müşteri Deneyimi Yönetimi E Kitap Bora Özkent
PDF
Networking Sosyal İlişki Ağı Yönetimi
PPT
Reading promotion and the school library
KEY
Goshido Way
PDF
Creative Camp Mar08 Scrum Coclarity
PPTX
Simply organised presentation_-_gtd_slides_-_for_export
PDF
Itag Jan09 Agile Coclarity
PPTX
Day6short
PDF
Simple Project Management for Startups
PDF
Kurumsalinovasyonpertalkeczacı
PPTX
Steve Jobs'tan 7 İlham Verici Söz
PPTX
Haus Gasteinertal-Wellness
PPT
PSE (English)
PPT
Tourette\'s
PPTX
Bewerbermanagement
PPT
Birch Rd Presentation 05-11-09 Tm
Planning a school library
Google's search, plus your world
Goshido Way 2010 Cork
Simple Planning for Startups Bizcamp Limerick 09
Müşteri Deneyimi Yönetimi E Kitap Bora Özkent
Networking Sosyal İlişki Ağı Yönetimi
Reading promotion and the school library
Goshido Way
Creative Camp Mar08 Scrum Coclarity
Simply organised presentation_-_gtd_slides_-_for_export
Itag Jan09 Agile Coclarity
Day6short
Simple Project Management for Startups
Kurumsalinovasyonpertalkeczacı
Steve Jobs'tan 7 İlham Verici Söz
Haus Gasteinertal-Wellness
PSE (English)
Tourette\'s
Bewerbermanagement
Birch Rd Presentation 05-11-09 Tm
Ad

Similar to Agile Project Management - coClarity (20)

PPT
Building an Agile framework that fits your organisation
PDF
Agile Methods Overview ]
PDF
Apache coneu 2009-adrian-trenaman-adopting-open-source-in-the-enterprise
PDF
NCOIC Enterprise Cloud Computing - Kevin Jackson
PPT
Business Analytics Forum 2012 TM1 in Macquarie
PDF
Producing Quality Documentation In An Agile Development Environment
PPTX
Architecture In An Agile World
PDF
Introduction to lean and agile
PPTX
Story Telling for Product Owners
ZIP
Agile Software Development Methodologies
PDF
PMML Execution of R Built Predictive Solutions
PDF
July 29: Achieve Stakeholder Alignment on Governance: Navigator by Pivotal Labs
PDF
Path to agility, Ken Schwaber
PDF
Arena product presentation
PPT
Enterprise Clouds With Canonical
PDF
CloudCamp
PDF
Karonis Rom Telecom
PPTX
Pat keating cloud services cs intro
PDF
Availability in a cloud native world v1.6 (Feb 2019)
PPTX
About the Zero Deviation Lifecycle
Building an Agile framework that fits your organisation
Agile Methods Overview ]
Apache coneu 2009-adrian-trenaman-adopting-open-source-in-the-enterprise
NCOIC Enterprise Cloud Computing - Kevin Jackson
Business Analytics Forum 2012 TM1 in Macquarie
Producing Quality Documentation In An Agile Development Environment
Architecture In An Agile World
Introduction to lean and agile
Story Telling for Product Owners
Agile Software Development Methodologies
PMML Execution of R Built Predictive Solutions
July 29: Achieve Stakeholder Alignment on Governance: Navigator by Pivotal Labs
Path to agility, Ken Schwaber
Arena product presentation
Enterprise Clouds With Canonical
CloudCamp
Karonis Rom Telecom
Pat keating cloud services cs intro
Availability in a cloud native world v1.6 (Feb 2019)
About the Zero Deviation Lifecycle

Recently uploaded (20)

PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
STKI Israel Market Study 2025 version august
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Hybrid model detection and classification of lung cancer
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
Tartificialntelligence_presentation.pptx
PPT
What is a Computer? Input Devices /output devices
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
project resource management chapter-09.pdf
PDF
2021 HotChips TSMC Packaging Technologies for Chiplets and 3D_0819 publish_pu...
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Getting Started with Data Integration: FME Form 101
PDF
Architecture types and enterprise applications.pdf
PPTX
1. Introduction to Computer Programming.pptx
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
STKI Israel Market Study 2025 version august
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Developing a website for English-speaking practice to English as a foreign la...
Hybrid model detection and classification of lung cancer
NewMind AI Weekly Chronicles – August ’25 Week III
Tartificialntelligence_presentation.pptx
What is a Computer? Input Devices /output devices
Hindi spoken digit analysis for native and non-native speakers
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
A novel scalable deep ensemble learning framework for big data classification...
project resource management chapter-09.pdf
2021 HotChips TSMC Packaging Technologies for Chiplets and 3D_0819 publish_pu...
1 - Historical Antecedents, Social Consideration.pdf
Getting Started with Data Integration: FME Form 101
Architecture types and enterprise applications.pdf
1. Introduction to Computer Programming.pptx
Final SEM Unit 1 for mit wpu at pune .pptx
Univ-Connecticut-ChatGPT-Presentaion.pdf

Agile Project Management - coClarity

  • 1. “War Stories” Experiences applying Agile in many types of business gerard.hartnett@coclarity.com Enterprise Ireland, Dublin, IRELAND. 23-Nov-2009
  • 2. Overview Introduction Patterns, PLOPS and OOPSLA Scrum eXtreme Programming GTD and 4HWW Conclusion Copyright © 2009 coClarity Ltd. 2
  • 3. Introduction 20-years SW experience Currently: coClarity, Limerick Intel, Basis & Tellabs, Shannon Digital, Galway Motorola, Cork, & USA QC-Data, Cork & Canada Copyright © 2009 coClarity Ltd. 3
  • 4. Conclusion Great ideas cross boundaries between disciplines Software has Borrowed from Everywhere Agile techniques can be applied in any kind of business Customer Focus, Deliver Early & Often, Simplicity (Product & Plans), Self-Organising Copyright © 2009 coClarity Ltd. 4
  • 6. Patterns Reusable solution to a common problem Borrowed from Architecture (Alexander) 1987 OOPSLA, Beck & Cunningham 1994, Gang of Four Copyright © 2009 coClarity Ltd. 6
  • 7. PLOPs Pattern Languages of Programs Conferences Started 1994 PLOP-2, paper on Episodes (Cunningham) Copyright © 2009 coClarity Ltd. 7
  • 8. OOPSLA 98 Birds-of-a-feather session 100s arrived One page handout of the key practices Diagram of how they related to each other Copyright © 2009 coClarity Ltd. 8
  • 10. Overview A light-weight methodology For small-to-medium-sized teams Vague or rapidly-changing requirements Values: communication, feedback, simplicity, courage and respect Copyright © 2009 coClarity Ltd. 10
  • 11. Practices Quick Plan Pair Programming Small Releases Collective Ownership Metaphor Continuous Integration Simple Design 40-Hour Week Testing On-Site Customers Refactoring Coding Standards Copyright © 2009 coClarity Ltd. 11
  • 12. A-La-Carte The books warn against a-la carte approach We tailored it out of necessity Didn’t really use: Metaphor, On-site Customers Modified: Scrum for planning, Collective Ownership within Team Copyright © 2009 coClarity Ltd. 12
  • 13. Pair Programming Photo credit flickr.com/people/lucadex
  • 14. Pair Programming our Experience The most controversial practice Some components pair programmed Lowest defect rates Smaller code sizes Small sample set Copyright © 2009 coClarity Ltd. 14
  • 15. Pair Lessons Learned No Keyboard Wrestling, Large Fonts Think about neighbours No editor wars Set key objectives Not as useful during bug-fix phase Can be done remotely (gotomeeting) Copyright © 2009 coClarity Ltd. 15
  • 16. Scrum
  • 17. New New Product Development Game Article in Harvard Business Review 1986 Study of companies in Japan & US Fuji-Xerox, Canon, Honda, NEC, HP, 3M Copyright © 2009 coClarity Ltd. 17
  • 18. Six Characteristics Built in instability - broad challenging goal Self-organising teams Overlapping Development Phases Multilearning Subtle Control Organisational transfer of learning Copyright © 2009 coClarity Ltd. 18
  • 19. Scrum • Computer guys borrowed from “New New...” • Called it Scrum • I suspect they were never in a real Scrum Photo credit flickr.com/photos/bohane/
  • 20. Scrum Overview You can manage any kind of project with Scrum I’ve used on tiny and large projects Not rocket science or expensive (although an “industry” has popped up) It works & viral Copyright © 2009 coClarity Ltd. 20
  • 21. “Opportunities” All projects have chickens and pigs Pigs are happy: no status reports or boring meetings Chickens are happy: they know what’s happening without getting in the way Copyright © 2009 coClarity Ltd. 21 Photo credit flickr.com/photos/7326810@N08
  • 22. The Theory Software engineering is complex adaptive system Traditional planning - illusion of control Empirical process not a “defined process” Complexity theory - better to do frequent samples and small adjustments Adaptability is better than predicability Copyright © 2009 coClarity Ltd. 22
  • 23. The Team Should be small (6 max) - if bigger, split Ideally co-located (can work distributed) Copyright © 2009 coClarity Ltd. 23
  • 24. The Project Diagram by Lakeworks http://commons.wikimedia.org/wiki/Image:Scrum_process.svg • Punctuated Equilibrium - balance team focus, management visibility, and adaptability
  • 25. The Sprint Easier for team to focus on something a month away Daily short meetings At the end - write-up or demo Copyright © 2009 coClarity Ltd. 25
  • 26. The Daily Meeting KISS - 15 minutes max, same time & place 3 questions • what did you do? (binary - all or nothing) • what roadblocks? • what will you do by tomorrow? Everyone responsible for their own tasks Copyright © 2009 coClarity Ltd. 26
  • 27. +?#!$'(% 8% "*+&'0% !/% ,')6"-@*'1% /0!+% IJ?-1!('1K% S'0$%S-1-&#'%-"%,6'%!0A8"-V8,-!";%8"(%)*0-!1-,$%/0!+%!,6' Loads of Post-its stuck "A68+;%NOOPQ%,6'%?0')*01!0%,!%'R,0'+'%?#8""-"A=% ,'8+1%6'#?'(%,6'%-"-,-8#%1?0'8(%!/%,6'%,')6"-@*'=%W-A*0'%N *+% 781% -"-,-8##$% ?-#!,'(% &$% !"'% ,'8+% 8"(% -,1% *1'% &'#!7% -##*1,08,'1% 8% 18+?#'% +'',-"A% 0')!0(% 7-,6% X!1,TH,1 7"%!0A8"-)8##$%,!%,6'%'E,'",%,68,%-,%"!7%-1%*1'(%&$% 8,,8)6'(=% 6'% ,'8+1% -"% H",'#% 568""!"=% G6'$% &'#-'S'% ,6'% .'$% % to a big sheet of paper % % % % K.9/% ='?+% % J(.#8( D$/8. % % % -.)%+(&(% A%7'&(,=+'/ 4')%+( D('7,E,"9'%&(#!% 5=>,314% >/&(#@'"(,-.7(% % .@,A4B,*..C% % =H: -.)%+(&(% % F((&$/8% '!!()*+(#,&(!&% % 6#$&(,)((&$/8% !"#$%&!% % )$/?&(!% % % -?##(/&,B'"C+.8% % B'"C+.8 H./( % % 46,414% ".)%+(&(% D(@'"&.#, % 414% A4B,$)%'"&% '!!(!)(/&% I4,17'%&.# ! !"(/'#$.!% !"#$%&&&' ! H(!$8/% 0#$&&(/% 46,.#8% 46,=>=,.?&,@.#% ! =4FG50!<% 7("$7(7% #(<$(0% 56% ! $/&(#@'"(% )$+(!&./(!% 3&9(#/(&,:;% 7(!$8/,!"(/'#$.% ! $/,%+'/% 112,314% ! !("&$./% 0#$&&(/% !
  • 28. Consequence of “Loads of post-its” Low effort - visualisation of progress Preparation is fast - post-its on monitors Occasional trips to the “big sheet” Not great for distributed teams 3M make loads of money Copyright © 2009 coClarity Ltd. 28
  • 29. Planning More KISS No complex Gannt chart Plan is a series of sprints Dependencies only at a sprint level Can use sophisticated estimation techniques Shorter sprints at the start and end Copyright © 2009 coClarity Ltd. 29
  • 30. !""#$%!&#'( )*( +$,)-$&.)'+( +'/'#*"0'1)( )2!1( 2!,( &''1( D#!11$13( $,( E'")( ,$0"#'=( A2'-'( $,( 1*( %*0"#'F( G!1))( ,.33',)'+(."()*(1*4(56%7-''18(9::;<=( %2!-)( 4$)2( %*0"#'F( $1)'-H+'"'1+'1%$',( &')4''1( )!,E,=( Planning - Full Project ( A2'(*/'-!##("#!1($,(!(,'-$',(*@(,"-$1),(5,''(I$3(9<=(>1)'-1!#( !"#"$"%&'()*%+,-../.0% *-( 'F)'-1!#( 0$#',)*1',( %!1( &'( #$1'+( ."( 4$)2( ?"-$1)( ( %*0"#')$*1,8( &.)( )2'( +'"'1+'1%$',( &')4''1( )2'( )!,E,( >1)'#( ?2!11*1( 2!/'( 0!+'( ,*0'( 0*+$@$%!)$*1,( )*( )2'( 4$)2$1()2'(,"-$1)(!-'(1*)(4*-E'+(*.)($1(!+/!1%'=( "#!11$13("-*%',,(!#,*=(A2'B(.,'()4*("#!11$13(,)!3',8(*1'( ( !)( )2'( ,)!-)( *@( '!%2( ,"-$1)( !1+( *1'( !)( )2'( ,)!-)( *@( )2'( ( "-*C'%)=(( ( ( ( ( ( !""!#$%&!'()*+!,'-"'!(.%(!!,/ 012 012 013 014 014 014 !"#$%&'()*+* 56/!7%(! 89,%($': 89,%($'0 89,%($'; 89,%($'< 89,%($'= 89,%($'2 >(6//%.(!? ( @$*?1ABC1D-,E/F-9/ :01G :01G ( @67=H@67GH@6701D-,E/F-9/ 01G 01G ( I96$F 2<1= 2<1= ( JK., <;1= <;1= @$*? :::1= :::1= ( @67=@##1I)(#89!#1C,6"$HL!&%!D :G1G :G1G ( @67=@##1C!/%.(89!# 31G 31G ( @67=@##1M-?! 21G 21G @67=M-?!7!$189!# 31= 31= ( @67=M-?!7!$1M-?! 31G 31G ( N-$67 03: G G G G G G 03:1G ( ( ,$-./'01.#2.)/ A-7%?6O/1P)+7%# <1G <1G ( A-7%?6O/1Q6#6$%-( <=1G <=1G N,6%(%(. <1G % <1G N-$67 =; % G G G G G G =;1G % G G G G G G % 1/0%#%&'()*%+,-../.0% % % % J!%2()'!0(#'!+(+*',(!("#!1(*.)#$1$13(!##(*@()2'(,"-$1),( )2'( ,)!-)( *@( "-*C'%)( ,"-$1)( "#!1( !1+( #**E( !)( !1B( 1'4( )*( )2'( '1+( *@( )2'( "-*C'%)=( >1$)$!#( 0'')$13,( !-'( %*1+.%)'+( &!%E#*3( $)'0,( )2!)( 0!B( 2!/'( %*0'( ."( +.-$13( )2'( #!,)(
  • 31. Planning - Sprint At the start check project plan & look at new backlog items Allocate to individuals - could use simple spreadsheet Efforts based on “ideal days” Inside/Outside end-date At the end: write-up, demo, release Copyright © 2009 coClarity Ltd. 31
  • 32. The Big Chickens Start to trust it - less reporting needed Can show up at daily meetings - must remember they are chickens Can add new items to backlog Other possibilities - earned value, wide- band-delphi, comparison to estimates Copyright © 2009 coClarity Ltd. 32
  • 33. Scrum Conclusion Simple, low-overhead, adaptable any kind/ size project Everyone gets involved in planning and tracking, team “gells” The chickens can actually contribute Scrum was more sticky than eXP Copyright © 2009 coClarity Ltd. 33
  • 35. GTD Getting Things Done A new cult for the info age - Wired Levels: Actions, Projects, Areas,Yearly, 5-Year, Life Collect, Process, Organise, Review, Do Copyright © 2009 coClarity Ltd. 35
  • 36. Actions and Projects Action: always something that needs to be done first Each action has a context Project: requires more than one action Don’t need to plan projects in detail but define outcome Choose actions based on context Copyright © 2009 coClarity Ltd. 36
  • 37. 4HWW The 4 Hour Workweek 80/20 Rule Decide two meaningful things to accomplish Email twice a day Copyright © 2009 coClarity Ltd. 37
  • 39. Common Patterns Bottom Up Planning (take care of days...) Simple Top Down Plan - it will change Adaptable more important than predictable Don’t Just React - Make Active Choices Feedback Loops Encourage self-organisation Copyright © 2009 coClarity Ltd. 39
  • 40. Conclusion Great ideas cross boundaries between disciplines Software has Borrowed from Everywhere Agile techniques can be applied in any kind of business Customer Focus, Deliver Early & Often, Simplicity (Product & Plans), Self-Organising Copyright © 2009 coClarity Ltd. 40
  • 41. Ideas X Execution Derek Sivers [7] • Awful -1 • None $1 • Weak 1 €13.71 • Weak $1,000 • So-So 5 • So-So $10,000 $500k • Good 10 • Good $100,000 • Great 15 • Great $1,000,000 • Brilliant 20 $200M • Brilliant $10,000,000
  • 42. Next Steps Decide what aspects you are interested in Read about them on wikipedia Read the paper: Fitzgerald, Hartnett “Agile inside Intel” (short.ie/uehtqv) Try some of the Patterns even on your personal work Consider trying Scrum with your team Copyright © 2009 coClarity Ltd. 42
  • 43. Thank You Happy to talk about SCRUM Startups GTD coclarity Goshido Web-collaboration OO Design Entrepreneurship Ruby on Rails Copyright © 2009 coClarity Ltd. 43