Elisabeth Hendrickson's post prompted me to flesh this one out.
People are very good at learning, adapting and intuiting. Computers are great at performing repetitive tasks with precision and speed. Vice-versa -- not so much.
This is a big problem when translating from a people process to a robot one, because often times people don't understand what they do to the level of detail a computer needs.
This is not the same thing as “people don't know how to do their job.” People succeed in their work all the time. The distinction is they do a portion of it unconsciously.
To demonstrate, grab a smart-ass (a 12 yr old boy will do just fine). Now, instruct them how to tie their shoelaces, and make sure the smart-ass takes all of your instructions literally. Within less than a minute, I predict you'll be ready to smack your assistant.
To make matters worse, most business processes that the software under development is trying to emulate are spread across multiple people, all who are unaware of some of the details that they effortlessly perform every day.
This is why I agree with agilists who promote getting working software into the hands of end-users as quickly and as frequently as possible, to flush out all of the unconscious bits.
P.S. This doesn't even touch the fact that new software tools may enable end users to discover new ways for them to do their work. You certainly can't automate a process that hasn't even been thought of yet.
P.P.S. An example of this from my own work history: Company A had a tool to allow client managers to author surveys that an army of field reps could use on a handheld to gather information from the front lines for said client. Company B also had a tool like this. Company A agreed to take on Company's B business, and it was my job to create a new survey building tool to accommodate the needs of both. In the process, Company A gained some new functionality. There was no great way to specify how this new functionality should work, however, because it turned out Company B didn't actually have this functionality previously, they just thought it would be cool to have. So, how do you invent a new tool the end-users have never had before? Interactively.
But this is bad news for the bean counters: there's no great way to know what that's going to cost ahead of time. Best way to manage that budget: interactively.