Brian’s Notes

Quotes:

“fast and big crushes slow and big and demolishes slow and small”

The Five Ideals

  • 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.
  • 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.
  • 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.
  • 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.
  • 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.

Shorter/Simpler

  • Locality and Simplicity: alleviate dependencies between teams and components.
  • Focus, Flow, and Joy: the smooth flow of work that enables focus and joy.
  • Improvement of Daily Work: continuously improve and pay down technical debt.
  • Psychological Safety: a top predictor of team performance; enables improvement.
  • Customer Focus: optimize for customer value, not for a role-based silo.

Three Horizons Model

Horizon one is the core businesses that generates billions of dollars per year versus horizon 3 which is the startup initiatives, that potentially holds the future of the company. This horizon is predictable, slow and where the culture becomes bureaucratic and risk averse. Legacy organizations generally battle horizon three to protect the status quo of their horizon one.

Horizon two are smaller businesses that generate typically one hundred million dollars, and that are growing up to become horizon one businesses. These opportunities generate new customers, new capabilities and new markets. They explore new supportive processes for efficiency.

Then we have horizons three businesses that are the long-term, the future, the highly innovative experiments. Here people are exploring new ideas, different markets, different business models. Almost every startup is horizon three. These businesses are highly adaptable as they welcome risks. They learn as they experiment.

Horizon two business and revenue come from horizon three, and horizon one come from horizon two. Horizon two companies look like start-ups, without the funding risk, because they operate like a start-up and they constantly pivot trying to figure out what it takes to get traction.

Horizon two and three are characterized by their culture of learning, while horizon one is often seen as the culture of compliance, and the horizons are very much at odds.

Core vs Context

Cores are the central competencies of the organization. It’s what your customers pay for and what your investors reward. Context is everything else. Cafeterias, shuttles between buildings, and all other things you do to operate. These can be mission-critical. For example, HR, payroll, and email. But it’s not what your customers pay you for.

If you become too burdened by your Context, you can’t properly invest in your Core.

Little’s Law