Skip to content

[Experiment]: A Wall of Technical Debt #809

Open
@philou

Description

@philou

Contact Details

[email protected]

Feature Request

We keep getting bothered by smells in the code, yet we don't know which ones are the most painful and if we should tackle them

Feature Description

Let's experiment a remote-friendly Wall of Technical Debt (https://verraes.net/2020/01/wall-of-technical-debt/).
We decided to try this by using FIXME comments in the code. It has the advantage of already being tracked by existing tools (IDEs and Sonar).

We decided also that we will suffix a FIXME with a X everytime it gets in the way of coding. This will help us to prioritize which FIXMEs are the most urgent to fix.

Alternatives

  • a physical board at the office: we don't always work together, and it's not transposable to other teams, which reduces the experiment's value
  • an online board (Miro or other): we would need to pay, and it's decorrelated from the repo
  • a file in the repo representing the wall: we would need to point this out to the area of code in question + greater risk of forgetting to update the file as it it far from the smell

Additional Context

Write your answer here.

Code of Conduct

  • I agree to follow this project's Code of Conduct

TODO

  • Add FIXMEs to the code base
  • check that they are brought up well in tools
    • IDE
    • Sonar
  • Use them for a while
  • quickly retrospect how the practice work, how it should be improved or replaced
  • Update the coding conventions to explain how this works, and what needs to be done to contribute
    • Any IDE configuration to do?

Parking (maybe later)

  • Write a go script that generates a "wall of tech debt" file (markdown or mermaid) from grepping the code (ae8016d)
    • Include the git history of the FIXME line to highlight what kind of changes impact is hindered by this smell
    • Use AI to analyze the git history of the FIXME line

Metadata

Metadata

Labels

Type

No type

Projects

Status

In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions