Software Estimation Best Practices

Circa 2021, What Does a “Typical” Software Project Look Like?

Background

No two software projects are exactly alike. So, one way to find out what a “typical” software project looks like is to take a large sample of completed projects from the QSM historical database of over 13,000 completed software projects and look at measurements of central tendency for staff, effort, size, schedule duration, and productivity.

For this study, QSM looked at validated projects that completed beginning in 2010. We eliminated 1 person projects and those that expended less than 1 person month of effort. The eliminated projects accounted for 13% of the sample. About 80% of the projects fell into the Business IT application domain, many of which were from the financial services sector. This domain includes projects that typically automate common business functions such as payroll, financial transactions, personnel, order entry, inventory management, materials handling, warranty and maintenance products. We determined both a median and an average for each metric. With the exception of schedule (project duration), these differed significantly which indicates that that the sample metric values were not normally distributed. To minimize the effect of unrepresentative projects (those that comprise a small part of the sample, but whose metric values are very large or very small), we decided to use the medians – values with 50% of the projects above and 50% below the “average” as a better measure of central tendency.

The "Typical" Project

Metric

Median

Average Staff (Full Time Equivalent)

4.87

Effort (Person Months)

25.84

Duration (Calendar Months Design thru Implement)

5.13

Productivity Index (PI)

14.7

Size (Implementation Units: IU)*

11,020

Productivity (IU/Person Month)

414

**IU is an abbreviation for Implementation Unit which can be a logical line of code or a step in a configuration.

One of the most used features of the QSM website is the Function Point Languages Table,  which contains gearing factors for various software languages. This is revised as new projects are added to the database. Based on that, here is a translation of median productivity in IU into function points. 

Average IUs per Function Point

Software Language(s) Examples

FP per Person Month

30

Powerbuilder

15.6

40

HTML, Oracle

11.7

50

C++, Java

9.4

60

COBOL

7.8

 

Takeaways

  • The “typical” (median) project has a team size of about 5 FTE and lasts 5 months
  • 75% of software projects:
    • Use 10 or fewer Staff
    • Expend less than 62 person months of effort
    • Complete in 8.4 months or less
    • Produce 26,577 IU (or 532 function points using 50 IU per function point) or less
    • Have a productivity of 816 IU/person month (16.3 function points) or less
  • It looks like one Agile scrum team of 5 or 6 would be a good fit for at least half of the projects in the QSM sample

QSM has studying software project behavior for over 40 years, here are some links to previous analyses: