Agile & Scrum - GoshidoScrum • Computer guys borrowed from “New New...” • Called it Scrum...
Transcript of Agile & Scrum - GoshidoScrum • Computer guys borrowed from “New New...” • Called it Scrum...
Agile & ScrumEverything you wanted to know, but were afraid to ask
Copyright © 2011 Goshido
Key Patterns
Agile can be applied in any kind of business
Bottom Up Planning (take care of days...)
Simple Top Down Plan - it will change
Adaptable more important than predictable
Feedback Loops - OODA & PDCA
Subtle Control, Encourage Self-Organisation
2
Copyright © 2011 Goshido
Overview
Introduction
Patterns, PLOPS and OOPSLA
Scrum
eXtreme Programming
Conclusion
3
Copyright © 2011 Goshido
Introduction
23 years SW experience, 13+ Agile
Currently: Goshido, Limerick
Intel, Basis & Tellabs, Shannon
Digital, Galway
Motorola, Cork, & USA
QC-Data, Cork & Canada
4
Patterns, PLOPS and OOPSLA
Copyright © 2011 Goshido
Patterns
Reusable solution to a common problem
Borrowed from Architecture (Alexander)
1987 OOPSLA, Beck & Cunningham
1994, Gang of Four
6
Copyright © 2011 Goshido
PLOPs
Pattern Languages of Programs
Conferences Started 1994
PLOP-2, paper on Episodes (Cunningham)
7
Copyright © 2011 Goshido
OOPSLA 98
Birds-of-a-feather session
100s arrived
One page handout of the key practices
Diagram of how they related to each other
8
eXtreme Programming
Copyright © 2011 Goshido
Overview
A light-weight methodology
For small-to-medium-sized teams
Vague or rapidly-changing requirements
Values: communication, feedback, simplicity, courage and respect
10
Copyright © 2011 Goshido
Practices
Quick Plan
Small Releases
Metaphor
Simple Design
Testing
Refactoring
11
Pair Programming
Collective Ownership
Continuous Integration
40-Hour Week
On-Site Customers
Coding Standards
Pair Programming
Photo credit flickr.com/people/lucadex
Copyright © 2011 Goshido
Pair Programming our Experience
The most controversial practice
Some components pair programmed
Lowest defect rates
Smaller code sizes
Small sample set
13
Scrum
Copyright © 2011 Goshido
Specific Projects
1998 Team of 3 in Tellabs
2000 Team of 5 in Intel 5.5 month project
2001-02 Intel team of 33, 15 month project
Many smaller projects
2008-11 Goshido team of 3-7
15
Copyright © 2011 Goshido
New New Product Development Game
Article in Harvard Business Review 1986
Study of companies in Japan & US
Fuji-Xerox, Canon, Honda, NEC, HP, 3M
16
Copyright © 2011 Goshido
Six Characteristics
Built in instability - broad challenging goal
Self-organising teams
Overlapping Development Phases
Multilearning
Subtle Control
Organisational transfer of learning
17
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/
Copyright © 2011 Goshido
Scrum Overview
You can manage any 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
19
Copyright © 2011 Goshido
“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@N0820
Copyright © 2011 Goshido
The Theory
Developing SW is a 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
21
Copyright © 2011 Goshido
The Team
Should be small (6 max) - 2 pizza rule
If bigger, split
Ideally co-located (can work distributed)
22
The Project
Diagram by Lakeworks http://commons.wikimedia.org/wiki/Image:Scrum_process.svg
• Punctuated Equilibrium - balance team focus, management visibility, and adaptability
Copyright © 2011 Goshido
The Sprint
Easier for team to focus on something a month away
Daily short meetings
At the end - write-up or demo
24
Copyright © 2011 Goshido
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
25
Loads of Post-its stuck to a big sheet of paper
!"#$% &''"% (!)*+'",'(% -"% &!!.% /!0+% 1-")'% 2332%
45)678&'0% 9% :''(#';% 2332<=% >?% ,!% ,6'"% ,6'% ,')6"-@*'%
781% (!)*+'",'(% !"% 8% "*+&'0% !/% 7'&1-,'1% 4'=A=%
6,,?BCC777=D'//1*,6'0#8"(=!0AC1)0*+C-"('E=6,+#F%
6,,?BCC777=)!",0!#)68!1=)!+C1)0*+=?(/<=% G6'% H",'#% ,'8+%
8#1!% '+?#!$'(% 8% "*+&'0% !/% ,')6"-@*'1% /0!+% IJ?-1!('1K%
LM*""-"A68+;%NOOPQ%,6'%?0')*01!0%,!%'R,0'+'%?#8""-"A=%
5)0*+% 781% -"-,-8##$% ?-#!,'(% &$% !"'% ,'8+% 8"(% -,1% *1'%
681%A0!7"%!0A8"-)8##$%,!%,6'%'E,'",%,68,%-,%"!7%-1%*1'(%&$%
8##% !/% ,6'% ,'8+1% -"% H",'#% 568""!"=% G6'$% &'#-'S'% ,6'% .'$%
0'81!"% /!0% ,6-1% '",6*1-81,-)% '+&08)'% !/% ,6'% ,')6"-@*'% -1%
(!7"%,!%!"'%!/%,6'%)*1,!+-18,-!"1%,6-1%-"-,-8#%,'8+%+8('=%
G6'% (8-#$% 5)0*+% +'',-"A% ,!!.% ?#8)'% 80!*"(% 8% &!80(%
)!S'0'(% 7-,6% $'##!7% ?!1,T-,% "!,'1=% G6'% ,'8+% 0')!0('(%
,81.1%/!0%,6'%2UT6!*0%?'0-!(%!"%?!1,T-,1=%G6-1%+8('%5)0*+%
S'0$%S-1-&#'% -"% ,6'%!0A8"-V8,-!";%8"(%)*0-!1-,$%/0!+%!,6'0%
,'8+1%6'#?'(%,6'%-"-,-8#%1?0'8(%!/%,6'%,')6"-@*'=%W-A*0'%N%
&'#!7% -##*1,08,'1% 8% 18+?#'% +'',-"A% 0')!0(% 7-,6% X!1,TH,1%
8,,8)6'(=%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
!
!
!
!
!
!
!
!"#$%&!%
'!!()*+(#,&(!&%
-.)%+(&(%
!("&$./%0#$&&(/%
112,314%$/,%+'/%
)$+(!&./(!%
56%
7("$7(7%
46,.#8%0#$&&(/%
!"(/'#$.!%
414%
7(!$8/,!"(/'#$.%
3&9(#/(&,:;%
".)%+(&(%
46,414%
#(<$(0%
46,=>=,.?&,@.#%
'!!(!)(/&%
A4B,$)%'"&%
.@,A4B,*..C%
D('7,E,"9'%&(#!%
)$/?&(!%
6#$&(,)((&$/8%
A%7'&(,=+'/
$/&(#@'"(%
=4FG50!<%
H(!$8/%
D(@'"&.#,I4,17'%&.#
!"#$%&&&'
>/&(#@'"(,-.7(%
4')%+(
F((&$/8%
=H:
-.)%+(&(%5=>,314%
B'"C+.8-?##(/&,B'"C+.8% H./(%
D$/8.%J(.#8(='?+%K.9/%
!
!
"#$!%!&'()*+!&,-.(!/'#*0!1++2#3$!4562782!9+,5-:!
%
%
%
G'8+%+'+&'01%800-S'%8,% ,6'%(8-#$%+'',-"A%7-,6% ,6'-0%
"'7%X!1,TH,1% /!0% ,6'% "'E,% 2U%6!*01=%G6'%X!1,TH,1% -"% ,6'-0%
"8+'(%80'8%80'%,6'%,81.1%,68,%7'0'%)!++-,,'(%,!%8,%,6'%#81,%
+'',-"A=% H/% 8% ,81.% -1% ,!!% &-A% /!0% ,6'% "'E,% 2U% 6!*01;% ,6'$%
70-,'% 8% 1*&1',% !/% -,% !"% 8% "'7%X!1,TH,=%Y*0-"A% ,6'%5)0*+%
+'',-"A%,6'%,'8+%+'+&'01%+!S'%)!+?#','(%,81.1%-",!%,6'%
I(!"'K%80'8=%Z!S-"A%,6'%X!1,TH,1%80!*"(%6'#?1%8)6-'S'%8%
1680'(% A0!*?% S-1*8#-18,-!"% !/% ,6'% ,81.1% 8"(% ?0!D'),%
?0!A0'11=%%
G6'$% 68S'% 8#1!% 'E?'0-+'",'(% 7-,6% !,6'0% -""!S8,-S'%
?08),-)'1=%W!0%'E8+?#';%!"'%,'8+%+'+&'0%,!!.%"!,'1%8"(%
,6'"% ?*&#-16'(% ,6'% ,81.1% !"% 8% 7'&T?8A'=% [!7'S'0;% ,6'$%
/!*"(%,6-1%781%8%1-A"-/-)8",%!S'06'8(%/!0%,68,%,'8+=%G6'$%
8#1!%,0-'(%0*""-"A%,6'%+'',-"A%7-,6%'8)6%-"(-S-(*8#%,8.-"A%
"!,'1%-"%8%?'01!"8#%"!,'&!!.;%&*,%,6-1%0'(*)'(%,6'%1680'(%
A0!*?%S-1*8#-V8,-!"%!/%,6'%?0!D'),=%\S'08##%,6'$%/!*"(%,6'%
1680'(%X!1,TH,%&!80(%,6'%+!1,%*1'/*#=%%
G6'% X!1,TH,1% '")!*08A'% ?'!?#'% ,!% ?0'?80'% +!0'%
,6!0!*A6#$% -"%8(S8")'%/!0% ,6'%(8-#$%+'',-"A=%M!",-"*!*1%
?0'?808,-!"% 68??'"1% 81% ('S'#!?'01% 1,-).% "'7% X!1,TH,1% ,!%
,6'-0%XM%1)0''"1%(*0-"A%,6'-0%7!0.%-"%,6'%-",'0-+%&',7''"%
(8-#$%+'',-"A1=%
>",-#% 0')'",#$% 8##% ,'8+1% 7'0'% A'!A08?6-)8##$% )!T
#!)8,'(% 1!% ,6'% 1-+?#'% #!7T,')6% X!1,TH,% ,')6"-@*'% 681%
7!0.'(% S'0$% 7'##=% H",'0'1,-"A#$;% ,6'$% "!7% 68S'% !"'%
(-1,0-&*,'(% ,'8+% 76-)6% 68S'% )!++'")'(% *1-"A% ,6'%
,')6"-@*'% *1-"A% 8% 1680'(% 1?0'8(16'',% 8"(% "',7!0.'(%
+'',-"A%1!/,780'=%H,%-1%,!!%'80#$%,!%0'?!0,%!"%,6'%0'1*#,1%!/%
,6-1% ?0!D'),;% &*,% '80#$% -"(-)8,-!"1% 80'% ?0!+-1-"A;% ,6*1%
-"(-)8,-"A% ,68,% 1!+'% 8A-#'% +',6!(1% +8$% &'% +!0'%
Copyright © 2011 Goshido
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
27
Copyright © 2011 Goshido
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
28
Planning - Full Project!""#$%!&#'( )*( +$,)-$&.)'+( +'/'#*"0'1)( )2!1( 2!,( &''1(
,.33',)'+(."()*(1*4(56%7-''18(9::;<=(
(
!"#"$"%&'()*%+,-../.0%(
>1)'#( ?2!11*1( 2!/'(0!+'( ,*0'(0*+$@$%!)$*1,( )*( )2'(
"#!11$13("-*%',,(!#,*=(A2'B(.,'()4*("#!11$13(,)!3',8(*1'(
!)( )2'( ,)!-)( *@( '!%2( ,"-$1)( !1+( *1'( !)( )2'( ,)!-)( *@( )2'(
"-*C'%)=((
D#!11$13( $,( E'")( ,$0"#'=( A2'-'( $,( 1*( %*0"#'F( G!1))(
%2!-)( 4$)2( %*0"#'F( $1)'-H+'"'1+'1%$',( &')4''1( )!,E,=(
A2'(*/'-!##("#!1($,(!(,'-$',(*@(,"-$1),(5,''(I$3(9<=(>1)'-1!#(
*-( 'F)'-1!#( 0$#',)*1',( %!1( &'( #$1'+( ."( 4$)2( ?"-$1)(
%*0"#')$*1,8( &.)( )2'( +'"'1+'1%$',( &')4''1( )2'( )!,E,(
4$)2$1()2'(,"-$1)(!-'(1*)(4*-E'+(*.)($1(!+/!1%'=(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
%
%
%
!""!#$%&!'()*+!,'-"'!(.%(!!,/ 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
,$-./'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 =
G G G G G G
:1G
;1G
%
1/0%#%&'()*%+,-../.0%
%
%
%
J!%2()'!0(#'!+(+*',(!("#!1(*.)#$1$13(!##(*@()2'(,"-$1),(
)*( )2'( '1+( *@( )2'( "-*C'%)=( >1$)$!#(0'')$13,( !-'( %*1+.%)'+(
&B( )2'( '13$1''-,( )*( 3')( 2$32( #'/'#( ',)$0!)',( )2!)( %!1( &'(
!##*%!)'+( !1+( +$,)-$&.)'+( !%-*,,( !( 1.0&'-( *@( ,"-$1),=( >1(
*1'( *@( )2'( "-*C'%),( )2'(4$+'H&!1+(K'#"2$( )'%21$L.'(4!,(
.,'+( )*( 3'1'-!)'( )2'( ',)$0!)',( 5M$1,)*1'( !1+( A.-*@@8(
NOPQ<=( K'"'1+'1%$',( &')4''1( )'!0,( !-'( 0!+'( &')4''1(
'1+H*@H,"-$1)(0$#',)*1',=(
>1( )'-0,(*@(+'#$/'-!&#',8( )2'()'!0(#'!+("-*/$+',(!(#$,)(
*@(,"-$1)(0$#',)*1',(!1+()2'(%*1)'1),(*@('!%2(,"-$1)()*()2'(
*/'-!##("-*C'%)(#'!+=(
>1)'#(?2!11*1(+*(1*)(.,'(,"-$1)()$0'(&*F$13(42$%2($,(
"!-)( *@( ,*0'( $0"#'0'1)!)$*1,( *@( ?%-.0=( A2'( 2$32H#'/'#(
)!,E,(!-'(,"#$)()*(+$,)-$&.)'()2'0(!%-*,,(,"-$1),=(A2'B()2'1(
%*1)$1.'()*(+$,)-$&.)'(!1+(,"#$)()!,E,(.1)$#()2'(+.-!)$*1(*@(
'!%2( ,"-$1)( $,( !)( 0*,)( 9:( 4*-E$13( +!B,=( R*1)$13'1%B( $,(
&.$#)($1)*()2'("#!1(!1+('@@*-)(',)$0!)',(!-'(+*1'(&!,'+(*1(
$+'!#( '13$1''-$13('@@*-)=(A2'(%*1)$13'1%B( @!%)*-( $,( ).1'+(
!,()2'("-*C'%)("-*3-',,',=(
(
S)( )2'( ,)!-)( *@( '!%2( ,"-$1)( )2'( )'!0( +'%$+',( 42$%2(
)!,E,(!-'(3*$13()*(&'(+*1'($1()2'(1'F)(,"-$1)=(A2'B(#**E(!)(
)2'( ,)!-)( *@( "-*C'%)( ,"-$1)( "#!1( !1+( #**E( !)( !1B( 1'4(
&!%E#*3( $)'0,( )2!)( 0!B( 2!/'( %*0'( ."( +.-$13( )2'( #!,)(
,"-$1)=( A!,E,( !-'( !##*%!)'+( )*( $1+$/$+.!#,( )*( ,"-'!+( )2'(
#*!+=(A2'( ,"-$1)( "-*)'%),( )2'( )'!0( @-*0( )2'('1/$-*10'1)(
,.--*.1+$13($)(@*-(!(0'!1$13@.#(!0*.1)(*@()$0'(
S)()2'('1+(*@()2'(,"-$1)()2'()'!0(#'!+(4-$)',(!(4-!"H."(
-'"*-)8( #$,)$13( )2'( )!,E,( %*0"#')'+( $1%#.+$13( 'F)-!( )!,E,(
)2!)( )2!)( 4'-'( 1*)( "!-)( *@( )2'( *-$3$1!#( ,"-$1)( "#!1=( A2'(
-'"*-)( 4$##( !#,*( %*1)!$1( T#',,*1,( #'!-1'+U( !1+( !(
0'!,.-'0'1)( *@( )2'( !%).!#( '@@*-)( 'F"'1+'+( $1( )2'( ,"-$1)(
/'-,.,( )2'( ',)$0!)'( !)( )2'( ,)!-)H*@H"-*C'%)=( V)2'-( '1+H*@H
,"-$1)(+'#$/'-!&#',(%*.#+($1%#.+'(!(+'0*8(!("-*C'%)(-'/$'4(
*-(!(-'#'!,'=(
(
(
!"#"#"%234(-,,%54667.6%7.%&'()*%
%D-*C'%)( )'!0,( 2!/'( 2!+( 'F%'##'1)( ,.%%',,( +'#$/'-$13(
"-*C'%),( *1( )$0'( !1+(4$)2$1( &.+3')=(S1( '!-#B( "-*C'%)( *@(
Q=Q( 0*1)2,( +.-!)$*1( 4$)2( @*.-( )'!0( 0'0&'-,( +'#$/'-'+(
)2'$-( @$1!#( -'#'!,'(4$)2$1( )2-''( +!B,(*@( )2'(*-$3$1!#( "#!1=(
A2'( >WDXWW( -'#'!,'( N=:( ,*@)4!-'( 4!,( +'#$/'-'+( *1'(
Copyright © 2011 Goshido
Planning - SprintAt the start check project plan & look at new backlog items
Allocate to individuals - could use simple spreadsheet
Effort in “ideal days” or “story points”
Inside/Outside end-date
At the end: write-up, demo, release
30
Copyright © 2011 Goshido
Sprint - Sheet
31
Copyright © 2011 Goshido
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
32
Copyright © 2011 Goshido
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
33
Copyright © 2011 Goshido
Cloud platform that helps teams
• Focus on doing the work that matters
• Clarify communication
• Scale 400 people on 1 project or 4 on 100
Blend of Agile, Workflow & Attention Mgt
Training & Consulting for large clients
34
Conclusion
Copyright © 2011 Goshido
Key Patterns
Agile can be applied in any kind of business
Bottom Up Planning (take care of days...)
Simple Top Down Plan - it will change
Adaptable more important than predictable
Feedback Loops - OODA & PDCA
Subtle Control, Encourage Self-Organisation
36
Copyright © 2011 Goshido
Next Steps - 72 hours
Read about Scrum/XP on wikipedia
Read the paper: Fitzgerald, Hartnett “Agile inside Intel” (goshido.com/_private/Agile-Inside.pdf)
Goshido blog “Agile for any organization - a guide”
New management books (Denning, Hamel, Appelo)
Consider trying Scrum with your team
37
Thank You
38Copyright © 2011 Goshido