In my previous post I tried to use the economic theory of comparative advantage to answer the question:
Who should work on what? or Shouldn’t every developer work on the software where they are most productive?
The economic model gave an answer but more importantly it provided a framework for answering the question. As I examined the assumptions behind the model it became clear there are many other considerations which deserve attention.
Perhaps the most important one is: value.
The basic economic model looks, perhaps naively, at quantity of goods produced. Really, one should consider the value of the goods produced. Not only did the model assume that every feature is the same size but it also assumed that all features have the same value.
Flipping back to the basic model, lets assume that each Bonds feature generates $10,000 in revenue while each Equities feature generates $20,000. Now the options are:
- Jenny and Joe both work on Equities, they produce seven features and generate $140,000 in revenue.
- Jenny and Joe both work on Bonds, they produce seven features and generate $70,000 in revenue.
- Joe works on Equities and Jenny on Bonds, the six features they produce generate $80,000 in revenue.
- Joe works on Bonds and Jenny on Equities, the eight features they produce generates $130,000 in revenue.
Clearly option #1 is the one to choose because it generates the greatest revenue even though Joe would be more productive if he were to work on Bonds. Adding value to the basic model changes the answer.
Now, again there is an assumption here: all features produce the same value. That is unlikely to be true.
Indeed, over time if no work is done on Bonds it would be reasonable to assume the value of the features would increase. Not that all features would increase in value but failure to do any would mean some of those in the backlog would become more valuable. In addition new requests might arise which may be more valuable than existing requests.
Further, while the value of Bonds features would be increasing the value of Equities might be falling. This follows another economic theory, the law of diminishing marginal utility. This law states that as one consumes more of a given product the added utility (i.e. value) derived from one more unit will be less and less.
So now we have exposed another assumption in the model: the model is static. The model does not consider the effects over time of how things change – I’ll come back to this in another context later too.
Over time the backlogs for both products will stratify, each will contain some items which are higher in value than average and some which are lower in value.
Lets suppose each product has its own backlog:
- Equities backlog contains seven features with the values: $60,000, $54,000, $48,000, $42,000, $36,000, $30,000 and $24,000.
- Bonds backlog contains another seven features with the values: $32,500, $10,000, $7,000, $6,000, $5,000, $4,000 and $,3000.
Now there are (at least) four options open:
- Equities: both Jenny and Joe work on the equities product. Together they will deliver seven features and a total of $294,000 of value.
- Bonds: both Jenny and Joe work on the bonds product. Together they will deliver seven features and a total of $67,500 of value.
- Specialise: Jenny does five equities features ($240,000) and Joe three bonds features ($49,500) delivering a total of eight features and $289,500.
- Value seeking: Jenny does her five equities features but Joe delivers one bonds feature, one equities feature and gets to go home early. In total they deliver six features and $302,500.
The highest value option if #4, which delivers $13,000 more than if they specialise. That might seem counter intuitive: the option that delivers the most money delivers the least features. And again it shows deciding work in the absence of value can be misleading.
The second best option is for both to do Equities only, this delivers $8,500 more than specialisation. Adding value to the basic model isn’t a big change but it has changed the answer. When output was measured in features then specialisation looked to be the best option.
Returning to the question of the static model, there is one more assumption to relax: Learning. Economist J.K.Galbraith pointed out that the comparative advantage neglects to factor in learning, and I’ve done the same thing so far.
Assuming Joe specialises in Bonds and spends most of his time working there he will learn and in time he will become more productive. Suppose after a year he can produce 5 bonds features in the time he takes to produce 2 equities features – a 66% improvement.
Now how to the numbers stack up? What is the revenue maximising choice now?
And perhaps more importantly, how long would it take before Joe’s increased output paid for all the time he spent learning?
But, another what-if, what if Joe had specialised in Equities instead? He would now be more productive on a product with higher value features.
Again the question “Who should work on what?” needs to consider intent. Which product do you want Joe to learn? Which product is expected to have the highest value? Are you maximising value or quantity?
As usual, you can argue with my model and question my assumptions but I think that only demonstrates my point: these things need thinking about.
If you want you can continue relaxing the assumptions and do more what-if calculations – for example I’ve assumed Jenny and Joe cost the same. Nor have I factored in risk or cost-of-delay. This model can get a lot more complicated. I’ve also assumed that partially done features have no value at all, each week starts afresh and no work carries over.
Read more? Subscribe to my newsletter – free updates on blog post, insights, events and offers.