SlideShare une entreprise Scribd logo
1  sur  61
Télécharger pour lire hors ligne
Managing Software Debt

    Continued Delivery of High Value as Systems Age




                                                               Chris Sterling
                                                        Technology Consultant / Agile Coach /
                                                                      Certified Scrum Trainer
                                                                   Sterling Barton, LLC
                                                          Web: www.SterlingBarton.com
                                                         Email: chris@sterlingbarton.com
                                                            Blog: www.GettingAgile.com
                                                         Follow Me on Twitter: @csterwa
                                                      Hash Tag for Presentation: #swdebt
Thursday, March 4, 2010                                                                    1
Topics Being Covered

               Problems Found with Aging Software

               Software Debt Explained

                   Technical Debt

                   Quality Debt

                   Configuration Management Debt

                   Design Debt

                   Platform Experience Debt

               The Wrap Up

                   A Story of What is Possible


© 2009-2010,                                        2


Thursday, March 4, 2010                                 2
Problems Found with Aging Software

               Software gets difficult to add features to as it ages

               Business expectations do not lessen as software ages

               Software must remain maintainable and changeable to meet needs of
               business over time




© 2009-2010,                                                                       3


Thursday, March 4, 2010                                                                3
Lack of emphasis on software quality attributes
     contributes to decay




© 2009-2010,                                           4


Thursday, March 4, 2010                                    4
Like-to-Like Migrations

               “It will be easy since we worked on the original version” - although we
               understand the domain we will be fighting with new features, technology,
               tools, and processes

               “We don’t have any other options” - Refactoring and test automation are
               potential alternatives to like-to-like migrations.




© 2009-2010,                                                                             5


Thursday, March 4, 2010                                                                      5
Limited Platform Expertise




       Risk and costs increase as expertise becomes more
               limited for aging software platforms.




© 2009-2010,                                               6


Thursday, March 4, 2010                                        6
Costs for Release Stabilization Increase Over Time

               500000




                375000




                250000




                 125000
                                                                                           Release 6
                                                                               Release 5
                                                                   Release 4
                         0                             Release 3
                                           Release 2
                             Release 1

                              Cost of Fixing Defects        Cost for Feature Dev



© 2009-2010,


Thursday, March 4, 2010                                                                                7
Regression Costs - Manual vs. Automated




© 2009-2010,                                   8


Thursday, March 4, 2010                            8
Extreme Specialization

               Knowledge and capability to maintain legacy software decays with time

               Costs to maintain rarely used software platforms are higher

               Leads to waiting for people in specialized roles to finish their tasks in
               support of development effort




© 2009-2010,                                                                              9


Thursday, March 4, 2010                                                                       9
Software Debt

    Creeps into software slowly and leaves organizations with liabilities




                                                                            10


Thursday, March 4, 2010                                                          10
Software Debt Creeps In




               Shows a relatively new system with little
                      software debt accrued.


© 2009-2010,                                               11


Thursday, March 4, 2010                                         11
Software Debt Creeps In




                 An aging software system slowly incurs
               significant debt in multiple functional areas.

© 2009-2010,                                                   12


Thursday, March 4, 2010                                             12
Software Debt Creeps In




  An older system has accrued significant debt in all
          functional areas and components.

© 2009-2010,                                      13


Thursday, March 4, 2010                                13
Managing Software Debt – an Overview




© 2009-2010,                                14


Thursday, March 4, 2010                          14
Managing Software Debt

               It is impossible to stop software debt from creeping into our software

               Managing debt in software is based on putting frequent feedback
               mechanisms in place for code, quality assurance, configuration
               management, design, and organization of people on project team

               Feedback mechanisms should be frequent, automated, and easy to use to
               support their continued use or modified to new needs




© 2009-2010,                                                                            15


Thursday, March 4, 2010                                                                      15
Types of Software Debt

               Technical Debt

               Quality Debt

               Configuration Management Debt

               Design Debt

               Platform Experience Debt




© 2009-2010,                                  16


Thursday, March 4, 2010                            16
Technical Debt

    Issues in software implementation that will impede future development if left
    unresolved




                                                                                    17


Thursday, March 4, 2010                                                                  17
* Ward Cunningham on “Technical Debt”

               Technical Debt includes those internal things that you choose not to do now,
               but which will impede future development if left undone. This includes
               deferred refactoring.

               Technical Debt doesn’t include deferred functionality, except possibly in
               edge cases where delivered functionality is “good enough” for the customer,
               but doesn’t satisfy some standard (e.g., a UI element that isn’t fully
               compliant with some UI standard).




                              * Ward Cunningham - “Technical Debt” - http://c2.com/cgi/wiki?TechnicalDebt

© 2009-2010,                                                                                                18


Thursday, March 4, 2010                                                                                          18
My Definition of “Technical Debt”

                   “Technical debt is the decay of
                  component and inter-component
                    behavior when the application
               functionality meets a minimum standard
                  of satisfaction for the customer.”




© 2009-2010,                                            19


