Your Privacy

This site uses cookies to enhance your browsing experience and deliver personalized content. By continuing to use this site, you consent to our use of cookies.
COOKIE POLICY

Skip to main content

High Functioning DevOps Team | Part 1

High Functioning DevOps Team | Part 1
Back to insights

DevOps principles have been adopted with varying degrees of success in organizations. What constitutes a successful DevOps team and how can organizations structure their DevOps team to achieve designated business outcomes?

The successful DevOps team first and foremost embodies the DevOps core principles which I have addressed in a previous entry, focusing on open communication and a culture of accountability, sharing of skills and information, automation, adoption of lean and AGILE principles and proven effectiveness by real-time metrics and measurements.

Figure 1: DevOps Core Principles

Organizations with high functioning DevOps teams have reaped the benefits of their investment in human capital and organizational transformation. According to Puppet’s 2016 State of DevOps report, organizations who have committed to adopting DevOps principles have been able to:

  • Decisively outperform their peers, deploying 200 times more frequently, with 2,555 times faster lead times, recover 24 times faster, and have three times lower change failure rates
  • Achieve improved employee loyalty, as measured by employee Net Promoter Score (eNPS)
  • Spend 22 percent less time on unplanned work and rework and 29 percent more time on new work, such as new features or code
  • Invest in lean management, experimental product development, and continuous delivery to create sustainable value creation (1)

DevOps Team Foundations

When considering the need for a DevOps team, whether to implement some form of automation within an organization or to apply its capabilities to an existing product or service, one must first understand exactly what problem is going to be solved. In my experience, DevOps teams are outcome-based, and those outcomes are largely dictated by the business since they determine any perceived value-add.

Achieving any outcome requires cross-functional team membership from IT, largely categorized as Development, and the business, or Operations – hence the name DevOps. Matthew Skelton elegantly depicts several of these interactions of Development and Operations.

Figure 2: Collaborative DevOps Models (2)

While it is evident that the intersection of Development and Operations can take one of many different forms that can evolve over time, the main takeaway here is that a high functioning DevOps team requires a productive, collaborative relationship between business and IT that results in shared accountability. These collaborative efforts are noted in the green box above. Teams are more likely to fail in their objectives by developing a silo mentality or by seemingly ignoring the needs of key stakeholders, as depicted in the red box.

Gone are the days that developers build systems and pass them over to operations to support and simply wash their hands of user experience or any issues which arise. There is an inherent level of apathy in DevOps teams based on their collaborative structure. When Developers sit with business users they can experience various pain points first hand and they can experience alternate viewpoints. This type of apathy can be compounded when developers are expected to take part in on-call support, handle alerts, and address outages should they arise. A high functioning DevOps team adopts a, ‘We build it. We run it.’ mentality.

DevOps Team Roles

Once the business and IT collectively identify a problem to solve, it is imperative that the DevOps team has the right roles assigned and inherent skills to achieve the desired outcomes. There are various resources to add to a DevOps team, but I have found the following roles to work well in high functioning teams:

  • DevOps Change Champion: Works with the cross-functional team to determine the value added by IT to the business based on DevOps initiatives. Also coordinates and manages releases of products and services.
  • Automation Architect: Designs and implements continuous integration and continuous delivery strategies and core technologies which support the strategies.
  • System Engineer: Works closely with the automation architect. Implements automation of identified pain points as a part of the overall automation strategy.
  • Software Developer: Completes business requirements in a collaborative effort with business SME.
  • Quality Engineer: Monitors and tests code per business requirements using automation. Ensures system can scale and perform to meet the business need before deployment to production.
  • Customer Experience (CX) Engineer: Works closely with the Change Champion to monitor releases and prioritize the user experience in feature development and delivery.
  • Security Engineer: Security is always a priority. Coordinates with all team members to prevent and eliminate system vulnerabilities.
  • Business Subject Matter Expert (SME): Key stakeholders and team members who have substantial operational knowledge. Largely determine of the value being created by DevOps teams. Supply requirements for continuous improvement at a service level.

Having established the foundation of DevOps and the roles and skills that are critical to its success, we can next examine (in Part II) its place within the corporate structure, as well as the metrics and KPIs that indicate ROI in DevOps.

References:

  • (n.d.). 2016 State of DevOps Report. Retrieved January 25, 2018, from https://puppet.com/resources/whitepaper/2016-state-of-devops-report
  • Skelton, M. (2016, April 10). What Team Structure is Right for DevOps to Flourish? Retrieved January 25, 2018, from https://blog.matthewskelton.net/2013/10/22/what-team-structure-is-right-for-devops-to-flourish/

Digging In

  • Software Engineering

    When There’s Too Much to Fix: How Smart Prioritization Unlocks Revenue at Scale

    Every operations team has a backlog. The question isn’t whether you can clear it — it’s whether you’re clearing it in the right order. For most teams, the honest answer is no. And that gap between the order work gets done, and the order it should get done is quietly costing organizations millions. The Volume Problem High-volume exception processing shows up across […]

  • Software Engineering

    Creating Reusable Code Templates to Reduce Client Project Startup Time

    In consulting, one of the least visible but most expensive phases of a project is the beginning. Teams can spend days or weeks setting up repositories, agreeing on structure, wiring basic infrastructure, and solving problems that have already been solved many times before. Code templates are a practical way to reduce overhead while improving consistency. […]

  • Software Engineering

    Player Three Has Entered the Game: How AI Is Finally Bridging the Divide Between Design and Engineering

    As AI begins to become more prominent in our day-to-day lives, I find myself in a unique position. As a practicing software engineer and UI/UX designer, I am genuinely happy to see the introduction of AI tools begin to take shape in our industry. But more importantly, I am happy to start seeing the effects it is having on what has historically been a pretty challenging relationship: the […]

  • Software Engineering

    The Disappearing Middle of Software Work: Why the Bookends – Strategy & Impact – Matter Most Now

    Here’s a question nobody in enterprise software wants to sit with: what happens to the middle? Not the middle of the org chart. The middle of the work. The vast, expensive layer of effort that has defined enterprise software delivery for thirty years—translating what the business wants into working code. The requirements-to-implementation pipeline. The “build phase.” […]

  • Software Engineering

    Zero-Code Telemetry with OpenTelemetry’s OBI

    Full distributed tracing and exception capture for any application — without writing a single line of instrumentation code. View the source code on GitHub → The Premise Observability is essential for understanding what’s happening inside your services, but instrumenting an application by hand — adding trace spans, logging calls, and metric counters throughout your codebase […]

  • Software Engineering

    Building a Consultant in the Trenches: How Playing Offensive Line Shaped My Consulting Career

    People often ask me the same question when they find out that I played college football: “Do you miss it?” On the surface, it’s a bad question with an obvious answer. Yes. However, if I give myself a minute to sit with that question, the answer is more nuanced. Yes, I miss playing football, but […]