A solid culture is critical to any DevOps organization. The primary characteristics of any DevOps culture is increased collaboration between the development and operations teams to help create a sense of shared responsibility for the health and wellness of the applications they support. This means increasing transparency, communication, and collaboration across development, IT/Operations, and “the business.” Cultural norms within a workplace can often lead to differences in opinion when it comes to priorities, collaboration methods, and problem-solving approaches. DevOps cultures can have a hard time adopting new ways of working, especially if the end goal and value are not obvious to everyone.
How do we make this cultural transition easier? With data! Data makes its biggest impact by providing equity of knowledge across teams. Ideally, the better the data, the better the knowledge. With this new knowledge comes the ability to take action towards working more effectively, communicating more clearly, and ultimately improving how we work as an organization. In short, data can drastically improve the way people collaborate and cooperate with one another.
What data should we examine if we want to improve culture? There is no shortage of places to start, but from our experience at HCLSoftware DevOps, we tend to start with the data most familiar to individual contributors, such as developers, designers, and architects. This is usually data that comes from source control management as well as data associated with issue tracking and project management (source examples include Atlassian, JIRA, or Git).
The data coming from these tools sheds insight into many areas. First, it shows the processes that our team members use and are most familiar with when committing code and associating code changes to specific items of business value. This allows us to get a better understanding of the day–to–day activities and find areas of improvement. We can also use this data to identify the application(s) that are being worked on, and in many instances the type of work (a defect versus a feature, for example). The data can be used to pull together useful insights into work distribution across a particular team, which can show us how a team works together.
Examining the data coming from individual contributors can improve culture in these 7 key areas:
- Who is working on what? Knowing what work is being done by whom helps keep development managers and the rest of the team in the loop in case there is a change in priority or if the requirements have changed.
- Is something important being left behind? When we can identify the work that is in progress, we have the opportunity to cross reference that list with the list of business goals and deliverables. This allows us to more clearly answer the question, “are we working on what we should?” so we can identify items that might not be finished on time and find work that is being done out of prioritization.
- Who needs helps? Now more than ever, with the increase in the number of staff working remotely, it is hard to raise your hand and seek help. Often, our most talented employees end up with too much work on their plates. By looking at the data, we can identify contributors who are struggling to complete work and get them the help they need. This data is also helpful for finding people who have a little extra capacity to help with the occasional fire drill.
- Improve how teams perform their day–to–day activities. Every process has room for improvement. With clearer data we can evaluate how development teams interact with the systems they use—from code reviews to testing tools to triaging items in their backlog—and clear bottlenecks that keep business value from flowing through more efficiently.
- Improve planning by identifying team velocities. By identifying the work in progress, we can understand what work was completed. This helps teams understand their velocity, which in turn makes it easier to know what can be committed for a particular sprint or release.
- Better scope for a sprint/release. By knowing what we can commit to for a release or sprint, the entire team will become more personally responsible and “bought in” to the work being accomplished. Teams will feel less like they are being asked to overdeliver in a short timeframe
- Identify unplanned work. Unplanned work is singlehandedly the biggest silent killer when it comes to business value not being delivered on time. Analyzing what teams are spending their development efforts towards, we can look at that data to determine how much of that work was planned versus unplanned, and take corrective steps to minimize the effect of unplanned work.
All of these areas have one thing in common—they focus on improving the collaboration and communication across a development team. We find that when individual contributors know what is expected of them and the goals are clearly defined, they are more engaged and more likely to succeed and find value in their day–to–day activities.
Data has the ability to help at a very a personal level, too. Based on the research findings in 2020 Upskilling: Enterprise DevOps Skills Report from the DevOps Institute, companies looking to hire DevOps talent ranked “human skills” as a growing requirement for new hires. What was the number one top human skill listed? Collaboration and cooperation, followed by sharing and knowledge transfer, as well as adaptability, and empathy. All of these human skills can be grown when your DevOps culture embraces data.
One of the key findings from the DevOps Institute report was employers’ eagerness to find potential candidates who have “E-shaped” skill sets. If you are not familiar with I, T, and E shaped skill sets, please take look at the diagram below. I-shaped skill sets are specialists. Their knowledge is very deep in a single subject matter. T-shaped profiles are experts in a certain domain, but also possess a broad general knowledge of the entire business. This makes them good at working with cross functional teams and gives them an edge in putting together a broader strategy. E-shaped skill sets take it one step further. These individuals have not only some expertise in process and framework skills, but they also have broad human skills, and they package that with experience in automation, the ability to explore new ideas, and execute at a high level.
Data can play a key role in helping “T-shaped” skill sets grow into a more “E-shaped” future by exposing individuals to job functions outside of their normal role. This exposure helps create empathy and boosts the sense of a shared responsibility that is vital to a positive DevOps culture. By helping others understand the challenges that exist outside of their control, we can begin to open the healthy dialogue that is needed for an organization to truly embrace DevOps.
Data can have a transformational advantage for DevOps, one that we feel is worth exploring. In our next installment, we will be discussing how data can help organizations track and plan work more effectively. Thanks for reading and stay tuned!