Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt...

Post on 25-Aug-2020

0 views 0 download

Transcript of Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt...

1Technical debt management as transparent communication hub

SATURN 2019

Technical debt management as transparent communication hub

Matthias Kittner

2Technical debt management as transparent communication hub

Who am I?

Matthias Kittner

• 8y Developer

• 5y Software architect

• 3y Enterprise architect

• Infrastructure architect

• Ask me …

Virtual prototyping software

Virtual Reality

Physics simulation

3Technical debt management as transparent communication hub

Journey through the talk

• Without technical debt management• Define the process• Explore the accumulated debt• Start to understand and communicate• Takeaways

4Technical debt management as transparent communication hub

SATURN 2019

Technical debt management as transparent communication hub

I. Without technical debt management

5Technical debt management as transparent communication hub

Release planning, a typical conversation … Without technical debt management

We need some time to fix thearchitecture!We have really a lot of issues.

We don‘t have time for that.We have a target and needthe features!

Rawpixels.com @ pexels.com

Tim Gouw @ pexels.com

6Technical debt management as transparent communication hub

The other day … release planning II … Without technical debt management

This is too difficult …Because …But we will make it possible …

Why does it take so long?

We need feature X for thenext release.This is very important!

We found a solution, but wereally need to fix this later …

……

Rawpixels.com @ pexels.com

Tim Gouw @ pexels.com

7Technical debt management as transparent communication hub

Situation: misalignment & increasing debt

• Frustrated developers – bad code and architecture

• Frustrated product and project managers – bad surprises and slow development

• Only diffuse information

• Uncontrolled taking up of TD for short term goals

• Big fear about the word Technical Debt

Without technical debt management

8Technical debt management as transparent communication hub

SATURN 2019

Technical debt management as transparent communication hub

II. Define a process

9Technical debt management as transparent communication hub

Why do we need a technical debt management process

• Because of our situation: misalignment & increasing debt

• Financial or technical debt → it needs to be tracked

• Transparency about our products/codes → we can act on it

• Taking up technical debt

• by accident → must not happen

• by purpose → needs to be tracked

• Ability to decide to remove on correct priorities

Define a process

10Technical debt management as transparent communication hub

• Technical debt reflects to the accumulated liability (=costs of additional rework and high code complexity) caused by choosing an easy solution over a better approach that would take longer.

• Technical debt can realistically never be 0.

Defining the termsDefine a process

easy solutionshort-term goals

better approach that would take longerlong-term software quality requirements.

Unstable bridge: easy solution→ “old and aging technology”? or “taken up naively”?

Temporary bridge: easy (but intermediate) solution→ “by purpose”, “taken up strategically”

Technical debt

• 3 categories

DEZALB from Free Photos @ canva.com

https://bit.ly/2VmfBzE

11Technical debt management as transparent communication hub

• Taken up by purpose

• Taken up naively

• Happened by age

Defining the termsDefine a process

Unstable bridge: easy solution→ “old and aging technology”? or “taken up naively”?

Temporary bridge: easy (but intermediate) solution→ “by purpose”, “taken up strategically”

• 3 categories

DEZALB from Free Photos @ canva.com

https://bit.ly/2VmfBzE

12Technical debt management as transparent communication hub

VisibilityDefine a process

Features

Architecture

Bugs /Defects

TechnicalDebt

Positive value NegativeValue / Costs

Visible behaviour / appearance

Invisible basis / foundation

13Technical debt management as transparent communication hub

Cost

Repay costs:• effort to fix it (=base debt + growth)

Interest costs:• additional effort• inability to deliver certain features• more effort to find bugs• high risk to create regression

Interest on interest:• Increasing debt due to ongoing development• An exponential growth of the debt

Define a process

Complexity

Severity

Contagion

14Technical debt management as transparent communication hub

ProcessDefine a process

Manage technical debt tickets(maintain the registry)

Decide what to remove/fix(triage)

Remove technical debt(dev project)

15Technical debt management as transparent communication hub

Rules & guidelines how to document TD

• Use your ticket system

• Describe the problem, not a task

• Describe the implication of the problem separately

• Justify, if technical debt is added by purpose

• Propose a solution

• Give the ticket the proper metrics (severity, complexity, contagion)

Define a process

16Technical debt management as transparent communication hub

SATURN 2019

Technical debt management as transparent communication hub

III. Explore the accumulated debt

17Technical debt management as transparent communication hub

Exploration

• Fill the bucket

• Hesitation

Explore the accumulated debt

Photo by Alice Pasqual on Unsplash

19Technical debt management as transparent communication hub

Exploration

• Fill the bucket

• Hesitation

• Balance

• Developers learning curve

• Quality

Explore the accumulated debt

Open issues

Issues with missing fields

20Technical debt management as transparent communication hub

SATURN 2019

Technical debt management as transparent communication hub

IV. Start to understand and communicate

21Technical debt management as transparent communication hub

PrioritizationTry to understand the full picture and communicate

Too much focus on low hanging fruits

Distribution of contagion, severity and complexity in Technical Debt ticketsopacity - # of tickets

Temptation of low hanging

fruits

Procrastinated big things

22Technical debt management as transparent communication hub

Now we have dataTry to understand the full picture and communicate

23Technical debt management as transparent communication hub

Findings

• Enterprise level debt → Who owns that?

• How to communicate in the right way

• Challenge of different ticket systems

• Clear and simple metrics

Try to understand the full picture and communicate

24Technical debt management as transparent communication hub

The good, the bad and the nextTry to understand the full picture and communicate

25Technical debt management as transparent communication hub

The good, the bad and the next

• Main codes covered, all teams adopted the process

• After some iterations streamlined process

• Teams stepped back to have a look at their legacy

• Adoption and recognition, increased communication

• Active part of release planning

Try to understand the full picture and communicate

26Technical debt management as transparent communication hub

The good, the bad and the next

• Iteration created some friction

• Decreasing engagement after initial effort

• Importance of essential ticket fields was not fully understood

Try to understand the full picture and communicate

27Technical debt management as transparent communication hub

The good, the bad and the next

• Establish the management process after initial effort

• Ensure discipline in documenting TD taken up by purpose

• Prevention and monitoring

• Finally: Discuss, balance and decide what to fix and how

Try to understand the full picture and communicate

28Technical debt management as transparent communication hub

Summary

• Misalignment & increasing debt

• Process: Manage, decide, pay back

• Fill the bucket

• The full picture to decide and pay back

• Establish the process

sticky notes, various lists, crowd knowledge and emails

database with weighted technical debt issues

29Technical debt management as transparent communication hub

Takeaways

• TD management is necessary for transparency and to be able to communicate

• A common understanding is fundamental for the process to function

• The quality of the description and augmentation is essential for any prioritization or

selection

• Prioritization is important to not get overwhelmed with too many small things

• The hard stuff is yet to come → refactor and fixing the issues

30Technical debt management as transparent communication hub

Questions?

31Technical debt management as transparent communication hub

SATURN 2019

Technical debt management as transparent communication hub

Thank you