Is Fixed-Price Software Development Unethical?

Reducing risks, better serving customers


July 18, 2008
URL:http://www.drdobbs.com/is-fixed-price-software-development-unet/209101238

Scott is Practice Leader Agile Development for IBM Rational.


One of the riskiest decisions you can make in software development is to require a "precise" cost and schedule estimate at the beginning of the project. Although there is nothing wrong with fixing just the price, as I wrote in Agile on a Fixed Budget, the situation quickly becomes dysfunctional when you also decide to fix the schedule and the project scope. Although customers often demand to work in this manner, particularly when the system is being built by another organization such as a system integrator (SI), as professionals we must question the ethics of fixed-price IT projects. We know fixed price is a bad idea, our customers inherently know fixed price is a bad idea, and it's high time that as an industry we choose to abandon this highly questionable approach.

I want to start by defining three critical terms:

I also need to set the context for this discussion. First, my argument is against fixed-price projects, not fixed-budget projects. The constraints imposed by fixed-price approaches reduce the flexibility of both the customer and the IT provider and thereby increase project risk unacceptably. Second, for simplicity I assume that you work for an IT provider even though some readers are business stakeholders.

Why Fixed Price?

There are many reasons why customers want to take a fixed-price approach to IT projects:

These desires are all reasonable, at least on the surface, but unfortunately aren't realistic in practice. The reality of IT projects doesn't support the theory behind fixed-price approaches.

Some Inconvenient Truths

Formal cost estimation strategies—COCOMO I/II, Function Points, Feature Points, and SLIM, to name a few—are based on the same fundamental strategy. First you identify the scope of the system and a potential architectural solution that addresses that scope. The greater the detail of your specification efforts, the greater your ability to accurately estimate the effort required. Second, you glean critical sizing measures from these specifications. Third, you take measures from historical project data, ideally from your own organization. Fourth, you put all of these measures into a "magic formula," which gives you your estimate. The measures and formula vary between estimation techniques, but the high-level process remains the same. As a result, these formal cost estimation strategies all suffer from a common set of challenges:

Is Fixed-Price IT Ethical?

There are some very clear and obvious challenges with fixed-price IT projects. I believe that this is the direct result of the inherent nature of IT projects. Traditionally we've wanted to believe in the concept that "software engineering" is 80 percent science and 20 percent art, but in practice development has proven to be closer to 20 percent science and 80 percent art. Or perhaps the 20 percent of software engineering that is art is simply 16 times harder than the 80 percent that is science. Regardless, after four decades of struggling with fixed-price IT projects, building a buffer into your estimate is merely a band-aid that reduces some of your risk. It's time that we start questioning the ethics of approach.

For a fixed-price IT project to be considered ethical, three criteria must be met. First, the customer must explicitly insist on a fixed-price approach. Second, the customer has been educated as to the inherent risks associated with fixed-price IT projects (feel free to give them a copy of this column). Third, the customer has been given other choices, such as staged-gate funding common on large projects or continuous-flow funding common with agile projects, has had the trade-offs explained to them, and has still explicitly chosen a fixed-price approach. As professionals, we must actively question the ethics of what we do, even when we've been doing these things for decades. We know that we have significant challenges around formal approaches to estimation and to traditional project management in general. Too many IT professionals give up when faced with customer demands for fixed-price IT projects, thereby choosing to work in a manner that dramatically increases project risk. We have to stop accepting the status quo and push back against our customers and help them to rethink this strategy.

We fundamentally know that fixed-price IT projects are a very poor way of working. Luckily, so do our customers. Whenever a customer insists on a fixed-priced IT project, even within the scope of an RFP that's been put out to bid, ethically we must attempt to dissuade them from this perilous path. Unless we start providing a consistent front against fixed-price projects, we will never get off this treadmill that we find ourselves on. We must actively choose to reduce the inherent risks in our industry, and the desire by customers for fixed-price IT projects is likely the greatest one that we face.

DDJ

Terms of Service | Privacy Statement | Copyright © 2024 UBM Tech, All rights reserved.