Thursday, March 4, 2010                                      19
Quality Debt

    A lack of quality, either technical or functional, will lessen value per feature
    added over time




                                                                                       20


Thursday, March 4, 2010                                                                     20
Accrual of Quality Debt with Releases




© 2009-2010,                                 21


Thursday, March 4, 2010                           21
Break/Fix Only Prolongs the Agony




© 2009-2010,                             22


Thursday, March 4, 2010                       22
Effect of Project Constraints on Quality




© 2009-2010,                                    23


Thursday, March 4, 2010                              23
Effect of Project Constraints on Quality




© 2009-2010,                                    23


Thursday, March 4, 2010                              23
Acceptance Test-Driven Development




© 2009-2010,                              24


Thursday, March 4, 2010                        24
A Fit Case Study

    Cost reduction using Fit for test automation and data conversion




                                                                       25


Thursday, March 4, 2010                                                     25
Manual Regression Testing

               Testing was taking 75 person hours during 2 full test runs consisting of:

                   Comprehensive manual regression testing

                   Data conversion and validation

               Cost for testing was $17,000 each iteration




© 2009-2010,                                                                               26


Thursday, March 4, 2010                                                                         26
Introducing Fit into Testing Process

               After 8 iterations team had introduced healthy amount of Fit fixtures and
               automated tests

               Reduced 70+ hour test runtime down to 6 hours which now included:

                   Fit automated regression testing

                   Data conversion and validation automated with Fit fixtures

               Reduced cost of testing each iteration from $17,000 to $7,000




© 2009-2010,                                                                              27


Thursday, March 4, 2010                                                                        27
Configuration Management Debt

    Creating unpredictable and error-prone release management




                                                                28


Thursday, March 4, 2010                                              28
Traditional Source Control Management




© 2009-2010,                                 29


Thursday, March 4, 2010                           29
Traditional Source Control Management




                                        Main Branch




© 2009-2010,                                          29


Thursday, March 4, 2010                                    29
Traditional Source Control Management

                            Code
                           Complete
               Version 1              Integrate for
                Branch                  Version 2

                                                      Main Branch




© 2009-2010,                                                        29


Thursday, March 4, 2010                                                  29
Traditional Source Control Management

                                   Code
                                  Complete
               Version 1                       Integrate for
                Branch                           Version 2

                                             Debt              Main Branch
                           Death March




© 2009-2010,                                                                 29


