Project Community
Deep Thoughts

A Tragedy of the Commons

"Their insistence upon finding the rational solution prevents them from finding a pleasing one. Their search for rationality is irrational."
David A. Schmaltz
I visited this week a company struggling with rationally allocating scarce programmer resources across a portfolio of projects. Every project in the portfolio was individually justifiable. Indeed, every project was compelling, projected to return many times the invested effort. How, then to rationally allocate resource between them?

One strategy might be to allocate based upon projected return on investment. Allocate resources down the list, starting with the project with the highest projected return, until all resources have been assigned. Maximizing return for each individual project, however, does not maximize the return for the portfolio as a whole. About half of the resource must be allocated to projects that return essentially no return on incremental investment. These are the projects that maintain the environment within which all must operate. If these zero return projects are not resourced, none of the other projects can succeed.

Furthermore, programmers prefer being assigned to high return projects, so the best programmers, the ones with the most experience and the most mature judgment, rebel if assigned to maintenance projects. But the maintenance environment needs experienced programmers, too. Allocating only the most junior programmers to maintenance projects will also produce less than maximum returns because the high return projects will have to fight more environmental instability than expected, and so reduce their individual returns.

Another strategy says to allocate resource to the best organized or the best defined projects. In this strategy, projects with high return are funded based upon how well planned or well specified they are. The organization favors projects with detailed plans and specifications because these projects are easier to manage, more convenient to track, and more controllable then are their fuzzier counterparts. Another dilemma emerges from this strategy, however. Early specificity creates detailed but unrealistic plans. The horizon looks clear, but as each project approaches it, unforeseen fuzziness appears. Allocating resources based upon the quality of initial plans or specifications falls apart unless operating in a highly plannable context. Software new product development is not an inherently plannable context.

Still, the search continues for the rational method of allocating resource to maximize return. Projects are ranked. Ever more detailed plans presented. Team leaders complain of endless "rock fetches" as they are sent back again and again for additional information that will give their management the information they need to rationally allocate the scarce resources, expending considerable resource in this process. Everyone in the system is dissatisfied and everyone works diligently toward a rational horizon that none can see but all believe in.

This search for a rational method of allocating resources to maximize return across a portfolio of projects is a double bind -- a damned-if-you-do and damned-if-you-don't dilemma. I believe it was David Pye who said that if requirements conflict there can be no rational resolution of them. This problem is a complicated one, requiring maximizing many variables. Was it von Neumann who postulated that only one variable can be maximized in any calculation? The search for a rational resolution attempts to solve a dilemma for which there are an infinite number of solutions, none necessarily the ultimate one. Their insistence upon finding the rational solution prevents them from finding a pleasing one. Their search for rationality is irrational.

Maximizing the return for any one project impacts the potential of the whole system. "Maximum" is a useless target. It is essentially a negative objective, undefinable except as the greatest possible return or, most precisely, not less than it might be. Furthermore, the resolution of the competing requirements is a necessarily subjective process. Seeking an objective means to solve a subjective dilemma is a recipe for insanity.

I have never seen a high tech company that didn't struggle with this dilemma. It is a dilemma, however, not a problem. There is no discrete solution. Balancing the dilemma is a continuing challenge, similar to the challenge of the plate jugglers I used to see on the old Ed Sullivan show. Balancing spinning plates on thin sticks, the plate jugglers could get fifty spinning at a time. But each would begin to lose equilibrium as their spinning slowed, causing the juggler to return again and again to jiggle the supporting stick and regain a new temporary equilibrium.

When allocating resources, what seemed reasonable yesterday might seem foolish today. Attempting to avoid foolishness is one sure way of experiencing it. With so many competing variables, some criteria must be embraced and these criteria must be some mix of objective and subjective, for there is no purely objective way to resolve this dilemma and there is probably no need to completely reject some objectivity in the process. The result will be a less than permanently pleasing balance. For those who share the decision makers' values, the balance will seem reasonable. For those who don't, the balance will seem indefensible. So it goes.

3/20/99 - Vernal Equinox
Santa Fe, NM

Community Sharing Deep Thoughts Compass Newsletter Products Who We Are FQA testing Home Page