Date:
11/17/2010
The Path of Most Resistance (Discovering Use Cases)
Systems and Software Lecturer Alex starts to teach us a thing or two about use cases...
Having recently ranted (OK so rant might be a bit strong but it's a favourite word of mine) on the inappropriate application of use cases it seems to me that I should, at the very least, offer an opinion (not that I'm opinionated, just ask my colleagues) on how they should be written.
As a subject that is considerably more involved that the UML notation implies, as well as being one that is close to my heart, I hope I will be forgiven if I make this a series of posts rather than trying to tackle the subject in a single monologue. The effect of such an attempt would undoubtedly spiral out of control and be likely to require a publishing agent.
Many years ago our Technical Director, Derek, introduced me to use cases as an analysis technique. After listening to everything he had to say I, like the petulant child I was, set out to prove I could do it better. Though I didn't realise it at the time, I was well on my way to making the first of many mistakes that I now try to guide people around.
Using an example that we had for one of our training courses I set out to improve the use cases I was given, smugly believing that something had been overlooked. Over the years I refined and remodelled until, eventually, I ended up with a use case model that was so close to the one I had inherited that it was almost impossible to tell the difference. It's been several years since that moment but I'm still reeling from the blow to my ego.
Writing good use cases is an art; no-one can teach it to you. That might sound strange coming from someone who makes a living teaching people how to write use but it's a fact. People can give you the benefit of their experience in use case development and provide you will a solid foundation but, like I did, you will discover that this is only the beginning of the journey. Good use cases are written by those who are humble enough to accept the guidance of those who already undergone a journey of retraining their analysis paradigm.
In the coming weeks I would like to present an approach to use case modelling that is not my own but rather the distilled wisdom of everyone I have learned from.
Alex.