SlideShare a Scribd company logo
Death by technical debt:
lessons learned to get unburied
QA & Developer Joint Forum Event
SERIES SPONSORS
JAMES SHORE
Consultant, Author
The Art of Agile
@jamesshore
Debt
Counseling

1800GOAGILE
by Becky James
#surelytheremustbeoneanswer
#managersbringconstraints,
#debtfreewithoutmanagers
#oldnews, #boldstatement
#noteamcohesion
#itsalltheirfault
#unempowered, #overthewallthinking
#lacksownership, #actualquotes

I shouldn't have
to spend any of
my resource
pool on technical
debt that the
Development
teams
introduced.

Product Owner

Surely, we
don’t need
that much
time to fully
test the
feature – let’s
cut that
estimate in
half.

Developer

What do you
mean my
feedback is too
late…I just got
pulled into the
project
yesterday.

QA Engineer
#completetransformation,
#declaredbankruptcy
#empowered,
#teamsownsdecisions
#selforganizingteams, #nobystanders
#deliberatedecisions, #ownership

I own quality
and I own
keeping our
technical debt
under control.

Product Owner

I own quality
and I own
keeping our
technical debt
under control.

Developer

QA Engineer

I own quality
and I own
keeping our
technical debt
under control.
#theybringdonuts
Technical Debt
Death by Technical Debt:
Lessons Learned to get you Unburied
Product Owner Point of View
Todd Whitaker, Product Owner
Tripwire, Inc.
What is technical debt?
• Technical work that should have been
completed, but for whatever reason was not
and thus it is being “carried” in the
product/codebase.
• Analogies:

14
Technical Debt – This PO’s POV
If you are a product owner you should care about
technical debt.
If you work with a product owner, you need to
help him/her know why they should care.

15
How does it happen?
•
•
•
•

“Startup mode”
Time to market pressure
Inexperience
A natural side-affect of an imperfect median

16
Technical Debt – Points to consider
• +1 for not incurring it in the first place
• If it is being incurred, make it visible!
• In reality it happens and should be tracked
– Tracking too much becomes ineffective

• Developers are usually the most aware
• Others are impacted in many ways:
– Dev teams, Support, Prof Services, etc. and
customers!
17
Motivating your PO
• Make the PO aware of tangible effects and
benefits of addressing assign $
• Help him/her understand and quantify ROI
–
–
–
–
–
–

Performance (speed/throughput)
Improved dev team velocity
Faster time to market
More features in the release
Increased sales
Benefit to Prof. Services and System Engineers (sales)

• Be willing to let go if you cannot justify it.
18
Questions?

19
ADP Dealer Services
Technical Debt
Discussion
November 2013
ADP Dealer Services
21

FOCUS
ADP Dealer Services
22

PRODUCTS
LEAD MANAGER

DESKING

F&I

STOCKING

CRM

CREDIT

MENU

MERCHANDISING

COMPLIANCE
ADP Dealer Services
23

PEOPLE

37 SPRINT TEAMS
250+ ASSOCIATES
ADP Dealer Services
24

PROCESS
ADP Dealer Services
25

OUR TECH DEBT
STORY…
ADP Dealer Services
26

FIRST, THE OLD…
My Top 5 Favorites
ADP Dealer Services
27

1. Our application tips over every Saturday
2. We need to plan a hot fix after every release
3. We are scared to change ‘X’
4. Slow Releases
5. We Had to Roll Back the Release Because of
xyz.dll
ADP Dealer Services
28

1. Our application tips over every Saturday
2. We need to plan a hot fix after every release
3. We are scared to change ‘X’
4. We Can’t Release That for Another 10 Days
5. We Had to Roll Back the Release Because of
xyz.dll
ADP Dealer Services
29

1. Our application tips over every Saturday
2. We need to plan a hot fix after every release
3. We are scared to change ‘X’
4. We Can’t Release That for Another 10 Days
5. We Had to Roll Back the Release Because of
xyz.dll
ADP Dealer Services
30

1. Our application tips over every Saturday
2. We need to plan a hot fix after every release
3. We are scared to change ‘X’
4. We Can’t Release That for Another 10 Days
5. We Had to Roll Back the Release Because of
xyz.dll
ADP Dealer Services
31

