The relationship between software development team size and software development cost

the relationship between software development team size and software development cost Most of the software developMent cost is related to the programmers' salaries and recent evidence shows that team-related factors can affect project performance and its cost. Selecting an appropriate team size for software development projects continues to be a challenge for most project managers. Larger teams represent better distribution of skills, but lead to higher communication and coordination costs. 8 Smaller teams lead to lower communication and coordination costs, but lead to programming biases that make software maintenance costly. Smaller teams, due to homogeneous programmer backgrounds, may lack the problem solving expertise for large size complex projects. In addition to programmer skills, Gorla and Lam10 have noted that heterogeneity in team member personality may be desirable in certain phases of the SDLC. Additionally, Gorla and Lam 10 emphasize that diverse expertise in IT and business application experience is always desirable in any project. Software development project tools provide advance coordination and communication capabilities and are often used to control communication and coordination costs for large sized teams. Without the use of software development tools, it is easy to show that team communication requirements increase exponentially with the increase in team size. Since most projects use advance software development tools, the assumption of exponential increase in software development cost with increase in team size will seldom hold true in real world. Even a linear relationship between software development cost and team size may be considered a mute point, at best. Understanding the relationship and impact of team size on software development cost is important because most managers, when confronted with strict deadlines, are tempted to increase team size. Among the reasons for increasing team size are: 9, 6 1. Pressure to meet the schedule, as competitive advantage of the technology decreases with time, 2. Assigning one person to a project does not mean linear completion time, and 3. Dividing work into small sub-projects allows many people to work on the project simultaneously, which reduces the project completion time. Although increasing team size for strict deadlines appears to be a good strategy, it is not really clear if it works well. For example, Biffl and Gutjahr 5

[1]  Louis Fried TEAM SIZE AND PRODUCTIVITY IN SYSTEMS DEVELOPMENT Bigger Does Not Always Mean Better , 1991 .

[2]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[3]  A. Charnes,et al.  Some Models for Estimating Technical and Scale Inefficiencies in Data Envelopment Analysis , 1984 .

[4]  L. Sproull,et al.  Coordinating Expertise in Software Development Teams , 2000 .

[5]  Narasimhaiah Gorla,et al.  Who should work with whom?: building effective software project teams , 2004, CACM.

[6]  Building a software cost estimation model based on categorical data , 2001, Proceedings Seventh International Software Metrics Symposium.

[7]  Stefan Biffl,et al.  Influence of team size and defect detection technique on inspection effectiveness , 2001, Proceedings Seventh International Software Metrics Symposium.

[8]  Jr. Frederick P. Brooks,et al.  The Mythical Man-Month: Essays on Softw , 1978 .

[9]  Parag C. Pendharkar,et al.  An empirical study of the impact of team size on software development effort , 2007, Inf. Technol. Manag..

[10]  Jose L. Salmeron,et al.  Using the DEA methodology to rank software technical efficiency , 2005, CACM.

[11]  William W. Cooper,et al.  Evaluating Program and Managerial Efficiency: An Application of Data Envelopment Analysis to Program Follow Through , 1981 .

[12]  Rajiv D. Banker,et al.  A Field Study of Scale Economies in Software Maintenance , 1997 .

[13]  Rajiv D. Banker,et al.  Scale Economies in New Software Development , 2013, IEEE Transactions on Software Engineering.