SlideShare a Scribd company logo
Managing Software Debt
Continued Delivery of High Value as Systems Age
Chris Sterling
VP of Engineering
AgileEVM Inc.
Web: www.AgileEVM.com
Email: chris@agileevm.com
Blog: www.GettingAgile.com
Follow Me on Twitter: @csterwa
Hash Tag for Presentation: #swdebt
1Thursday, October 28, 2010
© 2009-2010,
Chris Sterling – AgileEVM Inc.
Developer of AgileEVM ( www.AgileEVM.com ), a
project portfolio decision support tool
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 and Consultant
Software technology, architecture, release
management, monitoring, and design consulting for
Agile Teams
Publishing book with Addison-Wesley called
“Managing Software Debt” - due out Dec 2010
2
Email: chris@agileevm.com
www.AgileEVM.com
Web: http://www.sterlingbarton.com
Blog: http://www.gettingagile.com
Follow me on Twitter: @csterwa
2Thursday, October 28, 2010
© 2009-2010,
Brent Barton - AgileEVM Inc.
President, AgileEVM Inc.
More than 15 years software development in many roles
as both employee and consultant for organizations from
small start ups to multinational corporations
Former CTO. Active Agile Coach, Mentor, Certified Scrum
Trainer
Actively involved in Agile Rollouts from small Product
companies to very large IT organizations
Scrum Articles
“AgileEVM – Earned Value Management
in Scrum Projects”, IEEE
“Implementing a Professional Services
Organization Using Type C Scrum”, IEEE
“Establishing and Maintaining Top to
Bottom Transparency Using
the Meta-Scrum”, AgileJournal
“All-Out Organizational Scrum as an
Innovation Value Chain”, IEEE
3
www.AgileEVM.com
Email: brent@sterlingbarton.com
Web: http://www.sterlingbarton.com
Blog: http://www.gettingagile.com
Follow me on Twitter: @brentbarton
3Thursday, October 28, 2010
© 2009-2010,
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
4
4Thursday, October 28, 2010
© 2009-2010,
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
5
5Thursday, October 28, 2010
© 2009-2010,
Lack of emphasis on software quality attributes
contributes to decay
6
6Thursday, October 28, 2010
© 2009-2010,
The “Rewrite”, “NextGen” or “Like-to-like Migration”
“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.
7
7Thursday, October 28, 2010
© 2009-2010,
Limited Platform Expertise
Risk and costs increase as expertise becomes more
limited for aging software platforms.
8
8Thursday, October 28, 2010
© 2009-2010,
Costs for Release Stabilization Increase Over Time
0
125000
250000
375000
500000
Release 1
Release 2
Release 3
Release 4
Release 5
Release 6
Cost of Fixing Defects Cost for Feature Dev
9Thursday, October 28, 2010
© 2009-2010,
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
10
10Thursday, October 28, 2010
Software Debt
11
Creeps into software slowly and leaves organizations with liabilities
11Thursday, October 28, 2010
© 2009-2010,
Software Debt Creeps In
12
12Thursday, October 28, 2010
© 2009-2010,
Software Debt Creeps In
13
13Thursday, October 28, 2010
© 2009-2010,
Software Debt Creeps In
14
14Thursday, October 28, 2010
© 2009-2010,
Managing Software Debt – an Overview
15
15Thursday, October 28, 2010
© 2009-2010,
Managing Software Debt
16
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
16Thursday, October 28, 2010
© 2009-2010,
Types of Software Debt
Technical Debt
Quality Debt
Configuration Management Debt
Design Debt
Platform Experience Debt
17
17Thursday, October 28, 2010
Technical Debt
18
Issues in software that will impede future development if left unresolved
18Thursday, October 28, 2010
© 2009-2010,
* 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
19
19Thursday, October 28, 2010
© 2009-2010,
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.”
20
20Thursday, October 28, 2010
© 2009-2010,
Regression Costs - Manual vs. Automated
21
21Thursday, October 28, 2010
© 2009-2010,
Principles of Executable Design
22
The way we design can always be improved.
We’ll get it “right” the third time.
We will not get it “right” the first time.
Design and construct for change rather than longevity.
Lower the threshold of pain.
If we are not enhancing the design then
we are just writing a bunch of tests.
22Thursday, October 28, 2010
Quality Debt
A lack of quality will lessen the value per feature added over time
23
23Thursday, October 28, 2010
© 2009-2010,
Accrual of Quality Debt with Releases
24
24Thursday, October 28, 2010
© 2009-2010,
Break/Fix Only Prolongs the Agony
25
25Thursday, October 28, 2010
© 2009-2010,
Effect of Project Constraints on Quality
26
26Thursday, October 28, 2010
© 2009-2010,
Effect of Project Constraints on Quality
26
26Thursday, October 28, 2010
© 2009-2010,
Acceptance Test-Driven Development
27
27Thursday, October 28, 2010
A Fit Case Study
Cost reduction using Fit for test automation and data conversion
28
28Thursday, October 28, 2010
© 2009-2010,
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
29
29Thursday, October 28, 2010
© 2009-2010,
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
30
30Thursday, October 28, 2010
Configuration Management Debt
Unpredictable and error-prone release management
31
31Thursday, October 28, 2010
© 2009-2010,
Traditional Source Control Management
32
32Thursday, October 28, 2010
© 2009-2010,
Traditional Source Control Management
32
Main Branch
32Thursday, October 28, 2010
© 2009-2010,
Traditional Source Control Management
32
Main Branch
Version 1
Branch
Integrate for
Version 2
Code
Complete
32Thursday, October 28, 2010
© 2009-2010,
Traditional Source Control Management
32
Main BranchDebt
Death March
Version 1
Branch
Integrate for
Version 2
Code
Complete
32Thursday, October 28, 2010
© 2009-2010,
Traditional Source Control Management
32
Main BranchDebt
Death March
{Debt accrues quickly within stabilization periods
Version 1
Branch
Integrate for
Version 2
Code
Complete
32Thursday, October 28, 2010
© 2009-2010,
Flexible Source Control Management
33
33Thursday, October 28, 2010
© 2009-2010,
Flexible Source Control Management
33
Main Branch
33Thursday, October 28, 2010
© 2009-2010,
Flexible Source Control Management
33
Main Branch
Version 1
33Thursday, October 28, 2010
© 2009-2010,
Flexible Source Control Management
33
Main Branch
Version 1 Version 2
33Thursday, October 28, 2010
© 2009-2010,
Flexible Source Control Management
33
Main Branch
Version 1 Version 2
{Not Easy! Must have proper infrastructure to do this.
33Thursday, October 28, 2010
© 2009-2010,
Continuous Integration
34
34Thursday, October 28, 2010
© 2009-2010,
Scaling to Multiple Integrations
35
35Thursday, October 28, 2010
© 2009-2010,
The Power of 2 Scripts: Deploy and Rollback
36
Deploy Rollback
36Thursday, October 28, 2010
Design Debt
Design decays when not attended to so design software continually
37
37Thursday, October 28, 2010
© 2009-2010,
* Abuse User Stories
38
Implement Security
for User Information
* From “User Stories Applied” presented by Mike Cohn Agile 2006
38Thursday, October 28, 2010
© 2009-2010,
* Abuse User Stories
38
Implement Security
for User Information
As a Malicious Hacker I
want to steal credit card
information so that I can
make fraudulent charges
* From “User Stories Applied” presented by Mike Cohn Agile 2006
38Thursday, October 28, 2010
Platform Experience Debt
Silos of knowledge and increased specialization will increase cost of
maintenance over time
39
39Thursday, October 28, 2010
© 2009-2010,
How to Combat Platform Experience Debt
Ignore it (I do not suggest this!) Surround existing functionality
with automated functional tests
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
40
~OR~
40Thursday, October 28, 2010
© 2009-2010,
Team Configuration Patterns
Virtual Team Pattern
Integration Team Pattern
Component Shepherd Pattern
Team Architect Pattern
41
41Thursday, October 28, 2010
© 2009-2010,
Virtual Team Pattern
Enterprise
Planning
42
42Thursday, October 28, 2010
© 2009-2010,
Virtual Team 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
43
43Thursday, October 28, 2010
© 2009-2010,
Integration Team Pattern
44
Feature
Development
Integrate
Features
All features are
implemented
and integrated
every iteration
44Thursday, October 28, 2010
© 2009-2010,
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
45
45Thursday, October 28, 2010
© 2009-2010,
Component Shepherd Pattern
46
46Thursday, October 28, 2010
© 2009-2010,
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
47
47Thursday, October 28, 2010
© 2009-2010,
Feature Team Pattern
48
48Thursday, October 28, 2010
© 2009-2010,
Feature Team 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
49
49Thursday, October 28, 2010
What is possible?
High quality can be attained and enables accelerated feature delivery.
50
50Thursday, October 28, 2010
© 2009-2010,
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…
51
51Thursday, October 28, 2010
Lets wrap this up...
What should I take away from this?
52
52Thursday, October 28, 2010
© 2009-2010,
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!
53
53Thursday, October 28, 2010
Thank you
Questions and Answers
54
54Thursday, October 28, 2010
© 2009-2010,
Chris Sterling – AgileEVM Inc.
Developer of AgileEVM ( www.AgileEVM.com ), a
project portfolio decision support tool
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 and Consultant
Software technology, architecture, release
management, monitoring, and design consulting
for Agile Teams
55
Email: chris@agileevm.com
www.AgileEVM.com
Web: http://www.sterlingbarton.com
Blog: http://www.gettingagile.com
Follow me on Twitter: @csterwa
55Thursday, October 28, 2010

More Related Content

Similar to 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
Chris Sterling
 
Saa s webinar slides final rlh - 3-31
Saa s webinar slides   final rlh - 3-31Saa s webinar slides   final rlh - 3-31
Saa s webinar slides final rlh - 3-31
neerajarasmussen
 
3 modern desktop - office 365 pro plus deployment + servicing
3   modern desktop - office 365 pro plus deployment + servicing3   modern desktop - office 365 pro plus deployment + servicing
3 modern desktop - office 365 pro plus deployment + servicing
Andrew Bettany
 
Anoj Resume
Anoj ResumeAnoj Resume
Anoj Resume
Anoj kumar
 
Resume
ResumeResume
Cloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct servicesCloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct services
André Agostinho
 
Project Management (Business case) asta powerproject 12
Project Management (Business case)  asta powerproject 12Project Management (Business case)  asta powerproject 12
Project Management (Business case) asta powerproject 12
Jeffrey Quevedo
 
New Software Design Proposal PowerPoint Presentation Slides
New Software Design Proposal PowerPoint Presentation SlidesNew Software Design Proposal PowerPoint Presentation Slides
New Software Design Proposal PowerPoint Presentation Slides
SlideTeam
 
Software Architecture Development Proposal PowerPoint Presentation Slides
Software Architecture Development Proposal PowerPoint Presentation SlidesSoftware Architecture Development Proposal PowerPoint Presentation Slides
Software Architecture Development Proposal PowerPoint Presentation Slides
SlideTeam
 
KIA
KIAKIA
2LA Kustom Impact Analyser
2LA Kustom Impact Analyser2LA Kustom Impact Analyser
2LA Kustom Impact Analyser
FredericLagrange
 
Kustom Impact Analyser
Kustom Impact AnalyserKustom Impact Analyser
Kustom Impact Analyser
stephaneberger
 
Rathna Arun Solomon_BA
Rathna Arun Solomon_BARathna Arun Solomon_BA
Rathna Arun Solomon_BA
Rathna Arun Solomon
 
Rapid Deployment of BMC Remedy Solutions 2006
Rapid Deployment of BMC Remedy Solutions 2006Rapid Deployment of BMC Remedy Solutions 2006
Rapid Deployment of BMC Remedy Solutions 2006
Antonio Rolle
 
B School Enlightener
B School EnlightenerB School Enlightener
B School Enlightener
aryan990
 
Accelerating Time-To-Market with Continuous Delivery at Tech in Asia, PDC 202...
Accelerating Time-To-Market with Continuous Delivery at Tech in Asia, PDC 202...Accelerating Time-To-Market with Continuous Delivery at Tech in Asia, PDC 202...
Accelerating Time-To-Market with Continuous Delivery at Tech in Asia, PDC 202...
Manoj Awasthi
 
Pavankumar Kakarla
Pavankumar KakarlaPavankumar Kakarla
Pavankumar Kakarla
Pavankumar kakarla
 
Windows7 First Wave Community Update
Windows7 First Wave Community UpdateWindows7 First Wave Community Update
Windows7 First Wave Community Update
WouterJansen
 
Company Software Design Proposal Powerpoint Presentation
Company Software Design Proposal Powerpoint PresentationCompany Software Design Proposal Powerpoint Presentation
Company Software Design Proposal Powerpoint Presentation
SlideTeam
 
CMGT410 v19Project Methodology Selection and RationaleCMGT41.docx
CMGT410 v19Project Methodology Selection and RationaleCMGT41.docxCMGT410 v19Project Methodology Selection and RationaleCMGT41.docx
CMGT410 v19Project Methodology Selection and RationaleCMGT41.docx
mary772
 

Similar to Managing Software Debt - Federal Reserve Bank (20)

Managing softwaredebt agilepalooza-redmond-sept2010
Managing softwaredebt agilepalooza-redmond-sept2010Managing softwaredebt agilepalooza-redmond-sept2010
Managing softwaredebt agilepalooza-redmond-sept2010
 
Saa s webinar slides final rlh - 3-31
Saa s webinar slides   final rlh - 3-31Saa s webinar slides   final rlh - 3-31
Saa s webinar slides final rlh - 3-31
 
3 modern desktop - office 365 pro plus deployment + servicing
3   modern desktop - office 365 pro plus deployment + servicing3   modern desktop - office 365 pro plus deployment + servicing
3 modern desktop - office 365 pro plus deployment + servicing
 
Anoj Resume
Anoj ResumeAnoj Resume
Anoj Resume
 
Resume
ResumeResume
Resume
 
Cloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct servicesCloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct services
 
Project Management (Business case) asta powerproject 12
Project Management (Business case)  asta powerproject 12Project Management (Business case)  asta powerproject 12
Project Management (Business case) asta powerproject 12
 
New Software Design Proposal PowerPoint Presentation Slides
New Software Design Proposal PowerPoint Presentation SlidesNew Software Design Proposal PowerPoint Presentation Slides
New Software Design Proposal PowerPoint Presentation Slides
 
Software Architecture Development Proposal PowerPoint Presentation Slides
Software Architecture Development Proposal PowerPoint Presentation SlidesSoftware Architecture Development Proposal PowerPoint Presentation Slides
Software Architecture Development Proposal PowerPoint Presentation Slides
 
KIA
KIAKIA
KIA
 
2LA Kustom Impact Analyser
2LA Kustom Impact Analyser2LA Kustom Impact Analyser
2LA Kustom Impact Analyser
 
Kustom Impact Analyser
Kustom Impact AnalyserKustom Impact Analyser
Kustom Impact Analyser
 
Rathna Arun Solomon_BA
Rathna Arun Solomon_BARathna Arun Solomon_BA
Rathna Arun Solomon_BA
 
Rapid Deployment of BMC Remedy Solutions 2006
Rapid Deployment of BMC Remedy Solutions 2006Rapid Deployment of BMC Remedy Solutions 2006
Rapid Deployment of BMC Remedy Solutions 2006
 
B School Enlightener
B School EnlightenerB School Enlightener
B School Enlightener
 
Accelerating Time-To-Market with Continuous Delivery at Tech in Asia, PDC 202...
Accelerating Time-To-Market with Continuous Delivery at Tech in Asia, PDC 202...Accelerating Time-To-Market with Continuous Delivery at Tech in Asia, PDC 202...
Accelerating Time-To-Market with Continuous Delivery at Tech in Asia, PDC 202...
 
Pavankumar Kakarla
Pavankumar KakarlaPavankumar Kakarla
Pavankumar Kakarla
 
Windows7 First Wave Community Update
Windows7 First Wave Community UpdateWindows7 First Wave Community Update
Windows7 First Wave Community Update
 
Company Software Design Proposal Powerpoint Presentation
Company Software Design Proposal Powerpoint PresentationCompany Software Design Proposal Powerpoint Presentation
Company Software Design Proposal Powerpoint Presentation
 
CMGT410 v19Project Methodology Selection and RationaleCMGT41.docx
CMGT410 v19Project Methodology Selection and RationaleCMGT41.docxCMGT410 v19Project Methodology Selection and RationaleCMGT41.docx
CMGT410 v19Project Methodology Selection and RationaleCMGT41.docx
 

More from 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 Services
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 PaaS
Chris 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 Debt
Chris 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 Kirkland
Chris 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 Seattle
Chris Sterling
 
Managing Software Debt Workshop at Intel
Managing Software Debt Workshop at IntelManaging Software Debt Workshop at Intel
Managing Software Debt Workshop at Intel
Chris Sterling
 
Integrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio ManagementIntegrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio Management
Chris Sterling
 
Testing in an Agile Context 2011
Testing in an Agile Context 2011Testing in an Agile Context 2011
Testing in an Agile Context 2011
Chris 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 Debt
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 Stories
Chris Sterling
 
Managing Software Debt Agile Bazaar
Managing Software Debt Agile BazaarManaging Software Debt Agile Bazaar
Managing Software Debt Agile Bazaar
Chris Sterling
 
Intro To Tdd Agile Palooza
Intro To Tdd Agile PaloozaIntro To Tdd Agile Palooza
Intro To Tdd Agile Palooza
Chris Sterling
 
Class5 Scaling And Strategic Planning
Class5 Scaling And Strategic PlanningClass5 Scaling And Strategic Planning
Class5 Scaling And Strategic Planning
Chris Sterling
 
Executable Specifications Agile Palooza
Executable Specifications Agile PaloozaExecutable Specifications Agile Palooza
Executable Specifications Agile Palooza
Chris Sterling
 
Building Integrity In Seminar
Building Integrity In   SeminarBuilding Integrity In   Seminar
Building Integrity In Seminar
Chris 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 Testing
Chris Sterling
 

More from Chris Sterling (18)

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
 
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
 
Integrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio ManagementIntegrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio Management
 
Testing in an Agile Context 2011
Testing in an Agile Context 2011Testing in an Agile Context 2011
Testing in an Agile Context 2011
 
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
 

Recently uploaded

Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 

Recently uploaded (20)

Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 

Managing Software Debt - Federal Reserve Bank

  • 1. Managing Software Debt Continued Delivery of High Value as Systems Age Chris Sterling VP of Engineering AgileEVM Inc. Web: www.AgileEVM.com Email: chris@agileevm.com Blog: www.GettingAgile.com Follow Me on Twitter: @csterwa Hash Tag for Presentation: #swdebt 1Thursday, October 28, 2010
  • 2. © 2009-2010, Chris Sterling – AgileEVM Inc. Developer of AgileEVM ( www.AgileEVM.com ), a project portfolio decision support tool 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 and Consultant Software technology, architecture, release management, monitoring, and design consulting for Agile Teams Publishing book with Addison-Wesley called “Managing Software Debt” - due out Dec 2010 2 Email: chris@agileevm.com www.AgileEVM.com Web: http://www.sterlingbarton.com Blog: http://www.gettingagile.com Follow me on Twitter: @csterwa 2Thursday, October 28, 2010
  • 3. © 2009-2010, Brent Barton - AgileEVM Inc. President, AgileEVM Inc. More than 15 years software development in many roles as both employee and consultant for organizations from small start ups to multinational corporations Former CTO. Active Agile Coach, Mentor, Certified Scrum Trainer Actively involved in Agile Rollouts from small Product companies to very large IT organizations Scrum Articles “AgileEVM – Earned Value Management in Scrum Projects”, IEEE “Implementing a Professional Services Organization Using Type C Scrum”, IEEE “Establishing and Maintaining Top to Bottom Transparency Using the Meta-Scrum”, AgileJournal “All-Out Organizational Scrum as an Innovation Value Chain”, IEEE 3 www.AgileEVM.com Email: brent@sterlingbarton.com Web: http://www.sterlingbarton.com Blog: http://www.gettingagile.com Follow me on Twitter: @brentbarton 3Thursday, October 28, 2010
  • 4. © 2009-2010, 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 4 4Thursday, October 28, 2010
  • 5. © 2009-2010, 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 5 5Thursday, October 28, 2010
  • 6. © 2009-2010, Lack of emphasis on software quality attributes contributes to decay 6 6Thursday, October 28, 2010
  • 7. © 2009-2010, The “Rewrite”, “NextGen” or “Like-to-like Migration” “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. 7 7Thursday, October 28, 2010
  • 8. © 2009-2010, Limited Platform Expertise Risk and costs increase as expertise becomes more limited for aging software platforms. 8 8Thursday, October 28, 2010
  • 9. © 2009-2010, Costs for Release Stabilization Increase Over Time 0 125000 250000 375000 500000 Release 1 Release 2 Release 3 Release 4 Release 5 Release 6 Cost of Fixing Defects Cost for Feature Dev 9Thursday, October 28, 2010
  • 10. © 2009-2010, 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 10 10Thursday, October 28, 2010
  • 11. Software Debt 11 Creeps into software slowly and leaves organizations with liabilities 11Thursday, October 28, 2010
  • 12. © 2009-2010, Software Debt Creeps In 12 12Thursday, October 28, 2010
  • 13. © 2009-2010, Software Debt Creeps In 13 13Thursday, October 28, 2010
  • 14. © 2009-2010, Software Debt Creeps In 14 14Thursday, October 28, 2010
  • 15. © 2009-2010, Managing Software Debt – an Overview 15 15Thursday, October 28, 2010
  • 16. © 2009-2010, Managing Software Debt 16 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 16Thursday, October 28, 2010
  • 17. © 2009-2010, Types of Software Debt Technical Debt Quality Debt Configuration Management Debt Design Debt Platform Experience Debt 17 17Thursday, October 28, 2010
  • 18. Technical Debt 18 Issues in software that will impede future development if left unresolved 18Thursday, October 28, 2010
  • 19. © 2009-2010, * 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 19 19Thursday, October 28, 2010
  • 20. © 2009-2010, 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.” 20 20Thursday, October 28, 2010
  • 21. © 2009-2010, Regression Costs - Manual vs. Automated 21 21Thursday, October 28, 2010
  • 22. © 2009-2010, Principles of Executable Design 22 The way we design can always be improved. We’ll get it “right” the third time. We will not get it “right” the first time. Design and construct for change rather than longevity. Lower the threshold of pain. If we are not enhancing the design then we are just writing a bunch of tests. 22Thursday, October 28, 2010
  • 23. Quality Debt A lack of quality will lessen the value per feature added over time 23 23Thursday, October 28, 2010
  • 24. © 2009-2010, Accrual of Quality Debt with Releases 24 24Thursday, October 28, 2010
  • 25. © 2009-2010, Break/Fix Only Prolongs the Agony 25 25Thursday, October 28, 2010
  • 26. © 2009-2010, Effect of Project Constraints on Quality 26 26Thursday, October 28, 2010
  • 27. © 2009-2010, Effect of Project Constraints on Quality 26 26Thursday, October 28, 2010
  • 28. © 2009-2010, Acceptance Test-Driven Development 27 27Thursday, October 28, 2010
  • 29. A Fit Case Study Cost reduction using Fit for test automation and data conversion 28 28Thursday, October 28, 2010
  • 30. © 2009-2010, 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 29 29Thursday, October 28, 2010
  • 31. © 2009-2010, 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 30 30Thursday, October 28, 2010
  • 32. Configuration Management Debt Unpredictable and error-prone release management 31 31Thursday, October 28, 2010
  • 33. © 2009-2010, Traditional Source Control Management 32 32Thursday, October 28, 2010
  • 34. © 2009-2010, Traditional Source Control Management 32 Main Branch 32Thursday, October 28, 2010
  • 35. © 2009-2010, Traditional Source Control Management 32 Main Branch Version 1 Branch Integrate for Version 2 Code Complete 32Thursday, October 28, 2010
  • 36. © 2009-2010, Traditional Source Control Management 32 Main BranchDebt Death March Version 1 Branch Integrate for Version 2 Code Complete 32Thursday, October 28, 2010
  • 37. © 2009-2010, Traditional Source Control Management 32 Main BranchDebt Death March {Debt accrues quickly within stabilization periods Version 1 Branch Integrate for Version 2 Code Complete 32Thursday, October 28, 2010
  • 38. © 2009-2010, Flexible Source Control Management 33 33Thursday, October 28, 2010
  • 39. © 2009-2010, Flexible Source Control Management 33 Main Branch 33Thursday, October 28, 2010
  • 40. © 2009-2010, Flexible Source Control Management 33 Main Branch Version 1 33Thursday, October 28, 2010
  • 41. © 2009-2010, Flexible Source Control Management 33 Main Branch Version 1 Version 2 33Thursday, October 28, 2010
  • 42. © 2009-2010, Flexible Source Control Management 33 Main Branch Version 1 Version 2 {Not Easy! Must have proper infrastructure to do this. 33Thursday, October 28, 2010
  • 44. © 2009-2010, Scaling to Multiple Integrations 35 35Thursday, October 28, 2010
  • 45. © 2009-2010, The Power of 2 Scripts: Deploy and Rollback 36 Deploy Rollback 36Thursday, October 28, 2010
  • 46. Design Debt Design decays when not attended to so design software continually 37 37Thursday, October 28, 2010
  • 47. © 2009-2010, * Abuse User Stories 38 Implement Security for User Information * From “User Stories Applied” presented by Mike Cohn Agile 2006 38Thursday, October 28, 2010
  • 48. © 2009-2010, * Abuse User Stories 38 Implement Security for User Information As a Malicious Hacker I want to steal credit card information so that I can make fraudulent charges * From “User Stories Applied” presented by Mike Cohn Agile 2006 38Thursday, October 28, 2010
  • 49. Platform Experience Debt Silos of knowledge and increased specialization will increase cost of maintenance over time 39 39Thursday, October 28, 2010
  • 50. © 2009-2010, How to Combat Platform Experience Debt Ignore it (I do not suggest this!) Surround existing functionality with automated functional tests 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 40 ~OR~ 40Thursday, October 28, 2010
  • 51. © 2009-2010, Team Configuration Patterns Virtual Team Pattern Integration Team Pattern Component Shepherd Pattern Team Architect Pattern 41 41Thursday, October 28, 2010
  • 52. © 2009-2010, Virtual Team Pattern Enterprise Planning 42 42Thursday, October 28, 2010
  • 53. © 2009-2010, Virtual Team 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 43 43Thursday, October 28, 2010
  • 54. © 2009-2010, Integration Team Pattern 44 Feature Development Integrate Features All features are implemented and integrated every iteration 44Thursday, October 28, 2010
  • 55. © 2009-2010, 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 45 45Thursday, October 28, 2010
  • 56. © 2009-2010, Component Shepherd Pattern 46 46Thursday, October 28, 2010
  • 57. © 2009-2010, 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 47 47Thursday, October 28, 2010
  • 58. © 2009-2010, Feature Team Pattern 48 48Thursday, October 28, 2010
  • 59. © 2009-2010, Feature Team 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 49 49Thursday, October 28, 2010
  • 60. What is possible? High quality can be attained and enables accelerated feature delivery. 50 50Thursday, October 28, 2010
  • 61. © 2009-2010, 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… 51 51Thursday, October 28, 2010
  • 62. Lets wrap this up... What should I take away from this? 52 52Thursday, October 28, 2010
  • 63. © 2009-2010, 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! 53 53Thursday, October 28, 2010
  • 64. Thank you Questions and Answers 54 54Thursday, October 28, 2010
  • 65. © 2009-2010, Chris Sterling – AgileEVM Inc. Developer of AgileEVM ( www.AgileEVM.com ), a project portfolio decision support tool 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 and Consultant Software technology, architecture, release management, monitoring, and design consulting for Agile Teams 55 Email: chris@agileevm.com www.AgileEVM.com Web: http://www.sterlingbarton.com Blog: http://www.gettingagile.com Follow me on Twitter: @csterwa 55Thursday, October 28, 2010