The Five Ideals

The Five Ideals summarized from the book “The Unicorn Project”.

Locality and Simplicity

  • Development teams should be able to make changes to their code base and deploy, without impacting or coordinating with others.
  • Decouple applications and create abstractions to achieve locality.
  • Simplify code bases through abstractions as well.
    • The easier the code is to reason about, the easier changes are, and the less it breaks.

Focus, Flow, Joy

  • Remove distractions, dependencies, and other road blocks that prevent developers from doing development work.
  • With the above removed, developers will be able to focus and enjoy the work, producing better code.

Improvement of Daily Work

  • Build time into projects/schedules to allow teams to address technical debt and architecture.
    • These are the brittle things that break in an application/architecture first.
  • Improve anything that impedes a developer from coding.

Psychological Safety

  • Teams should be able to talk about bugs/problems in an application or architecture, without blame/backlash.
  • Blame-less postmortems after a production down event or major bug are critical to implementing actual fixes and preventing the same thing from happening.
    • This should be a learning experience for everyone, not a blame session.

Customer Focus

  • Core focus - everything a customer is willing to pay for.
    • Example: Web services, APIs, databases, storage.
  • Context focus - everything else.
    • Example: Any system that supports employees. (such as HR systems)
  • While context is important, don't let it take over focus from core customer concerns.

  • devops_wiki/the_five_ideals.txt
  • Last modified: 2020/08/28 23:03
  • by billdozor