Direct Measurement and Forecasting of Software Team Efficiency
Steve Bannerman · 2007
In general, software development managers do not know how efficiently their teams are changing their software products. They may know the ratio of their development cost to the size of the software created, or something similar, but they do not know the ratio of effective changes to all changes, over time. To address this void, we developed a set-theoretic model for efficiency. Further, we developed tools to measure efficiency across time for Java products. With these tools, we measured the changes for six open source projects, over a one year period. Based on these measurements, we proposed a family of curves- a mathematical model for software team efficiency. Next, we performed a forecasting tournament, trying to establish the model’s usefulness for predicting the efficiency of particular changes. A hybrid forecasting method, combining our mathematical model and a ”random walk”, was able to predict efficiency values better than a random walk. Provisionally, we conclude that the model is valid and that software development managers can use it, in addition to the supporting tools, to measure and forecast their team’s efficiency. With such an ability, for example, they could evaluate new development activities or estimate how long changes will be effective. 1