Steve Eichert writes:
If the client doesn’t trust you how will they ever agree to paying $x for an undefined deliverable? _place_holder; Most clients want to know what they are getting for their money so saying “well we’re not really sure what exactly your going to get” just won’t fly. _place_holder; If you have the trust of your client the next requirement is that they understand the software development process. _place_holder; They need to understand that things will go wrong. _place_holder; Problems will arise. _place_holder; Adjustments will need to be made. _place_holder; If they don’t understand this they won’t be very happy when features need to get cut to fit in with the fixed _place_holder;price as well as the deadline.
I can’t argue with you here. If your client doesn’t trust you and won’t bother to learn about the software development methods you will use, then your project is doomed to failure.
I remember hearing _place_holder;Maritn Fowler talk at an XP Denver meeting. When asked, “How do you do fixed-price projects?,” he answered, “We don’t do fixed-price projects.”
He then went on to explain that his most important job is in educating the customer and establishing a level of trust so that they will understand the process. You have to work with your customer to get them to see that a fixed-price, fixed-scope project is a bad deal. There are only a couple of possible outcomes:
- The project succeeds on time and under budget. The consultant makes money. Typically this only happens when the consultant pads his estimate by at least a factor of 3. Not a good deal for the client because they overpaid for their work.
- The project runs long and goes over budget. The consultant is looking bankrupcy in the face. They start pushing change orders at the customer. The customer gets pissed and stops paying the bill. Everyone fights. Bad deal.
- The project runs long and goes over budget. The customer understands and pays the overage. Everyone is happy. Good deal, except that customers like this don’t really exist.
So the trick to doing agile projects is in educating your customer. You have to help them understand that the only way to guarantee the _place_holder;success of the project is by understanding the process and getting involved.
When the customer says, “My business is easy, just go build it,” then you better run!