Agile Software Development: Dealing with Legacy Code and Technical Debt
1h 2mIntermediate2019-11-01
Authors

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
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
0. Introduction
- 01 - Embrace the legacy and tackle the debt
- 02 - What you should know
- 03 - Definitions
1. Getting Started - Review the Technical Debt
- 04 - Familiarize yourself
- 05 - Remember the prime directive
- 06 - Take ownership
- 07 - Set up a dev environment
- 08 - Skim the code
2. Fence in the Technical Debt
- 09 - Technical debt grows without tests
- 10 - Create a test suite (if one is missing)
- 11 - Run the test suite
- 12 - Handle failing tests
- 13 - Build out test coverage
- 14 - Build dependency behavior tests
3. Improve Your Tools
- 15 - Aging tools make technical debt worse
- 16 - Introduce dependency management
- 17 - Update dependencies and tools
4. Pay Down Technical Debt
- 18 - Remove noise and distractions
- 19 - Read by refactoring
- 20 - Isolate external services and devices
- 21 - Code like a scientist
5. Keep Technical Debt at Bay
- 22 - Technical debt will grow like weeds
- 23 - Stay test driven
- 24 - Practice refactoring
- 25 - Keep code clean
- 26 - Monitor code quality
Conclusion
- 27 - Next steps