Sometimes it’s fun to take what you know about one area of your life and apply it to others.
What would it be like if there was continuous testing for the law?
In software engineering, continuous testing is a process that allows you to declare assumptions about the program you’re working on – what happens if you tweak this dial or flick this switch – and keep testing those assumptions as you’re making changes.
It protects your program from the changes you’re making, because lights flash and bells ring if one of the assumptions you declared no longer holds true.
Say you were building a calculator app for your phone. You might want to say “no matter what happens, when I enter ‘1+1’ the answer should always be 2”. That way, you can’t create a bug in your code that makes 1+1=3.
So, how does this apply to the law?
Well, life is a set of actions. Your interactions with other people and the world around you can be listed, like you would in a diary.
- Bought a sandwich from the deli
- Ate my sandwich on a park bench
So far, so good. But life isn’t all roses:
- Got into a fight in a bar
- Married a person of the same gender
- Declared war on another nation
Depending on where you are, there’s either a set of things you’re allowed to do – a way you can live your life – or a set of things you’re not allowed to do.
The rules for determining if you can perform a given action – say, eat your sandwich on a park bench, or marry someone of the same gender – change from place to place and even over time. You might not be allowed in the park after dusk, and your government might frown upon you going round declaring wars.
But wouldn’t it be great to list all the things you want to do and have some little thing whirring away, making sure you can still do them? Then if the law changes and you’re suddenly not allowed to dance in the street or drink a beer outdoors or whatever it is you really want to do, you get a flashing light on your phone and you have to fix the build.