Degrees of Freedom
Let's say you're stubborn and you just want to do what you wanted to do. But situations and problems have constraints, requirements. It's important to think about what non-constraints exist, and what non-requirements exist. If you can make a constraint go from:
You can't do X
And become:
You can't do X, but you can do this relaxed version of X
Then you can do what you wanted to do anyways and hack life and win.
Degrees of freedom
In life, a degree of freedom might be about the things you're allowed to do that are not constrained. This seems obvious in that, in theory, we are allowed to do just about anything, but we tend to focus on the constraints imposed on us as frustrating our desires. Getting around them and exploiting the degrees of freedom that exist right next to the constraint has a special satisfying feel to it. A special "take that" smell of having your cake and eating it too.
In physics, degrees of freedom represent the axes along which something is free to move. A doorknob has a degree of freedom along the axis in which you twist it. It's constrained from moving backward and forward from the door, but it can rotate within it.
When you deal with a problem space, usually you'll have a description of the domain model: this stuff is made of that, and it does these things regularly and you need to feed it this type of food in the Winter or it'll die of starvation. Also you can't do this and that thing is very important.
We tend to focus a lot on the constraints. We make system designs and talk about functional requirements and non-functional requirements and focus on the constraints. But too often we don't focus on what is hidden in the problem: what degrees of freedom we have and can exploit to hack our way through the solution.
I think it's important to highlight the degrees of freedom that are available in any problem. It's important to highlight what we can't do but also highlight what we can do, especially when it's not obvious and when using this actuator can yield a rich variety of solutions.
A rich source of creative solutions and hacks
In my experience, remembering the degrees of freedom that are available at any time is a very rich source to mine creative ideas from. In particular, it's even more satisfying when you can identify what degrees of freedom remain hidden behind an apparent constraint.
Next time you design a solution to a problem, make sure to note the degrees of freedom that exist, and also the hidden degrees of freedom that can be extracted from relaxing apparent constraints.
Ask yourself things like:
- What if this thing has omniscient knowledge of the future?
- This is not allowed in form X, but would be allowed under form X'?
- If I came from an alternate universe and gave no fucks about the rules of the land, what sort of insane thing would I do that would fly in the face of common sense?
- Is this always true, or is it progressively less true linearly with some other input?
Non-technical examples where this worked out:
- A pizza delivery is really like a taxi ride, if you realize that you can ask the delivery driver to sit in the back of his car.
- An infantry officer is really a software engineer, if he realizes that Excel has VBA and no one can stop him from just doing stuff.