Measure software productivity?
McKinsey tell CXO’s that they can measure software productivity. I have not yet read how they do, so I will not comment their approach.
Kent Beck and Gergely Orosz co-wrote two well written articles on substack about their thoughts about how to measure software productivity, and I agree with them.
I see the similarities between software development and film production, as both are creative team efforts, and will use my experience from both fields to try to define a hypothesis for measuring software productivity.
Film production is show business, and in the end it’s all about the money. Box-office figures vs. cost of production and marketing. If you are software company, then you can measure success in the same way. When software is a part of your product and/or supporting your business, then the correlation between the software teams effort and the bottom line of the company gets fuzzy.
Film production is much more structured than software development. You write a script, in a very standardized way. A script consists of a number of scenes, and the length and complexity can differ very much. Think of the initial scene in La-la-land or a classic Bond-movie starting with a chase.
To green-lit a script for production, it should be of good quality, but also be doable within a budget that would recoup the costs to a certain market segment.
In pre-production you detail everything so when you are on set, you know what to do, and when.
On-set you have different teams with different tasks, as camera, make-up, construction of set design etc. all dependent of each other. Productivity here focus on how many scenes can we shoot per day, so we can follow the budget and be ready in time, with good enough quality for the director.
You can measure productivity for and individual or a team behind the camera as long as you don’t have dependencies. With skilled workers, this is not an issue. The challenge is the planning before, so that you use the resources efficient, avoid surprises and get a quality the audience expect.we fix it in post will other add more cost at a later stage.
I very seldom see the level of detailed requirements in software projects as in green-lit manuscripts for movies & TV’s, so software development is more akin to small indecent arthouse films and documentaries where you don’t know the details beforehand.
So my hypothesis is that it’s very hard to measure software productivity unless you have good and stable requirements, and very few dependencies to other teams. Task switching between projects also degrade performance. Here are the things to improve before you start to measure.
Good and stable requirements are unicorns, therefore software development should be more treated as R&D than a factory with metrics.
Finally, a question to the sales guys, how could you measure your sales performance if you don’t have any defined products, services or resources to sell and deliver?
(I wrote my first line of code in Basic forty years ago, and been in the IT business since 1986. Film production is a new endeavor since 2015, and I have been involved in Swedish and international film productions.)