Thursday, 20 September 2007

There's this thing in engineering called SMART requirements. You probably don't want to follow that link. Here's a summary:

Basically, when you make a piece of software, you need to know what to make. It turns out that this is the really hard part of software engineering. By and large, design, programming, testing and rollout are all well understood fields with a bunch of best practice books and so on kicking around in order to do them well. (Design is still a bit more of an art than a science, but I think that any engineer worth his salt can do good design intuitively.)

So, gathering a client's requirements and turning them into a system design that accurately reflects the requirements is quite hard. There is no accepted universal method, and even if there was, most clients probably wouldn't know how to do their part of it. It's also where the politics of engineering come in - who's in control of what, which bits of risky development can be parcelled out to whom, and so on.

One of the tools I've seen to ensure a higher quality of requirements gathering is the notion of SMART requirements. It is effectively a combination of a tree-structured hierarchy of systems requirements with a checklist for ensuring that each node in the tree meets some basic rules. Here are the rules:

S - Specific: Specific requirements are clear, consistent, simple, and "of an appropriate level of detail".
M - Measureable: The system can be checked against measureable requirements to indicate whether the system meets the requirement or not.
A - Attainable: Attainable requirements are those which can be reached by the system.
R - Realizable: Realizable requirements are those which can feasibly be reached by the system.
T - Traceable: Traceable requirements can be associated with every onward part of the system: design, implementation and testing elements.


So how can SMART requirements be useful in politics?

In the drafting of bills of law, that's how. If every law passed had to be Specific (not wordy, concise, clear), Measureable (identifying clear measures of success), Attainable (the aim of law was possible), Realizable and Traceable (any programs instituted would be clearly identified with measures and the individual laws and parts of laws that brought them into force), we might be a lot better off.

Particularly if a second, independent body were to be responsible for identifying measures of success and feasibility. I would hope to engender a situation like this:

"Cannabis is dangerous, we want to reduce the number of people who smoke cannabis because it is a health risk. Let's try reclassifying it to a class B drug."
"Sure. Let's take note of how many people are smoking it now, and how many are suffering adverse health effects, and you can give it a go."
-> 5 years later...
"Hmm, making cannabis more illegal didn't really work. We'd better repeal that law."


Mark Wadsworth said...

Sounds good to me.

Re comment on Tim W, am happy to link to yours if you link to mine, also, tougher decision, which of my Top Twelve Blogs do you think I should scrap?

sanbikinoraion said...


Of your list, Devil's Kitchen is the only one I've read, which is unfortunate, because I am saddened by his continual climate-change denialism. So I don't think that I am the best person to ask!

Mark Wadsworth said...

Ta muchly for link, favour has been returned (after much soul-searching over whom to sack).

BTW, I am not only a 'climate change denier' I am actually worried about global cooling.

sanbikinoraion said...

Well, having read a small amount around the subject, I am happy to agree with the current mainstream scientific opinion. I've seen no evidence that really brings it into question for me.

Marcin said...

At first glance, I thought you were an idiot. Then, when I realised you were just talking about SMART, I changed my mind. After a moment's reflection, I've decided that you're an idiot, who has been made idiotic by the managerialist claim that there has been an end to ideology.

This is because politics is not just about achieving particular outcomes, which in any case are very difficult to predict. You might think that this means that fewer laws which would be passed if SMART were used (true, and probably for the best). However, as politics isn't just about outcomes, and arguably should not actually be about outcomes, but should be about how we conceive the just society, and a just system of laws, it would make no sense to apply SMART to any law whose end is not explicitly about material aims. Politics as the achievement of material aims in society is a product of Marxism.

Also, climate change is not caused by man, nor proven even to exist other than as a short-term phenomenon, like global cooling was. You have probably been fooled by failing to inquire into the assumptions of reports and models that show that global warming has taken us into drastically higher temperatures than before. One objection is that they ignore the mediaeval warm period, on the basis that there is no tree-rign evidence for it. This amounts to saying that monks hallucinated most of their income for several centuries, and so did everyone else.

sanbikinoraion said...


Thanks for the ad hominem.

I don't see why conceiving just laws is incompatible with making high quality laws using SMART. I don't think that anything I said rules out ideology, just making sure that ideology doesn't cloud practicalities.

I don't think that it's particularly controversial to claim that this government has enacted several laws that have explicitly worked against its stated ideology, and all I'd like to see is a good system for preventing that sort of crap from happening.