I've done a lot of fixed-price projects, and rarely had trouble making everybody happy. Here's how:
1. Break the project down into small, easily-estimated features, and estimate the time required for each. Most estimates should be a day or two.
2. Allow the customer to select those features which have the best return on investment.
3. Strongly encourage the customer to budget an extra 25% to 50% for unanticipated features. There will always be a few!
4. Allow the customer to add new features, or to cancel features you haven't started.
5. Work with high-quality clients who know enough about their business to make intelligent decisions. Then, focus hard on helping them earn money. This removes a lot of stress from the relationship.
This approach only works if you take pride in your work, if you know how to estimate, and if you don't mind occasionally spending an extra day or two on a feature that proved trickier than expected.
Fixed-price projects have two great advantages: They encourage clients to think about which features will earn them the most money, and they reward programmers for good time management. Hourly projects reward you for being a slower developer, and where's the fun in that?
Comments
I've done a lot of fixed-price projects, and rarely had trouble making everybody happy. Here's how:
1. Break the project down into small, easily-estimated features, and estimate the time required for each. Most estimates should be a day or two.
2. Allow the customer to select those features which have the best return on investment.
3. Strongly encourage the customer to budget an extra 25% to 50% for unanticipated features. There will always be a few!
4. Allow the customer to add new features, or to cancel features you haven't started.
5. Work with high-quality clients who know enough about their business to make intelligent decisions. Then, focus hard on helping them earn money. This removes a lot of stress from the relationship.
This approach only works if you take pride in your work, if you know how to estimate, and if you don't mind occasionally spending an extra day or two on a feature that proved trickier than expected.
Fixed-price projects have two great advantages: They encourage clients to think about which features will earn them the most money, and they reward programmers for good time management. Hourly projects reward you for being a slower developer, and where's the fun in that?