wonderful post over on SoftwareQuality Connection about encouraging user-centric design. The only trouble is figuring out the right set of users that your software is designed for. Put another way, this is the classic programming problem: the person who hires you (or who sets up the job) isn't the ultimate end-user audience for the actual program.My friend and colleague Esther Schindler has written a
Schindler mentions the Abomination That Is Taleo as Exhibit A. For those of you that haven't been in the job market lately, this is one of the go-to apps that employers use to collect resumes and screen applicants. The only trouble is that its UI is bad, really bad. As she says, "Features and functionality that would give joy to the most common hands-on-the-keyboard user (the hundreds of job applicants applying for a given position) may not even appear on the list of application requirements."
And having agile programming practices can actually remove programmers from the ultimate consumers of the app, because you write so quickly and get close enough in your first build that you stop doing anything further. Or don't get to have any further discussions beyond the initial meetings, if you even meet with your programming team at all, because the budget for the project gets cut.
Some of the problem is the Dilbert-ization of corporate life, where a boss gets the overview and the devil is in the details. Part of it is the level of communication in modern companies can be frighteningly bad, as work teams are more distributed and we all have more work to do as layoffs have decimated most IT departments.
It is a great article, and one that you should email to your boss when it comes time to put together your next project. Along with the appropriate Dilbert cartoon, of course.
N.B.: The agile turtle is from Sarah Maddox' FFeathers blog.