Friday, December 30, 2011

The Expert User Can't Provide Software Requirements

Watching Harriet at the keyboard of that old legacy application stirred images of Mozart at the piano.  After 20+ years of daily use, through small change and large, during crises and the boring times, she had learned every secret command, every shortcut, and all the workarounds for bugs and unfinished features.  Even with all the time she spent supporting dozens of other users who weren't as proficient, she still pushed more work through that beast than anyone.

So, when it came time to choose a leader for the redesign of that old system, the business owner insisted that it be Harriet.  "She will protect our interests and make sure that we don't lose any of the functionality that we've come to depend upon," he said.  "Surely, she'll know what we should change to make it work better for us," he reasoned.  And that's when the real trouble started.

Why, you ask? When you get right down to it, two basic reasons: skill and status.  Harriet's key to success was to master the system as it is, and to be slave to it for decades.  Nothing wrong with that, and in fact, every ecosystem needs operational dedication.  But, to be able to redesign a system requires the ability to step back and abstract the essence of what is to be accomplished and then to map that onto a new way to accomplish it.  To do this well takes great skill cultivated by years of practice.  If Harriet had that inclination she would have exercised it years ago - or left in frustration!

If that isn't enough of a reason not to choose Harriet, consider that Harriet had an inbuilt, subconscious bias against making the system more democratic, more efficient.  While no one would ever accuse Harriet of being selfish, every step to replace that system would take another strut out of her status.  Simplifying so that anyone could use it would have removed the need for her to provide expert answers to the new and confused. Yes, while the project was going, she'd be the queen bee, but when it ended, what would she do? Who would need her?


Making the Harriet's part of the solution, without letting them control the outcome, is important.  Or you can do what many teams do - wait for Harriet to retire.