1. Our application tips over every Saturday
2. We need to plan a hot fix after every release
3. We are scared to change ‘X’
4. We Can’t Release That for Another 10 Days
5. We Had to Roll Back the Release Because of
xyz.dll
ADP Dealer Services
32

Now the
New…
Culture Change
33
End
34
Technical Debt
Management

TAO Panel Discussion
Date: November 7, 2013
Presenter: Mark Menger

© 2012 Portland General Electric. All rights reserved.
People, …

 15 application delivery teams
 1 large scale project team
 Experience ranging from months to
decades

11/13/13

36
…Process, …

 Scrum
 Kanban
 Waterfall

11/13/13

37
…and Technology …

 .Net & T-SQL
 Java / WebSphere
 Datapower
 DataStage
 Oracle Forms & PL/SQL
 And others

11/13/13

38
Technical Debt Challenges

 Unacknowledged technical debt
 Unmanaged technical debt
 Vendor technical debt
 Knowledge debt

11/13/13

39
The importance of language

 Unplanned and planned work
 Committed work
 Cone of uncertainty

11/13/13

40
First steps out of the pit

 Introduce the concept at all levels
 Common term used by IT senior
management
 Don’t create more technical debt
 ScrumMaster / Product Owner
partnership
 Occasional topic at business
sponsor groups
11/13/13

41
Next steps out of the pit

 Improve fluency with the concept
 Informally capture technical debt
backlogs
 Expand upon success of SM/PO
partnership
 Document project end technical
debt
 Additional process measures (e.g.
code coverage)
11/13/13

42
Tech Debt
The NWEA Product Engineering Perspective
Recommendations
1. Change the language
• “Technical Debt” is “Business Debt”

1.
2.
3.
4.

Create owner and advocate for technical debt
Make the cost transparent (Get your CFO’s partnership!)
Create both initiatives and pre-allocated capacity
Invest in good design early
• Good design early beats Great design late

1. Be proactive
NWEA
•
•
•
•
•
•
•

Mission - “Partnering to Help All Kids Learn”
$100 Million Revenue
500+ Employees
Serve 7+ Million kids World Wide
42+ Million Assessments per year
100+ Engineers
Based in Portland
Our Challenge
• Scaling Web Applications
• High Capacity, High Transaction Volume
• High Concurrency
• > 1,000 moving to > 100,000 Concurrent Users

• Moving from Product to Platform
• Moving from Single Product to Suite
• Wrong Architecture
• Both Hardware and Software
• Built for one purpose, deployed for a different one
Technical Debt Definition
• “A confusing combination of black magic, voodoo, and
artifacts generated in the daily activities of Software
Developers, Technical Architects, System Engineers and
Operations of Technology Platforms, which is not readily
apparent to, or valued by, customers and business partners.”
• The Evil Twin of product “Features”
• The “Buzz-Kill” of Product Managers customer focus groups
and initiative funding meetings
• The “Hard Sell”
Examples
• The Obvious
• Hardware and OS Infrastructure EOL
• Legacy or EOL Software Frameworks
• De-supported Software and Hardware Platforms

• The Non-Obvious
• Short-Cut and/or Wrong Architecture and Design Decisions
• Lowest Bid Technology Acquisition (a.k.a the cheapest route is the
most expensive long term solution)
• The Prototype gone wild (a.k.a “Fast is Good”)
• The “Tent City” – Bad Urban Planning in Technology Architecture
Strategies to Manage Technical
Debt
1. Create an Initiative
2. Hide Capacity
3. Pass it to your Successor
Create an Initiative
• The Good
•
•
•
•

Full Organization Sign-up and Support
Focus
Resources
Targets

• The Bad
•
•
•
•

Need strong executive sponsor
Usually driven by pain not typical positive drivers
Seen as “Necessary Evil”
Must compete with customer facing, revenue generating, projects
Hide Capacity
• The Good
•
•
•
•

No negotiation required
Give engineers license to do this work
Self Protection
Less likely to be caught “out”

• The Bad
• Tough to keep in the priority work
• Needs internal governance and oversight
• Requires discipline
Pass it to your Successor
• The Good
• No management required
• No architecture and design required
• No negotiation required