Thursday, March 4, 2010                                                           29
Traditional Source Control Management

                                       Code
                                      Complete
               Version 1                           Integrate for
                Branch                               Version 2

                                                 Debt              Main Branch
                            Death March


                                          {
                           Debt accrues quickly within stabilization periods



© 2009-2010,                                                                     29


Thursday, March 4, 2010                                                               29
Flexible Source Control Management




© 2009-2010,                              30


Thursday, March 4, 2010                        30
Flexible Source Control Management




                                          Main Branch




© 2009-2010,                                            30


Thursday, March 4, 2010                                      30
Flexible Source Control Management




               Version 1
                                          Main Branch




© 2009-2010,                                            30


Thursday, March 4, 2010                                      30
Flexible Source Control Management




               Version 1      Version 2
                                          Main Branch




© 2009-2010,                                            30


Thursday, March 4, 2010                                      30
Flexible Source Control Management




               Version 1                  Version 2
                                                        Main Branch

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




© 2009-2010,                                                          30


Thursday, March 4, 2010                                                    30
Continuous Integration




© 2009-2010,                  31


Thursday, March 4, 2010            31
Scaling to Multiple Integrations




© 2009-2010,                            32


Thursday, March 4, 2010                      32
Design Debt

    Design decays when not attended to so design your software continually




                                                                             33


Thursday, March 4, 2010                                                           33
* Abuse User Stories




         Implement Security
        for User Information




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




© 2009-2010,                                                                                34


Thursday, March 4, 2010                                                                          34
* Abuse User Stories




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


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




© 2009-2010,                                                                                   34


Thursday, March 4, 2010                                                                             34
Platform Experience Debt

    Silos of knowledge and increased specialization will increase cost of
    maintenance over time




                                                                            35


Thursday, March 4, 2010                                                          35
How to Combat Platform Experience Debt

               Ignore it (I do not suggest this!)   Surround existing functionality
                                                    with automated functional tests

                          ~OR~                      Wrap platform interfaces with
                                                    adapters

                                                    Transfer knowledge of platform to
                                                    more people

                                                    Rewrite on more current platform

                                                    Move thin slices of functionality to
                                                    newer platform

                                                    Start platform upgrade
                                                    discussions and rearrange teams
                                                    into known effective team

© 2009-2010,                                                                            36


Thursday, March 4, 2010                                                                      36
Team Configuration Patterns

               Virtual Architect Pattern

               Integration Team Pattern

               Component Shepherd Pattern

               Team Architect Pattern




© 2009-2010,                                37


Thursday, March 4, 2010                          37
Virtual Architect Pattern


                                 Enterprise
                                  Planning




© 2009-2010,                                  38


Thursday, March 4, 2010                            38
Virtual Architect Pattern

               Pros

                  Share architecture ideas and needs across teams

                  Based on verbal communication

               Cons

                  Usually singles out special Team Member role

                  Could lead to top-down architecture decisions

                  IT may gain extensive influence and begin to run Product Backlog
                  prioritization for architecture needs




© 2009-2010,                                                                        39


Thursday, March 4, 2010                                                                  39
Integration Team Pattern

                                      All features are
                          Integrate    implemented
                          Features    and integrated
                                      every iteration



      Feature
    Development




© 2009-2010,                                             40


Thursday, March 4, 2010                                       40
Integration Team Pattern

               Pros

                  Reduces complexity on Feature Teams

                  Forces delivery from Integration Team instead of interface and
                  deployment designs

               Cons

                  Perpetuates specialized roles

                  Don’t always work on highest value Product Backlog items




© 2009-2010,                                                                       41


Thursday, March 4, 2010                                                                 41
Component Shepherd Pattern




© 2009-2010,                      42


Thursday, March 4, 2010                42
Component Shepherd Pattern

               Pros

                  Share more knowledge within organization to minimize platform
                  experience debt

                  Work on highest value Product Backlog items

               Cons

                  Not always optimal as using individual knowledge

                  Difficult to learn multiple systems across Teams




© 2009-2010,                                                                      43


Thursday, March 4, 2010                                                                43
Team Architect Pattern




© 2009-2010,                  44


Thursday, March 4, 2010            44
Team Architect Pattern

               Pros

                  Team owns architecture decisions

                  Decisions are made close to implementation concerns

               Cons

                  May not have appropriate experience on Team

                  Team could get “stuck” on architecture decisions




© 2009-2010,                                                            45


Thursday, March 4, 2010                                                      45
What is possible?

    High quality can be attained and should enable accelerated feature delivery at
    same time.




                                                                                     46


Thursday, March 4, 2010                                                                   46
A Story: Field Support Application

               2000+ users access application each day
               Application supports multiple perspectives and workflows
               from Field Support Operations to Customer Service
               Team of 5 people delivering features on existing Cold Fusion
               platform implementation
               Migrating to Spring/Hibernate in slices while delivering
               valuable features
               36 2-week Sprints, 33 production releases, and only 1 defect
               found in production
               So, what was the defect you say? Let me tell you…

© 2009-2010,                                                                  47


Thursday, March 4, 2010                                                            47
Lets wrap this up...

    What should I take away from this?




                                         48


Thursday, March 4, 2010                       48
Principles for Managing Software Debt

               Maintain one list of work

               Emphasize quality

               Evolve tools and infrastructure continually

               Improve system design always

               Share knowledge across the organization

               And most importantly, get the right people to work on your software!




© 2009-2010,                                                                          49


Thursday, March 4, 2010                                                                    49
Thank you

    Questions and Answers




                            50


Thursday, March 4, 2010          50
Chris Sterling – Sterling Barton, LLC

               Technology Consultant, Agile Consultant and
               Certified Scrum Trainer
               Consults on software technology, Agile technical
               practices, Scrum, and effective management
               techniques
               Innovation Games® Trained Facilitator
               Open Source Developer
               Software architecture consulting for Agile Teams:
                   Continuous Integration                            Email: chris@sterlingbarton.com
                                                                   Web: http://www.sterlingbarton.com
                   Source Code Monitoring
                                                                    Blog: http://www.gettingagile.com
                   Release Management                                Follow me on Twitter: @csterwa

                   Design techniques

© 2009-2010,                                                                                      51


Thursday, March 4, 2010                                                                                 51

Contenu connexe

Tendances

Lync IM and Presence Sentri webinar 2.7.13
Lync IM and Presence Sentri webinar 2.7.13 Lync IM and Presence Sentri webinar 2.7.13
Lync IM and Presence Sentri webinar 2.7.13 Sentri
 
Flex and the city in London - Keynote
Flex and the city in London - KeynoteFlex and the city in London - Keynote
Flex and the city in London - KeynoteMichael Chaize
 
Php In The Enterprise 01 24 2010
Php In The Enterprise 01 24 2010Php In The Enterprise 01 24 2010
Php In The Enterprise 01 24 2010phptechtalk
 
Ria2010 - keynote - Evolution des RIA d'Entreprise
Ria2010 - keynote - Evolution des RIA d'EntrepriseRia2010 - keynote - Evolution des RIA d'Entreprise
Ria2010 - keynote - Evolution des RIA d'EntrepriseMichael Chaize
 
Beelders Using Vision And Voice To Create A Multimodal Interface For Microsof...
Beelders Using Vision And Voice To Create A Multimodal Interface For Microsof...Beelders Using Vision And Voice To Create A Multimodal Interface For Microsof...
Beelders Using Vision And Voice To Create A Multimodal Interface For Microsof...Kalle
 
TAUS USER CONFERENCE 2010, Man, Machine and advanced translation memory lever...
TAUS USER CONFERENCE 2010, Man, Machine and advanced translation memory lever...TAUS USER CONFERENCE 2010, Man, Machine and advanced translation memory lever...
TAUS USER CONFERENCE 2010, Man, Machine and advanced translation memory lever...TAUS - The Language Data Network
 
Social Networking 1 - Final
Social Networking 1 - FinalSocial Networking 1 - Final
Social Networking 1 - FinalWillie Favero
 
cfactor Social Business Solutions
cfactor Social Business Solutionscfactor Social Business Solutions
cfactor Social Business Solutionsggivan
 
Flash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex babyFlash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex babyMichael Chaize
 
Lync Intro Exchange User Group New York 2_12_2013
Lync Intro Exchange User Group New York 2_12_2013Lync Intro Exchange User Group New York 2_12_2013
Lync Intro Exchange User Group New York 2_12_2013Sentri
 
Enterprise Open Source Fccs March
Enterprise Open Source Fccs MarchEnterprise Open Source Fccs March
Enterprise Open Source Fccs Marcharnaudblandin
 
Best practices for Flash applications on mobile devices
Best practices for Flash applications on mobile devicesBest practices for Flash applications on mobile devices
Best practices for Flash applications on mobile devicesMichael Chaize
 
Adobe flash platform java
Adobe flash platform javaAdobe flash platform java
Adobe flash platform javaMichael Chaize
 
Fatc - Productivity by Design
Fatc - Productivity by DesignFatc - Productivity by Design
Fatc - Productivity by DesignMichael Chaize
 
DelMonte Foods Reduces Travel and Improves Collaboration with Microsoft Web C...
DelMonte Foods Reduces Travel and Improves Collaboration with Microsoft Web C...DelMonte Foods Reduces Travel and Improves Collaboration with Microsoft Web C...
DelMonte Foods Reduces Travel and Improves Collaboration with Microsoft Web C...Microsoft Private Cloud
 
Back From MAX in London for CQ5 users
Back From MAX in London for CQ5 usersBack From MAX in London for CQ5 users
Back From MAX in London for CQ5 usersMichael Chaize
 

Tendances (19)

Lync IM and Presence Sentri webinar 2.7.13
Lync IM and Presence Sentri webinar 2.7.13 Lync IM and Presence Sentri webinar 2.7.13
Lync IM and Presence Sentri webinar 2.7.13
 
Flex and the city in London - Keynote
Flex and the city in London - KeynoteFlex and the city in London - Keynote
Flex and the city in London - Keynote
 
Php In The Enterprise 01 24 2010
Php In The Enterprise 01 24 2010Php In The Enterprise 01 24 2010
Php In The Enterprise 01 24 2010
 
About Straker
About StrakerAbout Straker
About Straker
 
Ria2010 - keynote - Evolution des RIA d'Entreprise
Ria2010 - keynote - Evolution des RIA d'EntrepriseRia2010 - keynote - Evolution des RIA d'Entreprise
Ria2010 - keynote - Evolution des RIA d'Entreprise
 
Lync RoI Study
Lync RoI StudyLync RoI Study
Lync RoI Study
 
Beelders Using Vision And Voice To Create A Multimodal Interface For Microsof...
Beelders Using Vision And Voice To Create A Multimodal Interface For Microsof...Beelders Using Vision And Voice To Create A Multimodal Interface For Microsof...
Beelders Using Vision And Voice To Create A Multimodal Interface For Microsof...
 
TAUS USER CONFERENCE 2010, Man, Machine and advanced translation memory lever...
TAUS USER CONFERENCE 2010, Man, Machine and advanced translation memory lever...TAUS USER CONFERENCE 2010, Man, Machine and advanced translation memory lever...
TAUS USER CONFERENCE 2010, Man, Machine and advanced translation memory lever...
 
Social Networking 1 - Final
Social Networking 1 - FinalSocial Networking 1 - Final
Social Networking 1 - Final
 
cfactor Social Business Solutions
cfactor Social Business Solutionscfactor Social Business Solutions
cfactor Social Business Solutions
 
Flash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex babyFlash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex baby
 
Lync Intro Exchange User Group New York 2_12_2013
Lync Intro Exchange User Group New York 2_12_2013Lync Intro Exchange User Group New York 2_12_2013
Lync Intro Exchange User Group New York 2_12_2013
 
Enterprise Open Source Fccs March
Enterprise Open Source Fccs MarchEnterprise Open Source Fccs March
Enterprise Open Source Fccs March
 
Flex mobile for JUG
Flex mobile for JUGFlex mobile for JUG
Flex mobile for JUG
 
Best practices for Flash applications on mobile devices
Best practices for Flash applications on mobile devicesBest practices for Flash applications on mobile devices
Best practices for Flash applications on mobile devices
 
Adobe flash platform java
Adobe flash platform javaAdobe flash platform java
Adobe flash platform java
 
Fatc - Productivity by Design
Fatc - Productivity by DesignFatc - Productivity by Design
Fatc - Productivity by Design
 
DelMonte Foods Reduces Travel and Improves Collaboration with Microsoft Web C...
DelMonte Foods Reduces Travel and Improves Collaboration with Microsoft Web C...DelMonte Foods Reduces Travel and Improves Collaboration with Microsoft Web C...
DelMonte Foods Reduces Travel and Improves Collaboration with Microsoft Web C...
 
Back From MAX in London for CQ5 users
Back From MAX in London for CQ5 usersBack From MAX in London for CQ5 users
Back From MAX in London for CQ5 users
 

Similaire à Managing Software Debt Agile Bazaar

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
 
Wave collaboration platforms_q3_2009
Wave collaboration platforms_q3_2009Wave collaboration platforms_q3_2009
Wave collaboration platforms_q3_2009BoardVantage, Inc.
 
[StepTalks2011] The importance of CMMI for the internationalization of Critic...
[StepTalks2011] The importance of CMMI for the internationalization of Critic...[StepTalks2011] The importance of CMMI for the internationalization of Critic...
[StepTalks2011] The importance of CMMI for the internationalization of Critic...Strongstep - Innovation in software quality
 
Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011Chris Sterling
 
How to Mitigate the Performance Risk of Third-party Web Components
How to Mitigate the Performance Risk of Third-party Web ComponentsHow to Mitigate the Performance Risk of Third-party Web Components
How to Mitigate the Performance Risk of Third-party Web ComponentsCompuware APM
 
Application Logging for fun and profit. Houston TechFest 2012
Application Logging for fun and profit.  Houston TechFest 2012Application Logging for fun and profit.  Houston TechFest 2012
Application Logging for fun and profit. Houston TechFest 2012Jane Prusakova
 
Day1 Forrester Cloud Presentation
Day1 Forrester Cloud PresentationDay1 Forrester Cloud Presentation
Day1 Forrester Cloud PresentationErwinTheunissen
 
Astonne Competence Center 2010
Astonne   Competence Center 2010Astonne   Competence Center 2010
Astonne Competence Center 2010jbrunel
 
Astonne Competence Center 2010
Astonne   Competence Center 2010Astonne   Competence Center 2010
Astonne Competence Center 2010jbrunel
 
Mark Logic Digital Publishing Summit, Kellogg
Mark Logic Digital Publishing Summit, KelloggMark Logic Digital Publishing Summit, Kellogg
Mark Logic Digital Publishing Summit, KelloggDave Kellogg
 
Cloud Computing in 3-D
Cloud Computing in 3-DCloud Computing in 3-D
Cloud Computing in 3-DEverest Group
 
The advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programmingThe advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programmingSameerShaik43
 
Finance On Windows Partner Guide 2009
Finance On Windows Partner Guide 2009Finance On Windows Partner Guide 2009
Finance On Windows Partner Guide 2009eddierobin
 
You're Not Ready for Internal Cloud
You're Not Ready for Internal CloudYou're Not Ready for Internal Cloud
You're Not Ready for Internal CloudBMC Software
 
How Changing Mobile Technology Is Changing The Way We Create Economy.
How Changing Mobile Technology Is Changing The Way We Create Economy. How Changing Mobile Technology Is Changing The Way We Create Economy.
How Changing Mobile Technology Is Changing The Way We Create Economy. Osaka University
 
Integrating Quality into Portfolio Management
Integrating Quality into Portfolio Management Integrating Quality into Portfolio Management
Integrating Quality into Portfolio Management Brent Barton
 
Making Scrum Stick Inside Heavy Regulated Industries (2012)
Making Scrum Stick Inside Heavy Regulated Industries (2012) Making Scrum Stick Inside Heavy Regulated Industries (2012)
Making Scrum Stick Inside Heavy Regulated Industries (2012) Laszlo Szalvay
 

Similaire à Managing Software Debt Agile Bazaar (20)

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
 
Wave collaboration platforms_q3_2009
Wave collaboration platforms_q3_2009Wave collaboration platforms_q3_2009
Wave collaboration platforms_q3_2009
 
Start > Automate > Create | Book Publishing in the Cloud
Start > Automate > Create | Book Publishing in the CloudStart > Automate > Create | Book Publishing in the Cloud
Start > Automate > Create | Book Publishing in the Cloud
 
[StepTalks2011] The importance of CMMI for the internationalization of Critic...
[StepTalks2011] The importance of CMMI for the internationalization of Critic...[StepTalks2011] The importance of CMMI for the internationalization of Critic...
[StepTalks2011] The importance of CMMI for the internationalization of Critic...
 
Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011
 
How to Mitigate the Performance Risk of Third-party Web Components
How to Mitigate the Performance Risk of Third-party Web ComponentsHow to Mitigate the Performance Risk of Third-party Web Components
How to Mitigate the Performance Risk of Third-party Web Components
 
How to Make the Business Case for a CMS in Your Organization
How to Make the Business Case for a CMS in Your OrganizationHow to Make the Business Case for a CMS in Your Organization
How to Make the Business Case for a CMS in Your Organization
 
Application Logging for fun and profit. Houston TechFest 2012
Application Logging for fun and profit.  Houston TechFest 2012Application Logging for fun and profit.  Houston TechFest 2012
Application Logging for fun and profit. Houston TechFest 2012
 
Day1 Forrester Cloud Presentation
Day1 Forrester Cloud PresentationDay1 Forrester Cloud Presentation
Day1 Forrester Cloud Presentation
 
Lastmile banking v1.3
Lastmile banking v1.3Lastmile banking v1.3
Lastmile banking v1.3
 
Astonne Competence Center 2010
Astonne   Competence Center 2010Astonne   Competence Center 2010
Astonne Competence Center 2010
 
Astonne Competence Center 2010
Astonne   Competence Center 2010Astonne   Competence Center 2010
Astonne Competence Center 2010
 
Mark Logic Digital Publishing Summit, Kellogg
Mark Logic Digital Publishing Summit, KelloggMark Logic Digital Publishing Summit, Kellogg
Mark Logic Digital Publishing Summit, Kellogg
 
Cloud Computing in 3-D
Cloud Computing in 3-DCloud Computing in 3-D
Cloud Computing in 3-D
 
The advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programmingThe advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programming
 
Finance On Windows Partner Guide 2009
Finance On Windows Partner Guide 2009Finance On Windows Partner Guide 2009
Finance On Windows Partner Guide 2009
 
You're Not Ready for Internal Cloud
You're Not Ready for Internal CloudYou're Not Ready for Internal Cloud
You're Not Ready for Internal Cloud
 
How Changing Mobile Technology Is Changing The Way We Create Economy.
How Changing Mobile Technology Is Changing The Way We Create Economy. How Changing Mobile Technology Is Changing The Way We Create Economy.
How Changing Mobile Technology Is Changing The Way We Create Economy.
 
Integrating Quality into Portfolio Management
Integrating Quality into Portfolio Management Integrating Quality into Portfolio Management
Integrating Quality into Portfolio Management
 
Making Scrum Stick Inside Heavy Regulated Industries (2012)
Making Scrum Stick Inside Heavy Regulated Industries (2012) Making Scrum Stick Inside Heavy Regulated Industries (2012)
Making Scrum Stick Inside Heavy Regulated Industries (2012)
 

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 - 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
 
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
 
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 - Federal Reserve Bank
Managing Software Debt - Federal Reserve BankManaging Software Debt - Federal Reserve Bank
Managing Software Debt - Federal Reserve BankChris 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 1 User Stories
UW Agile CP202 - Class 1 User StoriesUW Agile CP202 - Class 1 User Stories
UW Agile CP202 - Class 1 User StoriesChris 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
 

Plus 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 - 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
 
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
 
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 - Federal Reserve Bank
Managing Software Debt - Federal Reserve BankManaging Software Debt - Federal Reserve Bank
Managing Software Debt - Federal Reserve Bank
 
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 1 User Stories
UW Agile CP202 - Class 1 User StoriesUW Agile CP202 - Class 1 User Stories
UW Agile CP202 - Class 1 User Stories
 
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
 

Dernier

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
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
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 

Dernier (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
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!
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
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
 

Managing Software Debt Agile Bazaar

  • 1. Managing Software Debt Continued Delivery of High Value as Systems Age Chris Sterling Technology Consultant / Agile Coach / Certified Scrum Trainer Sterling Barton, LLC Web: www.SterlingBarton.com Email: chris@sterlingbarton.com Blog: www.GettingAgile.com Follow Me on Twitter: @csterwa Hash Tag for Presentation: #swdebt Thursday, March 4, 2010 1
  • 2. Topics Being Covered Problems Found with Aging Software Software Debt Explained Technical Debt Quality Debt Configuration Management Debt Design Debt Platform Experience Debt The Wrap Up A Story of What is Possible © 2009-2010, 2 Thursday, March 4, 2010 2
  • 3. Problems Found with Aging Software Software gets difficult to add features to as it ages Business expectations do not lessen as software ages Software must remain maintainable and changeable to meet needs of business over time © 2009-2010, 3 Thursday, March 4, 2010 3
  • 4. Lack of emphasis on software quality attributes contributes to decay © 2009-2010, 4 Thursday, March 4, 2010 4
  • 5. Like-to-Like Migrations “It will be easy since we worked on the original version” - although we understand the domain we will be fighting with new features, technology, tools, and processes “We don’t have any other options” - Refactoring and test automation are potential alternatives to like-to-like migrations. © 2009-2010, 5 Thursday, March 4, 2010 5
  • 6. Limited Platform Expertise Risk and costs increase as expertise becomes more limited for aging software platforms. © 2009-2010, 6 Thursday, March 4, 2010 6
  • 7. Costs for Release Stabilization Increase Over Time 500000 375000 250000 125000 Release 6 Release 5 Release 4 0 Release 3 Release 2 Release 1 Cost of Fixing Defects Cost for Feature Dev © 2009-2010, Thursday, March 4, 2010 7
  • 8. Regression Costs - Manual vs. Automated © 2009-2010, 8 Thursday, March 4, 2010 8
  • 9. Extreme Specialization Knowledge and capability to maintain legacy software decays with time Costs to maintain rarely used software platforms are higher Leads to waiting for people in specialized roles to finish their tasks in support of development effort © 2009-2010, 9 Thursday, March 4, 2010 9
  • 10. Software Debt Creeps into software slowly and leaves organizations with liabilities 10 Thursday, March 4, 2010 10
  • 11. Software Debt Creeps In Shows a relatively new system with little software debt accrued. © 2009-2010, 11 Thursday, March 4, 2010 11
  • 12. Software Debt Creeps In An aging software system slowly incurs significant debt in multiple functional areas. © 2009-2010, 12 Thursday, March 4, 2010 12
  • 13. Software Debt Creeps In An older system has accrued significant debt in all functional areas and components. © 2009-2010, 13 Thursday, March 4, 2010 13
  • 14. Managing Software Debt – an Overview © 2009-2010, 14 Thursday, March 4, 2010 14
  • 15. Managing Software Debt It is impossible to stop software debt from creeping into our software Managing debt in software is based on putting frequent feedback mechanisms in place for code, quality assurance, configuration management, design, and organization of people on project team Feedback mechanisms should be frequent, automated, and easy to use to support their continued use or modified to new needs © 2009-2010, 15 Thursday, March 4, 2010 15
  • 16. Types of Software Debt Technical Debt Quality Debt Configuration Management Debt Design Debt Platform Experience Debt © 2009-2010, 16 Thursday, March 4, 2010 16
  • 17. Technical Debt Issues in software implementation that will impede future development if left unresolved 17 Thursday, March 4, 2010 17
  • 18. * Ward Cunningham on “Technical Debt” Technical Debt includes those internal things that you choose not to do now, but which will impede future development if left undone. This includes deferred refactoring. Technical Debt doesn’t include deferred functionality, except possibly in edge cases where delivered functionality is “good enough” for the customer, but doesn’t satisfy some standard (e.g., a UI element that isn’t fully compliant with some UI standard). * Ward Cunningham - “Technical Debt” - http://c2.com/cgi/wiki?TechnicalDebt © 2009-2010, 18 Thursday, March 4, 2010 18
  • 19. My Definition of “Technical Debt” “Technical debt is the decay of component and inter-component behavior when the application functionality meets a minimum standard of satisfaction for the customer.” © 2009-2010, 19 Thursday, March 4, 2010 19
  • 20. Quality Debt A lack of quality, either technical or functional, will lessen value per feature added over time 20 Thursday, March 4, 2010 20
  • 21. Accrual of Quality Debt with Releases © 2009-2010, 21 Thursday, March 4, 2010 21
  • 22. Break/Fix Only Prolongs the Agony © 2009-2010, 22 Thursday, March 4, 2010 22
  • 23. Effect of Project Constraints on Quality © 2009-2010, 23 Thursday, March 4, 2010 23
  • 24. Effect of Project Constraints on Quality © 2009-2010, 23 Thursday, March 4, 2010 23
  • 25. Acceptance Test-Driven Development © 2009-2010, 24 Thursday, March 4, 2010 24
  • 26. A Fit Case Study Cost reduction using Fit for test automation and data conversion 25 Thursday, March 4, 2010 25
  • 27. Manual Regression Testing Testing was taking 75 person hours during 2 full test runs consisting of: Comprehensive manual regression testing Data conversion and validation Cost for testing was $17,000 each iteration © 2009-2010, 26 Thursday, March 4, 2010 26
  • 28. Introducing Fit into Testing Process After 8 iterations team had introduced healthy amount of Fit fixtures and automated tests Reduced 70+ hour test runtime down to 6 hours which now included: Fit automated regression testing Data conversion and validation automated with Fit fixtures Reduced cost of testing each iteration from $17,000 to $7,000 © 2009-2010, 27 Thursday, March 4, 2010 27
  • 29. Configuration Management Debt Creating unpredictable and error-prone release management 28 Thursday, March 4, 2010 28
  • 30. Traditional Source Control Management © 2009-2010, 29 Thursday, March 4, 2010 29
  • 31. Traditional Source Control Management Main Branch © 2009-2010, 29 Thursday, March 4, 2010 29
  • 32. Traditional Source Control Management Code Complete Version 1 Integrate for Branch Version 2 Main Branch © 2009-2010, 29 Thursday, March 4, 2010 29
  • 33. Traditional Source Control Management Code Complete Version 1 Integrate for Branch Version 2 Debt Main Branch Death March © 2009-2010, 29 Thursday, March 4, 2010 29
  • 34. Traditional Source Control Management Code Complete Version 1 Integrate for Branch Version 2 Debt Main Branch Death March { Debt accrues quickly within stabilization periods © 2009-2010, 29 Thursday, March 4, 2010 29
  • 35. Flexible Source Control Management © 2009-2010, 30 Thursday, March 4, 2010 30
  • 36. Flexible Source Control Management Main Branch © 2009-2010, 30 Thursday, March 4, 2010 30
  • 37. Flexible Source Control Management Version 1 Main Branch © 2009-2010, 30 Thursday, March 4, 2010 30
  • 38. Flexible Source Control Management Version 1 Version 2 Main Branch © 2009-2010, 30 Thursday, March 4, 2010 30
  • 39. Flexible Source Control Management Version 1 Version 2 Main Branch { Not Easy! Must have proper infrastructure to do this. © 2009-2010, 30 Thursday, March 4, 2010 30
  • 40. Continuous Integration © 2009-2010, 31 Thursday, March 4, 2010 31
  • 41. Scaling to Multiple Integrations © 2009-2010, 32 Thursday, March 4, 2010 32
  • 42. Design Debt Design decays when not attended to so design your software continually 33 Thursday, March 4, 2010 33
  • 43. * Abuse User Stories Implement Security for User Information * From “User Stories Applied” presented by Mike Cohn Agile 2006 © 2009-2010, 34 Thursday, March 4, 2010 34
  • 44. * Abuse User Stories Implement Security As a Malicious Hacker I for User Information want to steal credit card information so that I can make fraudulent charges * From “User Stories Applied” presented by Mike Cohn Agile 2006 © 2009-2010, 34 Thursday, March 4, 2010 34
  • 45. Platform Experience Debt Silos of knowledge and increased specialization will increase cost of maintenance over time 35 Thursday, March 4, 2010 35
  • 46. How to Combat Platform Experience Debt Ignore it (I do not suggest this!) Surround existing functionality with automated functional tests ~OR~ Wrap platform interfaces with adapters Transfer knowledge of platform to more people Rewrite on more current platform Move thin slices of functionality to newer platform Start platform upgrade discussions and rearrange teams into known effective team © 2009-2010, 36 Thursday, March 4, 2010 36
  • 47. Team Configuration Patterns Virtual Architect Pattern Integration Team Pattern Component Shepherd Pattern Team Architect Pattern © 2009-2010, 37 Thursday, March 4, 2010 37
  • 48. Virtual Architect Pattern Enterprise Planning © 2009-2010, 38 Thursday, March 4, 2010 38
  • 49. Virtual Architect Pattern Pros Share architecture ideas and needs across teams Based on verbal communication Cons Usually singles out special Team Member role Could lead to top-down architecture decisions IT may gain extensive influence and begin to run Product Backlog prioritization for architecture needs © 2009-2010, 39 Thursday, March 4, 2010 39
  • 50. Integration Team Pattern All features are Integrate implemented Features and integrated every iteration Feature Development © 2009-2010, 40 Thursday, March 4, 2010 40
  • 51. Integration Team Pattern Pros Reduces complexity on Feature Teams Forces delivery from Integration Team instead of interface and deployment designs Cons Perpetuates specialized roles Don’t always work on highest value Product Backlog items © 2009-2010, 41 Thursday, March 4, 2010 41
  • 52. Component Shepherd Pattern © 2009-2010, 42 Thursday, March 4, 2010 42
  • 53. Component Shepherd Pattern Pros Share more knowledge within organization to minimize platform experience debt Work on highest value Product Backlog items Cons Not always optimal as using individual knowledge Difficult to learn multiple systems across Teams © 2009-2010, 43 Thursday, March 4, 2010 43
  • 54. Team Architect Pattern © 2009-2010, 44 Thursday, March 4, 2010 44
  • 55. Team Architect Pattern Pros Team owns architecture decisions Decisions are made close to implementation concerns Cons May not have appropriate experience on Team Team could get “stuck” on architecture decisions © 2009-2010, 45 Thursday, March 4, 2010 45
  • 56. What is possible? High quality can be attained and should enable accelerated feature delivery at same time. 46 Thursday, March 4, 2010 46
  • 57. A Story: Field Support Application 2000+ users access application each day Application supports multiple perspectives and workflows from Field Support Operations to Customer Service Team of 5 people delivering features on existing Cold Fusion platform implementation Migrating to Spring/Hibernate in slices while delivering valuable features 36 2-week Sprints, 33 production releases, and only 1 defect found in production So, what was the defect you say? Let me tell you… © 2009-2010, 47 Thursday, March 4, 2010 47
  • 58. Lets wrap this up... What should I take away from this? 48 Thursday, March 4, 2010 48
  • 59. Principles for Managing Software Debt Maintain one list of work Emphasize quality Evolve tools and infrastructure continually Improve system design always Share knowledge across the organization And most importantly, get the right people to work on your software! © 2009-2010, 49 Thursday, March 4, 2010 49
  • 60. Thank you Questions and Answers 50 Thursday, March 4, 2010 50
  • 61. Chris Sterling – Sterling Barton, LLC Technology Consultant, Agile Consultant and Certified Scrum Trainer Consults on software technology, Agile technical practices, Scrum, and effective management techniques Innovation Games® Trained Facilitator Open Source Developer Software architecture consulting for Agile Teams: Continuous Integration Email: chris@sterlingbarton.com Web: http://www.sterlingbarton.com Source Code Monitoring Blog: http://www.gettingagile.com Release Management Follow me on Twitter: @csterwa Design techniques © 2009-2010, 51 Thursday, March 4, 2010 51