Don't Fix the Price

Software is like a living, organic being -- constantly evolving to its environment.

As such, it's extremely difficult to develop on a fixed budget.

This is even more applicable for large or especially complex projects.

Instead of trying to adhere to an arbitrary budget:

    1. Split large projects into smaller ones
    2. Develop the "core" features first
    3. Add only what's absolutely critical
    4. Use an agile approach so you always have a working version

Remember, you might not be "done" when you think.

Further reading:

  1. http://blog.jasonhanley.com/2008/07/fixed-price-software-development.html
  2. http://www.drdobbs.com/architect/209101238
  3. http://blog.jasonhanley.com/2008/08/reducing-risk-of-fixed-price-projects.html
  4. http://www.drdobbs.com/architect/209602001