Understanding and Eliminating Technical Debt
In this course we explore what technical debt is, the problems it causes, and how you can identify and quantify it. We then address how to create an action plan to address it, and look at some practical techniques for repaying it.
What you'll learn
If you are working on a large and successful commercial project, technical debt can gradually accumulate as you take the decision to do things the quick way rather than the right way. If care isn't taken, technical debt can threaten the long-term success of your project. In this course we take a broad look at the wide variety of forms that technical debt can appear in, and look at how you can identify it and quantify it with metrics. We also look at the challenges associated with repaying it, including getting the rest of the development team and your managers to view it as a priority. We conclude the course with advice about techniques and action plans for repaying the debt.
Table of contents
- Module Introduction 2m
- Code Debt 2m
- Complicated Code 3m
- Cut and Paste Coding 4m
- Tight Coupling 2m
- Code Debt Warning Signs 1m
- Architectural Debt 2m
- Missing Layer 2m
- Missing Extensibility Points 3m
- Overlooked Concerns 1m
- Architectural Debt Warning Signs 1m
- Test Debt 4m
- Refactoring 2m
- Test Debt Warning Signs 1m
- Knowledge Debt 2m
- Dead Code 2m
- Knowledge Debt Warning Signs 1m
- Technological Debt 3m
- Migrating from Legacy Technology 3m
- Technological Debt Warning Signs 2m
- Module Summary 2m
- Module Introduction 1m
- Cover it With Tests, Then Modify It 1m
- I Haven't Got Time 1m
- What is it Supposed to Do? 2m
- Characterization Tests Demo 2m
- I Can't get This Code Under Test 1m
- Making it Testable Demo 4m
- Make it Extensible, Then Extend It 4m
- Modularize it, Then Rewrite It 3m
- Micro-Service Architectures 3m
- Module Summary 2m