Technical debt management as transparent communication hub Matthias - - PowerPoint PPT Presentation

technical debt management as transparent communication hub
SMART_READER_LITE
LIVE PREVIEW

Technical debt management as transparent communication hub Matthias - - PowerPoint PPT Presentation

SATURN 2019 Technical debt management as transparent communication hub Matthias Kittner Technical debt management as transparent communication hub 1 Who am I? Matthias Kittner 8y Developer 5y Software architect 3y Enterprise


slide-1
SLIDE 1

1

Technical debt management as transparent communication hub

SATURN 2019

Technical debt management as transparent communication hub

Matthias Kittner

slide-2
SLIDE 2

2

Technical 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

slide-3
SLIDE 3

3

Technical 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
slide-4
SLIDE 4

4

Technical debt management as transparent communication hub

SATURN 2019

Technical debt management as transparent communication hub

  • I. Without technical debt

management

slide-5
SLIDE 5

5

Technical debt management as transparent communication hub

Release planning, a typical conversation …

Without technical debt management

We need some time to fix the architecture! We have really a lot of issues. We don‘t have time for that. We have a target and need the features!

Rawpixels.com @ pexels.com Tim Gouw @ pexels.com

slide-6
SLIDE 6

6

Technical 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 the next release. This is very important! We found a solution, but we really need to fix this later …

……

Rawpixels.com @ pexels.com Tim Gouw @ pexels.com

slide-7
SLIDE 7

7

Technical 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

slide-8
SLIDE 8

8

Technical debt management as transparent communication hub

SATURN 2019

Technical debt management as transparent communication hub

  • II. Define a process
slide-9
SLIDE 9

9

Technical 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

slide-10
SLIDE 10

10

Technical 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 terms

Define a process

easy solution short-term goals better approach that would take longer long-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

slide-11
SLIDE 11

11

Technical debt management as transparent communication hub

  • Taken up by purpose
  • Taken up naively
  • Happened by age

Defining the terms

Define 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

slide-12
SLIDE 12

12

Technical debt management as transparent communication hub

Visibility

Define a process

Features Architecture Bugs / Defects Technical Debt

Positive value Negative Value / Costs Visible behaviour / appearance Invisible basis / foundation

slide-13
SLIDE 13

13

Technical 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

slide-14
SLIDE 14

14

Technical debt management as transparent communication hub

Process

Define a process

Manage technical debt tickets (maintain the registry) Decide what to remove/fix (triage) Remove technical debt (dev project)

slide-15
SLIDE 15

15

Technical 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

slide-16
SLIDE 16

16

Technical debt management as transparent communication hub

SATURN 2019

Technical debt management as transparent communication hub

  • III. Explore the accumulated debt
slide-17
SLIDE 17

17

Technical debt management as transparent communication hub

Exploration

  • Fill the bucket
  • Hesitation

Explore the accumulated debt

Photo by Alice Pasqual on Unsplash

slide-18
SLIDE 18

18

Technical debt management as transparent communication hub

Exploration

  • Fill the bucket
  • Hesitation
  • Balance
  • Developers learning curve

Explore the accumulated debt

Photo by Leio McLaren (@leiomclaren) on Unsplash

slide-19
SLIDE 19

19

Technical 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

slide-20
SLIDE 20

20

Technical debt management as transparent communication hub

SATURN 2019

Technical debt management as transparent communication hub

  • IV. Start to understand and

communicate

slide-21
SLIDE 21

21

Technical debt management as transparent communication hub

Prioritization

Try to understand the full picture and communicate

Too much focus on low hanging fruits

Distribution of contagion, severity and complexity in Technical Debt tickets

  • pacity - # of tickets

Temptation of low hanging fruits Procrastinated big things

slide-22
SLIDE 22

22

Technical debt management as transparent communication hub

Now we have data

Try to understand the full picture and communicate

slide-23
SLIDE 23

23

Technical 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

slide-24
SLIDE 24

24

Technical debt management as transparent communication hub

The good, the bad and the next

Try to understand the full picture and communicate

slide-25
SLIDE 25

25

Technical 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

slide-26
SLIDE 26

26

Technical 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

slide-27
SLIDE 27

27

Technical 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

slide-28
SLIDE 28

28

Technical 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

slide-29
SLIDE 29

29

Technical 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
slide-30
SLIDE 30

30

Technical debt management as transparent communication hub

Questions?

slide-31
SLIDE 31

31

Technical debt management as transparent communication hub

SATURN 2019

Technical debt management as transparent communication hub

Thank you