A few weeks ago I was looking for a new set of lockable office drawers for my home office. Not far from me, there’s an excellent second-hand shop that sells all sorts of assorted furniture, so I thought I’d pay them a visit.
I arrived at the shop, and there was every type of furniture item that you could imagine – plus a few items you wouldn’t expect! There were tables, chairs, dolls houses, even shovels and forks. The shop was utterly jam packed with all sorts of interesting and intriguing items. In fact, it was so rammed-full of furniture, I couldn’t even get inside. I didn’t even know where to start looking, so I gingerly peeked around the door. After about five minutes, I managed to attract the shop owner’s attention. He clambered over the furniture to reach me, and I explained what I was looking for. He immediately knew where I could find the exact thing I wanted, and pointed me in the precise direction of a practically new set of lockable office drawers. I bought them and took them home. They were an absolute bargain too!
On the journey home, I was reflecting on this rather unusual experience. The fact was that the shop was so jam-packed with furniture of every imaginable type that it was virtually impenetrable to the average customer. The only way you’d be able to find what you were looking for would be to ask the owner. I started to think about how in some cases we might be tempted to treat our requirements like this.
What this means for requirements
On some projects, particularly those that require a high level of formality, we might create a large number of requirement artefacts. We might create deliverables and artefacts including a context diagram, use cases, non-functional requirements, a logical data model, a glossary and so on. We create artefacts that are jam packed with precise and concise information. As the author, we’ll instinctively know where to find everything in our requirement set – but what about the recipients? How do they know which artefact they need to look at to find what they are interested in? How can we stop our requirements becoming an unregulated “junk shop” where everything exists, but stakeholders can’t find what they need?