The American Journal of Tropical Medicine and Hygiene allegedly recently reported a major success -- a 71% reduction in a major killer disease among children (2 million deaths per year) in a trial area, using two chemical preparations: sodium hypochlorite, and a mix of stearic, palmitic, and oleic acid. Or bleach and soap as experts prefer to call them; the killer disease was diarrhoea. Glamorous? Hardly. Effective? Certainly, but people seem to prefer magic bullets to scrubbing floors and washing hands.
Bleach and soap have the following very dull characteristics:
What are the RE equivalents of soap and bleach, plain things that are known to work? The RE equivalent of magic modern drugs that will abolish infectious disease within 5 years is unfortunately all too easy to identify; it makes a fine pub game. But if you prefer practicality to fashion, here are ten simple things that certainly do the job.
Find out and document (as simply as you can manage):
All of these can be written down with nothing more elaborate than a whiteboard, or a pen and paper. They can, if things get large and complicated, be written down using RM tools, or modelled in more elaborate ways. The point may be worth labouring, if only to emphasize that further research is NOT needed – the bleach works just fine, thankyou, as long as you scrub the bathroom with it regularly. So here is a table showing how the ten things might look on small and large tasks.
Requirement Element |
Activity |
Activity |
Mission & Scope |
write one statement, draw a context diagram |
characterise the mission, draw a context diagram, agree it at the top (political) level across all decision-making stakeholders |
Stakeholders |
list them, maybe using a template |
make an onion model; identify roles in each slot |
Goals |
list the goals, maybe make a hierarchy using Word outliner |
make a goal model, indicate and/or decomposition, show support and obstacles (+/-) |
Conflicts |
list any conflicting goals, disagreements |
classify conflicting viewpoints from the onion model, possible goal conflicts from the goal model by type and seriousness |
Scenarios |
write the essential operational scenarios as basic stories |
create a set of scenarios at each level (business, system down to sub-sub-…system as appropriate); possibly structure them as use cases; consider negative and hostile scenarios, and counter them |
Requirements |
write a list of things the contractor /supplier/ programmers etc have to make the system do (and don’t forget required qualities and constraints) |
write and organize the requirements into a suitable structure, including functions, interfaces, qualities, and constraints; model the required behaviour to demonstrate its correctness and feasibility; trace back to goals and scenarios; allocate to suppliers / subcontractors etc |
Justifications |
write a few words justifying each requirement |
make a cost/benefit model, simulations of performance, etc as needed to justify each requirement |
Assumptions |
list things that have to be true for the system to work |
model the argumentation for and against the system, including but not limited to its safety case, showing assumptions, evidence |
Priorities |
rank the requirements into vital-desirable-nice to have (or 1-2-3, etc). Do the vital ones first |
identify dependency classes (eg requirements involved in the same scenario); prioritise each dependency class; trade-off requirements against design options, etc |
Acceptance Criteria |
identify how you’ll know when the system meets each requirement |
as for the simple project, but also plan the test campaign based on the scenarios and the environmental conditions and non-functional requirements; trace the test cases to the requirements |
There’s nothing terribly new here, is there? But it isn’t soft scented soap; it’s more like the hard, old-fashioned blocks of ‘Savon de Marseilles’ that granny used to grate into the washing-bowl, than anything fancy from a chic boutique. Does your chosen gadget reach into all those germ-harbouring corners? It’s interesting to take a patent RE method or two and see how many of the ten simple things they don’t even consider. Try it.
It’s also instructive to consider what happens when any of the ten simple things are overlooked.
There. Told you it would be old-fashioned. Or would you prefer some lilac-scented management consultant-talk about endogenous quality-building and total responsibility-driven design going forward, in fact the last thing in soft soap?
© Ian Alexander 2005