SlideShare una empresa de Scribd logo
1 de 45
Descargar para leer sin conexión
Managing	
  So)ware	
  
 Debt	
  in	
  Prac2ce	
  	
  
     Quality	
  Debt	
  Focus	
  
First	
  Things	
  First...	
  


                           Get Rally!
                           www.rallydev.com

                                  @csterwa
                                  #swdebt
                                              2	
  
Chris	
  Sterling	
  
   • Director	
  of	
  Engineering	
  at	
  Rally	
  
     So)ware	
  in	
  Kirkland,	
  WA	
  office	
  
   • Author	
  of	
  Book	
   Managing	
  So)ware	
  
     Debt:	
  Building	
  for	
  Inevitable	
  Change 	
  
   • Consults	
  on	
  so)ware	
  technology,	
  Agile	
  
     technical	
  prac2ces,	
  Scrum,	
  and	
  
     effec2ve	
  management	
  techniques	
  
   • Innova2on	
  Games®	
  Trained	
  Facilitator	
         Email:	
  csterling@rallydev.com	
  	
  	
  
                                                             Web:	
  hWp://www.rallydev.com	
  	
  
   • Cer2fied	
  Scrum	
  Trainer	
                           Follow	
  me	
  on	
  TwiWer:	
  @csterwa	
  	
  
                                                             Blog:	
  hWp://www.geYngagile.com	
  
                                                             Hashtag	
  for	
  presenta2on:	
  #swdebt	
  
   • Open	
  Source	
  Developer	
  


                                                                                                                 3	
  
Agenda	
  
  •  Managing	
  So)ware	
  Debt	
         •  The	
   3	
  Amigos 	
  PaWern	
  
     Overview	
                            •  Test-­‐Driven	
  Design	
  
  •  So)ware	
  Debt	
  Types	
         •  Monitoring	
  Quality	
  
     •  Technical	
                        •  The	
  Power	
  of	
  2	
  Scripts	
  
     •  Quality	
                          •  Con2nuous	
  Integra2on	
  
     •  Configura2on	
  Management	
        •  Automated	
  Promo2on	
  
     •  Design	
                           •  Advanced	
  Quality	
  Metrics	
  
     •  Pla]orm	
  Experience	
               Trending	
  and	
  Analysis	
  

  •  Asser2ng	
  Quality	
              •  Wrap	
  Up	
  
     •  Defini2on	
  of	
  Done	
           •  So)ware	
  Debt	
  Management	
  
                                              Strategy	
  
     •  Test	
  Automa2on	
  
                                           •  The	
   No	
  Defect 	
  Mindset	
  

                                                                                       4	
  
Managing	
  So)ware	
  Debt	
  
Overview	
  
  Let	
  me	
  tell	
  you	
  a	
  poten2ally	
  
  familiar	
  story…	
  
Lack	
  of	
  emphasis	
  on	
  so)ware	
  quality	
  aWributes	
  
contributes	
  to	
  decay	
  
Principle:	
  	
  
   No	
  maWer	
  what,	
  the	
  cost	
  of	
  
   addressing	
  so)ware	
  debt	
  
   increases	
  with	
  2me.	
  
Types	
  of	
  So)ware	
  Debt	
  
   Technical,	
  Quality,	
  
   Configura2on	
  Management,	
  
   Design,	
  and	
  Pla]orm	
  
   Experience	
  
Why	
  not	
  just	
  call	
  it	
  all	
   Technical	
  Debt 	
  
   • Technical	
  debt	
  tended	
  to	
  focus	
  more	
  on	
  
     programming	
  aspects	
  of	
  so)ware	
  delivery	
  and	
  
     le)	
  out	
  full	
  so)ware	
  development	
  life	
  cycle	
  
   • Each	
  type	
  of	
  so)ware	
  debt	
  can	
  be	
  managed	
  and	
  
     monitored	
  using	
  different	
  tools	
  and	
  approaches	
  
   • Focusing	
  on	
  managing	
  each	
  type	
  of	
  so)ware	
  debt	
  
     simplifies	
  crea2on	
  of	
  an	
  overall	
  strategy	
  that	
  
     promotes	
  holis2c	
  perspec2ve	
  



                                                                           10	
  
Types	
  of	
  So)ware	
  Debt	
  
  •  Technical	
  Debt:	
  These	
  are	
  the	
  ac2vi2es	
  that	
  a	
  team	
  or	
  team	
  members	
  
     take	
  shortcuts	
  on	
  now	
  that	
  will	
  impede	
  future	
  development	
  if	
  le)	
  as	
  
     is.	
  
  •  Quality	
  Debt:	
  There	
  is	
  a	
  diminishing	
  ability	
  to	
  verify	
  the	
  func2onal	
  and	
  
     technical	
  quality	
  of	
  so)ware:	
  the	
   Break/Fix 	
  mentality.	
  
  •  Configura2on	
  Management	
  Debt:	
  Integra2on	
  and	
  release	
  
     management	
  become	
  more	
  risky,	
  complex,	
  and	
  error-­‐prone.	
  
  •  Design	
  Debt:	
  The	
  cost	
  of	
  adding	
  features	
  is	
  increasing	
  toward	
  the	
  
     point	
  where	
  it	
  is	
  more	
  than	
  the	
  cost	
  of	
  wri2ng	
  from	
  scratch.	
  
  •  Pla]orm	
  Experience	
  Debt:	
  The	
  availability	
  and	
  alignment	
  of	
  people	
  to	
  
     business	
  objec2ves	
  that	
  involve	
  so)ware	
  changes	
  is	
  becoming	
  more	
  
     limited	
  or	
  cost-­‐prohibi2ve.	
  



                                                                                                                 8	
  
Asser2ng	
  Quality	
  
  Teams	
  must	
  focus	
  on	
  asser2ng	
  
  sustainable	
  quality	
  to	
  support	
  
  future	
  customer	
  needs	
  in	
  a	
  
  2mely	
  manner	
  
Defini2on	
  of	
  Done	
  
  So)ware	
  developments	
  assert	
  
  what	
  finished,	
  working	
  
  so)ware	
  entails	
  to	
  support	
  
  predictable	
  delivery	
  into	
  the	
  
  future	
  
