Decision Frameworks (there are many – a bit too many) could
- speed up the process and help us encounter many fast & fluid situations,
- standardize and be popularized to mobilize small and large group of individuals
They always have the dogmatic threat looming over and hidden underneath.
Hence, it’s ideal to develop a sense of the principles. Yes, the deepest ones are just feelings. We then strive to churn them out with some well-defined and or familiar notions.
The benefits of thinking from “first” principles and core philosophies.
– evaluate Decision Making tooling and frameworks (this understanding helps to choose the right fit and customize accordingly)
– not to become a pray for shallow gimmicks, wordplay and anything dogmatic
Caution
– only use them as current guides (not to be dogmatic in any case, trying to force/fit, we need something hold onto, temporarily)
– always be proactive to critically evaluate and improve
– the only possible `flawless’ idea candidate is “there are no flawless ideas’,
Developing the Design-Decision Sense
Understanding the below deeply will help to build the sense. The sense will be tacit but will lend itself overtime to be externalized/modeled more and more accurately. The items in the below list also will be improved eventually with a deeper set of ideas/meta-principles.
Most part of this list is a cliche by this time, but I just wanted to jot down all important ones and keep it evolving.
There’s an exhaustive list already in Wikipedia. I will be perusing that and moving interesting and/or useful ones here as well. Suggestions in the comments are welcome.
As of now the below subset is what I have used consciously or at least witnessed the wide usage in my own experience – simply, the ones I could endorse.
- SOLID
- 12-Factor App
- GitOps
- Design patterns (GoF)
- Unix philosophy
- Agility
- KISS
- GRASP
- Security
- Cloud-Native
- UI/UX (
lawsguides) - …..
Meta-Principles
when faced with a decision making scenario, use the below guiding steps, without violating the previous step.
step 1: define the need/requirement (I actively discourage the negative term ‘problem’) with utmost care – no straw mans or force-fittings.
step 2: if the options are too limited/constrained then look for different representations (lossless as possible, climb the abstraction ladder, switch perspectives, vantage points)
step 3: get to the point where there are enough alternatives (at least 1, this could just happen straight away or after the effort at step 2)
step 4: work the way down with documented trade-offs and other decisions guided by first principles and core philosophies as much as possible.
It doesn’t work all the time, at least it serves a core set of guides to start with. And it will be interesting to see how each task lends itself (or NOT) to the above general approach.
Leave a Reply
You must be logged in to post a comment.