A Decision Support System to Choose Optimal Release Cycle Length in Incremental Software Development Environments

Avnish Chandra Suman,Saraswati Mishra,Abhinav Anand
DOI: https://doi.org/10.5121/ijsea.2016.7504
2016-10-06
Abstract:In the last few years it has been seen that many software vendors have started delivering projects incrementally with very short release cycles. Best examples of success of this approach has been Ubuntu Operating system that has a 6 months release cycle and popular web browsers such as Google Chrome, Opera, Mozilla Firefox. However there is very little knowledge available to the project managers to validate the chosen release cycle length. We propose a decision support system that helps to validate and estimate release cycle length in the early development phase by assuming that release cycle length is directly affected by three factors, (i) choosing right requirements for current cycle, (ii) estimating proximal time for each requirement, (iii) requirement wise feedback from last iteration based on product reception, model accuracy and failed requirements. We have altered and used the EVOLVE technique proposed by G. Ruhe to select best requirements for current cycle and map it to time domain using UCP (Use Case Points) based estimation and feedback factors. The model has been evaluated on both in-house as well as industry projects.
Software Engineering
What problem does this paper attempt to address?
The problem that this paper attempts to solve is: in the incremental software development environment, how to select the optimal release cycle length. Specifically, project managers lack effective tools and methods to verify and estimate the length of the release cycle in the early development stage. To address this problem, the author proposes a decision - support system, aiming to help project managers optimize the selection of the release cycle length according to the following three key factors: 1. **Select appropriate requirements for the current cycle**: Ensure that the requirements selected within each release cycle are optimal. 2. **Estimate the time required for each requirement**: Accurately predict the development time for each requirement. 3. **Based on product acceptance, model accuracy and feedback on failed requirements**: Use the feedback information from the previous iteration to adjust the requirement selection and time estimation for the current cycle. ### Problem Background In recent years, many software vendors have begun to adopt short - cycle incremental delivery methods. For example, the Ubuntu operating system is released every 6 months, and browsers such as Google Chrome, Opera, and Mozilla Firefox have also adopted similar rapid - release strategies. However, the knowledge available to project managers on how to verify and select an appropriate release cycle length is very limited. This has led to some successful cases (such as Ubuntu), but also some failed examples (such as the problems encountered by Banshee after shortening the release cycle). ### Research Objectives The objective of this paper is to help project managers verify and estimate the length of the release cycle in the early development stage by introducing a decision - support system. The system mainly considers the following points: - **Requirement Selection**: Use the improved EVOLVE method to select requirements for the current cycle. - **Time Estimation**: Estimate the time for each requirement based on the Use Case Points (UCP) method. - **Feedback Mechanism**: Introduce a feedback factor to adjust requirement selection and time estimation to reflect the performance of the previous iteration. ### Formula Representation - The calculation formula for **Use Case Points (UCP)** is: \[ UCP = TCF\times ECF\times UUCP\times PF \] where: - \(TCF\) is the Technical Complexity Factor. - \(ECF\) is the Environmental Complexity Factor. - \(UUCP\) is the Unadjusted Use Case Points. - \(PF\) is the Productivity Factor. - The calculation formula for **Feedback Factor (FF)** is: \[ FF = Evl(dT, FR, UP) \] where: - \(dT\) is the difference between the actual time and the estimated time. - \(FR\) is the proportion of failed requirements. - \(UP\) is the user perception score. ### Conclusion Through the above methods, this decision - support system can help project managers select and verify the length of the release cycle more scientifically, thereby improving the success rate and quality of the project.