50
Dan Nicola | Maxcode Florin Cardasim | Endava

Managing technical debt - Dan Nicola - Florin Cardasim

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Managing technical debt - Dan Nicola - Florin Cardasim

Dan Nicola | Maxcode Florin Cardasim | Endava

Page 2: Managing technical debt - Dan Nicola - Florin Cardasim
Page 3: Managing technical debt - Dan Nicola - Florin Cardasim
Page 4: Managing technical debt - Dan Nicola - Florin Cardasim
Page 5: Managing technical debt - Dan Nicola - Florin Cardasim
Page 6: Managing technical debt - Dan Nicola - Florin Cardasim

Code Debt

Architectural Debt

Test Debt

Knowledge Debt

Technological Debt

Page 7: Managing technical debt - Dan Nicola - Florin Cardasim
Page 8: Managing technical debt - Dan Nicola - Florin Cardasim
Page 9: Managing technical debt - Dan Nicola - Florin Cardasim
Page 10: Managing technical debt - Dan Nicola - Florin Cardasim
Page 11: Managing technical debt - Dan Nicola - Florin Cardasim
Page 12: Managing technical debt - Dan Nicola - Florin Cardasim
Page 13: Managing technical debt - Dan Nicola - Florin Cardasim

Customers are annoyed by bugs or

missing features due to low productivity.

Page 14: Managing technical debt - Dan Nicola - Florin Cardasim

This leads to additional costs for the helpdesk,

which annoys the people there, too.

Page 15: Managing technical debt - Dan Nicola - Florin Cardasim

Increased development time and quality

issues are also a problem for marketing.

Page 16: Managing technical debt - Dan Nicola - Florin Cardasim

Bugs lead to frequent patches,

which annoys the operations team.

Page 17: Managing technical debt - Dan Nicola - Florin Cardasim

Many annoyed parties definitely

don’t make the management happy.

Page 18: Managing technical debt - Dan Nicola - Florin Cardasim

Last but not least also the developers

are suffering. No one wants to deliver

bad work.

Page 19: Managing technical debt - Dan Nicola - Florin Cardasim
Page 20: Managing technical debt - Dan Nicola - Florin Cardasim

“the only one who can ever change this code is Claudiu”

“let’s just copy & paste this code”

“it’s ok for now but we’ll refactor it later!”

“if I touch that code everything will break”

“ToDo/FixMe: this should be fixed before release”

“let’s finish the testing in the next release”

Page 21: Managing technical debt - Dan Nicola - Florin Cardasim
Page 22: Managing technical debt - Dan Nicola - Florin Cardasim
Page 23: Managing technical debt - Dan Nicola - Florin Cardasim
Page 24: Managing technical debt - Dan Nicola - Florin Cardasim
Page 25: Managing technical debt - Dan Nicola - Florin Cardasim
Page 26: Managing technical debt - Dan Nicola - Florin Cardasim
Page 27: Managing technical debt - Dan Nicola - Florin Cardasim
Page 28: Managing technical debt - Dan Nicola - Florin Cardasim
Page 29: Managing technical debt - Dan Nicola - Florin Cardasim
Page 30: Managing technical debt - Dan Nicola - Florin Cardasim
Page 31: Managing technical debt - Dan Nicola - Florin Cardasim
Page 32: Managing technical debt - Dan Nicola - Florin Cardasim
Page 33: Managing technical debt - Dan Nicola - Florin Cardasim
Page 34: Managing technical debt - Dan Nicola - Florin Cardasim
Page 35: Managing technical debt - Dan Nicola - Florin Cardasim
Page 36: Managing technical debt - Dan Nicola - Florin Cardasim

Cover it with tests and then modify it

Making it extensible and then extend it

Make it modular and then rewrite it

Page 37: Managing technical debt - Dan Nicola - Florin Cardasim
Page 38: Managing technical debt - Dan Nicola - Florin Cardasim
Page 39: Managing technical debt - Dan Nicola - Florin Cardasim
Page 40: Managing technical debt - Dan Nicola - Florin Cardasim
Page 41: Managing technical debt - Dan Nicola - Florin Cardasim
Page 42: Managing technical debt - Dan Nicola - Florin Cardasim
Page 43: Managing technical debt - Dan Nicola - Florin Cardasim

e.g. 10% of the available time

Page 44: Managing technical debt - Dan Nicola - Florin Cardasim

Some teams do a purely technical release to improve the codebase from time to time

This approach is only useful if a list with the really necessary refactoring already exists

Page 45: Managing technical debt - Dan Nicola - Florin Cardasim
Page 46: Managing technical debt - Dan Nicola - Florin Cardasim

Established best practice to define purely technical work packages

Technical change to be made

Why this technical change is important for the project

In which part of the code the technical change has to be performed

Page 47: Managing technical debt - Dan Nicola - Florin Cardasim
Page 48: Managing technical debt - Dan Nicola - Florin Cardasim

Debt repayment

Debt conversion

Just pay the interest

Page 49: Managing technical debt - Dan Nicola - Florin Cardasim

Technical Debt is unavoidable

Technical Debt is not always bad, no need to be (fully) repaid in

every case

We’ve got tools (Sonar, inCode, many others)

Technical Debt is often a cultural issue, not a technical one

Page 50: Managing technical debt - Dan Nicola - Florin Cardasim

Please fill in the evaluation forms