1. Any design is not perfect.
  2. There needs to be a way to evolve away from any decision.
  3. Components have different lifecycles.
  4. Components have different levels of criticality.
  5. Those components should have a very clean interface between each other and an outstanding level of isolation.
  6. Replaceable > Extendable, because the latter is more opinionated.
  7. The lifetime of the components should be challenged at all times.
  8. Proven technologies should be maintained in a conservative way.
  9. Solutions that open more opportunities should prevail the ones that put more restrictions on the follow-up design.
  10. The criticality of the components should be challenged at all times.
  11. If you’re not the light, it’s hard to reach it’s speed.
  12. Critical thinking > Lists from the internet, because the latter is more opinionated.