Recently I conducted a study on projects sized in function points that covers projects put into production from 1990 to the present, with a focus on ones completed since 2000. For an analyst like myself one of the fun things about a study like this is that you can identify trends and then consider possible explanations for why they are occurring. A notable trend from this study of over 2000 projects is that productivity, whether measured in function points per person month (FP/PM) or hours per function point, is about half of what it was in the 1990 to 1994 time frame.
Part of this decline can be attributed to a sustained decrease in average project size over time. The overhead on small projects just doesn’t scale to their size, thus they are inherently less productive. Technology has changed, too. But, aren’t the tools and application development software languages of today more powerful than they were 25 years ago?
I want to propose a simple answer to the question of why productivity has decreased: the problems with productivity are principally due to management choices rather than issues with developers.
Allow me to elaborate. Measures aimed at improving productivity have focused on two areas: process and tool improvements. What’s wrong with process improvement? Well, nothing except that it is often too cumbersome for the small projects that are currently being done and is frequently viewed by developers as make-work that distracts them from their real jobs. And what’s wrong with improved tools? Again, nothing. Developers and project managers alike are fond of good tools. The point is, however, that neither process improvement nor better tools address the real issues surrounding software project productivity. Here are some reasons:
Choosing between spending more time in analysis and design or between optimizing schedule or productivity are not choices developers make; they are management decisions that directly impact productivity and quality. Developers do not control the environment in which their work is done. That decision is made for them. If management really wants to know why productivity is stagnant or decreasing, they need to hold a mirror up to their own faces and say, as in the old Pogo comic strip, “We have met the enemy and he is us.”
Want to learn more about how ALM software can benefit your company and increase productivity? Browse additional blog posts, product reviews and our free top 10 application development software reports using Business-Software.com’s ALM resource page.