SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
Recognizing	
  So+ware	
  Debt




Wednesday, November 30, 2011
Chris	
  Sterling
            Co-­‐founder	
  of	
  Agile	
  Advantage	
  and	
  VP	
  of	
  
           Engineering	
  (www.AgileAdvantage.com)	
  
            Author	
  of	
  Book	
  “Managing	
  SoAware	
  
           Debt:	
  Building	
  for	
  Inevitable	
  Change”
            Consults	
  on	
  soAware	
  technology,	
  Agile	
  
           technical	
  pracKces,	
  Scrum,	
  and	
  effecKve	
  
           management	
  techniques
            CerKfied	
  Scrum	
  Trainer
                                                                              Email:	
  chris@agileadvantage.com	
  
            InnovaKon	
  Games®	
  Trained	
  Facilitator                     Web:	
  h3p://www.agileadvantage.com
                                                                              Follow	
  me	
  on	
  Twi0er:	
  @csterwa
            Open	
  Source	
  Developer                                       Blog:	
  h3p://www.ge8ngagile.com
                                                                              Hashtag	
  for	
  presenta:on:	
  #swdebt




                                                                                                                   2
Wednesday, November 30, 2011
Go	
  to	
  ImpedimentMonkey.com!!!




                               Send	
  an	
  email	
  to	
  Louie@impedimentmonkey.com	
  to	
  
                                  get	
  invited	
  with	
  your	
  first	
  impediment	
  now!!!   3
Wednesday, November 30, 2011
Agenda
              Managing	
  SoAware	
  Debt          • ConKnuous	
  IntegraKon
            • An	
  Overview                       • Quality	
  Dashboards
              Types	
  of	
  SoAware	
  Debt        Release	
  Management
            •   Technical                          • The	
  Power	
  of	
  2	
  Scripts:	
  
            •   Quality                              Deploy	
  and	
  Rollback
            •   ConfiguraKon	
  Management          • ConKnuous	
  IntegraKon
            •   Design                             • Automated	
  PromoKon
            •   PlaUorm	
  Experience              • Turn	
  On/Off	
  Features

              Balancing	
  Signal	
  to	
  Noise    Exercise
            • DefiniKon	
  of	
  Done               • SoAware	
  Debt	
  Management	
  
                                                     Strategy
            • Source	
  Control	
  Management

                                                                                               4
Wednesday, November 30, 2011
Managing	
  So+ware	
  Debt
                                   An	
  Overview




Wednesday, November 30, 2011
THE	
  DISECONOMIES	
  OF	
  SCALE	
  IN	
  
SOFTWARE	
  DEVELOPMENT*
        Project	
  size	
  is	
  easily	
  the	
  most	
  significant	
  
     determinant	
  of	
  effort,	
  cost	
  and	
  schedule	
  [for	
  a	
  
     soIware	
  project].




                        *	
  “SoIware	
  Es:ma:on:	
  Demys:fying	
  the	
  Black	
  Art	
  “	
  –	
  Steve	
  McConnell