Defini2on	
  of	
  Done	
  -­‐	
  Assert	
  Quality	
  
  "   Acceptance defined criteria for each    "   Tested on FE
      user story
                                             "   Integration test written & passes
  "   Unit tests written and passed
                                             "   Test code reviewed
  "   Code compiles with no errors and no
                                             "   Environment requirements documented
      warnings
  "   New code doesn t break existing code
                                             "   Interface document updated/added and
                                                 checked in to SVN
  "   Test case review (Dev to review test
                                             "   Acceptance criteria verified complete
      case written)
  "   Architectural impact assessed and
                                             "   All P1-P3 bugs for the story are closed
      artifacts updated if necessary         "   Test approves user story
  "   Comments in code                       "   Story demonstrated to product owner
                                                 and accepted on Target Platform
  "   Error codes added
  "   Code reviewed by peer
  "   Code checked in with reference to
      US#/Task#



                                                                                           14	
  
Release	
  Defini2on	
  of	
  Done	
  
  • Every	
  release	
  should	
  have	
  clear	
  quality	
  criteria	
  
  • With	
  a	
   Release	
  Defini2on	
  of	
  Done 	
  you	
  can	
  
    understand	
  targets	
  beWer	
  
  • Measure	
  the	
  gap	
  between	
  the	
  teams 	
  Defini2on	
  
    of	
  Done	
  and	
  a	
  Release	
  Defini2on	
  of	
  Done.	
  
    •  This	
  gap	
  is	
  a	
  source	
  of	
  quality	
  issues	
  and	
  represents	
  
       significant	
  risk	
  to	
  schedule	
  
Case	
  Study:	
  	
  
   Test	
  Automa2on	
  Reduces	
  Cost	
  
   of	
  Change	
  
Manual	
  Regression	
  Tes2ng	
  
  • Tes2ng	
  was	
  taking	
  75	
  person	
  hours	
  during	
  2	
  full	
  
    test	
  runs	
  consis2ng	
  of:	
  
     •  Comprehensive	
  manual	
  regression	
  tes2ng	
  
     •  Data	
  conversion	
  and	
  valida2on	
  
  • Cost	
  for	
  tes2ng	
  was	
  $17,000	
  each	
  itera2on	
  




                                                                                  17	
  
Introducing	
  Fit	
  into	
  Tes2ng	
  Process	
  
  • A)er	
  8	
  itera2ons	
  team	
  had	
  introduced	
  healthy	
  
    amount	
  of	
  Fit	
  fixtures	
  and	
  automated	
  tests	
  
  • Reduced	
  70+	
  hour	
  test	
  run2me	
  down	
  to	
  6	
  hours	
  
    which	
  now	
  included:	
  
    •  Fit	
  automated	
  regression	
  tes2ng	
  	
  
    •  Data	
  conversion	
  and	
  valida2on	
  automated	
  with	
  Fit	
  
       fixtures	
  	
  
  • Reduced	
  cost	
  of	
  tes2ng	
  each	
  itera2on	
  from	
  
    $17,000	
  to	
  $7,000	
  

                                                                                18	
  
The	
  Agile	
  Regression	
  Tes2ng	
  Triangle*	
  
  Smoke++	
  Tests	
  
  Risk-­‐based	
  UI	
  &	
  
  API	
  Automated	
                                      Integra2on	
  Tests	
  
  Tests	
                                                 Automated	
  &	
  
                                                          Exploratory	
  


                                         Automated	
  Unit	
  Tests	
  
                                         Make	
  up	
  largest	
  por2on	
  of	
  
                                         regression	
  tests	
  and	
  are	
  
                                         developed	
  by	
  programmers	
  


                       *	
  The	
  Agile	
  Triangle	
  has	
  been	
  modified	
  from	
  Mike	
  Cohn’s	
  original	
  version	
  


                                                                                                                                      19	
  
The	
   3	
  Amigos 	
  PaWern*	
  
    Quickly	
  get	
  testers,	
  coders,	
  
    and	
  business	
  on	
  the	
  same	
  page	
  
    before	
  building	
  based	
  on	
  a	
  
    requirement	
  

 *	
  The	
  Three	
  Amigos	
  paWern	
  originally	
  coined	
  by	
  George	
  Dinwiddie	
  
 hWp://www.s2ckyminds.com/s.asp?F=S17232_COL_2	
  	
  
The	
  Three	
  Amigos	
  PaWern	
  

                           As a Shopper I want to
                           receive updates on incredible
                           deals that are located near
                           my home so that I can save
                           money on my purchases



                           Acceptance Criteria:
                           • Save Shopper’s location
                           • Ask Shopper if they want to receive
                           localized deals daily
                           • Send notification of incredible deals to
                           Shoppers located within 10 miles each
                           morning
                           • Allow Shopper to stop receiving
                           localized deals




                                                                        21	
  
The	
  Three	
  Amigos	
  PaWern	
  

                                As a Shopper I want to
                                receive updates on incredible
                                deals that are located near
                                my home so that I can save
                                money on my purchases


                          • What	
  areas	
  of	
  the	
  applica2on	
  will	
  this	
  affect?	
  
                          • What	
  is	
  the	
  overall	
  design?	
  (UI,	
  API,	
  UX,	
  etc…)	
  
                          • What	
  are	
  the	
  details	
  test	
  cases	
  for	
  this	
  user	
  story	
  
                           and	
  it’s	
  acceptance	
  criteria?	
  
                          • What	
  about	
  nega2ve	
  test	
  condi2ons?	
  
                          • What	
  about	
  boundary	
  condi2ons?	
  
                          • How	
  might	
  we	
  put	
  exis2ng	
  func2onality	
  at	
  risk?	
  



                                                                                                         22	
  
The	
  Three	
  Amigos	
  PaWern	
  
                            • At	
  minimum	
  include	
  
                              tester,	
  coder	
  &	
  
                              business	
  rep	
  in	
  
                              discussion	
  
                            • Should	
  only	
  take	
  30	
  
                              minutes	
  to	
  1	
  hour	
  for	
  
                              user	
  stories	
  
                            • Focus	
  on	
  clarifica2on	
  
                              and	
  design	
  through	
  
                              testable	
  inputs/
                              outputs	
                               23	
  
Acceptance	
  Test-­‐Driven	
  Development	
  




                                             24	
  
Release	
  Management	
  
   If	
  releases	
  are	
  like	
  giving	
  
  birth,	
  then	
  you	
  must	
  be	
  doing	
  
  something	
  wrong. 	
  -­‐	
  Robert	
  
  Benefield	
  
