Here is a fun philosophy problem:
A trolley is out of control and heading down the track. Down the track, you see five people who are unaware that the trolley is coming and will certainly die if you do nothing. You are next to a switch on an overpass which will divert the trolley onto another track, but there is another person on that track that would certainly be killed. What do you do?
This is the classic trolley problem, and if you’ve ever taken an introductory course in philosophy, you’ve probably heard of it. Essentially, this is asking if you would flip a switch to save five people, killing one in the process. I won’t get much further into this experiment, but here are some variations.
- There are 100 people on the first track, and only 1 on the second.
- There are 5 people on the first track, and the president of the United States is on the second.
- Instead of a switch, there is a fat man on the overpass with you, whom if pushed over, will stop the trolley.
- The fat man in scenario 3 has actually tied these people down on the tracks.
These are only a few variants of this problem, and they serve challenge your initial intuition. For example many would choose to turn the switch in the initial scenario, but would refuse to push over the fat man (I can still see my bioethics instructor grinning as wrestled with the ethics of each scenario). The end results are the similar, but the different scenarios make us rethink the situation, and our intuitions.
What I want to highlight here is the power behind “turning the knobs” or changing the variables on this problem. In the scenarios above, I’ve chosen to address three knobs.
- The number of people.
- The people involved.
- The way in which the trolley is stopped.
By changing these three things, I can look at the problem from different perspectives to see if my initial intuition still stands. I like to apply this method of thinking to requirements as well. A simple version of recent project I was on went like this: an end user wants a quote for a specific product while logged into a certain portal. The knobs here are:
- The end user
- The product
- The quote
- The portal
One can generate a lot of questions or requirements just by turning these knobs. Could a specific end user only get a quote for a specific set of products? If the end user comes through a partner’s portal, can they request our quote? Is a customer allowed to go through a specific portal?
If these questions seem easy or obvious, that’s because it really is. However, it’s the practice of reducing a business process to its simplest components that will help with the more complex problems. Identify the knobs, turn them, and see how one affects the other. There might be a certain combination of circumstances that are so rare that you never think about it, but it can’t be allowed. One would want to be able to identify that circumstance before it becomes a problem.
Besides, I’ve always thought turning the knobs was fun, and it doesn’t always have to result in the life altering considerations of the trolley problem!