"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
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
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