O’Reilly Radar published a new article today Moneyball for Software Engineering. This is a quick introduction to concepts about how Moneyball-like metrics can be applied to software development teams.
Time: Sept 16, 2011 10am PT Location: Online Cost: Free
The new movie Moneyball starring Brad Pitt will be released in the US on Sept 23rd. Based on the bestselling book of the same name, the movie explores the use of “sabermetrics” to build winning baseball teams. In this webcast, Jonathan Alexander, author of Codermetrics, suggests that these same ideas can be applied to software teams. Jonathan will discuss how you can apply similar ideas to improve your software teams, giving examples of specific metrics and techniques to help make the team a more cohesive and productive unit.
For more information and free registration click here.
David Bethke has contributed an alternate Google Docs spreadsheet template for tracking completed agile tasks and calculating team codermetrics. The format is very straightforward and easy to understand. Stories and tasks are listed out, then a row is added for each Iteration for the metrics. It includes calculation for Points, Utility, Power, Temperature, and O-Impact, and could easily be expanded to calculate other metrics.
Separate pages in the spreadsheet graph the team metrics for each iteration.
Paul Loubriel asks “What do you think would be the expense to the organization for implementing a program like the one you suggest (in terms of time and resources). For example, for an organization with 1,000+ developers?”
Calculating the cost of gathering and using metrics within normal development processes isn’t something I’ve done in the past. To help analyze the costs, I created a simple spreadsheet, and I’ve added that into the Spreadsheet Template Resources (it is the one titled Calculated Costs of Implementing Metrics). The spreadsheet is setup so you can input numbers for your organization at the top, then it will calculate the costs below.
The initial costs for implementing metrics will be in any new tools you might have to buy, and the work involved in setting up the initial tools. If, as I suggest in Codermetrics and as I do myself, you just use existing tools or you use free software like the Spreadsheets in Google Docs, then your additional tools investment is probably zero. The other setup cost is the time it takes you to adjust spreadsheets to your liking, to setup data gathering processes (maybe new mailing lists), and to train everyone. This setup can probably be done by a one person or a small group and then shared with others, but for simplicity in the spreadsheet I’ve put placeholders to specify the hours for setup and training for both managers and coders.
The on-going costs will be the time spent gathering data, and the time spent by managers analyzing or preparing metrics to be used in team meetings or in other reviews. In the spreadsheet I’ve allowed input of weekly amount of time spent by coders and by managers. Putting in these numbers, along with average salaries, allows you to estimate the costs of the time involved. Note that in the spreadsheet I’ve made a few assumptions which you could adjust if you choose. One is that the inputs for time spent are weekly minutes, then these are multiplied by four to get monthly time (rounded to hours) spent. And the calculations use 1880 as the number of hours worked per year (which I arrived at by assuming 5-day work weeks, 8-hour days, and 47 weeks worked in a years). I’m also assuming you don’t hire or assign full- or part-time specialists to your metrics program, which is something that might make sense in a very large organization but is probably not something you would do immediately.
In my experience, the amount of time necessary for coders to gather the type of metrics I discuss in the book is small (since most of the data will come from existing systems), and the time spent by managers in data gathering, analysis, and preparation for presentation, might amount to two or three hours every few weeks. Assuming that time spent is something like that, then using the spreadsheet the costs for a fairly small organization might look like those shown in the screenshot below (this is basically the size of my current engineering team at Vocalocity). In this case it’s about $15K for the first year and about $14K per year after that.
If, as Paul asks, we calculate for 1,000 coders, assuming that setup and weekly time spent is the same, and guessing that maybe there are 180 managers in an organization that size, then the spreadsheet gives the estimated costs below. In this case, even though the time spent per week is modest, the year-one (~$965K) and annual (~$862K) recurring costs are of course much higher since so many people are involved.
You can add your own inputs and play around with the numbers or formulas in the spreadsheet to determine costs for your organization. The interesting thing I noticed about the time and calculations I put in, based on my own estimates, is that the cost of implementing metrics in the two examples above comes out to something less than but maybe around $1K per year per coder. I’m certainly interested to hear if others have feedback on this.
Codermetrics.org is live! This is a community site, launched along with the soon-to-be-released book Codermetrics from O’Reilly. The goal of this site is to foster dialog on how metrics can and are being used in software development so that we can all learn more. If you have ideas, stories, resources, or events that are related to the use of metrics and analytics for improving software teams, please share them here! New content and stories will be added regularly, so please visit or subscribe.