Estimating the Numbers of End Users and End User Programmers
Christopher Scaffidi Brad Myers Mary Shaw Carnegie Mellon University EUSES Consortium VL/HCC ’05, Sep 23, 2005
The Old 55M Estimate
The number of end-user programmers in the U.S. alone is expected to reach 55 million by 2005, as compared to only 2.75 million professional programmers.
Our New 90M Estimate
The number of users in U.S. businesses is expected to exceed 90 million by 2012, including over 55 million users of spreadsheets and/or databases, as compared to under 3 million professional programmers.
Outline
2. The Basic 55M Estimation Method – 55M End User Programmers in 2005
3. Extending the Method – 90M Users in 2012 – 55M Spreadsheet and/or Database Users in 2012
4. Conclusions
History and Purpose of the 55M Estimate First appeared in COCOMO (circa 1995) – COCOMO is Boehm’s model for estimating the cost of developing software applications
How many people would benefit from COCOMO? – To answer this, Boehm projected… • # of professional programmers (2.75M in 2005) • # of end user programmers (55M in 2005)
– .
Step #1: Project Worker Counts for 2005 Steps to generate the estimate 1. Get the Bureau of Labor Statistics (BLS) occupation projections for 2005
Occupational Category
Projected # workers (2005)
Managerial and Professional
36.773 million
Technical, Sales, Administration
48.078
Service
24.806
And so forth
…
Step #2: Estimate what Fraction of Workers Use the Computer Steps to generate the estimate – Get the Bureau of Labor Statistics (BLS) occupation projections for 2005 – Get the BLS computer usage rates by occupation for 1989
Occupational Category
How many used computers at work (1989)
Managerial and Professional
56.2%
Technical, Sales, Administration
55.1%
Service
10.2%
And so forth
…
Step #3: Multiply and Sum Up Steps to generate the estimate – Get the Bureau of Labor Statistics (BLS) occupation projections for 2005 – Get the BLS computer usage rates by occupation for 1989 – Multiply worker projections by computer usage rates
Occupational Category
2005 Proj
1989 Rate # Users
Managerial and Professional
36.773 M
56.2%
20.666 M
Technical, Sales, Administration
48.078
55.1
26.491
Service
24.806
10.2
2.530
And so forth
… Sum turns out to be -----> 55 M
Step #4: Apply Adjustments Steps to generate the estimate – Get the Bureau of Labor Statistics (BLS) occupation projections for 2005 – Get the BLS computer usage rates by occupation for 1989 – Multiply worker projections by computer usage rates – Finally, adjust upward to account for rising usage rates, and adjust downward because not all users are programmers.
Boehm originally relied on judgment to provide adjustments. – The two adjustments actually ended up canceling out!
Our Paper Provides Better Adjustments Adjustment #1: Rising Usage Rates – Use innovation diffusion to model rising usage rates. – We also extend the estimates to 2012.
Adjustment #2: Not Everybody Programs – – – –
Be precise about what aspect of “programming” to address. We can focus on spreadsheet/database users. We can focus on users who self-reportedly “do programming.” Each of these groups vastly outnumbers professionals.
Adjustment #1: Rising Usage Rates We incorporated additional BLS data – – – –
1984 1989 (the only year used in old 55M estimate) 1993 1997
Adjustment #1: Rising Usage Rates
Adjustment #1: Rising Usage Rates Innovation diffusion theory to the rescue – Innovations diffuse through populations like diseases. – Researchers studied various functional forms for modeling this. – The simplest form (and most generally applicable) is S-shaped
Adjustment #1: Rising Usage Rates Projecting the computer usage rates – – – –
The S-shaped functional form had 3 free parameters (K, m, b) We have 4 measurements from BLS (1984, 1989, 1993, 1997) So we can fit to functional form for each occupation category (Note that with so few points, “goodness of fit” means little.)
Adjustment #1: Rising Usage Rates Projecting the computer usage rates – – – –
The S-shaped functional form had 3 free parameters (K, m, b) We have 4 measurements from BLS (1984, 1989, 1993, 1997) So we can fit to functional form for each occupation category (Note that with so few points, “goodness of fit” means little.)
A somewhat better estimate – Get the BLS’s latest occupation projection (which happens to be for the year 2012) – Plug in t=2012 to forecast future computer usage rates – Multiply and sum as Boehm did – Result: 90M users in 2012
Validation Does it match 2001 BLS count of workplace users? – BLS modified their questions slightly in 2001 – Our fit predicts 71.9M users; actual = 72.3M – Incorporating this 2001 BLS data into our fit raises our estimate for 2012 from 90M users to 96M users
Does it match 2003 Forrester count? – – – –
They found 129M users (work or home) age 18-64 Our fit predicts 80M workplace users for 2003 Use BLS 2001 to adjust for age, add in home (non-work) users Our result for comparison: a little over 123M (to their 129M)
Excellent match.
Examining Assumptions We replace one assumption for another. – Old assumption: based on judgment – New assumption: applicability of innovation diffusion
Implication of using our assumption – Questionable assumption! Ongoing improvements in computers will probably drive adoption still higher. – Therefore, 90M is probably a lower bound.
Adjustment #2: Not All Users Program One big count (of all users) isn’t too helpful. – It can only be used to argue, “This sure is big.”
Relative usefulness of a collection of numbers – Not all users have the same needs, strengths, and goals! – How can we break down the estimate into smaller groups, to guide research and development?
Adjustment #2: Not All Users Program One approach: Group users by application usage. In 2001, BLS asked how workers use computers. – Total of 72M people used computers at work. – Over 60% of total (45M) used spreadsheets or databases. – About 15% of total (11M) said they “do programming.”
Adjustment #2: Not All Users Program One approach: Group users by application usage. In 2001, BLS asked how workers use computers. – Total of 72M people used computers at work. – Over 60% of total (45M) used spreadsheets or databases. – About 15% of total (11M) said they “do programming.”
Carrying this forward to yield 2012 lower-bounds... – – – –
Total of 90M people will use computers at work. Over 60% of total (55M) will use spreadsheets or databases. About 15% of total (13M) will say they “do programming.” BLS projects only 3M professional programmers.
Our Extended Method
Conclusions New estimates for American workplaces in 2012: – – – –
At least 90M users At least 55M spreadsheet and/or database users About 13M users will say they “do programming” Fewer than 3M professional programmers
Our estimates are based on improved adjustments: – Model adoption rates using innovation diffusion theory – Group users according to how they use computers
Thank You To VL/HCC for the opportunity to present To NSF, Sloan, and NASA for funding To Barry Boehm for discussions of his 55M estimate