Organizational Structures for DevOps

Bringing DevOps to an organization means making some changes to the culture and structure of teams and the organization. These changes are often disruptive and frequently meet with some resistance from leadership, teams, and individuals.

A successful DevOps team is cross-functional, with members that represent the business, development, quality assurance, operations, and anyone else involved in delivering the software. Ideally, team members have shared goals and values, collaborate continuously, and have unified processes and tooling. They are responsible for the entire lifecycle of the product, from gathering requirements, to building and testing the software, to delivering it into production, and monitoring and maintaining the software in production.

A Definition of Done for DevSecOps

DevOps means different things to different people. To me, it is a culture of communication and collaboration across the entire team.

In DevOps, we have a software delivery pipeline that checks, deploys, and tests every build. The goal is to give us confidence that we are producing a viable candidate for production, so we have to look at many different aspects of software quality, including security. We also have to look into functionality, maintainability, performance, and many other characteristics of our software, but if we focus on security, then we often call that DevSecOps.