Managing Technical Debt of Software
Technical debt occurs when a design or construction approach is taken that's expedient in the short term, but increases complexity and cost in the long term. In the course Managing Technical Debt of Software, the concept of technical debt is examined from multiple perspectives, including how it manifests, accumulates, and impacts the software development organization. This 1-day course presents approaches to assess the technical debt landscape and teaches mechanisms by which it can be intentionally managed. The course will examine technical debt management of software using an easy to understand analogy with investment strategy to encourage active management of technical debt, and foster dialogue between business and technical decision makers. These concepts are presented through lecture and reinforced by way of exercises and discussions.
- Software and business software professionals who design, develop or manage the construction of software-reliant systems
- Software practitioners who need to quickly gain insights into how to successfully manage technical debt
The course provides learners with a practical approach to recognizing, assessing, and managing technical debt. After attending this course, learners will have a better understanding of
- What is meant by the term "technical debt"
- The technical debt landscape and timeline
- How to identify technical debt as software development artifacts
- The role of qualitative and quantitative analysis as applied to technical debt
- How to identify the attributes of static analysis tools for technical debt
- The organization's perspective on managing technical debt
- How the organization manages technical debt to achieve business and quality goals
- Introduction to technical debt
- Technical debt definition framework
- Making technical debt visible
- When technical debt accumulates
- Paying back technical debt
- Living with technical debt
- Concluding thoughts
Learners will receive copies of the instructional materials used in the course which includes copies of slides and exercises.
Before registering for this course, learners should have
- Experience in the development of software-reliant systems
- Some familiarity with modern software engineering concepts
- Some understanding of the basic concepts of software architecture
Training courses provided by the SEI are not academic courses for academic credit toward a degree. Any certificates provided are evidence of the completion of the courses and are not official academic credentials. For more information about SEI training courses, see Registration Terms and Conditions and Confidentiality of Course Records.