A Secret: Managing the "Exacting" Client, Refire
Yesterday, I inadvertently made public a draft of an unfinished post I was working on. You can read the first part of the post here. Today, we finish the story.
In our last episode, Bill, the general contractor I worked for, had instructed one of the workers to deliberately set up three incidents that he knew would be spotted by the famous architect when he made his final inspection.
"Uh, Bill," I began. "Are we trying to fail the walkthrough?"
"Yep."
"But why?"
"You think this architect is going to come all the way from Connecticut and not find something? I'm just giving him things to find."
"That are really easy to fix," I said.
"Yep."
As I said yesterday, I learned a valuable lesson I applied to building software. The lesson wasn't "Break something obvious so the client can find it" but this: clients want to be involved in the process of creation. Now, I suppose we could ask them to, say, design the database, but no.
Instead, during the initial prototype phase, I will often have several ideas for the software. Often, these will be different from what we discussed during our initial meetings. The process of developing the prototype generates new ideas.
But new ideas can startle clients and make them uncomfortable. Or rather, others' new ideas tend to make clients uncomfortable. On the other hand, if they have participated in generating the ideas, they feel a sense of ownership and involvement with the software process that transforms them from passive recipients to active participants. And that bodes well for the entire project.
So, instead of prototyping my new ideas, I often start with something that will be familiar (i.e. comfortable) to the client. This becomes the basis for a discussion on other things we might do -- other ways we might better accomplish the task of making them more productive.
This isn't really as manipulative as it may sound. I've often found that my "new idea" isn't the best -- but it may well serve as a starting point to discover the best -- or at least a significantly better idea. Clients have a great deal of knowledge that the developer can use to craft a terrific app, but the client doesn't (a) know what they know, and (b) know that it may be germane.
The famous Latin orator, Cay Kilters, recognized this truth long before I: "Engage Voyeur Vino Pun". If your Latin is a bit rusty, it translates roughly as "The audience may find foolish what the creator finds profound."
The secret? Turn the audience into co-creators.

