The precarious art of use case interpolation
It had started innocently enough. It had started with a question. The question was aimed at me.
"How will you go about capturing user requirements for the new IT system?", my prospective customer asked.
"No problem.", I replied. "We will create a set of use cases[1] that walk through all the user scenarios."
I was confident. I looked straight into his eyes as I spoke. I was 22 years old.
"Using the use cases, we can bottom out an architecture and from there we proceed to design. We then bench-test the design against the full set of use cases. This is a key project check-point. After that comes the implementation plan and from there to coding it out."
Warming to my theme now, the faint glimmer of enjoyment present on my face...
"The great thing about use cases is that they can then be used as the basis for user acceptance testing. They give us a clear mechanism for ensuring that the system we build meets the expectations of your users as captured in the use cases."
"Sounds good", he said. "Go ahead."
It had started innocently enough. It started with a question. The question was aimed at me.
"These use cases are full of holes!", the lead developer in my own head stated. They don't capture all the important permutations and combinations of user interaction. Heck, even within one use case there are a myriad of possible interpretations based on what buttons/options the user selects and the overall current state of the system!"
I was shaken but not stirred. I can make this work, I thought to myself. I will figure out the gaps in the use cases myself and, where necessary, I will seek clarification from the customer.
"Too late for clarification!", the project manager in my head screamed. "Welcome to the asymptotic waterfall of project management my friend. We are where we are. We have what we have. Fixed price, fixed time and all that. Just get on with it!"
It all started so innocently. I had some very good use cases. It was a mere matter of backfilling the gaps between them. I started to bottom out the gaps. When the project manager is not looking, I can ask the customer for some clarifications. "It will be all right in the end", I consoled myself. It will all bottom out. Deep breaths.
Time rolled on. And on. And on. Every gap I filled in the use cases seemed to open up more gaps. The more I dug, the more I needed to dig.
I was not so confident now. I had trouble looking straight into the eyes of my customer. Fear has a smell. I was 23 years old but feeling closer to 30.
It had all started so innocently. How did I get into this predicament?
Infinity has a smell.
"How many real numbers are there?", the irrepressible geek in my head asked. An infinite number. Between every two real numbers, there is another one.
Infinity has a smell.
How many use cases are there for any non-trivial application? An infinite number. Why? Because between every two use cases, there is another one.
A small exaggeration perhaps but true in the general case.
Think of use cases as points in space. Between any two, there is another one. You cannot hope to fill in the plane by hitting all its dots.
So what to do? The best you can hope to do is to interpolate between the points (use cases) you have in a sensible way.
Lessons learned? I count three.
One: choose your use case "points" very carefully indeed.
Two: do not limit yourself to use cases as a vehicle for capturing requirements.
Three: there is no substitute for experience.
[1] http://en.wikipedia.org/wiki/Use_case
ITworld.com
Symantec Backup Exec 12 and Backup Exec System Recovery 8 deliver industry leading Windows data protection and system recovery. Download this whitepaper to find out the top reasons to upgrade and how to get continuous data protection and complete system recovery.
Data and system loss — from a hard drive failure, malicious attack, natural disaster, or simple human error — can happen anytime. Don’t leave your business vulnerable. Make sure you have a secure recovery strategy in place. Symantec's latest backup and system recovery technology can efficiently restore critical applications, individual emails and documents and even restore your entire system in minutes in the event of a loss.
Businesses face a growing challenge to ensure that the IT environment is properly protected. Backup Exec 12 integrates with other applications in the Symantec family of products, to complement your current data protection strategy, keep your data securely backed up and make it recoverable when you need it most.
Crimeware: Understanding New Attacks and Defenses
By Markus Jakobsson, Zulfikar Ramzan
Published Apr 6, 2008 by Addison-Wesley Professional. Part of the Symantec Press series.
Enter now! | Official rules | Sample chapter
Securing VoIP Networks: Threats, Vulnerabilities, and Countermeasures
By Peter Thermos, Ari Takanen
Published Aug 1, 2007 by Addison-Wesley Professional.
Enter now! | Official rules | Sample chapter