• The Bad
• Can’t predict the timing of “The Crisis Point”
• Your tenure has limited time horizon
• Your infrastructure will fail (i.e. What color is your parachute?)
Recommendations
1. Change the language
• “Technical Debt” is “Business Debt”

1.
2.
3.
4.

Create owner and advocate for technical debt
Make the cost transparent (Get your CFO’s partnership!)
Create both initiatives and pre-allocated capacity
Invest in good design early
• Good design early beats Great design late

1. Be proactive
Q&A
SERIES SPONSORS

More Related Content

What's hot

Avoiding Technical Bankruptcy
Avoiding Technical BankruptcyAvoiding Technical Bankruptcy
Avoiding Technical Bankruptcy
markuskobler
 
Sww 2006 Redesigning Processes For Solid Works
Sww 2006   Redesigning Processes For Solid WorksSww 2006   Redesigning Processes For Solid Works
Sww 2006 Redesigning Processes For Solid Works
Razorleaf Corporation
 
The Agile BA (Business Analyst)
The Agile BA (Business Analyst)The Agile BA (Business Analyst)
The Agile BA (Business Analyst)
Bill Gaiennie
 
Steve Mezak (IT Spring 2013)
Steve Mezak (IT Spring 2013)Steve Mezak (IT Spring 2013)
Steve Mezak (IT Spring 2013)
Sergey Gruzer
 
