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

High Functioning DevOps Team | Part II

High Functioning DevOps Team | Part II
Back to insights

Part I of our focus on DevOps addressed Team Foundation and overall roles and skills that are critical to its success.  How it fits within a corporation is largely dependent upon organizational structure, and ROI in DevOps can be determined by examining certain KPIs and metrics. While DevOps teams theoretically can fit into most if not all organizational structures, some are better equipped than others to handle the only thing constant about it as a whole, that being constant change over time.

DevOps Within a Corporate Structure

While a DevOps team relies on the talents and knowledge of team members, they are not devoid of structure and leadership within organizations. Simply put, DevOps teams cannot thrive without the right organizational structure in place which supports their mission. Companies looking to adopt DevOps practices must consider their own corporate structure as either a facilitator of change or a detriment to it. There are a number of factors which influence corporate structure strategies; there is no one size fits all model. Here are a few organizational structures I have seen work in supporting high functioning DevOps teams with varying levels of success.

  • Holacratic: Popularized by Zappos, this organization structure relies on completely decentralized teams or circles, eschewing individual titles and rigid structure, instead focusing on tasks that need to be completed.
  • Flatarchy: It has become commonplace to see flatarchies form in startups and new businesses. A flatarchy, as the name implies, has very open lines of communication and spread leadership. The focus of flatarchies is creativity and innovation and are considered temporary structures which evolve into more traditional structures once ideas are proven.
  • Functional: This bureaucratic structure groups individuals together based on skill sets and specialties. Individuals and limited to a specific set of functions which helps to limit confusion.
  • Matrix: Team members here have horizontal and vertical reporting chains often balancing workloads between functional day-to-day activities and project work.
  • Projectized: All work is grouped into activities and is organized into portfolios and projects. Resources move from project to project.
  • Composite: Combinations of the above structures to fit the needs of the business.

In my career, I have been fortunate enough to have worked in several types of corporate structures, with a diverse client base, each operating in their own unique manner. Each of the above corporate structures can absolutely support DevOps teams but not without certain drawbacks. Flatarchies are known for innovation but run into issues scaling and can suffer from a lack of strong IT leadership. Functional teams require strong leadership and cross-department communication, which, if poorly managed, can result in silos being created and teams unwilling to work together to deliver on objectives. Matrix organizations, in my experience, can work on a large-scale basis when there are thousands of employees to manage. Resource managers must prioritize labor hours to staff DevOps based initiatives while balancing day to day operational tasks. It is a fine line. On small scale, having worked on a small team in a matrix construct, I witnessed an inherent lack of accountability across reporting lines and elevated overhead costs, which introduced unnecessary operational risk. Projectized structures, which I subjectively believe can best support DevOps efforts, rely on small, highly skilled teams, commonly referred to as ‘Tiger Teams’. Tiger Teams can quickly deliver value to organizations and work across diverse functional teams on multi-phase projects. The issue with projectized structure does involve cost. Often the resources necessary to support project-based efforts is highly skilled and typically procured and retained for a defined period of time, which if extended based on delays or extensions can add up quickly. Conversely, lulls in project work can cause issues with underutilized staff. To mitigate this risk, I have seen organizations dedicate these resources to internal process improvement-based initiatives and short-term training. This total cost is typically less significant than the overall value delivered by projectized teams.

Measuring Success of the DevOps Team

In order to know how successful investment in DevOps initiatives are, leadership needs to determine if existing efforts are meeting expectations. We can use Key Performance Indicators (KPIs) to determine high performing DevOps teams. Below are a few sample KPIs which can be used to measure performance.

devops team structure

Figure 3: Sample KPIs for DevOps Teams

We can also observe the success of DevOps team structure over time as individuals add new skills based on the DevOps core principle of sharing. By sharing information, DevOps teams can overcome current challenges and create institutional knowledge to ease the burden of future endeavors. One of the ways that this knowledge base can be built is by truly understanding and embracing the retrospective, a key component of scrum and AGILE methodology and a core tenant of DevOps. During retrospectives, the AGILE team reflects on what happened during the previous sprint or iteration and identifies both the success and opportunities for improvement moving forward. A high functioning DevOps team takes retrospectives seriously as a way to continuously improve. Areas where sprints could improve can become really great knowledge articles about how to overcome certain technical blockers. I have seen shared databases of retrospectives leveraged not only to help onboard new team members but queried regularly as a first time in overcoming roadblocks or root causes analysis.

Another tried and true method of sharing that most people have heard of is the concept of a lunch and learn, in which team members present on a topic, usually focusing on a success from a current or previous project. An alternative to the lunch and learn is where a project team would present on an issue currently experienced in an active project. The lunch and troubleshoot model would pull in individuals from other project teams who may have the expertise to ultimately resolve the issue. In this way, over time, there can be a sharing of skills across DevOps teams to the betterment of the company overall.

Conclusion

A high functioning DevOps team is the product of the environment which they live. Companies can get the most out of their DevOps investments by staffing the correct resources and skill sets, promoting collaboration within the team and providing the necessary structure to maximize their human capital strategy. By making the necessary investments in people, companies can achieve long term success and maximize the return on that investment.

 

Digging In

  • Digital Products

    Unlocking Business Potential: The Power of Custom Application Development

    Like any savvy business leader, you’re likely always on the lookout for tools to give your company a competitive edge. And in doing so, you’ve undoubtedly considered investing in custom application development. But the question is, how do you ensure that such a major investment in a custom web application development provides a strong return on […]

  • Digital Products

    Mastering Legacy Application Modernization: Strategies for Success

    The ironic truth of the business world is that change is the only constant. But this means that failing to keep pace with the competition and its technologies will only end with you falling behind. That’s where legacy application modernization enters the fold. When you modernize legacy applications, your team gains access to new features […]

  • Digital Products

    CTO Confessions Podcast

    In this episode of CTO Confessions, Rob Phillips, the Vice President of Software Engineering at UDig, digs into his journey from a passionate technologist in his youth to a seasoned leader in the tech industry. He shares valuable lessons on transitioning to senior leadership, the importance of understanding and articulating company problems, and the art of empowering teams for high performance.

  • Digital Products

    Navigating the Challenges of On Premise to Cloud Migration

    In today’s rapidly evolving technological landscape, the shift from on premise solutions to cloud-based infrastructure has become a pivotal transformation for organizations seeking to modernize their IT operations. This transition holds the promise of increased agility, cost savings, and enhanced scalability. However, it is not without its set of formidable challenges that organizations must navigate. […]

  • Digital Products

    The Power of Transferrable Skills in Tech Projects

    Every project has its own unique elements that require flexibility to be effective and achieve success. This often requires picking up new pieces of a tech stack, learning a new programming language, or a new project methodology. Fortunately, there are also many transferrable skills that carry over from one project to the next. In my […]

  • Digital Products

    The Four Pillars of Effective Digital Product Development

    In 2020 alone, approximately two billion consumers purchased at least one digital product. From software licenses to mobile apps and tech tools, consumers are becoming increasingly active in the digital product market, a trend that has naturally spurred brands across a wide range of industries to reevaluate their digital product design and development process workflows. […]