Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous Delivery in the Enterprise

Continuous Delivery in the Enterprise

Continuous Delivery seeks to deliver increased Business Agility by releasing smaller releases more frequently. For a development team, this may mean shorter sprints or a switch to Kanban. But what about the PMO, testing teams, and release management? To truly leverage Continuous Delivery, enterprises must consider impacts that span functional silos.

Avatar for UrbanCode

UrbanCode

May 09, 2013
Tweet

More Decks by UrbanCode

Other Decks in Technology

Transcript

  1. © 2013 IBM Corporation Continuous Delivery in the Enterprise Eric

    Minick, Technical Evangelist, UrbanCode and Damon Poole, Chief Agilist, Eliassen Group
  2. ©  2012  Eliassen  Group.  All  Rights  Reserved  -­‐3-­‐   Damon

     Poole   •  Chief  Agilist,  Eliassen  Group’s  Agile  PracDce   –  Coaching:  TransformaDon  and  Tune-­‐ups   –  Training   •  20  years  of  process  change:  small  co-­‐located  teams  to   mulD-­‐hundred  team  global  enterprises   •  Founder  and  past  CTO  and  CEO  of  AccuRev   •  Creator  of  mulDple  Jolt-­‐award  winning  products   •  Past  President  of  Agile  New  England   •  Author  of  “DIY  Agile  Kickstart”   •  Consulted  with  Ford  IT,  Orbitz,  Fidelity,  Capital  One,   ING  Direct,  and  many  others   •  Taught  Agile  techniques  to  thousands  of  people  
  3. ©  2012  Eliassen  Group.  All  Rights  Reserved  -­‐4-­‐   What

     does  it  take  to  get  a   hoXix/patch  to  your  customer?  
  4. ©  2012  Eliassen  Group.  All  Rights  Reserved  -­‐6-­‐   2

      4   6   1   3   5   7   9   11   13   8   10   12   14   15   17   16   18   months   $0   $300K   $600K   $900K   Project  A  –  Old  Cycle  Time  
  5. ©  2012  Eliassen  Group.  All  Rights  Reserved  -­‐7-­‐   Example:

     receive  $300K  3  months  early   2   4   6   1   3   5   7   9   11   13   8   10   12   14   15   17   16   18   months   $0   $300K   $1.2M   $600K   $900K   Project  A  
  6. ©  2012  Eliassen  Group.  All  Rights  Reserved  -­‐8-­‐   Cycle

     Time   2   4   6   1   3   5   7   Development   IntegraDon  and   tesDng   PreparaDon   9   11   13   8   10   12   14   15   17   16   18   months  
  7. ©  2012  Eliassen  Group.  All  Rights  Reserved  -­‐9-­‐   A

    Typical Risk Mitigation Strategy That Can Increase Risk •  A  Project  is  PrioriDzed  aeer  gathering   requirements  and  doing  esDmaDon  for   mulDple  projects.   •  This  usually  takes  3,  6,  or  more  months.   •  Requirement  gathering  and  scoping  for   mulDple  projects  takes  Dme  away  from   working  on  funded  projects.  
  8. ©  2012  Eliassen  Group.  All  Rights  Reserved  -­‐10-­‐   Cycle

     Time   2   4   6   1   3   5   7   Development   Integrate,  test,   &  release   PreparaDon   9   11   13   8   10   12   14   15   17   16   18   Proposing   Funding   (picking)   months   18  month  cycle  Dme   Doing  
  9. ©  2012  Eliassen  Group.  All  Rights  Reserved  -­‐11-­‐   Cycle

     Time   2   4   6   1   3   5   7   1  month  iteraDons   Prep   Do   Ship   Prep   Do   Ship   Prep   Do   Ship   Prep   Do   Ship   Prep   Do   Ship   Prep   Do   Ship   Pick   Pick   Pick   Pick   Pick   Pick  
  10. ©  2012  Eliassen  Group.  All  Rights  Reserved  -­‐12-­‐   Cycle

     Time   2   4   6   1   3   5   7   1  month  iteraDons   Prep   Do   Ship   3  month  cycle  Dme   Pick  
  11. ©  2012  Eliassen  Group.  All  Rights  Reserved  -­‐13-­‐   Dev

      Design/Code   Test/Debug   Automatable   CreaDve   Test   ExecuDon   Release   Data   Gathering   Test   Deploy   Product   Mgmt   Business   Planning   Test   Design   Releng  
  12. ©  2012  Eliassen  Group.  All  Rights  Reserved  -­‐14-­‐   Kanban

      on   deck   coding   tesDng   qccept   1)  Work  is  managed  visually   2)  Limited  work  in  progress   3)  Flow  is  pull-­‐based   backlog   done   Admin  wants  a   report  of  site-­‐ wide  ac2vity   5   Bob   Seller  wants  to   remove  an  ad   5   Traveller  wants     to  e-­‐mail  a  hotel   booking   2   Traveller  wants     to  e-­‐mail  a  car   booking   2   Traveller  wants     to  e-­‐mail  an   airline  booking   2   Traveller  wants     to  link  to  on-­‐line   check-­‐in   2   Traveller  wants     to  link  to  cancel   a  booking   2   Hotel  owner   wants  to  check   usage  data   2   Airline  wants  to   check  usage  data   2   Traveller  wants     to  register  with   the  system   3   Sue   Traveller  wants     to  see  their   upcoming  trips   2   Tom   Traveller  wants     to  copy  a   booking   2   Bob   Traveller  wants     to  edit  a  booking   2   Tom   Traveller  wants     to  delete  a   booking   1   Sue   Traveller  wants     to  enter  a   booking   3   Bob   Rental  agency   wants  to  check   usage  data   2   Seller  wants  to   show  an  ad   5   Sue  
  13. ©  2012  Eliassen  Group.  All  Rights  Reserved  -­‐15-­‐   Kanban

     in  AcDon       Customers  /  Market   Product   Mgmt   $      
  14. ©  2012  Eliassen  Group.  All  Rights  Reserved  -­‐16-­‐   Automatable

      CreaDve   Build/Test   Release   Data   Gathering   Team   Design/Code   Business   Planning   Test   Design   Releng  
  15. ©  2012  Eliassen  Group.  All  Rights  Reserved  -­‐17-­‐   RelaDonship

     of  Agile  Maturity  to  Benefits   Agile  Maturity   Benefit  
  16. ©  2012  Eliassen  Group.  All  Rights  Reserved  -­‐18-­‐   CYCLE

     TIME   1-­‐CLICK   DEPLOY   Enterprise  Agility  Model   AGILE  OFFICE   I3   I2   I1   LOB   CUSTOMERS   ESCALATION   ARCHITECTURE   RELEASE   TEAM  /  OPS   EPICS   DELIVERY  BASED   MANAGEMENT   LOB   BUSINESS LEADERS   DELIVERY   BASED   METRICS   PORTFOLIO  OF  PROGRAMS   CAPACITY  BASED  INVESTMENT   AGILE   PROJECT   MGMT   AGILE  SCM  
  17. UrbanCode  Inc.  ©2013   Lead Consultant & Tech Evangelist  

    Eric  is  Lead  Consultant  at  Urbancode   where  I  help  customers  get  the  most   out  of  their  build,  deploy  and   release  processes.     Today  he  works  with  customers  and   industry  leaders  to  figure  out  this   DevOps  thing.       Eric  Minick   [email protected]   @EricMinick  
  18. UrbanCode  Inc.  ©2013   An updated toolchain Source Repos Continuous

    Integration & Build Mgmt. Build Package Repo Build Registered with Package Repo Triggers Version Meta-data Deployment System Builds Test 1 Test ... Test n Prod Functional Tests Performance Tests Monitoring
  19. UrbanCode  Inc.  ©2013   The basic flow 1  The  Build

      a.  Create  the  package   b.  Run  tests  and  scans   2  For  each  test  environment   a.  Deploy   b.  Run  some  tests   c.  Determine  worthiness  for  next  env.   3  Release  to  ProducDon  
  20. UrbanCode  Inc.  ©2013   Two big bottlenecks • Manual  regression  tests

     are   too  slow   • Never  allocated  enough  Dme   TesDng   • Manual  /  semi-­‐scripted   deployments  are  slow   • Errors  in  deployment  are   risky  and  waste  QA  Dme   Deployment  
  21. UrbanCode  Inc.  ©2013   Testing tools Source   • CovenDons  /

     Compliance   • Flow  Analysis  /  Security  Scans   Unit   • xUnit   • MSTest   FuncDonal   • Script  Driven   • Playback  /  Record   Perf   • Load  TesDng   • Func  Tests  +  Monitoring  
  22. UrbanCode  Inc.  ©2013   Deployments should be automated Differences  in

     dev  and   ops  environments  and   procedures  cause  failures   Time  to  market  pressure   for  more  frequent  releases   Manual  (tribal)  processes   for  release  lack   repeatability/speed   Major  releases  take  days,   100  people  and  are   organized  by  spreadsheet   Daily Build Release Who did this last time? Dave… Dave’s not here man… Dev Prod I’ll order breakfast
  23. UrbanCode  Inc.  ©2013   Deployment: Two approaches §  Build  Pipeline

     Tool   ­  Perform  a  build,  promote  build  through  environments       §  CI  tool  +  ApplicaDon  Deployment  AutomaDon  Tool   ­  ApplicaDons  are  made  up  of  several  builds  
  24. UrbanCode  Inc.  ©2013   Source Repos Continuous Integration & Build

    Mgmt. Build Package Repo Build Registered with Package Repo Triggers Version Meta-data Deployment System Builds Test 1 Test ... Test n Prod Functional Tests Performance Tests Monitoring These  are  1  tool  in  a  pipeline  model   These  are  2-­‐3  tools  in  CI  +  ADA  model  
  25. UrbanCode  Inc.  ©2013   When is each approach appropriate? Pipeline

      §  Simple  apps   §  Low  coupling  between   components  /  services   §  Tests  validate  ONE  version   of  ONE  thing   §  Shared  tool  ownership  ok   Build  +  ADA   §  More  complex  applicaDons   §  Higher  coupling  between   components  /  services   §  Tests  validate  that  the   larger  system  is  working   §  Dev  wants  to  own  build,   Ops  wants  to  own  deploy  
  26. UrbanCode  Inc.  ©2013   Reviewing the updated toolchain Source Repos

    Continuous Integration & Build Mgmt. Build Package Repo Build Registered with Package Repo Triggers Version Meta-data Deployment System Builds Test 1 Test ... Test n Prod Functional Tests Performance Tests Monitoring
  27. UrbanCode  Inc.  ©2013   Bonus bottleneck: Provisioning §  Agile  leads

     to:   ­  More  small  teams   ­  More  changes,  and  automated  tests  to  use   ­  Places  to  test  becomes  the  next  botleneck   Package Repo Deployment Chain Test 1 Test ... Test n Prod Version Meta-data Provisioning Controller Source Repos Env. Def Images IaaS Provisioning Server Configuration Environment Config Environment Inventory CMDB
  28. UrbanCode  Inc.  ©2013   CD Self Assessment §  ConDnuous  Delivery

     Maturity  Model   ­  1  pager   ­  Full  White  paper     §  Consider  Maturity   ­  Current  vs  Desired     ­  Build,  Deploy  Test,  Decide    
  29. UrbanCode  Inc.  ©2013   Here to help Eliassen:   Urbancode:

     tools  guys   §  uBuild     ­  Build  automaDon  on  an   enterprise  scale   §  uDeploy   ­  ApplicaDon  Release   AutomaDon   §  uRelease   ­  Release  management  and   release  weekend  execuDon   §  The  leading  consulDng   services  and  technology   staffing  firm  with  pracDces   in  Agile,  Government   Services,  Workforce   Management  and  Life   Sciences.     §  Services  include:   development  advisory,   implementaDon  services,   and  on  demand  support.  
  30. © 2013 IBM Corporation 34 © Copyright IBM Corporation 2013.

    All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.