Wednesday, November 30, 2011
Big	
  Ball	
  of	
  Mud
           “A	
  Big	
  Ball	
  of	
  Mud	
  is	
  a	
  haphazardly	
  structured,	
  sprawling,	
  sloppy,	
  
           duct-­‐tape-­‐and-­‐baling-­‐wire,	
  spagheZ-­‐code	
  jungle.	
  These	
  systems	
  
           show	
  unmistakable	
  signs	
  of	
  unregulated	
  growth,	
  and	
  repeated,	
  
           expedient	
  repair.	
  Informa:on	
  is	
  shared	
  promiscuously	
  among	
  
           distant	
  elements	
  of	
  the	
  system,	
  oIen	
  to	
  the	
  point	
  where	
  nearly	
  all	
  
           the	
  important	
  informa:on	
  becomes	
  global	
  or	
  duplicated.	
  The	
  
           overall	
  structure	
  of	
  the	
  system	
  may	
  never	
  have	
  been	
  well	
  defined.	
  If	
  
           it	
  was,	
  it	
  may	
  have	
  eroded	
  beyond	
  recogni:on.	
  Programmers	
  with	
  a	
  
           shred	
  of	
  architectural	
  sensibility	
  shun	
  these	
  quagmires.	
  Only	
  those	
  
           who	
  are	
  unconcerned	
  about	
  architecture,	
  and,	
  perhaps,	
  are	
  
           comfortable	
  with	
  the	
  iner:a	
  of	
  the	
  day-­‐to-­‐day	
  chore	
  of	
  patching	
  the	
  
           holes	
  in	
  these	
  failing	
  dikes,	
  are	
  content	
  to	
  work	
  on	
  such	
  systems.”	
  *
                  *	
  Brian	
  Foote	
  and	
  Joseph	
  Yoder,	
  Big	
  Ball	
  of	
  Mud.	
  
                  Fourth	
  Conference	
  on	
  Pa0erns	
  Languages	
  of	
  Programs	
  (PLoP	
  '97/EuroPLoP	
  '97)	
  
                  Mon:cello,	
  Illinois,	
  September	
  1997


Wednesday, November 30, 2011
Wednesday, November 30, 2011
Lack	
  of	
  emphasis	
  on	
  so'ware	
  quality	
  a2ributes	
  
           contributes	
  to	
  decay




Wednesday, November 30, 2011
Types	
  of	
  So+ware	
  Debt




Wednesday, November 30, 2011
Why	
  not	
  just	
  call	
  it	
  all	
  “ Technical	
  Debt”
             Technical	
  debt	
  tended	
  to	
  focus	
  more	
  on	
  
           programming	
  aspects	
  of	
  soIware	
  delivery	
  and	
  
           leI	
  out	
  full	
  soIware	
  development	
  life	
  cycle
             Each	
  type	
  of	
  soIware	
  debt	
  can	
  be	
  managed	
  and	
  
           monitored	
  using	
  different	
  tools	
  and	
  approaches
             Focusing	
  on	
  managing	
  each	
  type	
  of	
  soIware	
  
           debt	
  simplifies	
  crea:on	
  of	
  an	
  overall	
  strategy	
  that	
  
           promotes	
  holis:c	
  perspec:ve


                                                                                    11
Wednesday, November 30, 2011
Types	
  of	
  SoIware	
  Debt
            Technical	
  Debt:	
  These	
  are	
  the	
  ac:vi:es	
  that	
  a	
  team	
  or	
  team	
  
           members	
  do	
  not	
  to	
  do	
  well	
  now	
  that	
  will	
  impede	
  future	
  
           development	
  if	
  leI	
  as	
  is.
            Quality	
  Debt:	
  There	
  is	
  a	
  diminishing	
  ability	
  to	
  verify	
  the	
  func:onal	
  
           and	
  technical	
  quality	
  of	
  soIware:	
  the	
  “Break/Fix”	
  mentality.
            ConfiguraHon	
  Management	
  Debt:	
  Integra:on	
  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	
  wri:ng	
  from	
  scratch.
            PlaJorm	
  Experience	
  Debt:	
  The	
  availability	
  and	
  alignment	
  of	
  people	
  
           to	
  business	
  objec:ves	
  that	
  involve	
  soIware	
  changes	
  is	
  becoming	
  
           more	
  limited	
  or	
  cost-­‐prohibi:ve.


                                                                                                                 8

Wednesday, November 30, 2011
Principle:	
  No	
  maOer	
  what,	
  the	
  cost	
  of	
  
                          addressing	
  so+ware	
  debt	
  increases	
  
                                             with	
  Hme.



Wednesday, November 30, 2011
Balancing	
  Signal	
  to	
  Noise	
  at	
  Scale




Wednesday, November 30, 2011
Balancing	
  Signal	
  Indicators	
  

                                    Value




                 Quality                                     Constraints
                               Source:	
  Jim	
  Highsmith   (Schedule,	
  Cost,	
  Scope)




                                                                                             15
Wednesday, November 30, 2011
DefiniMon	
  of	
  Done	
  -­‐	
  Assert	
  Quality
              Acceptance defined criteria for each    Code checked in with reference to
              user story                             US#/Task#
              Unit tests written and passed          Tested on FE
              Code compiles with no errors and no    Integration test written & passes
              warnings
                                                     Test code reviewed
              New code doesn’t break existing code
                                                     Environment requirements documented
              Test case review (Dev to review test
                                                     Interface document updated/added
              case written)
                                                     and checked in to SVN
              Architectural impact assessed and
                                                     Acceptance criteria verified complete
              artifacts updated if necessary
                                                     All P1-P3 bugs for the story are
              Comments in code
                                                     closed
              Error codes added
                                                     Test approves user story
              Code reviewed by peer
                                                     Story demonstrated to product owner
                                                     and accepted on Target Platform




                                                                                            16
Wednesday, November 30, 2011
Release	
  DefiniMon	
  of	
  Done
            Every	
  release	
  should	
  have	
  clear	
  quality	
  criteria
            With	
  a	
  “Release	
  Defini:on	
  of	
  Done”	
  you	
  can	
  
           understand	
  targets	
  be0er
            Measure	
  the	
  gap	
  between	
  the	
  teams’	
  Defini:on	
  
           of	
  Done	
  and	
  a	
  Release	
  Defini:on	
  of	
  Done.
            • This	
  gap	
  is	
  a	
  source	
  of	
  quality	
  issues	
  and	
  represents	
  
              significant	
  risk	
  to	
  schedule




Wednesday, November 30, 2011
Release	
  DefiniMon	
  of	
  Done
            Every	
  release	
  should	
  have	
  clear	
  quality	
  criteria
            With	
  a	
  “Release	
  Defini:on	
  of	
  Done”	
  you	
  can	
  
           understand	
  targets	
  be0er
            Measure	
  the	
  gap	
  between	
  the	
  teams’	
  Defini:on	
  
           of	
  Done	
  and	
  a	
  Release	
  Defini:on	
  of	
  Done.
            • This	
  gap	
  is	
  a	
  source	
  of	
  quality	
  issues	
  and	
  represents	
  
              significant	
  risk	
  to	
  schedule




Wednesday, November 30, 2011
TradiMonal	
  Source	
  Control	
  Management




                                          18
Wednesday, November 30, 2011
TradiMonal	
  Source	
  Control	
  Management



                                 Main	
  Branch




                                                  18
Wednesday, November 30, 2011
TradiMonal	
  Source	
  Control	
  Management

                               Code
                               Complete
               Version	
  1               Integrate	
  for
               Branch                     Version	
  2


                                                             Main	
  Branch




                                                                              18
Wednesday, November 30, 2011
TradiMonal	
  Source	
  Control	
  Management

                                            Code
                                            Complete
               Version	
  1                            Integrate	
  for
               Branch                                  Version	
  2


                                                  Debt                    Main	
  Branch

                               Death	
  March




                                                                                           18
Wednesday, November 30, 2011
TradiMonal	
  Source	
  Control	
  Management

                                                   Code
                                                   Complete
               Version	
  1                                         Integrate	
  for
               Branch                                               Version	
  2


                                                             Debt                        Main	
  Branch

                                Death	
  March



                                                     {
                               Debt	
  accrues	
  quickly	
  within	
  stabilizaHon	
  periods




                                                                                                          18
Wednesday, November 30, 2011
Flexible	
  Source	
  Control	
  Management




                                              19
Wednesday, November 30, 2011
Flexible	
  Source	
  Control	
  Management



                                Main Branch




                                              19
Wednesday, November 30, 2011
Flexible	
  Source	
  Control	
  Management


              Version 1

                                Main Branch




                                              19
Wednesday, November 30, 2011
Flexible	
  Source	
  Control	
  Management


              Version 1        Version 2

                                           Main Branch




                                                         19
Wednesday, November 30, 2011
Flexible	
  Source	
  Control	
  Management


              Version 1                     Version 2

                                                           Main Branch


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




                                                                         19
Wednesday, November 30, 2011
ConMnuous	
  IntegraMon




                               20
Wednesday, November 30, 2011
Quality	
  Dashboard	
  -­‐	
  Sonar




                                       21
Wednesday, November 30, 2011
Quality	
  Dashboard	
  -­‐	
  Sonar




                                       22
Wednesday, November 30, 2011
Quality	
  Dashboard	
  -­‐	
  Sonar




                                       23
Wednesday, November 30, 2011
Quality	
  Dashboard	
  -­‐	
  Sonar




                                       24
Wednesday, November 30, 2011
Early	
  Warning	
  Signs




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


                                         25
Wednesday, November 30, 2011
Early	
  Warning	
  on	
  Quality	
  Dashboard




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


                                                                           26
Wednesday, November 30, 2011
Release	
  Management	
  Strategy




Wednesday, November 30, 2011
“If	
  releases	
  are	
  like	
  giving	
  birth,	
  then	
  
                        you	
  must	
  be	
  doing	
  something	
  wrong.”	
  
                                       -­‐	
  Robert	
  Benefield



Wednesday, November 30, 2011
Case	
  Study:	
  Enterprise	
  Agile	
  AdopMon
            180+	
  person	
  “Web	
  2.0”	
  product	
  organiza:on
            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
            Transi:oned	
  to	
  Agile	
  methods	
  on	
  15	
  teams	
  in	
  3	
  months
            Changed	
  release	
  management	
  strategy,	
  added	
  XP	
  technical	
  prac:ces,	
  
           and	
  implemented	
  Scrum	
  product	
  development	
  framework	
  for	
  scaled	
  
           coordina:on
            Able	
  to	
  release	
  every	
  week	
  to	
  users	
  within	
  4	
  months
            Used	
  streamlined	
  deployment	
  environment	
  process	
  to	
  validate	
  product	
  
           changes	
  daily	
  using	
  Con:nuous	
  Integra:on	
  and	
  automated	
  promo:ons



                                                                                                                         29
Wednesday, November 30, 2011
The	
  Power	
  of	
  2	
  Scripts:	
  Deploy	
  &	
  Rollback




                                                          30
Wednesday, November 30, 2011
Scaling	
  ConMnuous	
  IntegraMon

  End-­‐to-­‐End	
  &
   Load/Stress




     Integrated	
  
    Component
     ValidaHon


   Component
    ValidaHon


                                     31
Wednesday, November 30, 2011
Automated	
  PromoMon	
  to	
  Environments




                                         32
Wednesday, November 30, 2011
The	
  value	
  of	
  technical	
  aspects	
  in	
  an	
  
                       applica:on	
  or	
  its	
  surrounding	
  infrastructure	
  
                           is	
  the	
  cost	
  of	
  not	
  addressing	
  them.



                                                                        29
Wednesday, November 30, 2011
Describe	
  as	
  Abuse	
  User	
  Stories




        Implement Security
        for User Information




                               *	
  From	
  “User	
  Stories	
  Applied”	
  presented	
  by	
  Mike	
  Cohn	
  Agile	
  2006	
  




                                                                                                                                   30

Wednesday, November 30, 2011
Describe	
  as	
  Abuse	
  User	
  Stories




        Implement Security                                                                         As a Malicious Hacker I
                                                                                                   want to steal credit card
        for User Information
                                                                                                   information so that I can
                                                                                                   make fraudulent charges



                               *	
  From	
  “User	
  Stories	
  Applied”	
  presented	
  by	
  Mike	
  Cohn	
  Agile	
  2006	
  




                                                                                                                                   30

Wednesday, November 30, 2011
Some	
  PotenMal	
  Abusers
       • Malicious	
  Hacker
       • Mass	
  of	
  users
       • SQL	
  injector
       • Disgruntled	
  employee
       • Naïve	
  API	
  user
       • ImpaBent	
  clicker
       • Denial-­‐of-­‐service	
  (DoS)	
  aFacker
       • Sleazy	
  user




                                                     31

Wednesday, November 30, 2011
SoIware	
  Quality	
  A0ributes	
  Defined




                                            32

Wednesday, November 30, 2011
SoIware	
  Quality	
  A0ributes	
  Ra:ng	
  Tool




                                                   33

Wednesday, November 30, 2011
Put	
  SoIware	
  Debt	
  on	
  Product	
  Roadmap




                               *	
  Image	
  from	
  Dean	
  Leffingwell’s	
  blog	
  -­‐	
  h0p://scalingsoIwareagility.wordpress.com/



                                                                                                                        34              38
Wednesday, November 30, 2011
Exercise:	
  So+ware	
  Debt	
  Management	
  
                                          Strategy




Wednesday, November 30, 2011
Thank	
  you!
                               QuesHons	
  &	
  Answers




Wednesday, November 30, 2011
Come	
  see	
  us	
  at	
  AgileAdvantage.com




                                                41
Wednesday, November 30, 2011

Contenu connexe

Tendances

Earned Value Management and Agile Tips for Success
Earned Value Management and Agile Tips for Success Earned Value Management and Agile Tips for Success
Earned Value Management and Agile Tips for Success Brent Barton
 
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
 
Mary Poppendieck: Agile under contract
Mary Poppendieck: Agile under contractMary Poppendieck: Agile under contract
Mary Poppendieck: Agile under contractAgile Lietuva
 
Agile Project Management and Scrum Introduction
Agile Project Management and Scrum IntroductionAgile Project Management and Scrum Introduction
Agile Project Management and Scrum IntroductionEric Krock
 
"Lean software development: discovering waste" by Mary Poppendieck
"Lean software development: discovering waste" by Mary Poppendieck"Lean software development: discovering waste" by Mary Poppendieck
"Lean software development: discovering waste" by Mary PoppendieckOperae Partners
 
Simple Measurements #2
Simple Measurements #2Simple Measurements #2
Simple Measurements #2Schalk Cronjé
 
Boeing Webinar - Integrating Quality in Portfolio Management - oct 2010
Boeing Webinar - Integrating Quality in Portfolio Management -  oct 2010Boeing Webinar - Integrating Quality in Portfolio Management -  oct 2010
Boeing Webinar - Integrating Quality in Portfolio Management - oct 2010Brent Barton
 
5 Ingredients Of The EVM Secret Sauce V Final
5 Ingredients Of The EVM Secret Sauce V Final5 Ingredients Of The EVM Secret Sauce V Final
5 Ingredients Of The EVM Secret Sauce V Finalphlckb
 
James Lyndsay - Testing in an agile environment
James Lyndsay - Testing in an agile environmentJames Lyndsay - Testing in an agile environment
James Lyndsay - Testing in an agile environmentDavid O'Dowd
 
Stop the Line practice in SW development
Stop the Line practice in SW developmentStop the Line practice in SW development
Stop the Line practice in SW developmentGabor Gunyho
 
Product Ownership Challenges
Product Ownership ChallengesProduct Ownership Challenges
Product Ownership ChallengesKen Power
 
Mary Poppendieck “It’s Not About Software”
Mary Poppendieck  “It’s Not About Software”Mary Poppendieck  “It’s Not About Software”
Mary Poppendieck “It’s Not About Software”Agileee
 
Agile User Experience
Agile User ExperienceAgile User Experience
Agile User ExperienceACM
 
Faster apps. faster time to market. faster mean time to repair
Faster apps. faster time to market. faster mean time to repairFaster apps. faster time to market. faster mean time to repair
Faster apps. faster time to market. faster mean time to repairCompuware ASEAN
 
The Agile Gap: Closing it with User Experience
The Agile Gap: Closing it with User ExperienceThe Agile Gap: Closing it with User Experience
The Agile Gap: Closing it with User Experiencekalebwalton
 

Tendances (20)

Earned Value Management and Agile Tips for Success
Earned Value Management and Agile Tips for Success Earned Value Management and Agile Tips for Success
Earned Value Management and Agile Tips for Success
 
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
 
Value stream mapping
Value stream mapping  Value stream mapping
Value stream mapping
 
Mary Poppendieck: Agile under contract
Mary Poppendieck: Agile under contractMary Poppendieck: Agile under contract
Mary Poppendieck: Agile under contract
 
Agile Project Management and Scrum Introduction
Agile Project Management and Scrum IntroductionAgile Project Management and Scrum Introduction
Agile Project Management and Scrum Introduction
 
"Lean software development: discovering waste" by Mary Poppendieck
"Lean software development: discovering waste" by Mary Poppendieck"Lean software development: discovering waste" by Mary Poppendieck
"Lean software development: discovering waste" by Mary Poppendieck
 
Simple Measurements #2
Simple Measurements #2Simple Measurements #2
Simple Measurements #2
 
Boeing Webinar - Integrating Quality in Portfolio Management - oct 2010
Boeing Webinar - Integrating Quality in Portfolio Management -  oct 2010Boeing Webinar - Integrating Quality in Portfolio Management -  oct 2010
Boeing Webinar - Integrating Quality in Portfolio Management - oct 2010
 
5 Ingredients Of The EVM Secret Sauce V Final
5 Ingredients Of The EVM Secret Sauce V Final5 Ingredients Of The EVM Secret Sauce V Final
5 Ingredients Of The EVM Secret Sauce V Final
 
James Lyndsay - Testing in an agile environment
James Lyndsay - Testing in an agile environmentJames Lyndsay - Testing in an agile environment
James Lyndsay - Testing in an agile environment
 
Simple measurements
Simple measurementsSimple measurements
Simple measurements
 
Stop the Line practice in SW development
Stop the Line practice in SW developmentStop the Line practice in SW development
Stop the Line practice in SW development
 
Product Ownership Challenges
Product Ownership ChallengesProduct Ownership Challenges
Product Ownership Challenges
 
Mary Poppendieck “It’s Not About Software”
Mary Poppendieck  “It’s Not About Software”Mary Poppendieck  “It’s Not About Software”
Mary Poppendieck “It’s Not About Software”
 
Oop 2
Oop 2Oop 2
Oop 2
 
Agile Planning
Agile PlanningAgile Planning
Agile Planning
 
Agile User Experience
Agile User ExperienceAgile User Experience
Agile User Experience
 
Faster apps. faster time to market. faster mean time to repair
Faster apps. faster time to market. faster mean time to repairFaster apps. faster time to market. faster mean time to repair
Faster apps. faster time to market. faster mean time to repair
 
The Agile Gap: Closing it with User Experience
The Agile Gap: Closing it with User ExperienceThe Agile Gap: Closing it with User Experience
The Agile Gap: Closing it with User Experience
 
Oop 1
Oop 1Oop 1
Oop 1
 

Similaire à Recognizing Software Debt - Beyond Agile Puget Sound

Managing Software Debt Workshop at Intel
Managing Software Debt Workshop at IntelManaging Software Debt Workshop at Intel
Managing Software Debt Workshop at IntelChris Sterling
 
Integrating Quality into Portfolio Management, PMI Silicon Valley Chapter Din...
Integrating Quality into Portfolio Management, PMI Silicon Valley Chapter Din...Integrating Quality into Portfolio Management, PMI Silicon Valley Chapter Din...
Integrating Quality into Portfolio Management, PMI Silicon Valley Chapter Din...Brent Barton
 
Is Lean UX Agile’s Brain? How Lean UX Fixes Common Agile Challenges
Is Lean UX Agile’s Brain? How Lean UX Fixes Common Agile ChallengesIs Lean UX Agile’s Brain? How Lean UX Fixes Common Agile Challenges
Is Lean UX Agile’s Brain? How Lean UX Fixes Common Agile ChallengesFITC
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010Klocwork
 
Fundamentals of Using Open Source Code to Build Products
Fundamentals of Using Open Source Code to Build ProductsFundamentals of Using Open Source Code to Build Products
Fundamentals of Using Open Source Code to Build ProductsBrian Warner
 
Agile Software Architecture
Agile Software ArchitectureAgile Software Architecture
Agile Software ArchitectureChris F Carroll
 
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
 
DevOps for Defenders in the Enterprise
DevOps for Defenders in the EnterpriseDevOps for Defenders in the Enterprise
DevOps for Defenders in the EnterpriseJames Wickett
 
Sdec 2011 ux_agile_svt
Sdec 2011 ux_agile_svtSdec 2011 ux_agile_svt
Sdec 2011 ux_agile_svtsdeconf
 
Are Agile And Secure Development Mutually Exclusive?
Are Agile And Secure Development Mutually Exclusive?Are Agile And Secure Development Mutually Exclusive?
Are Agile And Secure Development Mutually Exclusive?Source Conference
 
DevOps for the Discouraged
DevOps for the Discouraged DevOps for the Discouraged
DevOps for the Discouraged James Wickett
 
Raji_new_July_2015
Raji_new_July_2015Raji_new_July_2015
Raji_new_July_2015Raja Kumari
 
Agile Testing at eBay
Agile Testing at eBayAgile Testing at eBay
Agile Testing at eBayDominik Dary
 
Introduction to OSLC
Introduction to OSLCIntroduction to OSLC
Introduction to OSLCopenservices
 
DevOps interview questions and answers
DevOps interview questions and answersDevOps interview questions and answers
DevOps interview questions and answersHopeTutors1
 
Dream QA: Designing the QA team where we'd love to work
Dream QA: Designing the QA team where we'd love to workDream QA: Designing the QA team where we'd love to work
Dream QA: Designing the QA team where we'd love to workManuel de la Peña Peña
 
The Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX FactorThe Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX FactorEffectiveUI
 
The Laws of User Experience: Making it or Breaking It with the UX Factor
The Laws of User Experience: Making it or Breaking It with the UX FactorThe Laws of User Experience: Making it or Breaking It with the UX Factor
The Laws of User Experience: Making it or Breaking It with the UX FactorEffective
 
Managing Software Debt - Quality Debt Focus - QASIG Kirkland
Managing Software Debt - Quality Debt Focus - QASIG KirklandManaging Software Debt - Quality Debt Focus - QASIG Kirkland
Managing Software Debt - Quality Debt Focus - QASIG KirklandChris Sterling
 
Detailed design
Detailed designDetailed design
Detailed designjsokohl
 

Similaire à Recognizing Software Debt - Beyond Agile Puget Sound (20)

Managing Software Debt Workshop at Intel
Managing Software Debt Workshop at IntelManaging Software Debt Workshop at Intel
Managing Software Debt Workshop at Intel
 
Integrating Quality into Portfolio Management, PMI Silicon Valley Chapter Din...
Integrating Quality into Portfolio Management, PMI Silicon Valley Chapter Din...Integrating Quality into Portfolio Management, PMI Silicon Valley Chapter Din...
Integrating Quality into Portfolio Management, PMI Silicon Valley Chapter Din...
 
Is Lean UX Agile’s Brain? How Lean UX Fixes Common Agile Challenges
Is Lean UX Agile’s Brain? How Lean UX Fixes Common Agile ChallengesIs Lean UX Agile’s Brain? How Lean UX Fixes Common Agile Challenges
Is Lean UX Agile’s Brain? How Lean UX Fixes Common Agile Challenges
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010
 
Fundamentals of Using Open Source Code to Build Products
Fundamentals of Using Open Source Code to Build ProductsFundamentals of Using Open Source Code to Build Products
Fundamentals of Using Open Source Code to Build Products
 
Agile Software Architecture
Agile Software ArchitectureAgile Software Architecture
Agile Software Architecture
 
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
 
DevOps for Defenders in the Enterprise
DevOps for Defenders in the EnterpriseDevOps for Defenders in the Enterprise
DevOps for Defenders in the Enterprise
 
Sdec 2011 ux_agile_svt
Sdec 2011 ux_agile_svtSdec 2011 ux_agile_svt
Sdec 2011 ux_agile_svt
 
Are Agile And Secure Development Mutually Exclusive?
Are Agile And Secure Development Mutually Exclusive?Are Agile And Secure Development Mutually Exclusive?
Are Agile And Secure Development Mutually Exclusive?
 
DevOps for the Discouraged
DevOps for the Discouraged DevOps for the Discouraged
DevOps for the Discouraged
 
Raji_new_July_2015
Raji_new_July_2015Raji_new_July_2015
Raji_new_July_2015
 
Agile Testing at eBay
Agile Testing at eBayAgile Testing at eBay
Agile Testing at eBay
 
Introduction to OSLC
Introduction to OSLCIntroduction to OSLC
Introduction to OSLC
 
DevOps interview questions and answers
DevOps interview questions and answersDevOps interview questions and answers
DevOps interview questions and answers
 
Dream QA: Designing the QA team where we'd love to work
Dream QA: Designing the QA team where we'd love to workDream QA: Designing the QA team where we'd love to work
Dream QA: Designing the QA team where we'd love to work
 
The Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX FactorThe Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX Factor
 
The Laws of User Experience: Making it or Breaking It with the UX Factor
The Laws of User Experience: Making it or Breaking It with the UX FactorThe Laws of User Experience: Making it or Breaking It with the UX Factor
The Laws of User Experience: Making it or Breaking It with the UX Factor
 
Managing Software Debt - Quality Debt Focus - QASIG Kirkland
Managing Software Debt - Quality Debt Focus - QASIG KirklandManaging Software Debt - Quality Debt Focus - QASIG Kirkland
Managing Software Debt - Quality Debt Focus - QASIG Kirkland
 
Detailed design
Detailed designDetailed design
Detailed design
 

Plus 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 - 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
 
Class5 Scaling And Strategic Planning
Class5 Scaling And Strategic PlanningClass5 Scaling And Strategic Planning
Class5 Scaling And Strategic PlanningChris Sterling
 
Executable Specifications Agile Palooza
Executable Specifications Agile PaloozaExecutable Specifications Agile Palooza
Executable Specifications Agile PaloozaChris Sterling
 
Building Integrity In Seminar
Building Integrity In   SeminarBuilding Integrity In   Seminar
Building Integrity In SeminarChris Sterling
 
UW ADC - Course 3 - Class 1 - User Stories And Acceptance Testing
UW ADC - Course 3 - Class 1 - User Stories And Acceptance TestingUW ADC - Course 3 - Class 1 - User Stories And Acceptance Testing
UW ADC - Course 3 - Class 1 - User Stories And Acceptance TestingChris Sterling
 

Plus de Chris Sterling (16)

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 - 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
 
Class5 Scaling And Strategic Planning
Class5 Scaling And Strategic PlanningClass5 Scaling And Strategic Planning
Class5 Scaling And Strategic Planning
 
Executable Specifications Agile Palooza
Executable Specifications Agile PaloozaExecutable Specifications Agile Palooza
Executable Specifications Agile Palooza
 
Building Integrity In Seminar
Building Integrity In   SeminarBuilding Integrity In   Seminar
Building Integrity In Seminar
 
UW ADC - Course 3 - Class 1 - User Stories And Acceptance Testing
UW ADC - Course 3 - Class 1 - User Stories And Acceptance TestingUW ADC - Course 3 - Class 1 - User Stories And Acceptance Testing
UW ADC - Course 3 - Class 1 - User Stories And Acceptance Testing
 

Dernier

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Dernier (20)

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Recognizing Software Debt - Beyond Agile Puget Sound

  • 2. Chris  Sterling Co-­‐founder  of  Agile  Advantage  and  VP  of   Engineering  (www.AgileAdvantage.com)   Author  of  Book  “Managing  SoAware   Debt:  Building  for  Inevitable  Change” Consults  on  soAware  technology,  Agile   technical  pracKces,  Scrum,  and  effecKve   management  techniques CerKfied  Scrum  Trainer Email:  chris@agileadvantage.com   InnovaKon  Games®  Trained  Facilitator Web:  h3p://www.agileadvantage.com Follow  me  on  Twi0er:  @csterwa Open  Source  Developer Blog:  h3p://www.ge8ngagile.com Hashtag  for  presenta:on:  #swdebt 2 Wednesday, November 30, 2011
  • 3. Go  to  ImpedimentMonkey.com!!! Send  an  email  to  Louie@impedimentmonkey.com  to   get  invited  with  your  first  impediment  now!!! 3 Wednesday, November 30, 2011
  • 4. Agenda Managing  SoAware  Debt • ConKnuous  IntegraKon • An  Overview • Quality  Dashboards Types  of  SoAware  Debt Release  Management • Technical • The  Power  of  2  Scripts:   • Quality Deploy  and  Rollback • ConfiguraKon  Management • ConKnuous  IntegraKon • Design • Automated  PromoKon • PlaUorm  Experience • Turn  On/Off  Features Balancing  Signal  to  Noise Exercise • DefiniKon  of  Done • SoAware  Debt  Management   Strategy • Source  Control  Management 4 Wednesday, November 30, 2011
  • 5. Managing  So+ware  Debt An  Overview Wednesday, November 30, 2011
  • 6. THE  DISECONOMIES  OF  SCALE  IN   SOFTWARE  DEVELOPMENT* Project  size  is  easily  the  most  significant   determinant  of  effort,  cost  and  schedule  [for  a   soIware  project]. *  “SoIware  Es:ma:on:  Demys:fying  the  Black  Art  “  –  Steve  McConnell Wednesday, November 30, 2011
  • 7. Big  Ball  of  Mud “A  Big  Ball  of  Mud  is  a  haphazardly  structured,  sprawling,  sloppy,   duct-­‐tape-­‐and-­‐baling-­‐wire,  spagheZ-­‐code  jungle.  These  systems   show  unmistakable  signs  of  unregulated  growth,  and  repeated,   expedient  repair.  Informa:on  is  shared  promiscuously  among   distant  elements  of  the  system,  oIen  to  the  point  where  nearly  all   the  important  informa:on  becomes  global  or  duplicated.  The   overall  structure  of  the  system  may  never  have  been  well  defined.  If   it  was,  it  may  have  eroded  beyond  recogni:on.  Programmers  with  a   shred  of  architectural  sensibility  shun  these  quagmires.  Only  those   who  are  unconcerned  about  architecture,  and,  perhaps,  are   comfortable  with  the  iner:a  of  the  day-­‐to-­‐day  chore  of  patching  the   holes  in  these  failing  dikes,  are  content  to  work  on  such  systems.”  * *  Brian  Foote  and  Joseph  Yoder,  Big  Ball  of  Mud.   Fourth  Conference  on  Pa0erns  Languages  of  Programs  (PLoP  '97/EuroPLoP  '97)   Mon:cello,  Illinois,  September  1997 Wednesday, November 30, 2011
  • 9. Lack  of  emphasis  on  so'ware  quality  a2ributes   contributes  to  decay Wednesday, November 30, 2011
  • 10. Types  of  So+ware  Debt Wednesday, November 30, 2011
  • 11. Why  not  just  call  it  all  “ Technical  Debt” Technical  debt  tended  to  focus  more  on   programming  aspects  of  soIware  delivery  and   leI  out  full  soIware  development  life  cycle Each  type  of  soIware  debt  can  be  managed  and   monitored  using  different  tools  and  approaches Focusing  on  managing  each  type  of  soIware   debt  simplifies  crea:on  of  an  overall  strategy  that   promotes  holis:c  perspec:ve 11 Wednesday, November 30, 2011
  • 12. Types  of  SoIware  Debt Technical  Debt:  These  are  the  ac:vi:es  that  a  team  or  team   members  do  not  to  do  well  now  that  will  impede  future   development  if  leI  as  is. Quality  Debt:  There  is  a  diminishing  ability  to  verify  the  func:onal   and  technical  quality  of  soIware:  the  “Break/Fix”  mentality. ConfiguraHon  Management  Debt:  Integra:on  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  wri:ng  from  scratch. PlaJorm  Experience  Debt:  The  availability  and  alignment  of  people   to  business  objec:ves  that  involve  soIware  changes  is  becoming   more  limited  or  cost-­‐prohibi:ve. 8 Wednesday, November 30, 2011
  • 13. Principle:  No  maOer  what,  the  cost  of   addressing  so+ware  debt  increases   with  Hme. Wednesday, November 30, 2011
  • 14. Balancing  Signal  to  Noise  at  Scale Wednesday, November 30, 2011
  • 15. Balancing  Signal  Indicators   Value Quality Constraints Source:  Jim  Highsmith (Schedule,  Cost,  Scope) 15 Wednesday, November 30, 2011
  • 16. DefiniMon  of  Done  -­‐  Assert  Quality Acceptance defined criteria for each Code checked in with reference to user story US#/Task# Unit tests written and passed Tested on FE Code compiles with no errors and no Integration test written & passes warnings Test code reviewed New code doesn’t break existing code Environment requirements documented Test case review (Dev to review test Interface document updated/added case written) and checked in to SVN Architectural impact assessed and Acceptance criteria verified complete artifacts updated if necessary All P1-P3 bugs for the story are Comments in code closed Error codes added Test approves user story Code reviewed by peer Story demonstrated to product owner and accepted on Target Platform 16 Wednesday, November 30, 2011
  • 17. Release  DefiniMon  of  Done Every  release  should  have  clear  quality  criteria With  a  “Release  Defini:on  of  Done”  you  can   understand  targets  be0er Measure  the  gap  between  the  teams’  Defini:on   of  Done  and  a  Release  Defini:on  of  Done. • This  gap  is  a  source  of  quality  issues  and  represents   significant  risk  to  schedule Wednesday, November 30, 2011
  • 18. Release  DefiniMon  of  Done Every  release  should  have  clear  quality  criteria With  a  “Release  Defini:on  of  Done”  you  can   understand  targets  be0er Measure  the  gap  between  the  teams’  Defini:on   of  Done  and  a  Release  Defini:on  of  Done. • This  gap  is  a  source  of  quality  issues  and  represents   significant  risk  to  schedule Wednesday, November 30, 2011
  • 19. TradiMonal  Source  Control  Management 18 Wednesday, November 30, 2011
  • 20. TradiMonal  Source  Control  Management Main  Branch 18 Wednesday, November 30, 2011
  • 21. TradiMonal  Source  Control  Management Code Complete Version  1 Integrate  for Branch Version  2 Main  Branch 18 Wednesday, November 30, 2011
  • 22. TradiMonal  Source  Control  Management Code Complete Version  1 Integrate  for Branch Version  2 Debt Main  Branch Death  March 18 Wednesday, November 30, 2011
  • 23. TradiMonal  Source  Control  Management Code Complete Version  1 Integrate  for Branch Version  2 Debt Main  Branch Death  March { Debt  accrues  quickly  within  stabilizaHon  periods 18 Wednesday, November 30, 2011
  • 24. Flexible  Source  Control  Management 19 Wednesday, November 30, 2011
  • 25. Flexible  Source  Control  Management Main Branch 19 Wednesday, November 30, 2011
  • 26. Flexible  Source  Control  Management Version 1 Main Branch 19 Wednesday, November 30, 2011
  • 27. Flexible  Source  Control  Management Version 1 Version 2 Main Branch 19 Wednesday, November 30, 2011
  • 28. Flexible  Source  Control  Management Version 1 Version 2 Main Branch { Not Easy! Must have proper infrastructure to do this. 19 Wednesday, November 30, 2011
  • 29. ConMnuous  IntegraMon 20 Wednesday, November 30, 2011
  • 30. Quality  Dashboard  -­‐  Sonar 21 Wednesday, November 30, 2011
  • 31. Quality  Dashboard  -­‐  Sonar 22 Wednesday, November 30, 2011
  • 32. Quality  Dashboard  -­‐  Sonar 23 Wednesday, November 30, 2011
  • 33. Quality  Dashboard  -­‐  Sonar 24 Wednesday, November 30, 2011
  • 34. Early  Warning  Signs Early  Warnings: •Broken  Builds •Broken  Automated  Tests •Broken  Custom  Thresholds 25 Wednesday, November 30, 2011
  • 35. Early  Warning  on  Quality  Dashboard Early  Warnings: •Design  Debt  in  Duplica:on  (DRY) •Technical  Debt  in  Code  Complexity •Quality  Debt  in  Bug  DB  (Break/Fix) •Other  Custom  Thresholds 26 Wednesday, November 30, 2011
  • 37. “If  releases  are  like  giving  birth,  then   you  must  be  doing  something  wrong.”   -­‐  Robert  Benefield Wednesday, November 30, 2011
  • 38. Case  Study:  Enterprise  Agile  AdopMon 180+  person  “Web  2.0”  product  organiza:on 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 Transi:oned  to  Agile  methods  on  15  teams  in  3  months Changed  release  management  strategy,  added  XP  technical  prac:ces,   and  implemented  Scrum  product  development  framework  for  scaled   coordina:on Able  to  release  every  week  to  users  within  4  months Used  streamlined  deployment  environment  process  to  validate  product   changes  daily  using  Con:nuous  Integra:on  and  automated  promo:ons 29 Wednesday, November 30, 2011
  • 39. The  Power  of  2  Scripts:  Deploy  &  Rollback 30 Wednesday, November 30, 2011
  • 40. Scaling  ConMnuous  IntegraMon End-­‐to-­‐End  & Load/Stress Integrated   Component ValidaHon Component ValidaHon 31 Wednesday, November 30, 2011
  • 41. Automated  PromoMon  to  Environments 32 Wednesday, November 30, 2011
  • 42. The  value  of  technical  aspects  in  an   applica:on  or  its  surrounding  infrastructure   is  the  cost  of  not  addressing  them. 29 Wednesday, November 30, 2011
  • 43. Describe  as  Abuse  User  Stories Implement Security for User Information *  From  “User  Stories  Applied”  presented  by  Mike  Cohn  Agile  2006   30 Wednesday, November 30, 2011
  • 44. Describe  as  Abuse  User  Stories Implement Security As a Malicious Hacker I want to steal credit card for User Information information so that I can make fraudulent charges *  From  “User  Stories  Applied”  presented  by  Mike  Cohn  Agile  2006   30 Wednesday, November 30, 2011
  • 45. Some  PotenMal  Abusers • Malicious  Hacker • Mass  of  users • SQL  injector • Disgruntled  employee • Naïve  API  user • ImpaBent  clicker • Denial-­‐of-­‐service  (DoS)  aFacker • Sleazy  user 31 Wednesday, November 30, 2011
  • 46. SoIware  Quality  A0ributes  Defined 32 Wednesday, November 30, 2011
  • 47. SoIware  Quality  A0ributes  Ra:ng  Tool 33 Wednesday, November 30, 2011
  • 48. Put  SoIware  Debt  on  Product  Roadmap *  Image  from  Dean  Leffingwell’s  blog  -­‐  h0p://scalingsoIwareagility.wordpress.com/ 34 38 Wednesday, November 30, 2011
  • 49. Exercise:  So+ware  Debt  Management   Strategy Wednesday, November 30, 2011
  • 50. Thank  you! QuesHons  &  Answers Wednesday, November 30, 2011
  • 51. Come  see  us  at  AgileAdvantage.com 41 Wednesday, November 30, 2011