SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
War Stories
Experiences applying Agile in many types of business


             gerard.hartnett@coclarity.com

                      ITAG
   Cairnes Business School, NUI Galway, Ireland.
                   22-Jan-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 taking an 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

                                        Photo credit flickr.com/photos/7326810@N08
Copyright © 2009 coClarity Ltd.    21
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% quot;*+&'0% !/% ,')6quot;-@*'1% /0!+% IJ?-1!('1K%                        S'0$%S-1-&#'%-quot;%,6'%!0A8quot;-V8,-!quot;;%8quot;(%)*0-!1-,$%/0!+%!,6'


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


               to a big sheet of paper
                                                                           %
                                                                           %
                                                                           %
                                                                           %
                                                                           % J(.#8(
               K.9/%                        ='?+%                                                         D$/8.%
                                                                           %
                                                                           %      A%7'&(,=+'/
                  -.)%+(&(%                         4')%+(                                                   D('7,E,quot;9'%&(#!%
                                                                           %
                  5=>,314%                      >/&(#@'quot;(,-.7(%                                                 .@,A4B,*..C%
                                                                           %                   =H:
                                                                           %                 F((&$/8%
                                                     -.)%+(&(%
                                                                           %        6#$&(,)((&$/8%
                                                 '!!()*+(#,&(!&%
                                                                           %            )$/?&(!%
                                                       !quot;#$%&!%
                                                                           %
                                                                           %
                                                                           %
                    -?##(/&,B'quot;C+.8%                                   B'quot;C+.8                            H./(%
                                                                           %
                                      46,414%
                                                                 D(@'quot;&.#, %                               414%
                                      quot;.)%+(&(%
                   A4B,$)%'quot;&%
                                                                           !
                                                                 I4,17'%&.#                             !quot;(/'#$.!%
                    '!!(!)(/&%                                   !quot;#$%&&&'
                                                                           ! H(!$8/%                     0#$&&(/%
                                                                                                                        46,.#8%
                            46,=>=,.?&,@.#%
                                                                           ! =4FG50!<%                                 7(quot;$7(7%
                                 #(<$(0%                                                                     56%
                                                                           ! $/&(#@'quot;(%                  )$+(!&./(!%
                         3&9(#/(&,:;%
                                                                           !                                               112,314%
                                                                                                            $/,%+'/%
                       7(!$8/,!quot;(/'#$.%
                                                                           !                                                !(quot;&$./%
                                                                                                                            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
!quot;quot;#$%!&#'( )*( +$,)-$&.)'+( +'/'#*quot;0'1)( )2!1( 2!,( &''1(                 D#!11$13( $,( E'quot;)( ,$0quot;#'=( A2'-'( $,( 1*( %*0quot;#'F( G!1))(
,.33',)'+(.quot;()*(1*4(56%7-''18(9::;<=(                                  %2!-)( 4$)2( %*0quot;#'F( $1)'-H+'quot;'1+'1%$',( &')4''1( )!,E,=(


            Planning - Full Project
   (                                                                   A2'(*/'-!##(quot;#!1($,(!(,'-$',(*@(,quot;-$1),(5,''(I$3(9<=(>1)'-1!#(
                                                                       *-( 'F)'-1!#( 0$#',)*1',( %!1( &'( #$1'+( .quot;( 4$)2( ?quot;-$1)(
!quot;#quot;$quot;%&'()*%+,-../.0%
                                                                       %*0quot;#')$*1,8( &.)( )2'( +'quot;'1+'1%$',( &')4''1( )2'( )!,E,(
     (
                                                                       4$)2$1()2'(,quot;-$1)(!-'(1*)(4*-E'+(*.)($1(!+/!1%'=(
     >1)'#( ?2!11*1( 2!/'( 0!+'( ,*0'( 0*+$@$%!)$*1,( )*( )2'(
                                                                           (
quot;#!11$13(quot;-*%',,(!#,*=(A2'B(.,'()4*(quot;#!11$13(,)!3',8(*1'(
                                                                           (
!)( )2'( ,)!-)( *@( '!%2( ,quot;-$1)( !1+( *1'( !)( )2'( ,)!-)( *@( )2'(
                                                                           (
quot;-*C'%)=((
     (
     (
     (
     (     !quot;quot;!#$%&!'()*+!,'-quot;'!(.%(!!,/                                    012       012      013      014      014      014
                                                           56/!7%(! 89,%($': 89,%($'0 89,%($'; 89,%($'< 89,%($'= 89,%($'2 >(6//%.(!?
           !quot;#$%&'()*+*
     (
           @$*?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,6quot;$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
                                                                         %G
           N-$67                                                   =;                   G        G        G        G        G     =;1G
                                                                         %G             G        G        G        G        G

                                                                         %
                                                            1/0%#%&'()*%+,-../.0%
                                                                         %
                                                                         %
                                                                         %
     J!%2()'!0(#'!+(+*',(!(quot;#!1(*.)#$1$13(!##(*@()2'(,quot;-$1),(              )2'( ,)!-)( *@( quot;-*C'%)( ,quot;-$1)( quot;#!1( !1+( #**E( !)( !1B( 1'4(
)*( )2'( '1+( *@( )2'( quot;-*C'%)=( >1$)$!#( 0'')$13,( !-'( %*1+.%)'+(        &!%E#*3( $)'0,( )2!)( 0!B( 2!/'( %*0'( .quot;( +.-$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
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.          41
Thank You
             Happy to talk about
                              SCRUM    Startups
                                  coclarity
     GTD
     OO Design   Web-collaboration
    Entrepreneurship Ruby on Rails



Copyright © 2009 coClarity Ltd.           42

Contenu connexe

En vedette

一码免费大公开
一码免费大公开一码免费大公开
一码免费大公开
163qq
 
Reinventing the Workplace
Reinventing the WorkplaceReinventing the Workplace
Reinventing the Workplace
Luis Alberola
 

En vedette (9)

EDUCACION VIRTUAL
EDUCACION VIRTUALEDUCACION VIRTUAL
EDUCACION VIRTUAL
 
一码免费大公开
一码免费大公开一码免费大公开
一码免费大公开
 
Ch19
Ch19Ch19
Ch19
 
SECh56
SECh56SECh56
SECh56
 
Reinventing the Workplace
Reinventing the WorkplaceReinventing the Workplace
Reinventing the Workplace
 
Ch05
Ch05Ch05
Ch05
 
OSCh9
OSCh9OSCh9
OSCh9
 
Two Choices
Two ChoicesTwo Choices
Two Choices
 
State Legislature
State LegislatureState Legislature
State Legislature
 

Similaire à Itag Jan09 Agile Coclarity

Similaire à Itag Jan09 Agile Coclarity (20)

Agile Project Management - coClarity
Agile Project Management - coClarityAgile Project Management - coClarity
Agile Project Management - coClarity
 
Agile Development Methodologies
Agile Development MethodologiesAgile Development Methodologies
Agile Development Methodologies
 
Samuel Asher Rivello - PureMVC Hands On Part 2
Samuel Asher Rivello - PureMVC Hands On Part 2Samuel Asher Rivello - PureMVC Hands On Part 2
Samuel Asher Rivello - PureMVC Hands On Part 2
 
Java For The Cloud Presentation @ AlphaCSP's JavaEdge 2008
Java For The Cloud Presentation @ AlphaCSP's JavaEdge 2008Java For The Cloud Presentation @ AlphaCSP's JavaEdge 2008
Java For The Cloud Presentation @ AlphaCSP's JavaEdge 2008
 
The 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEPThe 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEP
 
About DAETEC
About DAETECAbout DAETEC
About DAETEC
 
Groovy Testing Aug2009
Groovy Testing Aug2009Groovy Testing Aug2009
Groovy Testing Aug2009
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
 
Jonathon Rochelle @ FOWA Feb 07
Jonathon Rochelle @ FOWA Feb 07Jonathon Rochelle @ FOWA Feb 07
Jonathon Rochelle @ FOWA Feb 07
 
Practical Uses of SharePoint a Redengine Webinar
Practical Uses of SharePoint a Redengine WebinarPractical Uses of SharePoint a Redengine Webinar
Practical Uses of SharePoint a Redengine Webinar
 
Practical Uses of SharePoint - Webinar January 27, 2009
Practical Uses of SharePoint - Webinar January 27, 2009Practical Uses of SharePoint - Webinar January 27, 2009
Practical Uses of SharePoint - Webinar January 27, 2009
 
PCDW For Owners
PCDW For OwnersPCDW For Owners
PCDW For Owners
 
KPI Users Group - Failure Reports
KPI Users Group - Failure ReportsKPI Users Group - Failure Reports
KPI Users Group - Failure Reports
 
Test Expo 2009 Site Confidence &amp; Seriti Consulting Load Test Case Study
Test Expo 2009   Site Confidence &amp; Seriti Consulting   Load Test Case StudyTest Expo 2009   Site Confidence &amp; Seriti Consulting   Load Test Case Study
Test Expo 2009 Site Confidence &amp; Seriti Consulting Load Test Case Study
 
Delivery Context Descriptions - A Comparison and Mapping Model
Delivery Context Descriptions - A Comparison and Mapping ModelDelivery Context Descriptions - A Comparison and Mapping Model
Delivery Context Descriptions - A Comparison and Mapping Model
 
Agile Basics
Agile BasicsAgile Basics
Agile Basics
 
Value Of Cloud Computing For Fed Governmen Oct 8 Tim May
Value Of Cloud Computing For Fed Governmen Oct 8 Tim MayValue Of Cloud Computing For Fed Governmen Oct 8 Tim May
Value Of Cloud Computing For Fed Governmen Oct 8 Tim May
 
Drupal CDN integration: easier, more flexible and faster!
Drupal CDN integration: easier, more flexible and faster!Drupal CDN integration: easier, more flexible and faster!
Drupal CDN integration: easier, more flexible and faster!
 
High-Octane Dev Teams: Three Things You Can Do To Improve Code Quality
High-Octane Dev Teams: Three Things You Can Do To Improve Code QualityHigh-Octane Dev Teams: Three Things You Can Do To Improve Code Quality
High-Octane Dev Teams: Three Things You Can Do To Improve Code Quality
 
Technology Roadmaps
Technology RoadmapsTechnology Roadmaps
Technology Roadmaps
 

Plus de Gerard Hartnett (6)

Simply organised presentation_-_gtd_slides_-_for_export
Simply organised presentation_-_gtd_slides_-_for_exportSimply organised presentation_-_gtd_slides_-_for_export
Simply organised presentation_-_gtd_slides_-_for_export
 
Goshido Way 2010 Cork
Goshido Way 2010 CorkGoshido Way 2010 Cork
Goshido Way 2010 Cork
 
Goshido Way
Goshido WayGoshido Way
Goshido Way
 
Simple Project Management for Startups
Simple Project Management for StartupsSimple Project Management for Startups
Simple Project Management for Startups
 
Simple Planning for Startups Bizcamp Limerick 09
Simple Planning for Startups Bizcamp Limerick 09Simple Planning for Startups Bizcamp Limerick 09
Simple Planning for Startups Bizcamp Limerick 09
 
Creative Camp Mar08 Scrum Coclarity
Creative Camp Mar08 Scrum CoclarityCreative Camp Mar08 Scrum Coclarity
Creative Camp Mar08 Scrum Coclarity
 

Dernier

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 

Itag Jan09 Agile Coclarity

  • 1. War Stories Experiences applying Agile in many types of business gerard.hartnett@coclarity.com ITAG Cairnes Business School, NUI Galway, Ireland. 22-Jan-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 taking an 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 Photo credit flickr.com/photos/7326810@N08 Copyright © 2009 coClarity Ltd. 21
  • 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% quot;*+&'0% !/% ,')6quot;-@*'1% /0!+% IJ?-1!('1K% S'0$%S-1-&#'%-quot;%,6'%!0A8quot;-V8,-!quot;;%8quot;(%)*0-!1-,$%/0!+%!,6' Loads of Post-its stuck A68+;%NOOPQ%,6'%?0')*01!0%,!%'R,0'+'%?#8quot;quot;-quot;A=% ,'8+1%6'#?'(%,6'%-quot;-,-8#%1?0'8(%!/%,6'%,')6quot;-@*'=%W-A*0'%N +% 781% -quot;-,-8##$% ?-#!,'(% &$% !quot;'% ,'8+% 8quot;(% -,1% *1'% &'#!7% -##*1,08,'1% 8% 18+?#'% +'',-quot;A% 0')!0(% 7-,6% X!1,TH,1 quot;%!0A8quot;-)8##$%,!%,6'%'E,'quot;,%,68,%-,%quot;!7%-1%*1'(%&$% 8,,8)6'(=% '% ,'8+1% -quot;% Hquot;,'#% 568quot;quot;!quot;=% G6'$% &'#-'S'% ,6'% .'$% % to a big sheet of paper % % % % % J(.#8( K.9/% ='?+% D$/8.% % % A%7'&(,=+'/ -.)%+(&(% 4')%+( D('7,E,quot;9'%&(#!% % 5=>,314% >/&(#@'quot;(,-.7(% .@,A4B,*..C% % =H: % F((&$/8% -.)%+(&(% % 6#$&(,)((&$/8% '!!()*+(#,&(!&% % )$/?&(!% !quot;#$%&!% % % % -?##(/&,B'quot;C+.8% B'quot;C+.8 H./(% % 46,414% D(@'quot;&.#, % 414% quot;.)%+(&(% A4B,$)%'quot;&% ! I4,17'%&.# !quot;(/'#$.!% '!!(!)(/&% !quot;#$%&&&' ! H(!$8/% 0#$&&(/% 46,.#8% 46,=>=,.?&,@.#% ! =4FG50!<% 7(quot;$7(7% #(<$(0% 56% ! $/&(#@'quot;(% )$+(!&./(!% 3&9(#/(&,:;% ! 112,314% $/,%+'/% 7(!$8/,!quot;(/'#$.% ! !(quot;&$./% 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. !quot;quot;#$%!&#'( )*( +$,)-$&.)'+( +'/'#*quot;0'1)( )2!1( 2!,( &''1( D#!11$13( $,( E'quot;)( ,$0quot;#'=( A2'-'( $,( 1*( %*0quot;#'F( G!1))( ,.33',)'+(.quot;()*(1*4(56%7-''18(9::;<=( %2!-)( 4$)2( %*0quot;#'F( $1)'-H+'quot;'1+'1%$',( &')4''1( )!,E,=( Planning - Full Project ( A2'(*/'-!##(quot;#!1($,(!(,'-$',(*@(,quot;-$1),(5,''(I$3(9<=(>1)'-1!#( *-( 'F)'-1!#( 0$#',)*1',( %!1( &'( #$1'+( .quot;( 4$)2( ?quot;-$1)( !quot;#quot;$quot;%&'()*%+,-../.0% %*0quot;#')$*1,8( &.)( )2'( +'quot;'1+'1%$',( &')4''1( )2'( )!,E,( ( 4$)2$1()2'(,quot;-$1)(!-'(1*)(4*-E'+(*.)($1(!+/!1%'=( >1)'#( ?2!11*1( 2!/'( 0!+'( ,*0'( 0*+$@$%!)$*1,( )*( )2'( ( quot;#!11$13(quot;-*%',,(!#,*=(A2'B(.,'()4*(quot;#!11$13(,)!3',8(*1'( ( !)( )2'( ,)!-)( *@( '!%2( ,quot;-$1)( !1+( *1'( !)( )2'( ,)!-)( *@( )2'( ( quot;-*C'%)=(( ( ( ( ( !quot;quot;!#$%&!'()*+!,'-quot;'!(.%(!!,/ 012 012 013 014 014 014 56/!7%(! 89,%($': 89,%($'0 89,%($'; 89,%($'< 89,%($'= 89,%($'2 >(6//%.(!? !quot;#$%&'()*+* ( @$*?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,6quot;$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 %G N-$67 =; G G G G G =;1G %G G G G G G % 1/0%#%&'()*%+,-../.0% % % % J!%2()'!0(#'!+(+*',(!(quot;#!1(*.)#$1$13(!##(*@()2'(,quot;-$1),( )2'( ,)!-)( *@( quot;-*C'%)( ,quot;-$1)( quot;#!1( !1+( #**E( !)( !1B( 1'4( )*( )2'( '1+( *@( )2'( quot;-*C'%)=( >1$)$!#( 0'')$13,( !-'( %*1+.%)'+( &!%E#*3( $)'0,( )2!)( 0!B( 2!/'( %*0'( .quot;( +.-$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. 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. 41
  • 42. Thank You Happy to talk about SCRUM Startups coclarity GTD OO Design Web-collaboration Entrepreneurship Ruby on Rails Copyright © 2009 coClarity Ltd. 42