Another way to think about geeks and repetitive tasks
John Udell writes:
The other day Tim Bray tweeted a Google+ item entitled Geeks and repetitive tasks along with the comment: âGeeks win, eventually.â
…(material omitted)
In geek ideology the oppressors are pointy-haired bosses and clueless users. Geeks believe (correctly) that clueless users canât imagine, never mind implement, automated improvements to repetitive manual chores. The chart divides the world into geeks and non-geeks, and it portrays software-assisted process improvement as a contest that geeks eventually win. This Manichean worldview is unhelpful.
I have no doubt that John’s conclusion:
Software-assisted automation of repetitive work isnât an event, itâs a process. And if you see it as a contest with winners and losers you are, in my view, doing it wrong.
is the right one but I think it misses an important insight.
That “geeks” and their “oppressors” view the world with very different semantics. If neither one tries to communicate those semantics to the other, then software will continue to fail to meet the needs of its users. An unhappy picture for all concerned, geeks as well as their oppressors.
Being semantics, there is no “right” or “wrong” semantic.
True enough, the semantics of geeks works better with computers but if that fails to map in some meaningful way to the semantics of their oppressors, what’s the point?
Geeks can write highly efficient software for tasks but if the tasks aren’t something anyone is willing to pay for or even use, what’s the point?
Users and geeks need to both remember that communication is a two-way street. The only way for it to fail completely is for either side to stop trying to communicate with the other.
Have no doubt, I have experience the annoyance of trying to convince a geek that just because they have written software a particular way that has little to no bearing on some user request. (The case in point was a UI where the geek had decided on a “better” means of data entry. The users, who were going to be working with the data thought otherwise. I heard the refrain, “…if they would just use it they would get used to it.” Of course, the geek had written the interface without asking the users first.)
To be fair, users have to be willing to understand there are limitations on what can be requested.
And that users failing to complete written and detailed requirements for all aspects of a request, is almost a guarantee that the software result isn’t going to satisfy anyone.
Written requirements are where semantic understandings, mis-understandings and clashes can be made visible, resolved (hopefully) and documented. Burdensome, annoying, non-productive in the view of geeks who want to get to coding, but absolutely necessary in any sane software development environment.
That is to say any software environment that is going to represent a happy (well, workable) marriage of the semantics of geeks and users.