Do you know the drawbacks of a fixed-price, fixed-scope contract?

Last updated by Tiago Araújo [SSW] about 1 year ago.See history

Fixed-price, fixed-scope projects sound good but rarely end up with the expected results, either for the client or the developers. This type of project generally demand a sequential design process, and often, the waterfall methodology is chosen. Most likely the key players will end up disappointed.

First, let's define what is meant by "fixed price" and "waterfall" in software development:

  • Fixed price: A pricing model where the client pays a fixed amount of money for a predetermined scope of work. The scope of work is typically defined in advance, and any changes to that scope can result in additional charges or renegotiation of the contract.
  • Waterfall: This is a traditional project management approach where the development process is broken down into distinct phases, such as requirements gathering, design, implementation, testing, and deployment. Each phase is completed before moving on to the next, and changes to requirements or design are typically not allowed after a phase has been completed.

Now, let's look at the main reasons why fixed price and waterfall can be dangerous in software development:

1. Lack of flexibility: You can’t predict the future. Fixed price and waterfall approaches are typically very rigid, with little room changes. Since it's knwown that requirements frequently change as the project progresses, and new information can come to light that requires a change in direction. The "Cone of Uncertainty" shows the range of cost changing at different stages through a project:

cone of uncertainty
Figure: The cone of uncertainty in software cost and size estimation

2. Extra cost and slow progress: With a fixed price and waterfall approach, any changes to the scope of work or requirements can result in additional charges or delays.

3. Limited collaboration: Waterfall projects often involve siloed teams, where each team works on their part of the project independently without much collaboration. This can lead to a lack of communication and understanding between teams, which can result in delays and mistakes.

3. Delayed feedback: In a waterfall approach, feedback is typically only received at the end of each phase. This can lead to costly mistakes, as any issues or bugs may not be discovered until much later in the development process.

4. Reduced quality: With a fixed price and waterfall approach, the focus is often on completing each phase on time and within budget, rather than on producing a high-quality end product. This can lead to corners being cut and the final product being of lower quality than it could be.

5. Increased risk: Fixed price and waterfall approaches can increase the risk of project failure. With little room for flexibility or changes, any issues or problems that arise can quickly become insurmountable, leading to project delays or even project failure.

In summary, a fixed price and waterfall approach can be dangerous in software development consulting because they lack flexibility, limit collaboration, delay feedback, reduce quality, and increase risk.

The solution

The use of an iterative agile methodology (like Scrum) provides constant feedback and collaboration, giving the necessary agility to implement features while allowing adjustments during the project. This iterative development process can help mitigate the risks and lead to a more successful project outcome.

Waterfall vs Agile
Figure: Although Waterfall fixes the scope, it then makes the resources and time variable. If you want to fix those, you need to vary the scope

We open source. Powered by GitHub