Most software developers I know really like Agile. There are a lot of advantages: The iterative process gives developers confidence that the application reflects the users’ needs and wants; by tackling one thing at a time, you can make one thing work — and get feedback on it — before going on to the next; if something big comes up in one iteration, you can address it before it turns into a hairball. Plus, for consultants, iteration implies milestones that can be billed on completion, so you find out about a deadbeat client sooner rather than later. I bet you can add to this list. Clients and users, however… not so much. Users have their own concerns — and sometimes Agile developers don’t recognize them.