Shortening release duration is a key element for creating competitive product from the iterative software development process. However, short-term expedients (e.g. code compromises, delayed change requests, etc.) can have long term effects on the future of the application. Such consequences are categorized as “technical debt”, on which “interest” (e.g. delays in implementation on sub-optimal code) have to be paid as long as the “principle” (e.g. flaws in design, documentation and implementation) is not refactored and restructured.
There are multifaceted factors that influenced the effective management of technical debt in organizations. In this research, we formulate the concept of debt in the context of (software) product releases, specifically when-to-release decisions. The potential competitive advantage through faster delivery needs to be balanced against the degree of readiness of the product, evaluated based on features business values and systematic testing, and the potentially incurred technical debt. Pro-active analysis of the estimated impact of running through various release scenarios is expected to provide insights and essential inputs for actual decision-making process. This research also evaluates a set of metrics to track, maintain, and potentially reduce the types of debt created during the lifespan of the product, both as part of industry-driven case studies and quantitative evaluation using a prototype tool.