In The Phoenix Project, we introduced the Three Ways underpinning DevOps. In my follow-up book, The Unicorn Project, I revisit Parts Unlimited and describe my learnings through the Five Ideals.
- The First Ideal: Locality and Simplicity
- The Second Ideal: Focus, Flow, and Joy
- The Third Ideal: Improvement of Daily Work
- The Fourth Ideal: Psychological Safety
- The Fifth Ideal: Customer Focus
These are five topics that I’ve constantly gravitated toward over the last decade, and I continually seek to learn more about them even now! They seem to underpin what is required to create, as my friend Jon Smart says, better value, sooner, safer, and happier. And I am convinced that they are required to help our organizations survive and win in the marketplace.
The First Ideal: Locality and Simplicity
We need to design things so that we have locality in our systems and the organizations that build them. We need simplicity in everything we do. This ideal relates to the degree to which a development team can make local code changes in a single location without impacting various teams. The last place we want complexity is internally, whether it’s in our code, in our organization, or in our processes.
The Second Ideal: Focus, Flow, and Joy
The Second Ideal is all about how our daily work feels. Is our work marked by boredom and waiting for other people to get things done on our behalf? Do we blindly work on small pieces of the whole, only seeing the outcomes of our work during deployment when everything blows up, leading to firefighting, punishment, and burnout? Or do we work in small batches, ideally single-piece flow, getting fast and continual feedback on our work? These are the conditions that allow for focus and flow, challenge, learning, discovery, mastering our domain, and even joy. This is what being a developer means.
The Third Ideal: Improvement of Daily Work
The Third Ideal addresses paying down technical debt and improving architecture. When technical debt is treated as a priority and paid down and architecture is continuously improved and modernized, teams can work with flow, delivering better value sooner, safer, and happier. And the business ultimately wins when developers can deliver on enterprise performance goals.
The Fourth Ideal: Psychological Safety
Psychological safety is one of the top predictors of team performance. When team members feel safe to talk about problems, problems can not only be fixed but prevented. Solving problems requires honesty, and honesty requires an absence of fear. In knowledge work, psychological safety should be treated with the same importance as physical safety is in manufacturing.
The Fifth Ideal: Customer Focus
Customer focus relates to the difference between core and context as defined by Geoffrey Moore. Core is what customers are willing and able to pay for, the bread and butter of your business. Context is what they don’t care about, what it took to get them that product, including all the backend systems of an organization like HR and marketing and development. It’s critical to look at these Context systems as essential, as mission critical, and fund them appropriately. Context should never kill core.
Safety and security?
“Safety Culture” is another thing we are borrowing from manufacturing. The story referenced in the Unicorn Project about Alcoa is true. This is a quick starting point: https://www.businessinsider.com/how-changing-one-habit-quintupled-alcoas-income-2014-4
In our industry the term “generative culture” seems to be rising and taking the same meaning. It concerns me that many individual contributors seem to have taken the notion that it starts from the bottom up. That is, alas, false in this case. Safety starts at the top where culture is derived from. Thus the Alcoa story.
It’s interesting to me that you can find many references to “safety culture” in DevOps literature back to 2012, but we do not seem to have adopted it as a first order principle to the CALMS pillar of Culture.
Since we tend to work with our minds, I’ve personally taken the lesson to heart and done things like ask myself:
* Is safe to make mistakes (blameless postmortem)
* Is it safe to take time off? Do I have to work twice as hard before I take time to get ready for the time?
* Is the company marketing family activities as benefits (i.e. they claim to be my family when intellectually I know that is not true. Leads to some pretty messed up folks when they get laid off) – example “free dinner at the office”
For me this is still a pretty nascent set of considerations. I appreciate the place it played in the story of The Unicorn Project since that has me thinking a bit harder about it now.