Subcontract or Keep in-house: the 5 steps to help you decide (business case i...
Subcontract or Keep in-house: the 5 steps to help you decide (business case i...Subcontract or Keep in-house: the 5 steps to help you decide (business case i...
Subcontract or Keep in-house: the 5 steps to help you decide (business case i...
Cedric Brusselmans
 
The Role of the BA in Agile Software Development
The Role of the BA in Agile Software DevelopmentThe Role of the BA in Agile Software Development
The Role of the BA in Agile Software Development
John R. Durgin, CBAP, CSM, CSPO, MBA
 
Offshore Software Development company India
Offshore Software Development company IndiaOffshore Software Development company India
Offshore Software Development company India
rahulkwebvirtue
 
Agile Requirements Agile Philly Handouts
Agile Requirements Agile Philly HandoutsAgile Requirements Agile Philly Handouts
Agile Requirements Agile Philly Handouts
Doniel Wilson
 
Sps.e book.2012
Sps.e book.2012Sps.e book.2012
Sps.e book.2012
dburn32
 
How to successfully negotiate your project contracts - Daniel Elizalde
How to successfully negotiate your project contracts - Daniel ElizaldeHow to successfully negotiate your project contracts - Daniel Elizalde
How to successfully negotiate your project contracts - Daniel Elizalde
Daniel Elizalde
 
Agile Myths and Misconceptions
Agile Myths and MisconceptionsAgile Myths and Misconceptions
Agile Myths and Misconceptions
Calen Legaspi
 
ENGR190D Winter 2013 Syllabus
ENGR190D Winter 2013 SyllabusENGR190D Winter 2013 Syllabus
ENGR190D Winter 2013 Syllabus
Steve Zahm
 
Synerzip Agile Software Development
Synerzip Agile Software DevelopmentSynerzip Agile Software Development
Synerzip Agile Software Development
Synerzip
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
Synerzip
 
Scaling at kudo what we have learned along the way
Scaling at kudo what we have learned along the wayScaling at kudo what we have learned along the way
Scaling at kudo what we have learned along the way
Panji Gautama
 
Assembling you game team
Assembling you game teamAssembling you game team
Assembling you game team
Rudrasen Sitoleh
 
The dev ops journey
The dev ops journeyThe dev ops journey
The dev ops journey
ADAPT Model Community
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
Utkarsh Khare
 
Managing IT Projects - Onsite Offshore Coordination
Managing IT Projects - Onsite Offshore CoordinationManaging IT Projects - Onsite Offshore Coordination
Managing IT Projects - Onsite Offshore Coordination
Mahesh Dedhia
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
Javier Sánchez Rois
 

What's hot (20)

Avoiding Technical Bankruptcy
Avoiding Technical BankruptcyAvoiding Technical Bankruptcy
Avoiding Technical Bankruptcy
 
Sww 2006 Redesigning Processes For Solid Works
Sww 2006   Redesigning Processes For Solid WorksSww 2006   Redesigning Processes For Solid Works
Sww 2006 Redesigning Processes For Solid Works
 
The Agile BA (Business Analyst)
The Agile BA (Business Analyst)The Agile BA (Business Analyst)
The Agile BA (Business Analyst)
 
Steve Mezak (IT Spring 2013)
Steve Mezak (IT Spring 2013)Steve Mezak (IT Spring 2013)
Steve Mezak (IT Spring 2013)
 
Subcontract or Keep in-house: the 5 steps to help you decide (business case i...
Subcontract or Keep in-house: the 5 steps to help you decide (business case i...Subcontract or Keep in-house: the 5 steps to help you decide (business case i...
Subcontract or Keep in-house: the 5 steps to help you decide (business case i...
 
The Role of the BA in Agile Software Development
The Role of the BA in Agile Software DevelopmentThe Role of the BA in Agile Software Development
The Role of the BA in Agile Software Development
 
Offshore Software Development company India
Offshore Software Development company IndiaOffshore Software Development company India
Offshore Software Development company India
 
Agile Requirements Agile Philly Handouts
Agile Requirements Agile Philly HandoutsAgile Requirements Agile Philly Handouts
Agile Requirements Agile Philly Handouts
 
Sps.e book.2012
Sps.e book.2012Sps.e book.2012
Sps.e book.2012
 
How to successfully negotiate your project contracts - Daniel Elizalde
How to successfully negotiate your project contracts - Daniel ElizaldeHow to successfully negotiate your project contracts - Daniel Elizalde
How to successfully negotiate your project contracts - Daniel Elizalde
 
Agile Myths and Misconceptions
Agile Myths and MisconceptionsAgile Myths and Misconceptions
Agile Myths and Misconceptions
 
ENGR190D Winter 2013 Syllabus
ENGR190D Winter 2013 SyllabusENGR190D Winter 2013 Syllabus
ENGR190D Winter 2013 Syllabus
 
Synerzip Agile Software Development
Synerzip Agile Software DevelopmentSynerzip Agile Software Development
Synerzip Agile Software Development
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Scaling at kudo what we have learned along the way
Scaling at kudo what we have learned along the wayScaling at kudo what we have learned along the way
Scaling at kudo what we have learned along the way
 
Assembling you game team
Assembling you game teamAssembling you game team
Assembling you game team
 
The dev ops journey
The dev ops journeyThe dev ops journey
The dev ops journey
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Managing IT Projects - Onsite Offshore Coordination
Managing IT Projects - Onsite Offshore CoordinationManaging IT Projects - Onsite Offshore Coordination
Managing IT Projects - Onsite Offshore Coordination
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 

Similar to Death by Technical Debt: Lessons Learned to Get you Unbuired

Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
Atish Narlawar
 
Никита Галкин "Technical backlog: инструкция к применению"
Никита Галкин "Technical backlog: инструкция к применению"Никита Галкин "Technical backlog: инструкция к применению"
Никита Галкин "Technical backlog: инструкция к применению"
Fwdays
 
Нікіта Галкін “Technical backlog: інструкція до застосування” Kyiv Project Ma...
Нікіта Галкін “Technical backlog: інструкція до застосування” Kyiv Project Ma...Нікіта Галкін “Technical backlog: інструкція до застосування” Kyiv Project Ma...
Нікіта Галкін “Technical backlog: інструкція до застосування” Kyiv Project Ma...
Lviv Startup Club
 
Migrating Your Apps to the Cloud: How to do it and What to Avoid
Migrating Your Apps to the Cloud: How to do it and What to AvoidMigrating Your Apps to the Cloud: How to do it and What to Avoid
Migrating Your Apps to the Cloud: How to do it and What to Avoid
VMware Tanzu
 
How To Manage And Reduce Development Techical Debt
How To Manage And Reduce Development Techical DebtHow To Manage And Reduce Development Techical Debt
How To Manage And Reduce Development Techical Debt
Abdul Khan
 
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy
Fwdays
 
DevSecCon Boston 2018: Technical debt - why I love it by Mike Bursell
DevSecCon Boston 2018: Technical debt - why I love it by Mike BursellDevSecCon Boston 2018: Technical debt - why I love it by Mike Bursell
DevSecCon Boston 2018: Technical debt - why I love it by Mike Bursell
DevSecCon
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debt
Fadi Stephan
 
14.1 features
14.1 features14.1 features
14.1 features
Curtis Tsang
 
Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia event
Xebia India
 
Three pillars and Seven specializations – Product Development Outsourcers Pro...
Three pillars and Seven specializations – Product Development Outsourcers Pro...Three pillars and Seven specializations – Product Development Outsourcers Pro...
Three pillars and Seven specializations – Product Development Outsourcers Pro...
CzechDreamin
 
Drive It Home: A Roadmap for Today's Data-Driven Culture
Drive It Home: A Roadmap for Today's Data-Driven CultureDrive It Home: A Roadmap for Today's Data-Driven Culture
Drive It Home: A Roadmap for Today's Data-Driven Culture
Inside Analysis
 
Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2
Jim Brisson
 
Managing Technical Debt and Professionalism @ CyberArk - Noam Zweig & Ran Deri
Managing Technical Debt and Professionalism @ CyberArk - Noam Zweig & Ran DeriManaging Technical Debt and Professionalism @ CyberArk - Noam Zweig & Ran Deri
Managing Technical Debt and Professionalism @ CyberArk - Noam Zweig & Ran Deri
AgileSparks
 
Why Incat Autodesk Sales Presentation Jim Fanjoy
Why Incat Autodesk Sales Presentation   Jim FanjoyWhy Incat Autodesk Sales Presentation   Jim Fanjoy
Why Incat Autodesk Sales Presentation Jim Fanjoy
James Fanjoy
 
Agile Intro - Saint Louis Day of Dot Net
Agile Intro - Saint Louis Day of Dot NetAgile Intro - Saint Louis Day of Dot Net
Agile Intro - Saint Louis Day of Dot Net
Brian Blanchard
 
Why Is Managing Software So Hard?
Why Is Managing Software So Hard?Why Is Managing Software So Hard?
Why Is Managing Software So Hard?
Michael Lamont
 
From Divided to United - Aligning Technical and Business Teams
From Divided to United - Aligning Technical and Business TeamsFrom Divided to United - Aligning Technical and Business Teams
From Divided to United - Aligning Technical and Business Teams
LeanKit
 
What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...
STX Next
 
ROI Driven Digital Development
ROI Driven Digital DevelopmentROI Driven Digital Development
ROI Driven Digital Development
Robbie Burns
 

Similar to Death by Technical Debt: Lessons Learned to Get you Unbuired (20)

Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 
Никита Галкин "Technical backlog: инструкция к применению"
Никита Галкин "Technical backlog: инструкция к применению"Никита Галкин "Technical backlog: инструкция к применению"
Никита Галкин "Technical backlog: инструкция к применению"
 
Нікіта Галкін “Technical backlog: інструкція до застосування” Kyiv Project Ma...
Нікіта Галкін “Technical backlog: інструкція до застосування” Kyiv Project Ma...Нікіта Галкін “Technical backlog: інструкція до застосування” Kyiv Project Ma...
Нікіта Галкін “Technical backlog: інструкція до застосування” Kyiv Project Ma...
 
Migrating Your Apps to the Cloud: How to do it and What to Avoid
Migrating Your Apps to the Cloud: How to do it and What to AvoidMigrating Your Apps to the Cloud: How to do it and What to Avoid
Migrating Your Apps to the Cloud: How to do it and What to Avoid
 
How To Manage And Reduce Development Techical Debt
How To Manage And Reduce Development Techical DebtHow To Manage And Reduce Development Techical Debt
How To Manage And Reduce Development Techical Debt
 
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy
 
DevSecCon Boston 2018: Technical debt - why I love it by Mike Bursell
DevSecCon Boston 2018: Technical debt - why I love it by Mike BursellDevSecCon Boston 2018: Technical debt - why I love it by Mike Bursell
DevSecCon Boston 2018: Technical debt - why I love it by Mike Bursell
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debt
 
14.1 features
14.1 features14.1 features
14.1 features
 
Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia event
 
Three pillars and Seven specializations – Product Development Outsourcers Pro...
Three pillars and Seven specializations – Product Development Outsourcers Pro...Three pillars and Seven specializations – Product Development Outsourcers Pro...
Three pillars and Seven specializations – Product Development Outsourcers Pro...
 
Drive It Home: A Roadmap for Today's Data-Driven Culture
Drive It Home: A Roadmap for Today's Data-Driven CultureDrive It Home: A Roadmap for Today's Data-Driven Culture
Drive It Home: A Roadmap for Today's Data-Driven Culture
 
Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2
 
Managing Technical Debt and Professionalism @ CyberArk - Noam Zweig & Ran Deri
Managing Technical Debt and Professionalism @ CyberArk - Noam Zweig & Ran DeriManaging Technical Debt and Professionalism @ CyberArk - Noam Zweig & Ran Deri
Managing Technical Debt and Professionalism @ CyberArk - Noam Zweig & Ran Deri
 
Why Incat Autodesk Sales Presentation Jim Fanjoy
Why Incat Autodesk Sales Presentation   Jim FanjoyWhy Incat Autodesk Sales Presentation   Jim Fanjoy
Why Incat Autodesk Sales Presentation Jim Fanjoy
 
Agile Intro - Saint Louis Day of Dot Net
Agile Intro - Saint Louis Day of Dot NetAgile Intro - Saint Louis Day of Dot Net
Agile Intro - Saint Louis Day of Dot Net
 
Why Is Managing Software So Hard?
Why Is Managing Software So Hard?Why Is Managing Software So Hard?
Why Is Managing Software So Hard?
 
From Divided to United - Aligning Technical and Business Teams
From Divided to United - Aligning Technical and Business TeamsFrom Divided to United - Aligning Technical and Business Teams
From Divided to United - Aligning Technical and Business Teams
 
What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...
 
ROI Driven Digital Development
ROI Driven Digital DevelopmentROI Driven Digital Development
ROI Driven Digital Development
 

Recently uploaded

Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
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
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
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
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
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
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 

Recently uploaded (20)

Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
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
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
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
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
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
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 

Death by Technical Debt: Lessons Learned to Get you Unbuired

  • 1. Death by technical debt: lessons learned to get unburied QA & Developer Joint Forum Event
  • 3. JAMES SHORE Consultant, Author The Art of Agile @jamesshore
  • 8. #unempowered, #overthewallthinking #lacksownership, #actualquotes I shouldn't have to spend any of my resource pool on technical debt that the Development teams introduced. Product Owner Surely, we don’t need that much time to fully test the feature – let’s cut that estimate in half. Developer What do you mean my feedback is too late…I just got pulled into the project yesterday. QA Engineer
  • 11. #selforganizingteams, #nobystanders #deliberatedecisions, #ownership I own quality and I own keeping our technical debt under control. Product Owner I own quality and I own keeping our technical debt under control. Developer QA Engineer I own quality and I own keeping our technical debt under control.
  • 13. Technical Debt Death by Technical Debt: Lessons Learned to get you Unburied Product Owner Point of View Todd Whitaker, Product Owner Tripwire, Inc.
  • 14. What is technical debt? • Technical work that should have been completed, but for whatever reason was not and thus it is being “carried” in the product/codebase. • Analogies: 14
  • 15. Technical Debt – This PO’s POV If you are a product owner you should care about technical debt. If you work with a product owner, you need to help him/her know why they should care. 15
  • 16. How does it happen? • • • • “Startup mode” Time to market pressure Inexperience A natural side-affect of an imperfect median 16
  • 17. Technical Debt – Points to consider • +1 for not incurring it in the first place • If it is being incurred, make it visible! • In reality it happens and should be tracked – Tracking too much becomes ineffective • Developers are usually the most aware • Others are impacted in many ways: – Dev teams, Support, Prof Services, etc. and customers! 17
  • 18. Motivating your PO • Make the PO aware of tangible effects and benefits of addressing assign $ • Help him/her understand and quantify ROI – – – – – – Performance (speed/throughput) Improved dev team velocity Faster time to market More features in the release Increased sales Benefit to Prof. Services and System Engineers (sales) • Be willing to let go if you cannot justify it. 18
  • 20. ADP Dealer Services Technical Debt Discussion November 2013
  • 22. ADP Dealer Services 22 PRODUCTS LEAD MANAGER DESKING F&I STOCKING CRM CREDIT MENU MERCHANDISING COMPLIANCE
  • 23. ADP Dealer Services 23 PEOPLE 37 SPRINT TEAMS 250+ ASSOCIATES
  • 25. ADP Dealer Services 25 OUR TECH DEBT STORY…
  • 26. ADP Dealer Services 26 FIRST, THE OLD… My Top 5 Favorites
  • 27. ADP Dealer Services 27 1. Our application tips over every Saturday 2. We need to plan a hot fix after every release 3. We are scared to change ‘X’ 4. Slow Releases 5. We Had to Roll Back the Release Because of xyz.dll
  • 28. ADP Dealer Services 28 1. Our application tips over every Saturday 2. We need to plan a hot fix after every release 3. We are scared to change ‘X’ 4. We Can’t Release That for Another 10 Days 5. We Had to Roll Back the Release Because of xyz.dll
  • 29. ADP Dealer Services 29 1. Our application tips over every Saturday 2. We need to plan a hot fix after every release 3. We are scared to change ‘X’ 4. We Can’t Release That for Another 10 Days 5. We Had to Roll Back the Release Because of xyz.dll
  • 30. ADP Dealer Services 30 1. Our application tips over every Saturday 2. We need to plan a hot fix after every release 3. We are scared to change ‘X’ 4. We Can’t Release That for Another 10 Days 5. We Had to Roll Back the Release Because of xyz.dll
  • 31. ADP Dealer Services 31 1. Our application tips over every Saturday 2. We need to plan a hot fix after every release 3. We are scared to change ‘X’ 4. We Can’t Release That for Another 10 Days 5. We Had to Roll Back the Release Because of xyz.dll
  • 35. Technical Debt Management TAO Panel Discussion Date: November 7, 2013 Presenter: Mark Menger © 2012 Portland General Electric. All rights reserved.
  • 36. People, …  15 application delivery teams  1 large scale project team  Experience ranging from months to decades 11/13/13 36
  • 37. …Process, …  Scrum  Kanban  Waterfall 11/13/13 37
  • 38. …and Technology …  .Net & T-SQL  Java / WebSphere  Datapower  DataStage  Oracle Forms & PL/SQL  And others 11/13/13 38
  • 39. Technical Debt Challenges  Unacknowledged technical debt  Unmanaged technical debt  Vendor technical debt  Knowledge debt 11/13/13 39
  • 40. The importance of language  Unplanned and planned work  Committed work  Cone of uncertainty 11/13/13 40
  • 41. First steps out of the pit  Introduce the concept at all levels  Common term used by IT senior management  Don’t create more technical debt  ScrumMaster / Product Owner partnership  Occasional topic at business sponsor groups 11/13/13 41
  • 42. Next steps out of the pit  Improve fluency with the concept  Informally capture technical debt backlogs  Expand upon success of SM/PO partnership  Document project end technical debt  Additional process measures (e.g. code coverage) 11/13/13 42
  • 43. Tech Debt The NWEA Product Engineering Perspective
  • 44. Recommendations 1. Change the language • “Technical Debt” is “Business Debt” 1. 2. 3. 4. Create owner and advocate for technical debt Make the cost transparent (Get your CFO’s partnership!) Create both initiatives and pre-allocated capacity Invest in good design early • Good design early beats Great design late 1. Be proactive
  • 45. NWEA • • • • • • • Mission - “Partnering to Help All Kids Learn” $100 Million Revenue 500+ Employees Serve 7+ Million kids World Wide 42+ Million Assessments per year 100+ Engineers Based in Portland
  • 46. Our Challenge • Scaling Web Applications • High Capacity, High Transaction Volume • High Concurrency • > 1,000 moving to > 100,000 Concurrent Users • Moving from Product to Platform • Moving from Single Product to Suite • Wrong Architecture • Both Hardware and Software • Built for one purpose, deployed for a different one
  • 47. Technical Debt Definition • “A confusing combination of black magic, voodoo, and artifacts generated in the daily activities of Software Developers, Technical Architects, System Engineers and Operations of Technology Platforms, which is not readily apparent to, or valued by, customers and business partners.” • The Evil Twin of product “Features” • The “Buzz-Kill” of Product Managers customer focus groups and initiative funding meetings • The “Hard Sell”
  • 48. Examples • The Obvious • Hardware and OS Infrastructure EOL • Legacy or EOL Software Frameworks • De-supported Software and Hardware Platforms • The Non-Obvious • Short-Cut and/or Wrong Architecture and Design Decisions • Lowest Bid Technology Acquisition (a.k.a the cheapest route is the most expensive long term solution) • The Prototype gone wild (a.k.a “Fast is Good”) • The “Tent City” – Bad Urban Planning in Technology Architecture
  • 49. Strategies to Manage Technical Debt 1. Create an Initiative 2. Hide Capacity 3. Pass it to your Successor
  • 50. Create an Initiative • The Good • • • • Full Organization Sign-up and Support Focus Resources Targets • The Bad • • • • Need strong executive sponsor Usually driven by pain not typical positive drivers Seen as “Necessary Evil” Must compete with customer facing, revenue generating, projects
  • 51. Hide Capacity • The Good • • • • No negotiation required Give engineers license to do this work Self Protection Less likely to be caught “out” • The Bad • Tough to keep in the priority work • Needs internal governance and oversight • Requires discipline
  • 52. Pass it to your Successor • The Good • No management required • No architecture and design required • No negotiation required • The Bad • Can’t predict the timing of “The Crisis Point” • Your tenure has limited time horizon • Your infrastructure will fail (i.e. What color is your parachute?)
  • 53. Recommendations 1. Change the language • “Technical Debt” is “Business Debt” 1. 2. 3. 4. Create owner and advocate for technical debt Make the cost transparent (Get your CFO’s partnership!) Create both initiatives and pre-allocated capacity Invest in good design early • Good design early beats Great design late 1. Be proactive
  • 54. Q&A

Editor's Notes

  1. Checked with a bunch of people I work with and there seems to be a consensus that the teams would create debt free code if the managers didn’t put on any constraints!
  2. Checked with a bunch of people I work with and there seems to be a consensus that the teams would create debt free code if the managers didn’t put on any constraints!
  3. I will share our story
  4. Could have taken all teams for an entire release and still not addressed all built up debt Moral was low – no one wants to work on fixing bugs Refactoring was viewed as a negative by some in management – introducing risk Constantly argued parts of the estimates away.
  5. Got new management Agile enthusiasts Seen a better life
  6. Got executive support Re-organized to cross functional teams Empowered Teams Trained teams, brought in consultants Introduced prioritization (novel!) Organized work parties, bug bashes and declared bankruptcy to get technical debt under control
  7. The technical debt we introduce is a team agreement. It’s no one’s fault, it is a deliberate decision. They all own ‘Done’, they all own Quality They all own either not going into debt or climbing out The working agreements that we set at the beginning of the project help us navigate tricky situations We size the stories to include everything on our Done-Done list. I am involved before coding begins. My input matters now! We demo our work every sprint and we adjust as necessary
  8. Metrics can be used for evil as well as good 40 page weekly report that no body reads – probably a Dilbert comic somewhere on that G-Q-M a good way to identify the important metrics Need to make sure the key stakeholders are involved in the process Corporate reporting Revenue, efficiency, people people, process, technology People are our greatest asset – How do you know? Best place to work according to our employees Software maintenance costs eroding our profit (preventing new product)
  9. Poor System Performance Responsiveness of UI / Stability of the application How? No Performance Testing How? Poor relationship between application developers and hosting (dev-ops) Fragile System – every release breaks something – we are scared to change ‘X’ Code changes have unintended consequence in other areas How? Poor Design/ No Automated Testing How? Bad coding practices/ Long methods/ Huge classes Apps that don’t play well with each other Common dealer identifier How? complexity for teams to interact, slowed development Slow Releases It takes us 10 days to get a release out due to regression testing How? No automated testing Failed Releases How? Completely manual deployment process