Interaction designers love to do the tasks that programmers don’t like, like observing and interviewing users, and negotiating with managers. Interaction designers can make sense of human behavior in the same way that a programmer can make sense of a computer’s behavior.
Agile is a powerful tool for coping with incompetent designers. The new discipline of interface design has attracted a lot of wanna-bes and posers, who imagine that their color sense or esthetic vision qualifies them to design complex software behavior. They believe that putting a pretty “skin” on software makes it easy to use, or that being nice to users makes them more productive. They guess at solutions, without caring that each of their guesses causes lots of wasted work for the programmer. Agile forces them to bring a little discipline and responsibility to their work, just like programmers have to. Actually there aren’t that many incompetent, foolish managers out there who believe that it is their job to annoy and disrupt hard-working programmers. Most of the managers who make our lives miserable with bad choices are not fundamentally bad or incompetent people. Their problem is that their tools and their discipline have let them down. I’d like to take a few minutes to give you some insight into the manager’s dilemma. I do this so that you can defend yourself more effectively against his or her misconceptions.