Case	
  Study:	
  Enterprise	
  Agile	
  Adop2on	
  
  •  180+	
  person	
   Web	
  2.0 	
  product	
  organiza2on	
  
  •  Waterfall	
  SDLC	
  that	
  development	
  uses	
  to	
  deliver	
  in	
  6	
  month	
  release	
  
     cycles	
  
  •  Want	
  to	
  use	
  Agile	
  methods	
  to	
  be	
  more	
  responsive	
  to	
  users	
  and	
  keep	
  up	
  
     with	
  other	
   Web	
  2.0 	
  companies	
  
  •  Transi2oned	
  to	
  Agile	
  methods	
  on	
  15	
  teams	
  in	
  3	
  months	
  
  •  Changed	
  release	
  management	
  strategy,	
  added	
  XP	
  technical	
  prac2ces,	
  
     and	
  implemented	
  Scrum	
  product	
  development	
  framework	
  for	
  scaled	
  
     coordina2on	
  
  •  Able	
  to	
  release	
  every	
  week	
  to	
  users	
  within	
  4	
  months	
  
  •  Used	
  streamlined	
  deployment	
  environment	
  process	
  to	
  validate	
  product	
  
     changes	
  daily	
  using	
  Con2nuous	
  Integra2on	
  and	
  automated	
  promo2ons	
  



                                                                                                                       26	
  
The	
  Power	
  of	
  2	
  Scripts:	
  Deploy	
  &	
  Rollback	
  




                                                               27	
  
Tradi2onal	
  Source	
  Control	
  Management	
  

                                             Code   	
  
                                             Complete	
  
    Version	
  1	
                                               Integrate	
  for	
  
    Branch	
                                                     Version	
  2	
  


                                                           Debt	
                       Main	
  Branch	
  

                        Death	
  March	
  



                                                {	
  
                       Debt	
  accrues	
  quickly	
  within	
  stabiliza2on	
  periods	
  




                                                                                                             28	
  
Flexible	
  Source	
  Control	
  Management	
  


    Version 1
                      Version 2

                                                    Main Branch


         {
    Not Easy! Must have proper infrastructure to do this.




                                                                   29	
  
Scaling	
  Con2nuous	
  Integra2on	
  
 End-­‐to-­‐End	
  &	
  
  Load/Stress	
  




  Integrated	
  
  Component	
  
   Valida2on	
  


 Component	
  
  Valida2on	
  


                                         30	
  
Automated	
  Promo2on	
  to	
  Environments	
  




                                            31	
  
Advanced	
  Quality	
  Asser2ons	
  	
  
  Using	
  Automated	
  Tools	
  and	
  
  Dashboards	
  
Con2nuous	
  Integra2on	
  




                              33	
  
Quality	
  Dashboard	
  -­‐	
  Sonar	
  




                                           34	
  
Quality	
  Dashboard	
  -­‐	
  Sonar	
  




                                           35	
  
Quality	
  Dashboard	
  -­‐	
  Sonar	
  




                                           36	
  
Quality	
  Dashboard	
  -­‐	
  Sonar	
  




                                           37	
  
Early	
  Warning	
  Signs	
  




  Early	
  Warnings:	
  
  • Broken	
  Builds	
  
  • Broken	
  Automated	
  Tests	
  
  • Broken	
  Custom	
  Thresholds	
  



                                         38	
  
Early	
  Warning	
  on	
  Quality	
  Dashboard	
  




                                   Early	
  Warnings:	
  
                                   • Design	
  Debt	
  in	
  Duplica2on	
  (DRY)	
  
                                   • Technical	
  Debt	
  in	
  Code	
  Complexity	
  
                                   • Quality	
  Debt	
  in	
  Bug	
  DB	
  (Break/Fix)	
  
                                   • Other	
  Custom	
  Thresholds	
  


                                                                                 39	
  
The	
   No	
  Defect 	
  Mindset	
  
   What	
  he	
  needs	
  is	
  some	
  way	
  
  to	
  pay	
  back.	
  Not	
  some	
  way	
  to	
  
  borrow	
  more. 	
  -­‐-­‐	
  Will	
  Rogers	
  




                                           39	
  
Ken	
  Schwaber	
  	
  
     For	
  every	
  [dollar]	
  of	
  compe22ve	
  
    advantage	
  gained	
  by	
  cuYng	
  quality,	
  it	
  
    costs	
  $4	
  to	
  restore	
  it;	
  and	
  so)ware	
  is	
  
    an	
  organiza2onal	
  asset	
  and	
  decisions	
  
    to	
  cut	
  quality	
  must	
  be	
  made	
  by	
  
    execu2ve	
  management	
  and	
  reflected	
  
    in	
  the	
  financial	
  statements. 	
  
    hWp://www.infoq.com/presenta2ons/agile-­‐quality-­‐canary-­‐coalmine	
  
Case	
  Study:	
  Field	
  Support	
  Applica2on	
  
   •  2000+	
  users	
  access	
  applica2on	
  each	
  day	
  
   •  Applica2on	
  supports	
  mul2ple	
  perspec2ves	
  and	
  workflows	
  
      from	
  Field	
  Support	
  Opera2ons	
  to	
  Customer	
  Service	
  
   •  Team	
  of	
  5	
  people	
  delivering	
  features	
  on	
  exis2ng	
  Cold	
  Fusion	
  
      pla]orm	
  implementa2on	
  
   •  Migra2ng	
  Architecture	
  to	
  Spring/Hibernate	
  in	
  slices	
  while	
  
      s2ll	
  delivering	
  valuable	
  features	
  
   •  36	
  2-­‐week	
  Sprints,	
  33	
  produc2on	
  releases,	
  and	
  only	
  1	
  defect	
  
      found	
  in	
  produc2on	
  
   •  So,	
  what	
  was	
  the	
  defect	
  you	
  say?	
  Let	
  me	
  tell	
  you…	
  


                                                                                                40	
  
Can	
  We	
  Afford	
  a	
   No	
  Defect 	
  Policy?	
  
   •  This	
  team	
  worked	
  on	
  legacy	
  codebase	
  inherited	
  from	
  another	
  
      vendor	
  
   •  Other	
  vendor	
  had	
  been	
  slowing	
  down	
  month	
  a)er	
  month	
  and	
  
      cost	
  of	
  development	
  was	
  increasing	
  
   •  In	
  first	
  itera2on	
  this	
  team	
  was	
  able	
  to	
  deliver	
  more	
  than	
  other	
  
      vendor	
  was	
  able	
  to	
  in	
  previous	
  2	
  months	
  
   •  A)er	
  24	
  itera2ons	
  this	
  team	
  was	
  10	
  2mes	
  faster	
  delivery	
  than1st	
  
      itera2on	
  
   •  Acceptance	
  Test-­‐Driven	
  Development	
  and	
  Con2nuous	
  Integra2on	
  
      were	
  greatest	
  technical	
  factors	
  to	
  support	
  team	
  in	
  these	
  results	
  
   •  Can	
  you	
  afford	
  not	
  to	
  have	
  a	
   No	
  Defect 	
  policy?	
  



                                                                                                       41	
  
