In the previous chapters, we have covered some approaches for solving some of the technical challenges of achieving Continuous Delivery with Windows and .NET. However, tooling alone will not result in Continuous Delivery for your software. Continuous Delivery also requires changes to your organization and practices, and we explore these more tricky aspects in this chapter.
Organizations can make Continuous Delivery easier by making some changes to the shape, size, and responsibilities of teams. One of the most effective changes is to align software delivery teams with a product or service: the team works on a program of changes and features for one or more product and service, but only that team. Instead of projects we use programs of work that have a clear and consistent timeline over many months and years.
This alignment with products and services typically helps to work around the problems of Conway’s law—the tendency to push the software we build into shapes that resemble the communication structures in the organization. This alignment with services works well with recent practices such as DevOps, where responsibility for the build and operation of software systems is shared between several teams with complementary skills, as shown in Figures 7-1 and 7-2.