31
SATURN 2019 Technical debt management as transparent communication hub Matthias Kittner

Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

1Technical debt management as transparent communication hub

SATURN 2019

Technical debt management as transparent communication hub

Matthias Kittner

Page 2: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 3: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 4: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

4Technical debt management as transparent communication hub

SATURN 2019

Technical debt management as transparent communication hub

I. Without technical debt management

Page 5: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 6: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 7: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 8: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

8Technical debt management as transparent communication hub

SATURN 2019

Technical debt management as transparent communication hub

II. Define a process

Page 9: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 10: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 11: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 12: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 13: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 14: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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)

Page 15: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 16: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

16Technical debt management as transparent communication hub

SATURN 2019

Technical debt management as transparent communication hub

III. Explore the accumulated debt

Page 17: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

17Technical debt management as transparent communication hub

Exploration

• Fill the bucket

• Hesitation

Explore the accumulated debt

Photo by Alice Pasqual on Unsplash

Page 19: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 20: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

20Technical debt management as transparent communication hub

SATURN 2019

Technical debt management as transparent communication hub

IV. Start to understand and communicate

Page 21: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 22: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

22Technical debt management as transparent communication hub

Now we have dataTry to understand the full picture and communicate

Page 23: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 24: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

24Technical debt management as transparent communication hub

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

Page 25: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 26: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 27: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 28: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 29: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

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

Page 30: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

30Technical debt management as transparent communication hub

Questions?

Page 31: Technical Debt Management as Transparent Communication Hub · 2019. 5. 10. · Technical debt management as transparent communication hub. 29. Takeaways • TD management is necessary

31Technical debt management as transparent communication hub

SATURN 2019

Technical debt management as transparent communication hub

Thank you