managing technical debt xpdays latest copy...dealing with technical debt-state of the practice (=...

102
Lean Principles and the Management of Technical Debt Sven Johann, November 2016

Upload: others

Post on 08-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Lean Principles and the Management of

Technical Debt

Sven Johann, November 2016

Page 2: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Definition

Page 3: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

What is Technical Debt?

3

A design or construction approach that's beneficial in the short term

but that creates a technical context in which the same work

will cost more to do later than it would cost to do now

(including increased cost over time)(Steve McConnell)

Page 4: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

The Metaphor> Interest

Page 5: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

The Metaphor> Interest

> Principal

Page 6: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

The Metaphor> Interest

> Principal

> You haven’t necessarily created the debt

Page 7: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

The Metaphor> Interest

> Principal

> You haven’t necessarily created the debt

> You don’t have to pay back all the time

Page 8: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

The Metaphor> Interest

> Principal

> You haven’t necessarily created the debt

> You don’t have to pay back all the time

> Debt value is very volatile (Call Option)

Page 9: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Debt is not a bad thing, it’s a Strategy

Page 10: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Some Examples > 50% of the code in one class (> 50 KLoC)

Page 11: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Some Examples > 50% of the code in one class (> 50 KLoC)

> Domain Model: 2 classes w/ 200+ attributes

Page 12: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Some Examples > 50% of the code in one class (> 50 KLoC)

> Domain Model: 2 Klassen mit 200+ Attributen

> Hardware only available on eBay

Page 13: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Some Examples > 50% of the code in one class (> 50 KLoC)

> Domain Model: 2 classes w/ 200+ Attributes

> Hardware only available on eBay

> No new features for more than 10 month

Page 14: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Some Examples > 50% of the code in one class (> 50 KLoC)

> Domain Model: 2 Klassen mit 200+ Attributen

> Hardware only available on eBay

> No new features for more than 10 month

> Retirement / resignation of a developer is a thread to the business

Page 15: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

SPIEGEL ONLINE zur Lage der CoBa::

“Auch ihre schlechte und veraltete IT machte der Bank in den vergangenen Jahren zu schaffen.”

Page 16: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Understanding the Landscape

https://insights.sei.cmu.edu/sei_blog/2016/08/the-future-of-managing-technical-debt.html

Page 17: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Technical Debt in your Sprint

Page 18: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

What color has your backlog?(reused from Philippe Kruchten)

Sprint

Backlog of Stories

Page 19: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

What color has your backlog?(reused from Philippe Kruchten)

Sprint

Backlog of Storiesand Bugs

Page 20: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

What color has your backlog?(reused from Philippe Kruchten)

Sprint

Backlog of Stories ,Bugs Technical Tasks,

Page 21: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

What color has your backlog?(reused from Philippe Kruchten)

Sprint

Backlog of Stories ,Bugs

and

Technical Tasks,

Technical Debt

Page 22: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Dealing with Technical Debt-

State of the Practice

Page 23: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Dealing with Technical Debt-

State of the Practice(= not good)

Page 24: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 25: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 26: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 27: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Better:Managing Technical Debt

Page 28: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

What color has your backlog?(reused from Philippe Kruchten)

Sprint

Backlog of Stories ,Bugs

and

Technical Tasks,

Technical Debt

Page 29: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Visible Invisible

Positive value

Negative value

(Reused from Philippe Kruchten)

Colors in a Product

Page 30: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Lean Principles

Page 31: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Lean PrinciplesObsession: Reduce Waste

• Specifying Value• Identify and create

value streams• Making value flow• Pull production, not

push• Striving for

perfection

• Eliminate waste• Amplify learning• Decide as late as

possible• Deliver as fast as

possible• Empower the team• Build integrity in• See the whole

Lean Software Dev**Lean Manufacturing*

* Womack, Jones: The Machine That Changed The World ** Poppendiecks

Page 32: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

High Value Examples(based on Data)

Page 33: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 34: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 35: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 36: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

What improvements matter to your Business?

Page 37: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Some Examples > Lead time too long> # of bugs, expensive bugs> Development too expensive> Development too slow> Poor application performance> Dependent from individual developers> Online experiments> Poor usability> (Real-time) analytics> Security & privacy problems

Page 38: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

> Measurable base line and target

Lean Approach to those Problems

Page 39: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

> Measurable base line and target> Concrete business need

Lean Approach to those Problems

Page 40: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

> Measurable base line and target> Concrete business need> Analyse the Value Chain (it’s usually broken

somewhere)

Lean Approach to those Problems

Page 41: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

> Measurable base line and target> Concrete business need> Analyse the Value Chain (it’s usually broken

somewhere)> Fix those places with a prototype

Lean Approach to those Problems

Page 42: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

> Measurable base line and target> Concrete business need> Analyse the Value Chain (it’s usually broken

somewhere)> Fix those places with a prototype> Scale

Lean Approach to those Problems

Page 43: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Lean PrinciplesObsession: Reduce Waste

• Specifying Value• Identify and create

value streams• Making value flow• Pull production, not

push• Striving for

perfection

• Eliminate waste• Amplify learning• Decide as late as

possible• Deliver as fast as

possible• Empower the team• Build integrity in• See the whole

Lean Software Dev**Lean Manufacturing*

* Womack, Jones: The Machine That Changed The World ** Poppendiecks

Page 44: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 45: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

• Cost/Benefit-Analysis• It’s always an estimate!• Don’t try to be exact, find “clues”• Use Fermi-Questions

Page 46: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

To Pay Or Not To Pay

> Debt repayment

Page 47: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

To Pay Or Not To Pay

> Debt repayment

> Debt conversion

Page 48: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

To Pay Or Not To Pay

> Debt repayment

> Debt conversion

> Just pay the interest

Page 49: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

analyze evaluate

improve

architecture improvement

method

http://aim42.org/

Page 50: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Questions?

Page 51: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Thanks

Page 52: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 53: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Conclusion

> There will always be Technical Debt - it’s not a bad thing

Page 54: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Conclusion

> There will always be Technical Debt - it’s not a bad thing

> You don’t have to pay all of it back

Page 55: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Conclusion

> There will always be Technical Debt - it’s not a bad thing

> You don’t have to pay all of it back

> It has to be managed properly with regards to value, cost and risk

Page 56: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Conclusion

> There will always be Technical Debt - it’s not a bad thing

> You don’t have to pay all of it back

> It has to be managed properly with regards to value, cost and risk

> Paying down valuable debt is a first class requirement

Page 57: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 58: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 59: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 60: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Architectural Approaches

Page 61: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Strangler Pattern> Motivated by Strangler Vines in Queensland> Don’t invest too much time in critical rewrites

(= bankruptcy of a system), because it almost always fails

> Instead: “gradually create a new system around the edges of the old, letting it grow slowly over several years until the old system is strangled”

> Gradual ROI, less risk than big bang> http://www.martinfowler.com/bliki/

StranglerApplication.html

Page 62: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Strategic Design

> Part of Domain Driven Design

> says that “a system can’t have the same high level of quality throughout the system”

> Exercise: do a risk plane

> You need to measure what is valuable to the user!

Page 63: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

How Buildings Learn

Page 64: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

How Buildings Learn

> Different artefacts change at different rates> Google puts a lot of effort into shared long-

term infrastructure like GFS> Factor your system so that artefacts that

change at similar rates are together> Examples

> What changes often in your system?> What changes rarely in your system?

Page 65: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Conclusion

> There will always be Technical Debt

> It’s not always bad

> You don’t have to pay all of it back

> It has to be managed properly

Page 66: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Thanks

Page 67: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Lean

Technical Backlog

Risk Plane

Measure

Cleanup release

To Pay or not to Pay

Page 68: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Lean

Technical Backlog

Risk Plane

Measure

Cleanup release

To Pay or not to Pay

Page 69: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Cleanup Release

> Purely technical release to improve the codebase

Page 70: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Cleanup Release

> Purely technical release to improve the codebase

> If you have deadlines where you know that the code is messy afterwards

> Improve only if you know what’s important> Be careful with changing code which does not

really needs to be improved

Page 71: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Cleanup Release

> Purely technical release to improve the codebase

> If you have deadlines where you know that the code is messy afterwards

> Improve only if you know what’s important> Be careful with changing code which does not

really needs to be improved

> Every shortcut is still fresh in your head

Page 72: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Lean

Technical Backlog

Risk Plane

Measure

Cleanup release

To Pay or not to Pay

Page 73: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 74: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 75: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 76: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 77: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 78: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 79: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 80: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Lean

Technical Backlog

Risk Plane

Measure

Cleanup release

To Pay or not to Pay

Page 81: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Lean Approach (1/2)

> Talk to the senior executives> What is the most important thing you need

changed with regard to your systems?> Usually they know

Page 82: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Lean Approach (1/2)

> Talk to the senior executives> What is the most important thing you need

changed with regard to your systems?> Usually they know

> Verify those problems> Talk also to key developers> Validate all the assumptions where the time is

spent or where things are slow> Sometimes people have intuitions

Page 83: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Lean Approach (2/2)

> Measure the baseline and set the target, e.g.> save 20% of the cycle time> reduce deployment effort> reduce development time of certain features> increase transaction volume / reliability / etc.

Page 84: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Lean Approach (2/2)

> Measure the baseline and set the target, e.g.> save 20% of the cycle time> reduce deployment effort> reduce development time of certain features> increase transaction volume / reliability / etc.

> Look at the Value-Chain to improve> impacted negatively in one way or the other> critical points where making a difference has a

big impact> innovate at the bottleneck(s) where accelerating

or improving makes a difference

Page 85: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Lean Approach - Discussion

> Good if you have overwhelming problems

> Cost and value are “easy” to measure

> Risk-reduction with prototypes (start small and scale

Page 86: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Lean

Technical Backlog

Risk Plane

Measure

Cleanup release

To Pay or not to Pay

Page 87: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 88: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from
Page 89: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Lean

Technical Backlog

Risk Plane

Measure

Cleanup release

To Pay or not to Pay

Page 90: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Lean

Technical Backlog

Risk Plane

Measure

Cleanup release

To Pay or not to Pay

Page 91: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

What color has your backlog?(stolen from Philippe Kruchten)

Sprint

Backlog of Stories ,Bugs

and

Technical Tasks,

Technical Debt

Page 92: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

> Debt items can be treated as planned stories

Technical Backlog?(stolen from Philippe Kruchten)

Page 93: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

> Debt items can be treated as planned stories> These stories can be small and big as

“normal” stories

Technical Backlog?(stolen from Philippe Kruchten)

Page 94: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

> Debt items can be treated as planned stories> These stories can be small and big as

“normal” stories> They have a cost and a value: it is

transparent why they are in the backlog

Technical Backlog?(stolen from Philippe Kruchten)

Page 95: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

> Debt items can be treated as planned stories> These stories can be small and big as

“normal” stories> They have a cost and a value: it is

transparent why they are in the backlog> Defining the value is an unsolved problem!

You need a guess, guided by the measurements, risk planes

Technical Backlog?(stolen from Philippe Kruchten)

Page 96: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

> It can sometimes be hard for the PO/PM to decide on TD items (prio, benefit) if it is too technical (e.g. new Java Runtime)

What color has your backlog?(stolen from Philippe Kruchten)

Page 97: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

> It can sometimes be hard for the PO/PM to decide on TD items (prio, benefit) if it is too technical (e.g. new Java Runtime)

> The value is volatile. The context can change and therefore the value.

What color has your backlog?(stolen from Philippe Kruchten)

Page 98: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

> It can sometimes be hard for the PO/PM to decide on TD items (prio, benefit) if it is too technical (e.g. new Java Runtime)

> The value is volatile. The context can change and therefore the value.

> Improvements as part of a new requirement

What color has your backlog?(stolen from Philippe Kruchten)

Page 99: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

aim42architecture improvement method

Page 100: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

analyze evaluate

improve

architecture improvement

method

http://aim42.org/

Page 101: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

How Buildings Learn

> Do you have different change rates?

Page 102: Managing Technical Debt XPDays latest copy...Dealing with Technical Debt-State of the Practice (= not good) Better: Managing Technical Debt What color has your backlog? (reused from

Microservices / SCS / Replaceable Component Arch.