My notes from the DevOps Handbook

by Gene Kim, Jez Humble, Patrick Debois, John Willis

Keep team sizes small

The two pizza team rule - a team as large as can be fed with two pizzas - five to ten people.

Reduce the amount of inter team communication and keep the scope of team's domain small and bounded.

Effects of this limit:

  1. Team has a clear, shared understanding of the system they are working on.
  2. Limits the growth rate. The team maintains shared understanding of the system.
  3. Enabled autonomy. The team's lead, working with executive team, decides on the key business metric that the team is responsible for, know as the fitness function.
  4. Leading the team lets gain leadership experience in an environment where failure does not lead to catastrophic consequences.

Great outcomes by integrating ops into daily work of devs

Enable market oriented outcomes where many small teams can quickly and independently deliver value to the customer.

Strategies

Create shared services

Ops creating set of centralized platforms and tooling that any developer team can use to become more productive.

All the platforms and services we provide should be automated and available on demand.

Reduce communications and coordination.

Without self service operations, the cloud is just Expensive Hosting 2.0.

We build cumulative and collective experience of everyone in the organization into these platforms.

Creating and maintaining these platforms and tools is real product development, where the customers are internal dev teams.

Embed ops into service teams

For new large development projects, embed ops into those teams. After release, embedded ops engineers may help with the production responsibilities of the dev team.

Ops take part in all of the dev team rituals, such as planning meetings, daily stand ups and demonstrations.

Pairing dev and ops engineers together is an extremely efficient way to cross train operations knowledge and expertise into a service team.