Thank	
  you!	
  
   Ques2ons	
  and	
  Answers	
  
   [Time	
  permiYng]	
  
Chris	
  Sterling	
  
Director	
  of	
  Engineering	
  at	
  Rally	
  So)ware	
  
in	
  Kirkland,	
  WA	
  office	
  
Author	
  of	
  Book	
   Managing	
  So)ware	
  
Debt:	
  Building	
  for	
  Inevitable	
  Change 	
  
Consults	
  on	
  so)ware	
  technology,	
  Agile	
  
technical	
  prac2ces,	
  Scrum,	
  and	
  effec2ve	
  
management	
  techniques	
  
Innova2on	
  Games®	
  Trained	
  Facilitator	
   Email:	
  csterling@rallydev.com	
  	
  	
  
                                                            Web:	
  hWp://www.rallydev.com	
  	
  
Cer2fied	
  Scrum	
  Trainer	
                               Follow	
  me	
  on	
  TwiWer:	
  @csterwa	
  	
  
                                                            Blog:	
  hWp://www.geYngagile.com	
  
                                                            Hashtag	
  for	
  presenta2on:	
  #swdebt	
  
Open	
  Source	
  Developer	
  

Más contenido relacionado

La actualidad más candente

Ravit Danino HP - Roles and Collaboration in Agile
Ravit Danino HP - Roles and Collaboration in AgileRavit Danino HP - Roles and Collaboration in Agile
Ravit Danino HP - Roles and Collaboration in AgileAgileSparks
 
Omnext Source2VALUE
Omnext Source2VALUEOmnext Source2VALUE
Omnext Source2VALUEmeijerandre
 
Scrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - ColomboScrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - ColomboNaveen Kumar Singh
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineeringZeeshan Masood S
 
6 sigma rollators update for my blog
6 sigma rollators update for my blog6 sigma rollators update for my blog
6 sigma rollators update for my blogMario Ruiz Felix
 
Evolving the Product Management Process to Match Company Growth
Evolving the Product Management Process to Match Company GrowthEvolving the Product Management Process to Match Company Growth
Evolving the Product Management Process to Match Company GrowthSVPMA
 
Software Development 1 June2012
Software Development 1 June2012Software Development 1 June2012
Software Development 1 June2012Jay Encarnacion
 
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Building In Quality: The Beauty Of Behavior Driven Development (BDD)Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Building In Quality: The Beauty Of Behavior Driven Development (BDD)Synerzip
 
How to bake in quality in agile scrum projects
How to bake in quality in agile scrum projectsHow to bake in quality in agile scrum projects
How to bake in quality in agile scrum projectsSantanu Bhattacharya
 
My talk at PMI Sweden Congress 2013 on Agile and Large Software Products
My talk at PMI Sweden Congress 2013 on Agile and Large Software ProductsMy talk at PMI Sweden Congress 2013 on Agile and Large Software Products
My talk at PMI Sweden Congress 2013 on Agile and Large Software ProductsSvante Lidman
 
Agile Software Design
Agile Software DesignAgile Software Design
Agile Software Designeduardomg23
 
Software Quality Plan
Software Quality PlanSoftware Quality Plan
Software Quality Planguy_davis
 
Shirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asShirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asAgileSparks
 
Seng421 08 handout
Seng421 08 handoutSeng421 08 handout
Seng421 08 handoutGohar Sh
 
Shirly Ronen - User story testing activities
Shirly Ronen - User story testing activitiesShirly Ronen - User story testing activities
Shirly Ronen - User story testing activitiesAgileSparks
 
Agile - Iteration 0 CodeMash 2010
Agile - Iteration 0 CodeMash 2010Agile - Iteration 0 CodeMash 2010
Agile - Iteration 0 CodeMash 2010kensipe
 
IP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseIP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseDVClub
 

La actualidad más candente (20)

Real World TDD
Real World TDDReal World TDD
Real World TDD
 
Ravit Danino HP - Roles and Collaboration in Agile
Ravit Danino HP - Roles and Collaboration in AgileRavit Danino HP - Roles and Collaboration in Agile
Ravit Danino HP - Roles and Collaboration in Agile
 
Omnext Source2VALUE
Omnext Source2VALUEOmnext Source2VALUE
Omnext Source2VALUE
 
Scrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - ColomboScrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - Colombo
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
6 sigma rollators update for my blog
6 sigma rollators update for my blog6 sigma rollators update for my blog
6 sigma rollators update for my blog
 
The Sqale method: presentation
The Sqale method: presentationThe Sqale method: presentation
The Sqale method: presentation
 
Evolving the Product Management Process to Match Company Growth
Evolving the Product Management Process to Match Company GrowthEvolving the Product Management Process to Match Company Growth
Evolving the Product Management Process to Match Company Growth
 
Software Development 1 June2012
Software Development 1 June2012Software Development 1 June2012
Software Development 1 June2012
 
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Building In Quality: The Beauty Of Behavior Driven Development (BDD)Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
 
How to bake in quality in agile scrum projects
How to bake in quality in agile scrum projectsHow to bake in quality in agile scrum projects
How to bake in quality in agile scrum projects
 
Whipp q3 2008_sv
Whipp q3 2008_svWhipp q3 2008_sv
Whipp q3 2008_sv
 
My talk at PMI Sweden Congress 2013 on Agile and Large Software Products
My talk at PMI Sweden Congress 2013 on Agile and Large Software ProductsMy talk at PMI Sweden Congress 2013 on Agile and Large Software Products
My talk at PMI Sweden Congress 2013 on Agile and Large Software Products
 
Agile Software Design
Agile Software DesignAgile Software Design
Agile Software Design
 
Software Quality Plan
Software Quality PlanSoftware Quality Plan
Software Quality Plan
 
Shirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asShirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-as
 
Seng421 08 handout
Seng421 08 handoutSeng421 08 handout
Seng421 08 handout
 
Shirly Ronen - User story testing activities
Shirly Ronen - User story testing activitiesShirly Ronen - User story testing activities
Shirly Ronen - User story testing activities
 
