This summer I had a rare-for-me experience. I had the opportunity to be the customer on a software development effort. I don't mean buying a box of off-the-shelf software—you know, MS Office, Adobe Acrobat, Quicken—I mean a real development project for my Web site. I say opportunity because it never happened. Here's the way my conversation went when I contacted Web site specialist Cecil about the project.
"Hi, Cecil. I'd like to add a search capability to the articles page on my Web site," I said.
Cecil launched, "Well, the thing about search engines is that you have to register with each one and resubmit..."
"Ahem," I interrupted. "Perhaps I wasn't clear. I want people to be able to search for articles on my site. I want site visitors to see a list of all the articles and be able to choose one to read—just like I have it now—but I also want them to be able to search for articles on a certain topic."
"Oh, well, then what you want is a self-administered database," Cecil said.
"I'm not sure I need a database. I've been doing fine uploading the articles with FTP. Plus there's only one author since it's my site," I said. "I know I've seen other sites with search capabilities. Can’t the visitors search by topic without the whole database thing?”
We're database gurus! We could convert your entire Web site into a database and then you could update the content..."
"Thanks, Cecil. I'll get back to you," I said. I hung up the phone and sighed.
It felt like Cecil hadn't heard much of what I’d said and wasn't interested in what I needed or wanted. I was frustrated and discouraged. If you notice your customers seem frustrated when you are defining requirements (or worse, after you've delivered the system), consider making a shift in how you go about understanding customer needs.
Ask Open-Ended Questions to Explore
Open-ended and context-free questions like the ones above can help us explore what our customers want.
These questions may seem sort of wide open—and they are. These are good questions to ask at the beginning of projects to understand where your customers are coming from and where they want to go.
Chances are you won't be able to deliver on everything your customer wants. But when you have all the information, you can begin to manage expectations.
I had a customer back in the early '80s who wanted to be able to talk to his computer. Speech recognition was just coming out, and there was no way I could deliver what he wanted with the resources available ($20,000 and a CICS mainframe system with dumb terminals). So, I had to have the conversation about whether what he wanted was achievable. But because I knew what my customer's top priority was, I could frame that conversation in a way that let him know that I understood what he wanted and had explored all the options. In the end, he still wanted speech recognition, but because I had listened to him, he accepted that it wasn't possible at that time.
What is most important to the customer? If you can deliver the top ten items on a fifty-item list, will the customer be satisfied? If you get to the other forty, that’s great; if you don't, you’ve still delivered value. But if you start with item number thirty-five, no matter how state-of-the-art it is, the customer won't be as satisfied.
By the way, I still don't have a search capability on my Web site. I decided Cecil would lead me down a rabbit trail of nifty technology that was more than I needed and not what I wanted. Maybe he'll read this article!