-
Right"eous
a.
Doing that which is right; yielding to all their due; just; equitable.
[Webster’s Revised Unabridged Dictionary, 1913]

Righteous contracts. A good name for contracts whose purpose is to
assure that the parties act in a just and equitable manner and yield to
the other their due. Righteous contracts are those governing
investments in specialized assets – assets which are very important to a
business, but have no value anywhere else. For example, software
developed specifically for a single company is a specialized asset,
since it is useful only by the company for which it was developed. Agreements to develop
specialized assets create a bilateral monopoly; that is, once the
parties start working together, they have little option but to continue
working together. This bilateral monopoly
provides an ideal environment for
opportunistic behavior on the part of both supplier and customer.
Thus the
purpose of righteous contracts is to prevent opportunistic behavior, to
keep one party from taking advantage of another when market forces are
not in a position to do so. In a free market where there are several
competent competitors, market forces control opportunism. This works
for standard or commodity components, but not for specialized assets.
The
traditional way to develop specialized assets has been to keep the work
inside a vertical organization, where opportunism is controlled by
administration. Inside a company, local optimization would presumably
be prevented by someone positioned to arbitrate between departments for
the overall good of the enterprise. Vertical integration allows a
company to deal with uncertainty and change in a rapid and adaptive
manner.
Outsourcing
Recently,
however, outsourcing has become common in many companies, for very good
reasons. An outside company may have lower labor costs or more
specialized experience in an area that is not one of the firms core
competencies. The cost of producing a service or asset can be
considerably lower in an outside company. Of course, there are
transaction costs associated with outsourcing, and the total cost
(production costs plus transaction costs) must be lower, or vertical
integration would make more sense.
Transaction
costs associated with outsourcing include the cost of selecting
potential suppliers, negotiating and renegotiating agreements,
monitoring and enforcing the agreement, billing and tracking payments.
Transaction costs also include inventory and transportation above that
needed for vertical integration. In addition, there are risks
associated with outsourcing, which may result in additional costs. One
cost would be that of diminished communication. For example,
development of any kind usually requires intense communication between
various technical specialties and target users. If distance or
intellectual property issues reduce the communication, it will cost more
to develop the asset and the results may suffer as well. In addition,
moving a specialized skill outside the company may incur lost
opportunity costs.
There are
two types of contracts which are used for developing specialized assets
– Contracts which are executed before the development is done by the
supplier, and contracts which are executed after the supplier does the
work. A contract executed before work is done is known as a
before-the-fact (or ex ante) contract.
There are two types of before-the-fact contracts – fixed price
contracts and flexible (time-and-materials) contracts. Once these
contracts are executed, they set up a bilateral monopoly, fraught with
opportunities for exploitation on one side or the other. Therefore, the
purpose of these contract is to set up control systems to prevent
exploitation.
A contract
executed after work is done is called an
after-the-fact (or ex post) contract. Suppose a supplier develops
a system that it thinks a customer will find valuable and then tries to
sell the system. In this case, control comes after the fact; the
supplier makes its own decisions, and it’s reward is based on the
results. Of course this is a risky proposition, so the supplier has to
hedge its bets. One way to do this is to sell the system to multiple
customers, basically making it into a commodity product. But this
doesn’t help a company that wants suppliers to develop proprietary
components for them. In order to entice suppliers to develop
specialized assets prior to a contract, a company usually sets up a sole
source or favored source program. If a company treats its favored
suppliers well, the suppliers develop confidence that their investments
will be rewarded and continue to make investments.
On the surface,
after-the-fact contracts may seem implausible for software development,
but in fact, they are the best solution for contracting a development
project. Moreover, the best kind of development processes to use
inside a company are those that mimic after-the-fact contracts.
How can this be? The explanation starts by understanding why
before-the-fact contracts provide poor governance for development
projects.
Fixed-Price
Contracts
Let’s examine the most commonly used before-the-fact
contract, the fixed price contract. A key
motivator for fixed price contracts is the desire of a customer to
transfer risk to the supplier. This may work for simple, well-defined
problems, but it is inappropriate for wicked problems.
If the project is complex or uncertain, a fixed price contract transfers
a very high risk to the supplier. If the supplier is not equipped to
deal with this risk, it will come back to hunt the customer.
Risk should be born by the party best able to manage it. If a
problem is technically complex, then the supplier is most likely to be
in a position to manage it. If a problem is uncertain or changing, then
the customer is in the best position to manage it. Transferring the
risk for such problems to the supplier is not only unfair, it is also
unwise. There is no such thing as a win-loose contract. If a supplier
is trapped on the wrong side of a win-loose contract, the bilateral
monopoly which has been formed will trap the customer as well. Both
sides loose in the end.
Fixed price contracts do not usually lower cost, because there is
always at least some risk in estimating the cost. If the supplier is
competent, it will include this risk in the bid. If the supplier does
not understand the complexity of the problem, it is likely to underbid.
The process of selecting a supplier for a fixed-price contract has a
tendency to favor the most optimistic (or the most desperate) supplier.
Consequently, the supplier least likely to understand the project’s
complexity is most likely to be selected. Thus fixed price contracts
tend to select the supplier most likely to get in trouble.
Therefore it is quite common for the customer find a supplier
unable to deliver on a fixed price contract. Because the customer no
longer has the option to choose another supplier, they must often come
to the rescue of the supplier. Alternatively, the supplier might be
able to cover its loss, but most likely it will attempt to make the loss
up through change orders which add more revenue to the contract. This
leads the customer to aggressively avoid any change to the contract.
Faced with no other way to recoup the loss, a supplier will be motivated
to find ways to deliver less than the customer really wants, either by
lowering the quality or reducing the features.
The customer using fixed
price contracts to transfer responsibility and risk will often find both
back on their plates in the end, and if so, they will be worse off
because of it.
Flexible
Contracts
“Customers should prefer flexible-price contracts to fixed-price
contracts where it is cheaper for the customer to deal with uncertainty
than it is for the contractor to do so or where the customer is
more concerned with the ability of the contractor to provide a product
that works than with price,”
writes Fred Thompson in the Handbook of Public Administration.
(Second Edition), Rabin, Hildreth, & Miller, eds.,. New York: Marcel Dekker,
Inc., 1998.
[Available online at
http://www.willamette.edu/~fthompso/pubfin/ECON&PA.html.]
The flexible-price
contract is designed to deal with uncertainty and complexity, but it
does not do away with risk, it simply shifts it from the supplier to the
customer. For example, after the DOD (U.S. Department of Defense)
experienced some very high profile bailouts on fixed price contracts, it
began to use more flexible-price contracts is situations where the
government was better able to manage the risk. Of course, with the risk
transferred to the customer, the supplier has little incentive to
contain costs in a flexible-price contract, a point that did not escape
contract negotiators at DOD. In order to protect the public interest,
DOD perfected controls imposed on the supplier.
Controlling suppliers of
flexible-price contracts evolved into a discipline called project
management. The waterfall lifecycle grew out of military contracts, and
an early focus of PMI (Project Management Institute) was DOD contracts.
Companies with DOD contracts not only hire administrators to oversee
compliance with contract requirements, they also add accountants to sort
out allowable and unallowable costs. Flexible-price contracts
invariably have high transaction costs, due to the high cost of
control.
Controls Do
Not Add Value
High transaction costs
would be reasonable if they added value, but in fact, transaction costs
are by definition non-value-adding costs. Fred Thompson (Ibid.) notes,
“Controls contribute nothing of positive value; their singular purpose
lies in helping us to avoid waste. To the extent that they do what they
are supposed to do, they can generate substantial savings. But it must
be recognized that controls are themselves very costly.”
One way to avoid the high cost of control in flexible-price
contracts is not to use them. It may be better to do development
internally, where it is easier to deal with uncertainty and respond to
change. The question is, on what basis should an outsourcing decision
be made? Thompson (Ibid.) counsels, “The choice of institutional design
should depend upon minimizing the sum of production costs and
transactions costs.” He also notes, “Vertical integration occurs
because it permits transaction or control costs to be minimized.”
An interesting problem with this equation is that vertical
integration does not always work to minimize control costs. In fact,
many organizations find themselves using DOD-like project management
controls internally. It seems incongruous that control mechanisms which
add cost but not value, and which were invented to prevent opportunistic
behavior, would come to dominate development in the very place where
they should not be needed. If the reason to develop internally is to
provide flexibility in the face of uncertainty, then costly,
change-resistant control practices are inappropriate. Traditional
project control practices (that freeze requirements, require approval
for changes, and track tasks instead of features) have a tendency to
create waste, not value, when used inside a company.
After-the-fact
Contracts
Let’s assume for the sake of argument that the choice has been made
to outsource a complex, specialized development effort. The next
question is, how can transaction costs be reduced? In the manufacturing
industry, this is done with after-the-fact contracts.
Despite the obvious risks, is not uncommon for suppliers to develop
specialized components for a manufacturer prior to obtaining a
contract. For example, 3M Optical Systems Division used to develop
optically precise lenses for specialized automotive taillights. The
reward was a one year contract for a specific model. Unfortunately,
after the first year, the automotive company would invariably find a
cheaper way to make a similar lens, and Optical Systems would loose the
business before it had recovered its investment. The division
eventually decided that after-the-fact contracts with Detroit automakers were not
profitable and left the business.
There are ways to make after-the-fact contracts work better. Toyota awards
contracts for an entire run of a model, and uses target costing to
manage costs. Thus a supplier knows that if it wins the business, it
can recover its investment, while the customer is confident that the
supplier will work reduce costs in line with its economic requirements.
In addition, the supplier understands that it will receive favored
consideration for similar components in the future.
After-the-fact contracts require two elements to work: shared risk
and trust. Toyota
shares the risk with a component supplier by guaranteeing the business
over the life of an model. Both parties agree to work together to try
to meet a target cost profile over the life of the agreement. Note that
meeting future target costs is neither guaranteed nor is it the sole
responsibility of the supplier. In the best relationships, technical
personnel from each company work freely together without worrying about
proprietary information, both to meet target costs and to develop new
components not yet subject to a contract.
If both parties are pleased with the results of the first contract,
they develop trust and a good working relationship, and are more likely
continue to do business together. The supplier is inclined to risk
more in developing new components when it has developed confidence that
the investment will pay off. This kind of relationship can achieve all
of the benefits of both outsourcing and vertical integration combined.
But Software is
Different…
You might be saying to yourself, this is fine if there is something
to be manufactured and sold many times over, like a taillight, but in
software we develop a system only once, it is complex and expensive, it
is subject to many changes, and if it is not properly designed and
executed, huge waste might result. Where is the parallel to THIS in
manufacturing?
Consider the large and expensive metal dies which stamp out vehicle body
panels. The cost of developing
dies can account for half of a new model’s capital investment.
Consequently, a great deal of time is spent in all automotive companies
working to minimize the cost of these dies. The approach in Japan is
distinctly different from that in the U.S., and dramatically more
effective. The best Japanese companies develop stamping dies for half
the cost and in half the time as their counterparts in the West. The
resulting Japanese dies will be able to stamp out a body panel in 70% of
the time needed by U.S. stamping operations.
From the
classic book “Product Development Performance” by Clark and Fujimoto,
Harvard Business School Press, 1991:
“Japan firms use an ‘early design, early
cut” approach, while U.S. practice is essentially “wait to design,, wait
to cut.”
“Because it entails making resource
commitments while the body design is still subject to frequent changes,
the Japanese early design, early cut approach entails significant risks
of waste and duplication of resources…. Many engineering changes occur
after final release of blueprints. At peak, hundreds of changes are
ordered per month.
“Behind the wait to design, wait to cut
approach in U.S. projects is a desire to avoid expensive die rework and
scrappage, which we would expect to be an inevitable consequence of the
bold overlapping that characterizes the Japanese projects. However, our
study revealed a quite different reality. U.S. firms, despite their
conservative approach to overlapping, were spending more on engineering
changes than Japanese firms. U.S. car makers reported spending as much
as 30-50 percent of original die cost on rework due to engineering
changes, compared to a 10-20 percent margin allowed for engineering
changes by Japanese products.
“The Japanese cost advantage comes not
from lower wages or lower material prices, but from fundamental
differences in the attitudes of designers and tool and die makers toward
changes and the way changes are implemented…. In Japan, when a die is
expected to exceed its cost target, die engineers and tool makers work
to find ways to compensate in other areas…. Die shops in high-performing
companies develop know-how techniques for absorbing engineering changes
at minimum cost…. In the United States, by contrast, engineering
changes have been viewed as profit opportunities by tool makers….
“Suppose a body engineer decides to
change the design of a panel to strengthen body-shell rigidity. The
high performers tend to move quickly. The body designer immediately
instructs the die shop to stop cutting the die on the milling machine.
Without paperwork or formal approval, the body designer goes directly to
the die shop, discusses modifications with the die engineers, checks
production feasibility, and makes the agree-upon changes on the spot.
Unless the changes are major, decisions are made at the working level.
Traditionally, the die shop simply resumes working on the same die.
Paperwork is completed after the change has been made and submitted to
supervisors for approval. The cost incurred by the change is also
negotiated after the fact. The attitude is “change now, negotiate
later.”
“In companies in which die development
takes a long time and changes are expensive, the engineering change
process is quite different. Consider the context in which changes
occur. In extreme versions of the traditional U.S. system, tool and die
makers are selected in a competitive bidding process that treats
“outside” tool shops as providers of a commodity service. The
relationship with the die maker is managed by the purchasing department,
with communication taking place through intermediaries and drawings.
The individuals who design the dies and body panels never interact
directly whit the people who make the dies.
You would
think that tool and die makers in Japan must be a department inside the
automotive company. How else could it be possible for a designer to
walk into a tool and die shop, stop the milling, make changes, and start
up the milling again, leaving approvals and cost negotiations for
later? But this is not the case. Tool and die makers are supplier
companies in Japan, just as they are in the U.S. The difference lies in
the attitudes of the different countries toward supplier contracts.
For Toyota
in particular, a supplier is a partner. The basis of this partnership
is a target cost for each area of the car. This translates into target
costs for all development activities, including dies. Of course, U.S.
companies have target costs for each component also, but they tend to
impose the cost on the supplier without regard to feasibility. This has
a tendency to create a win-loose relationship, leaving the supplier no
option but to recoup costs through the change process.
In contrast,
Toyota does not impose cost targets on suppliers that it does not know
how to meet, and engineers from both companies work together to meet
target costs. If something goes wrong and the targets cannot be met,
Toyota shares the problem in an equitable manner. In this win-win
environment, arms-length exchange of information through written
documentation and an extensive change approval processes is
unnecessary.
The Toyota
Production System is founded on the premise that superior results come
from eliminating anything which does not add value. Since control
systems do not add value, they must be minimized, just like inventory
and set-up times. Therefore supplier partnerships based on shared risk
and trust are the preferred relationship. The hallmarks of these
partnerships are worker-level responsibility for meeting business
goals, intense communication at the technical level, a stop-the-line
and fix-it-immediately attitude, and an emphasis on speed. Even for
large, one-of-a-kind development projects which require highly
specialized design, this approach produces dramatically superior
results.
Can this work
for Software Development?
Developing
specialized dies is not that much different than developing specialized
software. The key is to establish a partnership relationship which
allows true development to take place. Development is done using a
repeated cycle of design-build-test, allowing the solution to emerge.
The question is, how can a contract be written to support the emergent
nature of development?
Neither
fixed-price nor flexible-price contracts support the nature of software
development. Development always involves tradeoffs, and an organization
which facilitates the best tradeoff decisions will produce the best
result. Before-the-fact contracts do not support the give-and-take
between developers and customers necessary to make the best tradeoffs.
A developer should not have to worry about dealing with problems as they
arise, but with before-the-fact contracts, this activity has to be paid
for by one company or the other. Since every hour must be accounted
for, the give-and-take necessary for trade-off decisions is discouraged.
What is
needed is a contract approach which allows developers and customers work
closely together to develop a business value for a target cost.
Examples of how to do this in a vertical organization abound. There
many successful examples of using Scrum for product development
(references). Microsoft’s approach to product development is documented
by Michael Cusumano in Microsoft Secrets, Simon and Schuster,
1998. The general approach is to set a clear business goal, fix
resources, prioritize features, deliver working software in short
cycles, and stop working on features when time runs out. This approach
has a track record of delivering systems, even large ones, in a
predictable timeframe for a predicable cost.
The question
is, how can a contract be written to support the same approach? The
answer is to move to after-the-fact contracts in which a supplier is
paid for the value of the work they do. It works like this: A
customer has a clearly defined business value and a target cost in mind
for achieving that value. This target cost includes payments to a
supplier for their contributions. The customer comes to an agreement
with a supplying partner that the business value and the target cost are
achievable, including the target cost for the supplier’s participation.
Work proceeds without contractual guarantees that the value will be
delivered or the target cost will be achieved, but both partners are
committed to meet these goals.
Workers at
each company use adaptive processes
to develop the system as a single team. They communicate intensely at
the developer-customer level to make the necessary tradeoffs to achieve
the value within the target cost. As working software is delivered,
both supplier and customer work together using velocity charts to
monitor development progress. If adjustments to the business value or
the target cost structure are required, these become apparent early,
when they can be addressed by limiting the feature list or extending the
schedule. If this changes the business value or target cost, the
parties negotiate an equitable way to share the burden or benefit.
Conclusion
Trusted-based partnerships are the first requirement to make
after-the-fact contracts work. Partnerships are necessary to facilitate
worker-level responsibility for meeting business goals, intense
communication between developers and users to make optimal tradeoffs,
daily builds and automated testing to facilitate a fix-it-immediately
attitude, and a focus on early delivery of working software to create
the feedback system critical to good development.
Companies
which develop contracts that allow these values to flourish can expect
to produce the same dramatically superior results in software
development that these values produce in product development.
Lessons for
Outsourcers
If your
company outsources software development, consider the following:
-
Fixed Price Contracts
Fixed price contracts are risky. There
is both a technical risk that the job can’t be done for the allotted
cost, and the very real risk that the selection process favors less
knowledgeable supplier. If you assure that you get a competent
supplier, then you can be sure the supplier will add a good margin to
the cost to cover their risk. Remember that risk should be born by the
party most able to manage it, so if the project is complex and changes
are likely, you should assume the risk. If the project is a wicked
project, you should not even consider a fixed price contract.
If you are considering a fixed price
contract, you are probably interested in transferring all responsibility
to your supplier. But remember, if this results in a win-loose
situation, you will not win. You are going to be committed to the
supplier before the cracks begin to show, and if things go wrong, you
will suffer as much, if not more, than your supplier. You may have to
bail them out. They will no doubt be looking to make up for loses
through change orders, so you will have to control these aggressively.
That means if your project is prone to uncertainty or change, you really
don’t want a fixed price contract.
And finally, it is much more difficult to
get what you really need under a fixed price contract. If you got the
low bidder, you probably did not get the supplier most familiar with
your domain. If the bid was too low, your supplier will want to cut
corners. This may mean less testing, fewer features, a clumsy user
interface, out-of-date technology. You are going to need to carefully
limit user feedback to control changes and keep the price in line, which
will make it more difficult to get what your users really want.
Traditional Control Processes
Traditional project management processes
tend to emphasize scope management using requirements traceability and
an authorization-based change control system. Typically cost control is
provided with some variation of an earned value measurement. The first
thing to realize is that all of these techniques are expensive and do
not add any value to the resulting software. These practices are meant
to control opportunism, and if you are concerned that your supplier
might take advantage of you, they might make sense. (But try
partnerships first.)
You most likely do not want to be using
these practices inside your own company; they get in the way of good
software development. It’s pretty well known that an iterative approach
to software development, with regular user communication and feedback,
is far better than the waterfall approach. However, those pesky project
management practices tend to favor waterfalls. It’s a good bet that
your project will be subject to change (users change their preferences,
technology changes, someone forgot a critical requirement), so you want
to be using adaptive processes.
-
Trust-based Partnerships
For starters, all internal development
should be based on trust-based partnerships – after all, that’s why you
are doing inside development in the first place! If you can’t trust
someone in your own company, who can you trust?
The fastest, cheapest way to develop
software with a supplier is to let their technical people make decisions
based on close interaction with and regular guidance from your users.
You get the best results and the happiest users this way too. This kind
of relationship requires risk sharing and excellent on-going
communications. In exchange for this investment, trust-based
partnerships adapt well to change and uncertainty and are most likely to
yield faster, better, cheaper results.
Lessons for
Contractors
If your
company supplies software development, consider the following:
-
Fixed Price Contracts
You owe it to your customers to educate
them on the pitfalls of fixed price contracts. Make sure they
understand that this will make it more difficult for you to deliver the
best business value.
-
Traditional Control Processes
Don’t accept traditional control
mechanisms; there are better ways. Instead, use prioritized feature
sets, rapid iterations and velocity charts to monitor projects.
Never allow the customer to fix cost,
schedule and features simultaneously. Preferably, you want to agree to
meet cost, schedule and overall business value targets, and provide a
variable feature set. If the detailed feature set is not negotiable,
then at least one of the other two must be flexible.
Find out what is REALLY important to your
customer in terms of business value and deliver that.
-
Trust-based Partnerships
Your top priority when negotiating the
relationship is to assure that your development team will have constant
user involvement and feedback. You can negotiate what this means and
who represents the user, but if you don’t have access to users or a user
proxy, you will have a difficult time delivering business value. And
delivering business value must be your main objective.