Chapter 7. Scaling the Organization: Delivery Teams
The previous chapter gave an overview of the basic organizational design principles, and introduced delivery teams as self-sufficient teams that enhance productivity by minimizing dependencies. In this chapter, we’ll show you how to identify the members of a delivery team and how to adapt your approach as your organization scales. We look at two key questions:
How do you organize into delivery teams in the first place?
How do you reorganize when delivery teams get too large or need to be re-focused?
Four Ways to Create Delivery Teams
Since organizational principles can be rather abstract, let’s use a concrete example. Imagine you are building a consumer-facing application that allows sharing of photos and updates with friends. The customer base requires apps for Android and iOS, as well as a desktop and mobile web client. Your team is relatively small, but will be growing quickly. How should you organize your delivery teams to deliver this application and iterate on new features efficiently?
When organizing delivery teams, you should choose a top-level approach for your team structure. Assess the situation and consider these four perspectives:
- Do you prefer that your delivery teams have a shared understanding of technology? That would mean that all your iOS engineers, for example, should work on the same team in order to make sure that technical alignment is high.
- Do you prefer to build delivery teams ...