Marketplaces are extremely powerful at co-ordinating scarce resources. It’s possible to use it to co-ordinate software development teams. Lets see how.
There needs to be competition between buyers and sellers. Development teams sell their services, and business units buy their services.
You need multiple buyers. For example: the Content team, the Commercial team, and the Search team.
Each month the Big Boss can give each team credits. It can be a different amount of credits for each team, depending on the priorities of the overall business. (Or depending on results of product experiments).
For example, in month 1 the big boss might give: Content team 10 credits, Commercial team 20 credits, Search team 15 credits.
You also need multiple sellers, that is development teams. I think it’s best if the teams don’t specialise and that you rotate one person per team per iteration.
At the start of each iteration the buyers (business units) try and persuade dev teams (sellers) to do their work in return for credits. The credits are effectively a measure of how valuable the work is.
Typically, the dev team with the lower “price” will win the work. The dev teams compete for credits – it’s a measure of how much value the team adds to the business.
As with most metrics, it should only be taken seriously over the long-term. Otherwise, investment in quality code and automation will be half-baked.
If you rotate teams then the credits should be divided equally between the members of the team. It becomes a measure of how effective each developer is.
The distribution of credits each month should be based on the potential of each business unit to drive the business forward. This encourages an MVP/experiments approach.
Having business units spend credits on dev work highlights the scarcity of dev resource. It should promote involvement and collaboration from the business.