Chapter 6. Enabling Autonomy

In the previous chapter, I discussed what makes for an effective team and included autonomy as a motivating factor. In this chapter, I’m going to make the case that autonomy isn’t just important for motivational reasons; it’s also essential for successfully adopting microservices.

Making sure teams are long-lived, cross-functional, the right size, and given responsibility for a stream of work that fits into their cognitive capacity creates teams that can be autonomous, but you also need ways of working in place that allow them to be autonomous. It’s no good having a team with all the right skills if you have processes that slow them down by requiring them to go through multiple gates to get work scheduled or to get changes to production.

Throughout this chapter I’ll dig into how to support the autonomy of teams in your organization through the ways that you work.

I’ll also talk about effective ways for teams to interact, again drawing on the ideas laid out by Matthew Skelton and Manuel Pais in their book Team Topologies that I explored a bit in Chapter 5.

And finally, we’ll discuss the responsibilities of autonomous teams. It’s not all fun and games, and it’s not a free-for-all. Autonomy should exist to support the business (but it also makes working a lot more enjoyable, in my experience).

Let me start by explaining what autonomy is, and why it matters.

What Is Autonomy?

Autonomy is the freedom to decide what you are going to do and how you are going ...

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.