DEV Community

Discussion on: Dealing with Technical Debt

Collapse
 
lexlohr profile image
Alex Lohr

Our team has inherited a large code base with an similarly large amount of tech debt. While this is rather disheartening, we are using multiple strategies at once:

  • boy scout approach: leave every piece of code you touch better than you found it.
  • renovate from inside: bigger updates to components can be enacted as replacements with a modern alternative that may be reused later
  • eat from outside: the application is embedded into a join flow that can already set up parts of it faster than the application itself, so one of our stories is to rewrite the join flow as PWA and fulfil the requirements of the original app one by one inside that; once the join-PWA has all the requirements ready, it will replace the app

While it can be argued that this is a waste of time and we should focus on one strategy, this is a great experiment to find out which one prevails - with the added advantage that the reduction of tech dept and the corresponding improvements in performance, security and comfort will reach the customer earlier, even if the whole path takes longer, which allows us to refine our stories on the way.

Collapse
 
adammckerlie profile image
Adam McKerlie

The boy scout approach is really useful in every day life. Basically everytime we touch an older file we also make sure to create a PR that makes sure it's PEP8. We basically have been doing the same thing. It takes longer overall but it continuously improves the application with less risk of a massive all-in-one rewrite.

Collapse
 
lexlohr profile image
Alex Lohr

When inheriting a code base, the boy scout approach is also a good way to ensure you'll work your way into the code and really make it yours.