Upload
sergey-sundukovskiy
View
566
Download
0
Embed Size (px)
DESCRIPTION
This is a presentation that covers origins of technical debt, how to deal with it and how to "sell it" management
Citation preview
SERGEY SUNDUKOVSKIY PH.D.
Technical Debt and Selling Rearchitecture
1
Introduction2
Agenda3
Technical Debt
Things slow down
4
Debt
Everything you want to do “Later” is DEBT Let’s document later Let’s test later Let’s architect later Let’s refactor later
Debt Misconceptions All debt is bad No debt is great Taking on debt always gets you there faster
5
Debt (Leverageable)6
Leveraging Debt
Debt Leverage Time to market – If taking on debt gets you to market
disproportionately faster Time to contact – If strategic contract is at stake debt might be
worth it Time to funding – If funding is at stake debt might be worth it Time to survival – Debt is irrelevant if there is no tomorrow
Unacceptable Debt Non-leveragable debt Debt due to ignorance
7
Technical Debt Elements
Technical Debt Elements Lack of Architectural Blueprint Lack of Unit Testing Lack of Integration Testing Lack of Code Reviews Lack of Starter Platform Lack of Starter Framework Lack of Technical Design Lack of Development Recipes
8
Selling Debt Management9
Only If You Must
Debt Management Is Very Hard To Sell Cause and effect is not immediately apparent ROI is very difficult to quantify Definition of done is hard to come up with Perpetual projects are not crowd pleasers Users are not even aware that backend of apps even exists. UX/UI
in user’s mind is the app itself
10
Only If You Must (cont.)
If You Can Help It, Do Not Sell It Schedule feature holidays (every 5th release) Refactor as you go Make debt management as part of the process Give estimates considering debt management Invite outside experts
If You Must Sell It Tell CEO/CTO story Use aircraft maintenance strategy
11
Debt Story
I have not seen organs like this
12
Common Story
CEOs Tale We were very productive We kicked ass We became complacent I fired them all I hired a new team They are not productive either Must have chosen wrong I fired them all SAVE ME
13
Common Story
CTOs Tale We were very productive through debt accumulation We kicked ass but burned out We slowed down due to increasing debt support We got fired New team got hired It does not know where skeletons are buried We got fired as well I have Not Seen Organs Like These
14
Support to Innovation Ratio
Support cost is a euphemism for debt
15
Support(15%)
Innovation(85%)
Support(50%)
Innovation(50%)
Support(85%)
Innovation(15%)
Year 1
Year 2
Year 3
Debt Creeps Up on You
Yup it is kind of like that
16
Broken Window Theory
One broken window leads to ruin
17
Broken Window Theory
Do sweat the small stuff
18
Due Diligence19
Due Diligence is a an exercise of debt discovery
Case Study 1 (Sample Due Diligence)
No Middle Tier Frameworks Code EntanglementLots of Dead CodePoor Exception HandlingHigh CouplingLow EncapsulationAbsence of Higher Order ServicesLack of Documented Architectural Blueprint
20
Case Study 1 (Sample Due Diligence)
What does this mean? Increased Maintenance Cost Difficulty Extending Difficulty Hiring Developer Lock In Technical “Debt” That Needs To Be Repaid
Debt quantification $200K
21
Case Study 1 (Recommendations)
Refactor dead codeRefactor code entanglementRefactor logic segmentationIntroduce architectural blueprintIntroduce unit, integration and functional testsIntroduce persistence and decency injection frameworksImplement CIA/CEO principles
22
Case Study 2 (Rearchitecture)
Sold It as a Project, Failed to Complete Political “hot” potato No interim deliverable Very expensive Affected by business downturn
23