Agile - Iteration 0 CodeMash 2010
Agile - Iteration 0 CodeMash 2010Agile - Iteration 0 CodeMash 2010
Agile - Iteration 0 CodeMash 2010
 
IP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseIP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the Enterprise
 

Similar a Managing Software Debt - Quality Debt Focus - QASIG Kirkland

Managing Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG SeattleManaging Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG SeattleChris Sterling
 
Raghwinder_ B.Tech IT Software Testing
Raghwinder_ B.Tech IT Software TestingRaghwinder_ B.Tech IT Software Testing
Raghwinder_ B.Tech IT Software TestingRaghwinder Parshad
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterDeclan Whelan
 
Rtc2014 automate the_process_deliver_quality_ady_beleanu
Rtc2014 automate the_process_deliver_quality_ady_beleanuRtc2014 automate the_process_deliver_quality_ady_beleanu
Rtc2014 automate the_process_deliver_quality_ady_beleanuAdy Beleanu
 
Ady beleanu automate-theprocessdelivery
Ady beleanu   automate-theprocessdeliveryAdy beleanu   automate-theprocessdelivery
Ady beleanu automate-theprocessdeliveryRomania Testing
 
Agile Base Camp - Agile metrics
Agile Base Camp - Agile metricsAgile Base Camp - Agile metrics
Agile Base Camp - Agile metricsSerge Kovaleff
 
Agile and Secure
Agile and SecureAgile and Secure
Agile and SecureDenim Group
 
What CS Class Didn't Teach About Testing
What CS Class Didn't Teach About TestingWhat CS Class Didn't Teach About Testing
What CS Class Didn't Teach About TestingCamille Bell
 
Adressing requirements with agile practices
Adressing requirements with agile practicesAdressing requirements with agile practices
Adressing requirements with agile practicesfboisvert
 
50500113 spiral-model
50500113 spiral-model50500113 spiral-model
50500113 spiral-modelasidharath
 
Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeIndicThreads
 
Backward thinking design qa system for quality goals
Backward thinking   design qa system for quality goalsBackward thinking   design qa system for quality goals
Backward thinking design qa system for quality goalsgaoliang641
 
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011TEST Huddle
 
LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011Lingoport (www.lingoport.com)
 
Dollars and Dates are Killing Agile
Dollars and Dates are Killing AgileDollars and Dates are Killing Agile
Dollars and Dates are Killing AgileRally Software
 
Dollars and dates are killing agile final
Dollars and dates are killing agile finalDollars and dates are killing agile final
Dollars and dates are killing agile finaldrewz lin
 
Project backup repository and avoiding requirements creep
Project backup repository and avoiding requirements creepProject backup repository and avoiding requirements creep
Project backup repository and avoiding requirements creepAswin Vijayakumar
 
QA in an agile world Tom Churchwell
QA in an agile world Tom ChurchwellQA in an agile world Tom Churchwell
QA in an agile world Tom ChurchwellTom Churchwell
 
Let's review it: What designers can learn from (code) review
Let's review it: What designers can learn from (code) reviewLet's review it: What designers can learn from (code) review
Let's review it: What designers can learn from (code) reviewIda Aalen
 

Similar a Managing Software Debt - Quality Debt Focus - QASIG Kirkland (20)

Managing Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG SeattleManaging Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG Seattle
 
Raghwinder_ B.Tech IT Software Testing
Raghwinder_ B.Tech IT Software TestingRaghwinder_ B.Tech IT Software Testing
Raghwinder_ B.Tech IT Software Testing
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
 
Rtc2014 automate the_process_deliver_quality_ady_beleanu
Rtc2014 automate the_process_deliver_quality_ady_beleanuRtc2014 automate the_process_deliver_quality_ady_beleanu
Rtc2014 automate the_process_deliver_quality_ady_beleanu
 
Ady beleanu automate-theprocessdelivery
Ady beleanu   automate-theprocessdeliveryAdy beleanu   automate-theprocessdelivery
Ady beleanu automate-theprocessdelivery
 
Agile Base Camp - Agile metrics
Agile Base Camp - Agile metricsAgile Base Camp - Agile metrics
Agile Base Camp - Agile metrics
 
Agile and Secure
Agile and SecureAgile and Secure
Agile and Secure
 
What CS Class Didn't Teach About Testing
What CS Class Didn't Teach About TestingWhat CS Class Didn't Teach About Testing
What CS Class Didn't Teach About Testing
 
Adressing requirements with agile practices
Adressing requirements with agile practicesAdressing requirements with agile practices
Adressing requirements with agile practices
 
50500113 spiral-model
50500113 spiral-model50500113 spiral-model
50500113 spiral-model
 
Effective Scrum
Effective ScrumEffective Scrum
Effective Scrum
 
Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil Karade
 
Backward thinking design qa system for quality goals
Backward thinking   design qa system for quality goalsBackward thinking   design qa system for quality goals
Backward thinking design qa system for quality goals
 
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
 
LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011
 
Dollars and Dates are Killing Agile
Dollars and Dates are Killing AgileDollars and Dates are Killing Agile
Dollars and Dates are Killing Agile
 
Dollars and dates are killing agile final
Dollars and dates are killing agile finalDollars and dates are killing agile final
Dollars and dates are killing agile final
 
Project backup repository and avoiding requirements creep
Project backup repository and avoiding requirements creepProject backup repository and avoiding requirements creep
Project backup repository and avoiding requirements creep
 
QA in an agile world Tom Churchwell
QA in an agile world Tom ChurchwellQA in an agile world Tom Churchwell
QA in an agile world Tom Churchwell
 
Let's review it: What designers can learn from (code) review
Let's review it: What designers can learn from (code) reviewLet's review it: What designers can learn from (code) review
Let's review it: What designers can learn from (code) review
 

Más de Chris Sterling

Cloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud ServicesCloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud ServicesChris Sterling
 
The DevOps Revolution And Beyond...
The DevOps Revolution And Beyond...The DevOps Revolution And Beyond...
The DevOps Revolution And Beyond...Chris Sterling
 
From Zero to Continuous Validated Learning: Lean Startup on PaaS
From Zero to Continuous Validated Learning: Lean Startup on PaaSFrom Zero to Continuous Validated Learning: Lean Startup on PaaS
From Zero to Continuous Validated Learning: Lean Startup on PaaSChris Sterling
 
