Agile Software Development: Dealing with Legacy Code and Technical Debt

Agile Software Development: Dealing with Legacy Code and Technical Debt

1h 2mIntermediate2019-11-01

Authors

M. Scott Ford

M. Scott Ford

Software Remodeler, Polyglot Developer

Course details

In nearly every organization, developers are forced to grapple with old code that gets in the way of writing new features. Is legacy code limiting your development team's agility? If so, let this course be your guide for how to embrace a legacy system and improve it while paying down technical debt. Instructor Scott Ford explains how to review legacy code and fence in the technical debt by creating and running a test suite. He also demonstrates how to introduce dependency management and update dependences and tools, how to remove noise and distractions from your code, and how to keep technical debt at bay by remaining test driven and monitoring code quality.

Learning objectives
Assessing the technical debt
Creating and running a test suite
Handling failing tests
Updating dependencies and tools
Paying down technical debt
Remaining test driven
Monitoring code quality

Skills covered

Agile Software DevelopmentDevOpsDeep Dive (X:Y)

Concepts

Introduction

  • Embrace the legacy and tackle the debt
  • What you should know
  • Definitions

Getting Started - Review the Technical Debt

  • Familiarize yourself
  • Remember the prime directive
  • Take ownership
  • Set up a dev environment
  • Skim the code

Fence in the Technical Debt

  • Technical debt grows without tests
  • Create a test suite (if one is missing)
  • Run the test suite
  • Handle failing tests
  • Build out test coverage
  • Build dependency behavior tests

Improve Your Tools

  • Aging tools make technical debt worse
  • Introduce dependency management
  • Update dependencies and tools

Pay Down Technical Debt

  • Remove noise and distractions
  • Read by refactoring
  • Isolate external services and devices
  • Code like a scientist

Keep Technical Debt at Bay

  • Technical debt will grow like weeds
  • Stay test driven
  • Practice refactoring
  • Keep code clean
  • Monitor code quality

Conclusion

  • Next steps
40,000 Toman