Contenu connexe Similaire à Itag Jan09 Agile Coclarity (20) Plus de Gerard Hartnett (6) Itag Jan09 Agile Coclarity1. 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
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
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