Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Agile Methods - An Overview - Marc Bless - 2009

703 vues

Publié le

An overview of agile methods, their history, and some references.

Publié dans : Business
  • Identifiez-vous pour voir les commentaires

Agile Methods - An Overview - Marc Bless - 2009

  1. 1. Agile  Methods  –  An  Overview   Marc  Bless   Sept  25th  2009  
  2. 2. Table  of  Contents   •  Mo@va@on   •  History  of  Agile  Methods   •  The  Agile  Manifesto   •  Overview:  SCRUM  and  FDD   •  How  we  do  it  @  MCC   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  2  
  3. 3. Mo@va@on:  Why  Agile?   •  65%  of  all  product  features  are  hardly  ever  used   •  65%  of  projects  fail  due  to  requirement  issues   •  waterfall  does  not  take  this  into  account   Source:  Standish  Group,  Jeff  Sutherland   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  3  
  4. 4. Mo@va@on:  Why  Planning  Fails   •  Planning  is  by  ac@vity  rather  than  feature   –  Ac@vi@es  do  not  finish  early   –  Lateness  is  passed  down  the  schedule   –  Ac@vi@es  are  not  independant   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  4   Do  this   Do  that   Do  something   Plan:   Do  this   Do  that   Do  something   Lateness:  
  5. 5. Mo@va@on:  Why  Planning  Fails   •  Mul@tasking  causes  further  delays   •  Features  are  not  developed  by  priority   •  We  ignore  uncertainty   •  Es@mates  become  commitments   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  5   Do  something  Plan:   Do  something   Mul@tasking:   Do  something   Lateness:  
  6. 6. Mo@va@on:  Why  Planning  Fails   •  Developing  soware  is  not  building  a  house:   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  6   Developing  So,ware   Building  a  House   Time  for  Architecture   All  during  development   Short  period  at  the   beginning   Resources  needed  for   architecture   Highly  skilled   Highly  skilled   Time  to  Implement/ Build   All  during  development   Long  period   Resources  needed  to   implement/build   Highly  skilled   Low  skilled,  thus   exchangable   Type  of  work   Crea@ve  thinkers   Strong  workers  
  7. 7. Mo@va@on:  Why  Planning  Fails   •  Resul@ng  Project  Reality:   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  7   Plan:   Test   Design   Implement   Test   Design   Implement   Real:   Solu@on:  feature  by  priority   Es@mated  and   commiaed  date   Done  and   releasable   Done  and   releasable   Final   Release  
  8. 8. Agile  is  NOT   •  No  documents   •  No  planning   •  No  control   •  Anarchy   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  8  
  9. 9. History  of  Agile  Methods   •  Ōno  Taiichi,  1947:  „Kanban“-­‐System  at  Toyota,  Japan   •  Frederick  Brooks,  1960s:  „The  Mythical  Man-­‐Month“   –  Gutless  es@ma@ng:  based  on  op@mism  and  is  wish-­‐ derived   –  Surgical  team:  architect,  developer,  editor,  tester,   toolsmith  are  ONE  team   –  First  ideas  of  modern  pair  programming:  two  brains   do  beaer  than  one   –  Stop  sequen@al  phases:  crea@ve  effort  involves   dis@nct  phases  which  can  start  in  parallel  (design,   implementa@on,  tes@ng)   •  1976,  Tom  Gilb:  „evolu@on“  and  „evolu@onary“   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  9  
  10. 10. History  of  Agile  Methods   •  1996   Kent  Beck:   Extreme  Programming   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  10   •  1995   Ken  Schwaber,   Jeff  Sutherland:   Scrum   •  1995   Alistair  Cockburn:   Crystal  Clear  
  11. 11. History  of  Agile  Methods   •  2000,  Jim  Highsmith:  Adap@ve  Soware  Development   •  1997,  Jeff  De  Luca:  Feature  Driven  Development   •  1995:  DSDM  (Dynamic  Systems  Development  Method)   •  2001:  The  Agile  Manifesto   •  2005,  Scoa  Ambler:  AUP  (Agile  Unified  Process  =  „Agile  RUP“)   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  11  
  12. 12. The  Agile  Manifesto   We  are  uncovering  beaer  ways  of  developing  soware  by  doing  it  and  helping  others  do  it.  Through  this  work   we  have  come  to  value:      Individuals  and  interacCons  over  processes  and  tools     Working  so,ware  over  comprehensive  documenta2on     Customer  collaboraCon  over  contract  nego2a2on     Responding  to  change  over  following  a  plan       That  is,  while  there  is  value  in  the  items  on  the  right,  we  value  the  items  on  the  le  more.     Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  12    Kent  Beck  Mike  Beedle  Arie  van  Bennekum    Alistair  Cockburn  Ward  Cunningham  Mar@n  Fowler    James  Grenning  Jim  Highsmith  Andrew  Hunt    Ron  Jeffries  Jon  Kern  Brian  Marick    Robert  C.  Mar@n  Steve  Mellor  Ken  Schwaber    Jeff  Sutherland  Dave  Thomas     ©  2001,  the  above  authors   this  declara@on  may  be  freely  copied  in  any  form,  but  only  in  its  en@rety  through  this  no@ce.    
  13. 13. The  Seven  Core  Prac@ces  of  Agile   Work   •  Self-­‐Organizing  Team  à  Whole  Team  (XP),  Cross-­‐Func@onal  Team   •  Deliver  Frequently  à  Sprint,  Itera@on,  Timeboxing   •  Plan  to  Learn  à  Inspect  and  Adapt,  Adap@ve  Planning   •  Communicate  Powerfully  à  Visibility,  Whole  Team  and  Team  Room,  War   Room   •  Test  Everything  à  Test-­‐Driven  Development   •  Measure  Value  à  Measuring  Results,  ROI,  Running  Tested  Features   •  Clear  the  Path  à  Removing  Obstacles  and  Impediments,  Stopping  the  Line   •  hap://www.agileadvice.com/archives/2006/09/prac@ces_of_ag.html   è  Deming-­‐Circle  PDCA:  Plan,  Do,  Check,  Act   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  13  
  14. 14. Agile  Principle:  Timeboxing   •  Focus  on  doing  the  things  that  maaer  most   •  Limit  the  @me  spent  on  open  ended  tasks   •  Effec@ve  tool  against  procras@na@on   è  higher  efficiency  (more  business  value  per  @me)   •  Cri@cs:  how  to  deal  with  tasks  not  being  finished  in  a  @mebox?   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  14  
  15. 15. Agile  Principle:  Inspect  and  Adapt   •  Con@nuos  improvement  of  knowledge  and  processes   •  Based  on  „Lean“   •  Con@nous  Deming-­‐Circle  PDCA:  Plan,  Do,  Check,  Act   •  Most  important  goal:  remove  any  impediment  instantly   è  Higher  efficiency  and  quality   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  15  
  16. 16. Agile  Principle:  Pair  Programming   •  Knowledge  transfer   •  Collec@ve  code  ownership   •  Less  bugs   •  Implicit  code  review   è  higher  quality   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  16  
  17. 17. Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  17   FDD   (30++)   •   Develop  Overall  Model   •   Form  Modeling  Team   •   Conduct  Domain  Walk-­‐Through   •   Study  Documents   •   Develop  Small  Group  Models   •   Develop  Team  Model   •   Refine  Overall  Object  Model   •   Write  Model  Notes   •   Build  Feature  List   •   Form  Features  List  Team   •   Build  Features  List   •   Plan  by  Feature   •   Form  Planning  Team   •   Determine  Development   Sequence   •   Assign  Business  Ac@vi@es  to  Chief   Programmers   •   Assign  Classes  to  Developers   •   Build  by  Feature   •   Implement  Classes  and  Methods   •   Inspect  Code   •   Coduct  Unit  Tests   •   Promote  to  Build   •   Design  by  Feature   •   Form  Feature  Team   •   Conduct  Domain  Walk-­‐Through   •   Study  Referenced  Documents   •   Develop  Sequence  Diagrams   •   Refine  Object  Model   •   Write  Class  and  Method  Prologue   •   Design  Inspec@on   Methods  Compared  
  18. 18. FDD:  Overview   •  1997  by  Jeff  De  Luca   •  Mixture  of  waterfall  and  itera@ve  method   •  5  ac@vi@es  with  24  sub-­‐ac@vi@es,  lots  of  roles,  lots  of  ar@facts   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  18   Develop   Overall   Model   Build   Feature   List   Plan  by   Feature   Design  by   Feature   Build  by   Feature   Design  by   Feature   Build  by   Feature   Design  by   Feature   Build  by   Feature  
  19. 19. Scrum:  Overview   •  1995,  Jeff  Sutherland  &  Ken  Schwaber:  Scrum   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  19  
  20. 20. Scrum:  Roles,  Ac@vi@es,  Ar@facts   Scrum   Roles   Product   Owner   Scrum  Master   Team   AcCviCes   Sprint   Planning   Daily  Stand-­‐ up  Mee@ng   Sprint  Review   Sprint   Retrospec@ve   ArCfacts   Product   Backlog   Sprint   Backlog   Impediments   Backlog   Burndown   Chart   Working   Soware   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  20  
  21. 21. The  Scrum  Board   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  21   Source:  Henrik  Kniberg  
  22. 22. Scrum:  Hyperproduc@ve  Teams   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  22  
  23. 23. Scrum:  Hyperproduc@ve  Teams   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  23   Slow   Upset   Late   Pressure   Fast   Happy   Early   Improve  
  24. 24. Scrum:  Hyperproduc@ve  Teams   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  24   Constraints   Energy   Slow   Upset   Late   Pressure   Fast   Happy   Early   Improve  
  25. 25. Scrum:  Hyperproduc@ve  Teams   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  25   Constraints   Energy   Hyperproduc@ve  teams  can  output  300%  more  results  in  the  same  @me  in  a   much  higher  quality!  This  is  proven  by  many  case  studies  in  the  last  years.   (Source:  Jeff  Sutherland)   Slow   Upset   Late   Pressure   Fast   Happy   Early   Improve  
  26. 26. The  V-­‐Model  Issue   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  26   •  V-­‐Model:  waterfall  approaches  are  slow,  late,   unpredictable,  and  have  low  ROI   •  Standards  (e.g.  IEC  62304)  do  not  imply  the  V-­‐ Model:  any  incremental  and  evolu@onary   development  process  may  be  used       è  huge  organiza@onal  changes  are  mandatory!  
  27. 27. Bibliography   Highly  recommended!   •  Henrik  Kniberg  –  Scrum  and  XP…   •  Mike  Cohn  –  Agile  Es@ma@ng  and  Planning   •  agilemanifesto.org   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  27  
  28. 28. Bibliography   •  Frederick  Brooks  –  The  Mythical  Man  Month   •  Ken  Schwaber  –  Agile  Project  Management  With   Scrum   •  Kent  Beck  –  Test-­‐Driven  Development  by  Example   •  Kent  Beck  –  Extreme  Programming  explained:  Embrace   Change   •  Mar@n  Fowler,  Kent  Beck  –  Refactoring:  Improving  the   Design  of  Exis@ng  Code   Agile  Methods  –  An  Overview   Marc  Bless,  Sept  25th  2009   Page  28  
  29. 29. marc.bless@agilecoach.de   @marcbless   Marc  Bless   Sept  25th  2009  

×