What Happens When What You Deliver Is Not What The Customer Expected?

When you are a business analyst, you get requests for all sorts of processes, from Sales Force Automation to Quality Control and more. Different things can drive these requests from new clients, company mergers, new processes, or new state or federal regulations. But how do you know if you are delivering what your client or business unit really needs?
You ask questions, a lot of questions, and you listen. You write everything down and map all the existing processes and sketch out the new ones. If there are regulations driving the requirements, research everything about that regulation. I would like to give you an example of how we failed to deliver what the client expected.
Several years ago, I was as an analyst/programmer working for a consulting firm. We had a large pharmaceutical company as client. One of their business units came to us asking for a way to delivery safety tips to the scientists in their labs. Their requirements were simple, the tips had to be delivered in a fun and interactive way and without interrupting the scientist or lab tech if they were working in certain programs.

Our staff came together and brain stormed ideas. Perhaps we could develop an interactive powerpoint presentation, or better yet, a Flash program. Powerpoint could not randomly show the tips, but Flash could.
But what if there were new tips? The client would have to come back to us to add new tips. More money for us, but the client might not like having to pay us for every little update. Or perhaps the Flash app could read from a text file; that would make the client happier. Still, how can we launch this without it interfering when the scientists were working within certain programs? What was driving this?
The answer was simple and scratched on a note the sales rep had scribbled during his meeting, something about “Safety Compliance”. When we asked our sales rep what the customer meant, we were told that it was mentioned once, which is why he wrote it down, but that it never came up again and was not that important.
They mentioned it though, so it had to have some significance. With a little digging, we found there was a new regulation coming down that required tips to be delivered and there needed to be a proof of retention. The regulations were not clear either, but sounded like they wanted some sort of test of the material. These were requirements that were not given to us and when we asked the client, they had not thought about how they would “quiz” and score yet. They thought it would be a separate process, but did not think to ask for it. They were more focused on getting the information out first.

Given all that, I had an idea. The client used Lotus Notes as their enterprise email system. IBM Lotus Notes is more than just an email system; it is an unstructured enterprise database system, sometimes called “NoSQL” and was the grandfather to modern “NoSQL” databases used today like Firebase or MongoDB.
The problem is that Notes could not just pop up, be “fun and interactive”, nor could it be aware of what the scientist was doing. However, I had read an article in a trade magazine several months before. It talked about someone developed a program using Visual Basic, Microsoft Agent Technology, and COM for Lotus Notes to read aloud the email of someone who was visually impaired. It also reacted to him using mouse gestures or input from the keyboard. I suggested it to the staff and the first thing they asked was “What is this ‘MS Agent’ technology.

Enter “Clippy”. Well, let us say that eyes rolled and groans were heard from across the table. “Clippy” was not well liked or used by most computer users. Nonetheless, I went on. We could write a service application that would run in the system tray of the client’s machines. It had the ability to trigger at scheduled or at random times, check the system itself to see if there was someone was logged in and working, and make sure they were not working inside certain programs. If all these were met, it could then launch the “Safety Tip Agent” program to deliver safety tips.
The actor did not even have to be the “Clippy” paper clip. It could be a mad scientist, a wizard, a genie, Albert Einstein, a chemist or anything else we could think of. MS Agent was stand alone, a library we could call and it WOULD be interactive. It could talk (computer generated speech) to the client, if needed. AND it could ask them questions and wait for them to answer. What’s more based on the article, the MS Agent can talk to Lotus Notes databases, something the client was familiar with. This would make training more efficient and administration easy. Best of all, it was low cost.
We could develop a “Safety Compliance” database that stored variables the program could use like which programs to look for before launching and time intervals. The database would store ALL the tips and associated questions so as more and more tips were written, they could be pushed out and published.
We also discovered that some machines in the labs were shared. Since every machine was able to tell who was logged into at the time, the Safety Tip Agent (STA) could log who was shown which tip, when it was shown, and could quiz the user about previous tips and store their responses (and even how long it took them to answer). This application would offer them what they had originally asked for AND what they were trying to achieve in the end in one simple application.
We adjourned with the tasks of creating proof of concepts. While the team liked my idea, they thought it might be overkill for what the client was asking for. On top of that, “Clippy” was not well liked by many people who used Microsoft Office. So we were going to prototype a Flash app and a Powerpoint app, just in case.

The next week, I presented a very much prototyped “Safety Agent” to the group and it was well met. I used the “Merlin Wizard” actor instead of “Clippy” and showed how it could read and write too a Lotus Notes database. It was well received and we went to our client, a manager in the company. I showed her four tips and asked her for a fifth one. As soon as I added it, the little wizard addressed her (by name) telling her the new tip and asked her a question on the first one. She was excited. I asked her to answer his question. After she did, I opened the Notes database for her to see her answer stored with a time stamp. This was just what they were looking for. She was blown away. She liked that it was interactive and that it could be configured. She said she would like to show it to some of the directors and maybe a VP’s and she set up a meeting in just two weeks.
When it came time to demonstrate, we met in a conference room. I had set up tent cards for each attendee with their names and titles at each chair. When the lights went down, the first of several “Actors” or “Agents” appeared. He moved to the screen near where the VP was sitting, addressed him by name and asked him about his alma mater and his favorite football team. The agent stopped and waited for a response, which I typed in and the next agent appeared and moved on the screen towards one of the directors. Each of the executives was addressed and something was asked. Finally the “mad scientist” agent came up and introduced the “Safety Tip Agent (STA)” application. It walked through how the tips were stored and displayed, how the agents would quiz people on the tips and keep the results to help measure the compliance, how dynamically configurable the application was through the database and flexible. Through the “script”, I even had two of the “agents” start arguing about who had a better football team (can you guess which teams and where I got that information?).
In the end we failed to deliver what the client had originally asked for, we exceeded it. The client licensed the Safety Tip Agent for over 1000 machines with compliments coming from the end users and the admins liked that there was very little maintenance. On top of that the labs not only met the requirements for safety compliance, they did so ahead of the regulated deadline.
And we would not have delivered it though if we had not listened for all the requirements. How can I listen to your requirements today?