I hear again and again developers’ complains on business users changing software requirements. (Especially so for business processes.) If asked “why do they?” such developer readily answers “because they don’t know what they want”. (This is a soft version of the answer indeed.)
May be so sometimes. But it’s worth to realize that business is under pressure much higher than developers are. We may require at least some degree of logic from our users but they have to deal with volatile customers, mean competitors, heartless state machine and market which is blind and deaf to our problems and arguments whatever logical they are.
So let’s be more patient to users that don’t always behave like we want them to.