Itag Jan09 Agile Coclarity
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Itag Jan09 Agile Coclarity

  • 1,222 views
Uploaded on

A presentation on Patterns, Scrum, eXtreme Programming, GTD and Ferris' Four-Hour-Workweek. This was presented at ITAG (IT @ Galway) on 22-Jan-2009....

A presentation on Patterns, Scrum, eXtreme Programming, GTD and Ferris' Four-Hour-Workweek. This was presented at ITAG (IT @ Galway) on 22-Jan-2009.

While agile techniques owe their inspiration to other disciplines,like design-patterns, they have been improved by the software industry and returned with interest to the general business community. So even if your business has nothing to do with software development or "agile" you should still find something useful in this talk.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,222
On Slideshare
1,221
From Embeds
1
Number of Embeds
1

Actions

Shares
Downloads
15
Comments
0
Likes
0

Embeds 1

http://www.slideshare.net 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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
  • 5. Patterns, PLOPS and OOPSLA
  • 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
  • 9. eXtreme Programming
  • 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
  • 34. GTD and 4HWW
  • 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
  • 38. Conclusion
  • 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