Chapter 7. Engineering Enablement and Paving the Road
In earlier chapters I made the case for autonomous, empowered, cross-functional teams. They can move fast because they don’t have to wait for people outside the team to do something. That includes making decisions about the technology to use: autonomous teams get to make their own choices.
But there is a problem with this: those teams are making choices that optimize for their needs. Lots of local optimization, particularly where you have a microservice architecture that makes it easier to have diverse technology choices, can leave your organization with an unsupportable mess of different technologies. It also prevents global optimization, leaving a gap when it comes to things that matter to the department as a whole.
You really don’t want every team solving the same problems in potentially different ways, particularly for the problems that aren’t core to your business. There are very few businesses where having different continuous integration tooling between one team and the next is a business differentiator!
Product development (stream-aligned) teams should spend the majority of their time working on things that provide value to the business. Other teams should support them in doing that.
This chapter is about engineering enablement. One piece of that is building and supporting a platform that can provide on-demand and self-service capabilities to stream-aligned teams—and I want to talk about how doing it right means “applying ...
Get Enabling Microservice Success now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.