Microservices: Aren't Microservices Just SOA?
Microservices: Aren't Microservices Just SOA?Microservices: Aren't Microservices Just SOA?
Microservices: Aren't Microservices Just SOA?Chris Sterling
 
Reduce Time to Value: Focus First on Configuration Management Debt
Reduce Time to Value: Focus First on Configuration Management DebtReduce Time to Value: Focus First on Configuration Management Debt
Reduce Time to Value: Focus First on Configuration Management DebtChris Sterling
 
Managing Software Debt Workshop at Intel
Managing Software Debt Workshop at IntelManaging Software Debt Workshop at Intel
Managing Software Debt Workshop at IntelChris Sterling
 
Recognizing Software Debt - Beyond Agile Puget Sound
Recognizing Software Debt - Beyond Agile Puget SoundRecognizing Software Debt - Beyond Agile Puget Sound
Recognizing Software Debt - Beyond Agile Puget SoundChris Sterling
 
Dollars and Dates are Killing Agile
Dollars and Dates are Killing AgileDollars and Dates are Killing Agile
Dollars and Dates are Killing AgileChris Sterling
 
Integrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio ManagementIntegrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio ManagementChris Sterling
 
The Software Debt Bubble: Is It About to Burst
The Software Debt Bubble: Is It About to BurstThe Software Debt Bubble: Is It About to Burst
The Software Debt Bubble: Is It About to BurstChris Sterling
 
Towards a Push-Button Release
Towards a Push-Button ReleaseTowards a Push-Button Release
Towards a Push-Button ReleaseChris Sterling
 
Testing in an Agile Context 2011
Testing in an Agile Context 2011Testing in an Agile Context 2011
Testing in an Agile Context 2011Chris Sterling
 
Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011Chris Sterling
 
Managing Software Debt - Federal Reserve Bank
Managing Software Debt - Federal Reserve BankManaging Software Debt - Federal Reserve Bank
Managing Software Debt - Federal Reserve BankChris Sterling
 
Managing softwaredebt agilepalooza-redmond-sept2010
Managing softwaredebt agilepalooza-redmond-sept2010Managing softwaredebt agilepalooza-redmond-sept2010
Managing softwaredebt agilepalooza-redmond-sept2010Chris Sterling
 
UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...
UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...
UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...Chris Sterling
 
UW Agile CP202 Class 3 Managing Software Debt
UW Agile CP202 Class 3 Managing Software DebtUW Agile CP202 Class 3 Managing Software Debt
UW Agile CP202 Class 3 Managing Software DebtChris Sterling
 
UW Agile CP202 - Class 1 User Stories
UW Agile CP202 - Class 1 User StoriesUW Agile CP202 - Class 1 User Stories
UW Agile CP202 - Class 1 User StoriesChris Sterling
 
Managing Software Debt Agile Bazaar
Managing Software Debt Agile BazaarManaging Software Debt Agile Bazaar
Managing Software Debt Agile BazaarChris Sterling
 
Intro To Tdd Agile Palooza
Intro To Tdd Agile PaloozaIntro To Tdd Agile Palooza
Intro To Tdd Agile PaloozaChris Sterling
 

Más de Chris Sterling (20)

Cloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud ServicesCloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud Services
 
The DevOps Revolution And Beyond...
The DevOps Revolution And Beyond...The DevOps Revolution And Beyond...
The DevOps Revolution And Beyond...
 
From Zero to Continuous Validated Learning: Lean Startup on PaaS
From Zero to Continuous Validated Learning: Lean Startup on PaaSFrom Zero to Continuous Validated Learning: Lean Startup on PaaS
From Zero to Continuous Validated Learning: Lean Startup on PaaS
 
Microservices: Aren't Microservices Just SOA?
Microservices: Aren't Microservices Just SOA?Microservices: Aren't Microservices Just SOA?
Microservices: Aren't Microservices Just SOA?
 
Reduce Time to Value: Focus First on Configuration Management Debt
Reduce Time to Value: Focus First on Configuration Management DebtReduce Time to Value: Focus First on Configuration Management Debt
Reduce Time to Value: Focus First on Configuration Management Debt
 
Managing Software Debt Workshop at Intel
Managing Software Debt Workshop at IntelManaging Software Debt Workshop at Intel
Managing Software Debt Workshop at Intel
 
Recognizing Software Debt - Beyond Agile Puget Sound
Recognizing Software Debt - Beyond Agile Puget SoundRecognizing Software Debt - Beyond Agile Puget Sound
Recognizing Software Debt - Beyond Agile Puget Sound
 
Dollars and Dates are Killing Agile
Dollars and Dates are Killing AgileDollars and Dates are Killing Agile
Dollars and Dates are Killing Agile
 
Integrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio ManagementIntegrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio Management
 
The Software Debt Bubble: Is It About to Burst
The Software Debt Bubble: Is It About to BurstThe Software Debt Bubble: Is It About to Burst
The Software Debt Bubble: Is It About to Burst
 
Towards a Push-Button Release
Towards a Push-Button ReleaseTowards a Push-Button Release
Towards a Push-Button Release
 
Testing in an Agile Context 2011
Testing in an Agile Context 2011Testing in an Agile Context 2011
Testing in an Agile Context 2011
 
Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011
 
Managing Software Debt - Federal Reserve Bank
Managing Software Debt - Federal Reserve BankManaging Software Debt - Federal Reserve Bank
Managing Software Debt - Federal Reserve Bank
 
Managing softwaredebt agilepalooza-redmond-sept2010
Managing softwaredebt agilepalooza-redmond-sept2010Managing softwaredebt agilepalooza-redmond-sept2010
Managing softwaredebt agilepalooza-redmond-sept2010
 
UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...
UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...
UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...
 
UW Agile CP202 Class 3 Managing Software Debt
UW Agile CP202 Class 3 Managing Software DebtUW Agile CP202 Class 3 Managing Software Debt
UW Agile CP202 Class 3 Managing Software Debt
 
UW Agile CP202 - Class 1 User Stories
UW Agile CP202 - Class 1 User StoriesUW Agile CP202 - Class 1 User Stories
UW Agile CP202 - Class 1 User Stories
 
Managing Software Debt Agile Bazaar
Managing Software Debt Agile BazaarManaging Software Debt Agile Bazaar
Managing Software Debt Agile Bazaar
 
Intro To Tdd Agile Palooza
Intro To Tdd Agile PaloozaIntro To Tdd Agile Palooza
Intro To Tdd Agile Palooza
 

