Improving the capacity estimation of a software development team using data
Collander, Katariina (2022)
Collander, Katariina
2022
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2022-06-21
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202206165695
https://urn.fi/URN:NBN:fi:tuni-202206165695
Tiivistelmä
Team capacity is a measurement used to determine how much work a software development team can commit to working on in the future. Teams that use Scaled Agile Framework (SAFe) estimate capacity as a part of the product increment (PI) planning. This study identifies which factors affect the team capacity and how capacity estimations could be improved. Improved accuracy of capacity estimation can result in better predictability in the project.
The research was conducted as a case study. First, factors of team capacity were identified from existing literature. Data analysis was conducted on part of the factors to evaluate the impact of the factors in a case company with 12 teams working on a software project. Finally, recommendations on improving team capacity estimations were suggested.
Team capacity was seen to be affected by the team's performance and by the team's plans. Based on the research, team performance factors are team availability and size, corrective maintenance, project complexity, production environment, amount of work in progress, and technical debt. The soft factors are team climate, team age and individual competencies. The factors related to the plans' effect on team capacity are the quality of plans and effort estimations done by the team.
The relationships between team capacity and team availability, corrective maintenance, and team attributes were studied in the data analysis. The relationship between team availability and team capacity was only visible for two out of 11 teams, while the overall correlation for all teams combined was 0,53. While team capacity estimation in SAFe largely relies on the assumption that team capacity depends on team availability, in the case company, the data of 9 teams did not show this relationship. The central role of team availability in the estimations should be questioned. So far, this has not been done in the field research.
Team size was a statistically significant factor for 4 out of 11 teams, making the factor the most apparent one of the analysed factors. For the whole project, team size correlates with team capacity with a negative correlation of -0,29. Corrective maintenance and other team attribute factors were not found to correlate significantly with team capacity.
As seen from the results, team capacity is affected by many factors. It cannot be estimated by relying only on the team availability. Team capacity estimations could be improved by improving the estimation process and the related data. Teams should be encouraged to analyse their past more and be trained on what factors affect team capacity. The teams should be provided with data about their past work and capacity estimates from more than one PI. The risk of inaccurate estimations could be lowered by defining capacity estimate explicitly and using a range for the estimate instead of one value. The quality of the historical data used in the capacity estimations could be improved by encouraging teams to document changes in their work and record the realised efforts put into tasks in addition to the estimated efforts.
The research was conducted as a case study. First, factors of team capacity were identified from existing literature. Data analysis was conducted on part of the factors to evaluate the impact of the factors in a case company with 12 teams working on a software project. Finally, recommendations on improving team capacity estimations were suggested.
Team capacity was seen to be affected by the team's performance and by the team's plans. Based on the research, team performance factors are team availability and size, corrective maintenance, project complexity, production environment, amount of work in progress, and technical debt. The soft factors are team climate, team age and individual competencies. The factors related to the plans' effect on team capacity are the quality of plans and effort estimations done by the team.
The relationships between team capacity and team availability, corrective maintenance, and team attributes were studied in the data analysis. The relationship between team availability and team capacity was only visible for two out of 11 teams, while the overall correlation for all teams combined was 0,53. While team capacity estimation in SAFe largely relies on the assumption that team capacity depends on team availability, in the case company, the data of 9 teams did not show this relationship. The central role of team availability in the estimations should be questioned. So far, this has not been done in the field research.
Team size was a statistically significant factor for 4 out of 11 teams, making the factor the most apparent one of the analysed factors. For the whole project, team size correlates with team capacity with a negative correlation of -0,29. Corrective maintenance and other team attribute factors were not found to correlate significantly with team capacity.
As seen from the results, team capacity is affected by many factors. It cannot be estimated by relying only on the team availability. Team capacity estimations could be improved by improving the estimation process and the related data. Teams should be encouraged to analyse their past more and be trained on what factors affect team capacity. The teams should be provided with data about their past work and capacity estimates from more than one PI. The risk of inaccurate estimations could be lowered by defining capacity estimate explicitly and using a range for the estimate instead of one value. The quality of the historical data used in the capacity estimations could be improved by encouraging teams to document changes in their work and record the realised efforts put into tasks in addition to the estimated efforts.