Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dealing with Technical Debt

Dealing with Technical Debt

Dealing with Technical Debt - Laracon EU 2021.

Katerina Trajchevska

January 18, 2021
Tweet

More Decks by Katerina Trajchevska

Other Decks in Programming

Transcript

  1. Katerina Trajchevska • Co-founder of Adeva, a remote developers’ network.

    • Software Engineer & Mozilla Tech Speaker • Consultant with startups and Fortune 500 @ktrajchevska
  2. Technical debt is the coding you must do tomorrow because

    you took a shortcut in order to deliver the software today.
  3. The average developer spends 42% of their time dealing with

    technical debt and maintenance issues.
  4. Task: Pull Github data to profile 1. Abstract all dependencies

    so the controller doesn’t care what happens under the hood. 2. Use a combination of Strategy and Factory patterns to handle different Git clients. 3. Create an interface for the Git classes. 4. Create an Adapter class that will return the proper response for each client.
  5. When is Tech Debt good? ー Working on an MVP

    that will probably need to be recoded after user feedback. ー Experimenting with new tools and features that don’t have clear long term value. ー New feature or bug fix should be delivered fast (with caution).
  6. Questions to ask ー Will leaving tech debt behind really

    make development faster? Or are you being lazy? ー Are there other features that depend on the same codebase? If so, will investing a bit more time now save you time down the road?
  7. When will Tech Debt come back at you? ー Planned

    technical debt is accumulated and never tackled. ー Unintentional technical debt creates cruft and makes development harder. ー Codebase becomes outdated as technology evolves.
  8. Signs of tech debt in your code ー Bugs, especially

    in regression testing. ー Duplicate code and copy/paste approach. ー Changing existing code for new features. ー Can’t understand what a function does. ー Slow performance, security issues, unreliable data results.
  9. How to approach medium-sized debt? ー Empower engineers to report

    accumulated tech debt. ー Record intentional and reported debt. ー Plan to tackle at least one backlog item per sprint.
  10. How to approach large-sized dept? ー Reporting as with medium-sized

    debt. ー Senior engineers should be involved in planning how to tackle large debt. ー Handled over several sprints. or