Managing Software Debt - Quality Debt Focus - QASIG Kirkland

  • 1. Managing  So)ware   Debt  in  Prac2ce     Quality  Debt  Focus  
  • 2. First  Things  First...   Get Rally! www.rallydev.com @csterwa #swdebt 2  
  • 3. Chris  Sterling   • Director  of  Engineering  at  Rally   So)ware  in  Kirkland,  WA  office   • Author  of  Book   Managing  So)ware   Debt:  Building  for  Inevitable  Change   • Consults  on  so)ware  technology,  Agile   technical  prac2ces,  Scrum,  and   effec2ve  management  techniques   • Innova2on  Games®  Trained  Facilitator   Email:  csterling@rallydev.com       Web:  hWp://www.rallydev.com     • Cer2fied  Scrum  Trainer   Follow  me  on  TwiWer:  @csterwa     Blog:  hWp://www.geYngagile.com   Hashtag  for  presenta2on:  #swdebt   • Open  Source  Developer   3  
  • 4. Agenda   •  Managing  So)ware  Debt   •  The   3  Amigos  PaWern   Overview   •  Test-­‐Driven  Design   •  So)ware  Debt  Types   •  Monitoring  Quality   •  Technical   •  The  Power  of  2  Scripts   •  Quality   •  Con2nuous  Integra2on   •  Configura2on  Management   •  Automated  Promo2on   •  Design   •  Advanced  Quality  Metrics   •  Pla]orm  Experience   Trending  and  Analysis   •  Asser2ng  Quality   •  Wrap  Up   •  Defini2on  of  Done   •  So)ware  Debt  Management   Strategy   •  Test  Automa2on   •  The   No  Defect  Mindset   4  
  • 5. Managing  So)ware  Debt   Overview   Let  me  tell  you  a  poten2ally   familiar  story…  
  • 6.
  • 7. Lack  of  emphasis  on  so)ware  quality  aWributes   contributes  to  decay  
  • 8. Principle:     No  maWer  what,  the  cost  of   addressing  so)ware  debt   increases  with  2me.  
  • 9. Types  of  So)ware  Debt   Technical,  Quality,   Configura2on  Management,   Design,  and  Pla]orm   Experience  
  • 10. Why  not  just  call  it  all   Technical  Debt   • Technical  debt  tended  to  focus  more  on   programming  aspects  of  so)ware  delivery  and   le)  out  full  so)ware  development  life  cycle   • Each  type  of  so)ware  debt  can  be  managed  and   monitored  using  different  tools  and  approaches   • Focusing  on  managing  each  type  of  so)ware  debt   simplifies  crea2on  of  an  overall  strategy  that   promotes  holis2c  perspec2ve   10  
  • 11. Types  of  So)ware  Debt   •  Technical  Debt:  These  are  the  ac2vi2es  that  a  team  or  team  members   take  shortcuts  on  now  that  will  impede  future  development  if  le)  as   is.   •  Quality  Debt:  There  is  a  diminishing  ability  to  verify  the  func2onal  and   technical  quality  of  so)ware:  the   Break/Fix  mentality.   •  Configura2on  Management  Debt:  Integra2on  and  release   management  become  more  risky,  complex,  and  error-­‐prone.   •  Design  Debt:  The  cost  of  adding  features  is  increasing  toward  the   point  where  it  is  more  than  the  cost  of  wri2ng  from  scratch.   •  Pla]orm  Experience  Debt:  The  availability  and  alignment  of  people  to   business  objec2ves  that  involve  so)ware  changes  is  becoming  more   limited  or  cost-­‐prohibi2ve.   8  
  • 12. Asser2ng  Quality   Teams  must  focus  on  asser2ng   sustainable  quality  to  support   future  customer  needs  in  a   2mely  manner  
  • 13. Defini2on  of  Done   So)ware  developments  assert   what  finished,  working   so)ware  entails  to  support   predictable  delivery  into  the   future  
  • 14. Defini2on  of  Done  -­‐  Assert  Quality   " Acceptance defined criteria for each " Tested on FE user story " Integration test written & passes " Unit tests written and passed " Test code reviewed " Code compiles with no errors and no " Environment requirements documented warnings " New code doesn t break existing code " Interface document updated/added and checked in to SVN " Test case review (Dev to review test " Acceptance criteria verified complete case written) " Architectural impact assessed and " All P1-P3 bugs for the story are closed artifacts updated if necessary " Test approves user story " Comments in code " Story demonstrated to product owner and accepted on Target Platform " Error codes added " Code reviewed by peer " Code checked in with reference to US#/Task# 14  
  • 15. Release  Defini2on  of  Done   • Every  release  should  have  clear  quality  criteria   • With  a   Release  Defini2on  of  Done  you  can   understand  targets  beWer   • Measure  the  gap  between  the  teams  Defini2on   of  Done  and  a  Release  Defini2on  of  Done.   •  This  gap  is  a  source  of  quality  issues  and  represents   significant  risk  to  schedule  
  • 16. Case  Study:     Test  Automa2on  Reduces  Cost   of  Change  
  • 17. Manual  Regression  Tes2ng   • Tes2ng  was  taking  75  person  hours  during  2  full   test  runs  consis2ng  of:   •  Comprehensive  manual  regression  tes2ng   •  Data  conversion  and  valida2on   • Cost  for  tes2ng  was  $17,000  each  itera2on   17  
  • 18. Introducing  Fit  into  Tes2ng  Process   • A)er  8  itera2ons  team  had  introduced  healthy   amount  of  Fit  fixtures  and  automated  tests   • Reduced  70+  hour  test  run2me  down  to  6  hours   which  now  included:   •  Fit  automated  regression  tes2ng     •  Data  conversion  and  valida2on  automated  with  Fit   fixtures     • Reduced  cost  of  tes2ng  each  itera2on  from   $17,000  to  $7,000   18  
  • 19. The  Agile  Regression  Tes2ng  Triangle*   Smoke++  Tests   Risk-­‐based  UI  &   API  Automated   Integra2on  Tests   Tests   Automated  &   Exploratory   Automated  Unit  Tests   Make  up  largest  por2on  of   regression  tests  and  are   developed  by  programmers   *  The  Agile  Triangle  has  been  modified  from  Mike  Cohn’s  original  version   19  
  • 20. The   3  Amigos  PaWern*   Quickly  get  testers,  coders,   and  business  on  the  same  page   before  building  based  on  a   requirement   *  The  Three  Amigos  paWern  originally  coined  by  George  Dinwiddie   hWp://www.s2ckyminds.com/s.asp?F=S17232_COL_2    
  • 21. The  Three  Amigos  PaWern   As a Shopper I want to receive updates on incredible deals that are located near my home so that I can save money on my purchases Acceptance Criteria: • Save Shopper’s location • Ask Shopper if they want to receive localized deals daily • Send notification of incredible deals to Shoppers located within 10 miles each morning • Allow Shopper to stop receiving localized deals 21  
  • 22. The  Three  Amigos  PaWern   As a Shopper I want to receive updates on incredible deals that are located near my home so that I can save money on my purchases • What  areas  of  the  applica2on  will  this  affect?   • What  is  the  overall  design?  (UI,  API,  UX,  etc…)   • What  are  the  details  test  cases  for  this  user  story   and  it’s  acceptance  criteria?   • What  about  nega2ve  test  condi2ons?   • What  about  boundary  condi2ons?   • How  might  we  put  exis2ng  func2onality  at  risk?   22  
  • 23. The  Three  Amigos  PaWern   • At  minimum  include   tester,  coder  &   business  rep  in   discussion   • Should  only  take  30   minutes  to  1  hour  for   user  stories   • Focus  on  clarifica2on   and  design  through   testable  inputs/ outputs   23  
  • 25. Release  Management   If  releases  are  like  giving   birth,  then  you  must  be  doing   something  wrong.  -­‐  Robert   Benefield  
  • 26. Case  Study:  Enterprise  Agile  Adop2on   •  180+  person   Web  2.0  product  organiza2on   •  Waterfall  SDLC  that  development  uses  to  deliver  in  6  month  release   cycles   •  Want  to  use  Agile  methods  to  be  more  responsive  to  users  and  keep  up   with  other   Web  2.0  companies   •  Transi2oned  to  Agile  methods  on  15  teams  in  3  months   •  Changed  release  management  strategy,  added  XP  technical  prac2ces,   and  implemented  Scrum  product  development  framework  for  scaled   coordina2on   •  Able  to  release  every  week  to  users  within  4  months   •  Used  streamlined  deployment  environment  process  to  validate  product   changes  daily  using  Con2nuous  Integra2on  and  automated  promo2ons   26  
  • 27. The  Power  of  2  Scripts:  Deploy  &  Rollback   27  
  • 28. Tradi2onal  Source  Control  Management   Code   Complete   Version  1   Integrate  for   Branch   Version  2   Debt   Main  Branch   Death  March   {   Debt  accrues  quickly  within  stabiliza2on  periods   28  
  • 29. Flexible  Source  Control  Management   Version 1 Version 2 Main Branch { Not Easy! Must have proper infrastructure to do this. 29  
  • 30. Scaling  Con2nuous  Integra2on   End-­‐to-­‐End  &   Load/Stress   Integrated   Component   Valida2on   Component   Valida2on   30  
  • 31. Automated  Promo2on  to  Environments   31  
  • 32. Advanced  Quality  Asser2ons     Using  Automated  Tools  and   Dashboards  
  • 34. Quality  Dashboard  -­‐  Sonar   34  
  • 35. Quality  Dashboard  -­‐  Sonar   35  
  • 36. Quality  Dashboard  -­‐  Sonar   36  
  • 37. Quality  Dashboard  -­‐  Sonar   37  
  • 38. Early  Warning  Signs   Early  Warnings:   • Broken  Builds   • Broken  Automated  Tests   • Broken  Custom  Thresholds   38  
  • 39. Early  Warning  on  Quality  Dashboard   Early  Warnings:   • Design  Debt  in  Duplica2on  (DRY)   • Technical  Debt  in  Code  Complexity   • Quality  Debt  in  Bug  DB  (Break/Fix)   • Other  Custom  Thresholds   39  
  • 40. The   No  Defect  Mindset   What  he  needs  is  some  way   to  pay  back.  Not  some  way  to   borrow  more.  -­‐-­‐  Will  Rogers   39  
  • 41. Ken  Schwaber     For  every  [dollar]  of  compe22ve   advantage  gained  by  cuYng  quality,  it   costs  $4  to  restore  it;  and  so)ware  is   an  organiza2onal  asset  and  decisions   to  cut  quality  must  be  made  by   execu2ve  management  and  reflected   in  the  financial  statements.   hWp://www.infoq.com/presenta2ons/agile-­‐quality-­‐canary-­‐coalmine  
  • 42. Case  Study:  Field  Support  Applica2on   •  2000+  users  access  applica2on  each  day   •  Applica2on  supports  mul2ple  perspec2ves  and  workflows   from  Field  Support  Opera2ons  to  Customer  Service   •  Team  of  5  people  delivering  features  on  exis2ng  Cold  Fusion   pla]orm  implementa2on   •  Migra2ng  Architecture  to  Spring/Hibernate  in  slices  while   s2ll  delivering  valuable  features   •  36  2-­‐week  Sprints,  33  produc2on  releases,  and  only  1  defect   found  in  produc2on   •  So,  what  was  the  defect  you  say?  Let  me  tell  you…   40  
  • 43. Can  We  Afford  a   No  Defect  Policy?   •  This  team  worked  on  legacy  codebase  inherited  from  another   vendor   •  Other  vendor  had  been  slowing  down  month  a)er  month  and   cost  of  development  was  increasing   •  In  first  itera2on  this  team  was  able  to  deliver  more  than  other   vendor  was  able  to  in  previous  2  months   •  A)er  24  itera2ons  this  team  was  10  2mes  faster  delivery  than1st   itera2on   •  Acceptance  Test-­‐Driven  Development  and  Con2nuous  Integra2on   were  greatest  technical  factors  to  support  team  in  these  results   •  Can  you  afford  not  to  have  a   No  Defect  policy?   41  
  • 44. Thank  you!   Ques2ons  and  Answers   [Time  permiYng]  
  • 45. Chris  Sterling   Director  of  Engineering  at  Rally  So)ware   in  Kirkland,  WA  office   Author  of  Book   Managing  So)ware   Debt:  Building  for  Inevitable  Change   Consults  on  so)ware  technology,  Agile   technical  prac2ces,  Scrum,  and  effec2ve   management  techniques   Innova2on  Games®  Trained  Facilitator   Email:  csterling@rallydev.com       Web:  hWp://www.rallydev.com     Cer2fied  Scrum  Trainer   Follow  me  on  TwiWer:  @csterwa     Blog:  hWp://www.geYngagile.com   Hashtag  for  presenta2on:  #swdebt   Open  Source  Developer