Abstract:
Software technical debt uses the concept of “debt” in economics to describe the technical compromise implemented in software development for the short-term benefits. However, for the long-term goal, technical debt will affect the quality, cost and development efficiency, so it is necessary to manage it systematically and effectively. Aiming at the technical debt caused by the changing requirements in the software life cycle, the requirement change technical debt is defined and quantified firstly. Then, the idea of “marginal contribution” in economics is used to obtain the marginal contributions of the changing requirements. They are the basis of the priority for the requirement changes. Then, marginal contribution analytical method provides a reference for the implementation value of requirement changes. In the experiment and case study, taking Hadoop as an example, the feasibility of the marginal benefit for requirement changes is verified. Finally, gradient boosting decision tree is used to study the history reports of requirement changes in Spring Framework. A method for analyzing the requirement changes’ marginal contribution abilities is proposed. The priority of each field in change reports to its marginal contribution is ranked. The results show that the analysis method can provide valuable results for requirement engineers to measure their workload and risks.