Saturday, April 21, 2007

Fixed price projects and UAT

There is an interesting article in Dr Dobbs Agile Newsletter by Scott Ambler. It looks at the pitfalls of fised price projects:

"The fundamental problem with fixed-price projects is that they motivate you to perform very questionable things which invariably result in wastage. To develop an accurate estimate you need to understand the requirements which you are supposed to implement and the architecture which you are going to build to. The greater the need for accuracy in your estimate, the greater the need for more detailed information. As a result of the pressure to develop an accurate initial estimate you are typically motivated to adopt:
  • A big requirements up front (BRUF) approach where you create a detailed requirements specification early in the lifecycle.
  • A change management process which strives to avoid "scope creep" throughout the project.
  • A big design up front (BDUF) approach where you attempt to specify your architecture in detail before coding begins.
  • A software development lifecycle that is mostly serial in nature. "

It identifies the lack of stakeholder involvement as a major issue:

"BRUF and BDUF are two aspects of a serial lifecycle; serial lifecycles seem to offer few control points for stakeholders, thereby increasing overall project risk. Although stakeholders are usually actively involved up front with the BRUF effort their role is often greatly diminished until user-acceptance testing at the end of the project (assuming time permits). There may be the occasional milestone review where they go over status reports and technical documents which are presented as representing so form of earned value, but for the most part the majority of the software development process appears to be a black box to stakeholders: They won't know until close to the end of the project if they're going to receive anything of value in return for their IT investment. "

Finally it concludes:

"Fixed-price IT projects aren't good for the developers working on the project because it motivates questionable behaviors which put your job at risk in the long term. Nor are fixed-priced projects good for business stakeholders because they seem to increase risk instead of decrease it as promised. It's time to rethink our approach to funding IT projects."