Today, more than ever, analytics are the keys to success. One of the areas that is still very hard to measure is the productivity of your application development teams. While finding out how productive your teams are might seem scary, it is far better than not knowing. In this post I will provide three steps and some resources to help you start down the path to understanding the productivity of your application development teams. Once you have a means to measure and monitor, then you can iteratively improve your application development productivity.
1. Make the case for a metrics program
Measuring just for the sake of measuring isn't very useful. The real benefit of having metrics is gaining insight on what can be improved. Not only that, metrics also help you set objectives, what I like to call ultimate goals, and then focusing your team on achieving this goal.
Some of the best advice I have found is from the analysts at Forrester. This "Metrics for Application Development" article by Liz Barnett (UPDATE: Seems like the article is no longer available on the Forrester website. Here's an interview with the author on the subject), discusses why metrics for application development are important and gives some good advice on what you need to measure and why automating the measurement process is a good idea.
2. Measure your productivity
From my own research and experience, function points are one of the best mechanisms to measure application size and team productivity. As stated by the International Function Point User Group (IFPUG) using this metric for application development focuses measuring functionality delivered to the business, rather than how big the application is internally, how complex the code is, or what language was used to write the application.
Function points have been around for a long time and are a tried, proven and standardized approach. There is a wealth of resources on how to measure function points, and I personally liked this PDF from a SoftwareMetrics training course and this 5 step process for counting function points from devdaily.
3. Compare to a baseline
After measuring your productivity, you need to determine how your team performs compared with other teams: poor, average or better than average. There is good news - you can find benchmark information in numerous places. The one I like best is ISBSG. They provide function point metrics from across the IT industry and with their data you can compare your results and act accordingly.
Go for it!
So, what are you waiting for? Get a small team to spend some time coming up to speed on counting function points for your organization or go find a third party resource to count for you. The investment will be worth it when you can accurately assess your application team's productivity and make decisions based on this knowledge.
At OutSystems we got our customers bootstrapped on this process by measuring their performance with something we called the OutByNumbers project. You can take a look at the results from that study here and see how we automated function point counting. I have to say the results are pretty surprising!
