Quantitative Software Management The Impact of Team Size on Software Project Productivity Donald M. Beckett QSM, Inc. 2000 Corporate Ridge, Suite 900 McLean, VA 22102 (360) 697-2640, fax: (703) 749-3795 e-mail: info@qsm.com http://www.qsm.com Quantitative Software Management, Inc. All rights reserved. Slide #1
Outline What is productivity? Process overview Static productivity categories Dynamic productivity categories Team size and productivity Questions? Quantitative Software Management, Inc. #2
What is Productivity? Traditional Productivity: : Ratio between cost/effort and units of size (lines of code per staff month, hours per function point) Advantages Relatively easy to calculate and understand Effective way to compare similar projects or environments Disadvantages Does not account for impact of different domains/application types Does not account for schedule, team size, or quality constraints Quantitative Software Management, Inc. #3
Productivity Categories (Static) Determine medians for technical productivity and schedule productivity from project history Assign projects to one of four categories Better than median both measures Worse than median both measures Better technical / worse schedule Worse technical / better schedule Analyze variables (project size, staffing, quality, etc.) to uncover relationships Quantitative Software Management, Inc. #4
Productivity Categories EDS SC Development + Projects FP \ Duration 220 200 180 160 140 120 100 80 60 40 20 0 0 10 20 30 40 50 60 70 80 90 FP/ Person Month # Projects Projects Median FP / Duration Median FP / Person Month Quantitative Software Management, Inc. #5
Process Overview (Dynamic Productivity Categories) Analysis based on validated software projects completed since 2001 All projects had effort and duration from the beginning of analysis until release into production Projects parsed into four productivity groups Better than average for effort and schedule Worse than average for effort and schedule Better than average for effort; worse for schedule Better than average for schedule; worse for effort Quantitative Software Management, Inc. #6
Dynamic Productivity Categories Analyze through Implement Duration vs Size Projects worse than average for schedule 100 Average 10 Average Calendar Months Projects better than average for schedule 1 0.1 1 10 100 1,000 Size (thousands) Quantitative Software Management, Inc. #7
Process Overview Projects divided into quartiles based on size Within each quartile, the % of each productivity group was calculated for different team sizes Observations made for each quartile about the best team sizes for schedule optimization, cost containment, and risk avoidance Quantitative Software Management, Inc. #8
Quartile 1 Up to 4004 ESLOC Productivity: Quartile 1 70 60 Percentage 50 40 30 20 Above Average Effort Optimized Schedule Optimized Below Average 10 0 <= 1 1-2 2-3 3-4 > 4 Team Size Team size 3 or less provides best chance of balancing both schedule and cost/effort Quantitative Software Management, Inc. #9
Quartile 1 Effort Productivity Effort Productivity Distribution: Quartile 1 120 100 80 Percentage 60 40 Above Average Below Average 20 0 <= 1 1-2 2-3 3-4 > 4 Team Size Small teams (2 or less) have highest probability of optimizing cost/effort Quantitative Software Management, Inc. #10
Quartile 1 Schedule Productivity Schedule Productivity Distribution: Quartile 1 70 60 50 Percentage 40 30 20 Above Average Below Average 10 0 <= 1 1-2 2-3 3-4 > 4 Team Size Team size between 2 and 4 best for schedule optimized projects Quantitative Software Management, Inc. #11
Quartile 1 Observations % projects better than average for schedule increases with team size up to a staff of 3-43 Effort optimized projects decrease with team size: dramatically when team size > 2 % projects better than average for effort & schedule increases up to 3 then rapidly decreases % high cost long schedule projects increases with team size: dramatically when team > 4 Quantitative Software Management, Inc. #12
Quartile 1 Recommendations Staff should be 2 or less if cost/effort is primary project driver Staff should be 2 4 if schedule is primary project driver Staff of 1 3 for best balanced probability of success Avoid team size > 4: (> 60% chance of being worse than average for schedule and cost/effort). Large teams are counterproductive Quantitative Software Management, Inc. #13
Quartile 2 4005 8702 ESLOC Productivity Distribution: Quartile 2 Percentage 90 80 70 60 50 40 30 20 10 Above Average Effort Optimized Schedule Optimized Below Average 0 <= 1 1-2 2-3 3-4 4-5 5-6 6-8 > 8 Team Size Team size of 1-3 provides best chance of balancing both schedule and cost/effort Quantitative Software Management, Inc. #14
Quartile 2 Effort Productivity Effort Productivity Distribution: Quartile 2 120 100 80 Percentage 60 40 Above Average Below Average 20 0 <= 1 1-2 2-3 3-4 4-5 5-6 6-8 > 8 Team Size Effort optimized projects decrease steadily with team size. Few projects with teams > 4 are cost/effort optimized Quantitative Software Management, Inc. #15
Quartile 2 Schedule Productivity Schedule Productivity Distribution: Quartile 2 100 90 80 70 Percentage 60 50 40 30 20 10 Above Average Below Average 0 <= 1 1-2 2-3 3-4 4-5 5-6 6-8 > 8 Team Size Many different team sizes work with these projects. Large teams can be used effectively where schedule is paramount Quantitative Software Management, Inc. #16
Quartile 2 Observations Wide latitude in staffing for better than average projects (for schedule) Effort optimization decreases with size: few projects with staff > 4 are effort optimized Staff 1 3 has best balanced probability of success Effort optimized and balanced probabilities very similar to patterns for smaller (Quartile 1) projects Quantitative Software Management, Inc. #17
Quartile 2 Recommendations Team size <= 3 best for producing better than average project for effort/cost Team size 1 3 provides best balanced probability for better than average project for effort & schedule Large teams (> 8) can be used effectively to optimize schedule Quantitative Software Management, Inc. #18
Quartile 3 8705 20647 ESLOC Productivity Distribution: Quartile 3 70 60 Percentage 50 40 30 20 Above Average Effort Optimized Schedule Optimized Below Average 10 0 <= 1 1-2 2-3 3-4 4-5 5-6 6-8 > 8 Team Size Team size of 4 or less provides best chance of balancing both schedule and cost/effort. Sharp drop-off with larger teams Quantitative Software Management, Inc. #19
Quartile 3 Effort Productivity Effort Productivity Distribution: Quartile 3 120 100 Percentage 80 60 40 Above Average Below Average 20 0 <= 1 1-2 2-3 3-4 4-5 5-6 6-8 > 8 Team Size Teams with 4 or less have highest probability of optimizing cost/effort Quantitative Software Management, Inc. #20
Quartile 3 Schedule Productivity Schedule Productivity Distribution: Quartile 3 70 60 50 Percentage 40 30 20 Above Average Below Average 10 0 <= 1 1-2 2-3 3-4 4-5 5-6 6-8 > 8 Team Size Teams with 4 or less have highest probability of optimizing schedule Quantitative Software Management, Inc. #21
Quartile 3 Observations % projects with better than average effort drops significantly with teams > 4 % projects with better than average schedule peaks with teams 3 4 then drops Teams =< 4 have good balanced probability of success Teams > 4 have increased chance of being worse than average for cost/effort and schedule Quantitative Software Management, Inc. #22
Quartile 3 Recommendations Team size 3 4 a good fit for these projects Smaller teams (< 3) a good fit if schedule pressure permits Avoid teams > 4 Quantitative Software Management, Inc. #23
Quartile 4 > 20647 ESLOC Productivity Distribution: Quartile 4 Percentage 80 70 60 50 40 30 20 10 Above Average Effort Optimized Schedule Optimized Below Average 0 <= 2 2-3 3-4 4-5 5-6 6-8 8-10 10-15 > 15 Team Size Balanced probability of success fairly consistent up to a team size of 8 Quantitative Software Management, Inc. #24
Quartile 4 Effort Productivity Effort Productivity Distribution: Quartile 4 120 100 80 Percentage 60 40 Above Average Below Average 20 0 <= 2 2-3 3-4 4-5 5-6 6-8 8-10 10-15 > 15 Team Size Teams larger than 8 have little chance of optimizing cost/effort Quantitative Software Management, Inc. #25
Quartile 4 Schedule Productivity Schedule Productivity Distribution 80 70 60 Percentage 50 40 30 20 10 Above Average Below Average 0 <= 2 2-3 3-4 4-5 5-6 6-8 8-10 10-15 > 15 Team Size Little correlation between team size and schedule productivity Quantitative Software Management, Inc. #26
Quartile 4 Observations Good chance to optimize effort if team size 6 or fewer % projects better than average for schedule & effort fairly constant up to staff of 8 Projects better than average for schedule peaks at staff of 4 5 Significant increase in projects worse than average for schedule & cost/effort with staff > 8 Quantitative Software Management, Inc. #27
Quartile 4 Recommendations Team size of 5 6 provides best balanced probability of success Projects with staff > 8 have a high chance of not being efficient in either cost/effort or schedule: keep teams small! Quantitative Software Management, Inc. #28
Optimal Team Sizes Quartile Schedule Optimized Cost/Effort Optimized Balanced Performance 1-4004 ESLOC 2-4 < 2 1-3 4005-8702 ESLOC 2-6 1-3 1-3 8703-20647 ESLOC 2-4 1-4 2-4 20647+ ESLOC 4-6 1-5 2-6 Large Projects > 70000 ESLOC 10-20 10-20 10-20 Quantitative Software Management, Inc. #29
Overall Observations Strong relationship between team size and effort efficiency: Small teams are more productive Relationship between team size and schedule is more tenuous: Large teams not always associated with faster time to market Smaller teams far less likely to be worse than average for both effort and schedule Quantitative Software Management, Inc. #30
Questions? Quantitative Software Management, Inc. #31
Backup Slides Quantitative Software Management, Inc. #32
Large Project > 70000 ESLOC Productivity Distribution: Large Projects > 70k 70.0% 60.0% Percentage 50.0% 40.0% 30.0% 20.0% Above Average Effort Optimized Schedule Optimized Below Average 10.0% 0.0% <=5 >5<=10 >10<=20 >20 Team Size Team size between 10 & 20 stands out as best choice for optimizing both schedule & cost/effort Quantitative Software Management, Inc. #33
Very Large Project Observations Staffing between 10 & 20 is a sweet spot for both schedule and cost/effort Projects with staff > 20 either optimize schedule or are high cost, slow to deliver Quantitative Software Management, Inc. #34
Very Large Project Recommendations Use a staff between 10 20 for optimal performance Projects with a staff > 20 are high cost and have a > 50% chance of being slow to deliver, too Quantitative Software Management, Inc. #35
1 st Quartile Analyze through Implement Effort vs Size 2 nd Quartile 10,000 1,000 100 10 1 Staff Months of Effort 0.1 3 rd Quartile 4 th Quartile 0.01 1 10 100 1,000 Size (thousands) Business Systems Avg. Line Style 1 Sigma Line Style Quantitative Software Management, Inc. #36