It's no secret that many enterprise application development projects run behind schedule and over-budget. In a lengthy article, Susan Atkinson and Gabrielle Benefield argue that the problem isn't the fault of developers or the organizations that hire them—rather the fault lies with the traditional contract model.
Under the contract model, developers are responsible for certain predefined outputs, which are specified in the contract. Any changes to the output must go through a change approval process, and progress must be made sequentially under the "waterfall" method of development.
But the authors argue that this contract model is unrealistic in real-life situations where requirements may not be well-defined at the beginning of the project and will almost certainly change over time. In addition, they say the contract model actually increased the organization's exposure to risk.
They conclude, "We believe that the Contract Model is in need of a total overhaul. With our increasing dependency on IT and escalating costs of IT spend, an overhaul of the Contract Model cannot happen soon enough."