They only seem to care because we, as software developers, make them play the requirements game. In reality, the only thing that matters is how the product matches up to their expectations. The big problem is that you can’t capture them in a document to use as the blueprint for development. There are some things you can to make sure your customer is happy with the result:
- Write a short “Vision” document describing the key features to get everyone on the same page early on
- Program by feature to produce functionality early, don’t spend too much time on infrastructure
- When you’ve completed a feature, show it to the customer and get feedback
- Allow the customer to change their minds
These points will only work when both you and the customer share the project risk; either with fixed rates/variable time or fixed time/variable functionality.
If it’s a fixed price/fixed functionality contract then you’d better start writing those requirements…