Technical debt can be cause by a number of different issues: Pressure by business partners, lack of collaboration, struggling to integrate, poor technical leadership and lack of knowledge. Symptoms may include poor or reduced velocity, frustrated teammates leaving the company, continually failing to deliver projects on time, inability to make changes quickly and the inevitable blaming and finger pointing – especially near due date of a feature or release.

This course examines wasteful practices and processes that result in technical debt. Reducing technical debt is critical to the maintenance of any software product. The good news is that by using an Agile Framework like Scrum or Lean, identifying and creating a plan for improvement is a straight forward process.

Audience: The Agile team – including developers, analysts, testers, Project/Product Managers, Scrum Masters and Product Owners – and anyone else in your organization that cares about improving performance and lowering cost.
Course Duration: 2 days

While previous training or Agile experience is not required, participants will benefit greatly from a solid understanding of Scrum or Lean ceremonies and task boards.

Course Objectives:
  • Understand what technical debt is and how to objectively recognize it
  • Can minimize technical debt in future iterations and projects
  • Know how to pay your technical debt down quickly and iteratively
  • Understand the importance of design and how it affects debt
  • Reduced escaped bugs
  • Improve your team’s velocity
Course Outline:
  • Classifying and Identifying Technical Debt


  • What is Technical Debt?
    • Partially Done Work
    • Poorly Written Code
    • Defects
    • Bad Design
    • Task Switching
    • Extra Features
    • Relearning
    • Waiting
    • Hand Offs
    • Unhealthy teams


  • Where Technical Debt Happens in Agile/Scrum
    • Early Planning
    • The Story Workshop
      • Identifying Just Enough Work
    • Defining Done
    • Recognizing Quality Code
    • Using the Task Board to Diagnose Debt
    • Variance Is the Enemy
    • Tuning the Cross Functional Team
    • Automate
      • TDD, BDD and More
    • Refactoring
      • What, How and When
    • Identify Causes of Debt: Measuring Done Each Iteration
      • How to Verify Design
      • The Tasks Tell Stories
      • Check Cross Functionality
      • Capacity vs Delivered Product
      • Code Quality


  • Data Driven Retrospectives
    • Fix What Matters


  • Creating an Action Plan
    • Leveraged Debt
    • Identifying the Biggest Wastes
    • Creating a Repayment Plan
    • See the Whole
    • Stop and Fix
    • Metrics to Watch