Las Vegas 2020

Humanizing DevOps through Data

When we talk about DevOps, there are three main conversations that form around people, processes, and technology. These concepts dig into the heart of DevOps. For people, its building a healthy culture that supports increased collaboration and shared responsibility. When discussing processes, we tend to focus on how efficient we can make a particular workflow. This requires organizations to constantly reevaluate how they operate to identify new bottlenecks and develop a leaner alternative. Technology is an ever-changing conversation ranging from modernization, security vulnerabilities, quality assurance, and automation. What works, what doesn’t? We embrace these conversations as part of the valuable feedback cycles that DevOps creates so that we can learn how to improve our everyday actions.


With the majority of our workforce remote, we’ve lost part of the human interaction that helps teams collaborate, communicate, and understand the day to day challenges that come with creating great software.


In this presentation we will take a look at the important role data plays within our DevOps organization, and how that data can influence many aspects of our organization, including people (culture), processes (tracking and planning), and technology (business agility). We will also discuss how data can be leveraged to create a culture filled with empathy and understanding. Many employers are starting to look at key “Human Skills” as part of their DevOps hiring strategy. We will cover the different types of human skills that are most sought after, and also how can we use data to help individual contributors grow from a “T-shaped” skillset to an “E-Shaped” skillset. We will also discuss how data can be leveraged to improve communication, visibility, and improve alignment between engineering and the business.


This session is presented by HCL Software DevOps.

SB

Steve Boone

Head of Product Management, HCL Software DevOps

Transcript

00:00:14

Hello everyone. Thank you for joining me today. My name is Steve Boone had a product management HCL software dev ops. Today, we're going to be talking about humanizing dev ops through data. I appreciate you for joining us. If you have any questions, feel free to reach out to me on Twitter at Steve underscore boon, or you can email me Stephen dot boon@hcl.com. So let's jump right into it. You know, we're all right now going through what I would call a new normal and that new normal is extremely challenging. Uh, one of the things that we know from talking with our customers and also seeing from our friends at epic that have put together this cool infographic, people are struggling from burnout, and we're really struggling with the fact that we don't have the normal social interactions that we used to have in, in dev ops when we're experiencing, uh, things like culture shock.

00:01:00

Uh, it's extremely hard to be as innovative and as forward moving as we would like to be. Um, and this is a challenge because a lot of our businesses that we're working for in clients we're supporting, they're still very much focused on how they can innovate and how they can digitally transform their business, uh, while still having all of the people working remote while still struggling to understand what's going on in their business. Now that folks are spread out across the world and working remotely. So at the end of the day, what it really starts to come down to is how can we reduce costs and still continue with this digital transformation. Also, we'll talk a little bit about the big elephant in the room is how do we avoid the burnout, right? What can we do to keep people engaged that can improve communication?

00:01:41

Do you have better alignment across the business? So people know what to work on and feel comfortable about what, the direction that they're going. Um, and still feel like they're not on an island, but part of a, a robust working well connected development organization. So when we typically talk about dev ops specifically, when we talk about data-driven dev ops, uh, we're going to focus on what I call the fundamental core three, right? People, processes and technology. And the reason why we start there is because they have a really good way of mapping into the things that we really want to highlight today. When we talk about people, we're really going to focus on culture and how we can improve the culture and the people that are make up that culture. When we talk about processes, we're going to focus on how we work together, right overall as an organization, how do we get the work done?

00:02:26

Uh, how do we move from idea all the way to customer tangible deliverable? And we talk about technology. We're going to focus on the tools that we use within those processes of gathering together to deliver that software. Um, in, in culture, you're going to hear me talk about this quite a bit, right? The whole point of humanizing DevOps through data is to improve the culture. And so when we talk about culture, we talk about a number of things, communication, collaboration, trust, uh, accountability, right? Uh, to me a great way to think about DevOps is that it's a shared responsibility, right? And that responsibility comes with delivering well quality software to our clients on time. And if we want to have good shared responsibility, that means we need better transparency, better communication, and better collaboration across our entire business. So how does data help in this?

00:03:20

Well data ideally will shed some light on how we as an organization do work, right? And we want to look at data from a number of different places. We'll talk about that in a second, but ideally from that data, we want to analyze it. We want to look at it. We want to do all sorts of analysis on it. Whether that's AI, machine learning, you name it, even just looking at the raw data, it can help us formulate some conclusions and therefore allow us to plan, uh, some course of action, uh, to hopefully get better at what we're trying to do or identify areas of improvement and then seek out to actually go and make those better for us. So the data that we want to start harvesting, we want to start looking for examining is coming from a number of different places. Think of all the people in the organization that you work in today, think about the tools they interact with, whether it's source control, whether it's, uh, something like an system, uh, whether it's build and deployment systems, right.

00:04:15

There are a number of people. There are a number of different processes. There's a number of different of tools and all of those tools produce large amounts of data. Um, and so by capturing that data across our entire value stream, that's going to give us the meaningful insights. We want to hopefully plan a positive course of action and then ultimately increase business value, which is what we're all trying to do. So when we talk about the value stream, we really talk, talking about value stream management, right? And then if you're not familiar with value stream management, it's a lean principle business practice that helps us determine how we can improve the flow of the whole organization. Right? And as part of that, we can look at a number of different things, right? We can look at how people communicate, how they work in small groups for those or development teams or the various different silos, whether it be engineering or operations or security, but value stream is going to look at the entire large picture and figure out as a whole, can we educate people?

00:05:11

Can we give them a broader understanding of the whole end to end process so that together we can make changes and take responsibility for the whole action, which is delivering software. And so we could build dashboards and dashboards are definitely helpful. Uh, but the real magic is in the relationships between the data and the different systems that we want to look at it, especially when we start talking about making this data impactful for the people in the culture, right? Again, back to that idea of wanting to humanize this. Um, so what we want to do is, again, we want to look at things like our work items. We want to look at things at how those work items interact with the different bills that are associated to the pull requests, the deployments, the unit test code coverage, static analysis, whatever it might be, right. Cause going to give us a very large picture of how everything works together and therefore allow us to focus in on areas that we can, uh, hopefully make some impactful improvements on.

00:06:08

So how can data help and specifically, how can data start to help when we think about helping people, helping culture and the humanizing aspect? Well, there's really five different areas where the data can start to focus on. And if you can't read this because it may be small, we're going to go into more detailed each one of these here momentarily, right? The first is around collaboration and cooperation. How do we just work better together, especially remote, right? We're missing this idea of, you know, water cooler conversations. And just being able to turn around in your chair and ask somebody for help. So first one is going to be collaboration cooperation. The second one is around process flow, right? By visualizing that overall end to end process, we get a better understanding for how that process works. We can ID identify areas for improvement. The third, which again, I think really hits home to how people work within our organization is broadening all skill types.

00:06:58

And we'll talk about skill types. We'll talk a little bit more about the DevOps Institute and the report that they put out on transferring T-shaped skills to shape skills and how data can have an influence there. And then we'll also talk about business alignment and business agility, or what I like to think of is agile efficiency, right? So these are the core areas. So let's jump into the first one, which is around collaboration and cooperation. So collaboration and cooperation, uh, think about the tools in your organization that your, your development team is centered around. Uh, we'll use for an example here, get very common source control tool and JIRA, uh, which a lot of folks are using for tracking their work items and managing their backlogs. Um, so just these two simple pieces of data, right? If we look at how the interactions between the data flows and how people interact with these tools, it should so much light on how we are working as an organization, right?

00:07:52

So especially remotely, you know, things that we might normally discuss in a stand-up, uh, what are you working on? What are you blocked on? What do you need help with? Right. Um, large. We, what I've witnessed is that for a lot of the clients that we interact with these stand-ups are becoming a little bit more like just routine status updates. We want to get past that. We want to make the stand-ups be proactive instead of reactive. And to do that, we need to analyze and look at the data and come into a meeting saying, Hey, we're already on the same page. We already know who's working on what we already know, who needs help. And we can figure that out by looking at the core data, we can start to see which developers have too many things on their plate. How much work is in progress, um, is product managers.

00:08:33

We can start to identify if something important is being left behind. Maybe we're not getting all of that work into the epic or the big feature we hope to release. Maybe that's not actually as far along as we thought it was. And so by looking at this data, it can really start to help improve our team's day to day actions, right? There's no longer any problem of knowing, uh, where our responsibilities lie, because it's all laid out in front of us. We know what people are doing. And I think there's a couple of other key important things here, right? By looking at this, we can understand what a individual team's velocity is. That's going to allow them to know just how much they can get done on a sprint by sprint basis. So they themselves can come back and communicate more effectively to the business and say, Hey, this is too much.

00:09:15

We'll never going to get this completed or Hey, we need to make sure our priorities are correct, because we only know we're going to be able to contain so much work. And then another one that's really important here is this idea of identifying unplanned work. We'll talk a little bit more about that later in our talk, Steve jobs had a great quote that said great things in business are never done by one person they're done by a team of people. And when we talk about software, especially those agile two pizza teams looking at this data is a great way to get that team of people organized on the same page, communicating more effectively aligned to our business goals and ultimately having a more fulfilling day of work. Now for our second kind of impact area here, we're going to talk about process flow. And again, I'm picking two, just a, what I think are very common tools in the space that the teams might use.

00:10:06

An example could be, you know, using, um, Jenkins is your CIC pipeline. Maybe something like service now is your item management. Uh, but the goal here with looking at this type of data would be, how do we visualize in real time, the end to end flow of we have some work that's being done, and eventually we want to get it through many different environments. We want to make sure we're checking all over the right boxes, making sure we're compliant through our organization, uh, bringing these, uh, these data sets together, uh, can have a lot of positive impacts, right? First of all, by looking at the overall process flow, we're going to be able to identify new bottlenecks within your organization. Now we were talking dev ops three, four years ago. We just said, well, clearly, any place you don't have automation is a bottleneck, but that's simply just not the case anymore.

00:10:50

Right? So by looking at this data, we can find new bottlenecks. These bottlenecks might be higher development teams. Um, you know, do code review, you know, plus one plus two on certain items that they want to get committed into their code branch. Do we have enough people doing code review? How long does work sit before it is code review? All of that can be identified when we look at the different state changes between work items and how they progress from one environment to the next. The other cool thing about this is it allows us to reward high-performing teams. Again, something that's challenging when we're all working remote, is this idea of recognition who's doing well. Um, when can we give somebody a pat on the back and say, Hey, you guys are optimized at a great performance. You're doing very well. Um, but also learning to take what those teams are doing well and communicate it, share it.

00:11:37

So not only celebrating high-performing teams, but doing it in such a way that we capture their actions and are able to communicate that out to the rest of our organizations to say, Hey, here's a model of what good effort of good planning and good actions look like. Um, so that more teams can get behind those types of experiences and succeed themselves. And then last by looking at the overall end to end process, we're going to create a sense of empathy for what it takes to deliver high quality, valuable software to our clients. Right now, empathy is going to be important. We'll talk about that here in the third portion coming up, which is really focused around broadening all skill types, right? So the DevOps Institute this year put out a report that had a lot of great information in it. One of the things that focused on was, uh, looking to help individual contributors, uh, transform their, their, um, expertise, right?

00:12:32

So if you were an individual specialist and you knew one thing and you knew it very well, how could we bring that person to be more a T-shaped skillset, which would say, yes, I'm a specialist, but I've got broad general knowledge of what the rest of the organization does and others emphasis to want to help those folks become ease, shaped, uh, skill sets. And what that really means is yes, you've got strong specialtist experience. Yes, you've got good breadth of knowledge, but you also have experience and the ability to, uh, explore other areas. You've got strong human skills that sit across that, that make you a well-rounded employee, a one that knows everything about the different aspects of the business and understands the challenges that those parts face. That way you can be more engaged. You can provide better solutions and ideally, uh, just be an overall well-rounded employee.

00:13:20

Now, human skills are an interesting thing to talk about, right? Uh, out of the report from the DevOps Institute, they identified the top 10 human must have skills. And to me, what was really interesting about this, you know, number one, collaboration and cooperation, what better way to collaborate and cooperate, especially remotely, uh, then looking at the data for all the things that one, the business cares about into that our teams are actually engaged and actively working on. Those are fantastic. So data has this great way of helping individuals, especially in our, um, development communities, you know, have that broader understanding, um, so that they can be more engaged. And then the second one that I just kind of spoke about briefly was empathy, right? This idea that let's face it, right. Releasing high quality software to our customers on a regular basis is challenging. It takes a lot of people.

00:14:11

Um, everybody from developers to QA and operations, you name it, and they all have to work together to get this done. So having that broader sense of understanding, understanding that it's not just me versus the world, uh, helps eliminate this idea that even though we are working remotely, we're on an island, right? It's not the case. We're actually in a very large firm, a lot of us in very large organizations working together for a common goal, not common goal idea is important, right? When we talk about a common goal, what we're really talking about is business alignment. Um, so if you're not familiar with business alignment, business alignment is essentially revital for market impacting growth, right? Things that the business needs going to change very frequently. And so for us, it's important to make sure that our engineering organizations are always working on things that's important to the business.

00:15:00

Um, as soon as we start deviating from that plan and we start working elsewhere, uh, things start to become effective. Now there's a number of type of things that can impact what our teams are working on and whether or not they are working on things that are aligned. Um, and the biggest one of those by far is unplanned work. We deal with unplanned work all of the time unplanned work. It could be in the forms of, um, support tickets that crop up that we need, you know, our, our most intelligent, skilled people, or we sometimes we call our heroes to jump on and tackle some of those problems. Um, unclear, unplanned work could just be, you know, Hey, we've got folks that are on vacation taking times off. So there's more work to do with less people to go around and do it. How do we plan for that?

00:15:40

We didn't, might've not have might've forecast that as well as we thought a number of ways that we can start to battle and plan work, have to look at where they start to originate from. Right? So let's look at things that we know are that are obvious things like planned work well planned work, it's really easy because expectations are clear and the results are known again, we're planning for it. Uh, we also can take into consideration, you know, how, how much work is it and plan for that accordingly, we do things like, you know, pointing our stories, but then we can also agree upon the solution, which is really important, how we want to solve that problem. Um, it's usually oftentimes taken into consideration well, before we actually get it into our backlogs or especially our sprints. And so when we think about unplanned work, it brings in a whole set of challenges that can really throw off our alignment, right?

00:16:27

It's going to take their development teams. First of all, away from the things that we said we wanted to get done. This means that things are going to slip, right. Um, we don't know the effort of unplanned work. Yeah. We can guess we can say, we think it's this, or we think it might take me a day to solve that problem. We haven't properly scoped it out. We haven't actually really put the time and effort into, to think through all of the details. Um, and so these will absolutely derail us from our aligned goals that we want to go and tackle. Now, there's other challenges as well. There's no clear definition of success. How do we know when we're done with the unplanned work? Is it just going to continue to drag out? Uh, which means there's a greater risk for scope creep and then ultimately unknown costs.

00:17:07

So businesses as a whole are looking to minimize unplanned work and a great way they can do that is by looking at the data that they have to see how teams are engaging in what they're actually working on. There's a number of ways to solve unplanned work. We can add more folks to certain areas. If we're thin we can upskill on training. Uh, we can get better just by planning and in, in managing for unplanned work, but we have to know how much unplanned work we typically have. Um, so getting a good handle on this will help us tackle really all of the different troubles that we deal with from an unplanned work perspective, you know, real quickly, what are, well, obviously one, we've got no way to plan for them, but two they're really difficult. It's difficult to communicate the impact of unplanned work to a stakeholder.

00:17:50

So as a product manager is a release engineer when you're having to report up and talk to people that, that care about where your applications are, where the features are. Um, and they're going to ask the really hard questions. Well, why isn't this done yet? Or where is this from how long till it is done? It's hard to know because we don't know all of the things that are impacting our ability to deliver that. So again, by looking at the data, we can actually start to have predictions on what's holding things up where people are spending their time. We can communicate better with the business overall. And in general, that's going to put people at ease and have people more in alignment. This has a huge impact again, on our culture. I told you earlier, we talk a lot about culture unplanned, where it can lead to really unsustainable work environment.

00:18:32

It makes people hesitant to log in day to day because they don't know and have no way of, you know, planning out what their day might look like. If they're constantly having to, um, context switch or move from one task to the other, um, it's very, uh, disorienting and the last one is on priority, right? Well, there's so many things that can get done. Things are going to have to fall out. So for constantly dealing with unplanned work and makes us really difficult to actually get to the things the business cares about. Finally, I want to talk a little bit about, uh, business agility or what I like to call agile efficiency, right? So one of the key things that a strong DevOps companies are working to do right now is become more efficient in how they operate, you know, improve their overall value stream, get from idea to concept much more quickly.

00:19:23

Um, and there's a couple of things that we can do, uh, to help improve agile efficiency. Right? One of the big things here is focusing on areas like risk and governance. Now this is hard to do when you're working remote, but the whole thing that we would want to do is by looking at the data, understand where we might have potential, uh, chances for risk and areas that we can focus more on, uh, our governance or protecting our risk, right? And that's going to allow us to avoid those catastrophic incidents, right? Catching security vulnerabilities earlier, looking at quality defects and catching them earlier in the process, by looking at the data, coming from the value stream, seeing all the individual work in progress, the test results that are associated to it, the security scans that have taken place, that's how we can start the kind of very granularly bubble up any of the risks that might have.

00:20:14

It might affect the business. The other area where we'd focus on is around cost and stability, right? If we want to reduce costs, we need to improve stability. So that means we need to minimize the amount of rework, reduce the defects and improve our change. Success rates. Again, data here is going to be extremely vital in our case, in our ability, uh, to be able to minimize that rework, because we're going to be able to find much earlier in the cycle where we're starting to introduce new defects and risks. And then the last one is around revenue. If we want to increase revenue, which all clients and businesses would like to do, we need to focus on flow and that's really going to be about speed to market. How do we remove any of those micro bottlenecks, improve efficiencies and communication across the entire team and organization.

00:21:05

Um, when we do that and we focus on improving the overall value stream, then we can actually bring all of these things together. Uh, and together when you have all of them, kind of one effort is really when you can start to experience peak agile efficiency, uh, running with high-performing teams who know what's expected of them have clear business goals in mind. Uh, we can ensure that they're working on, on the key things, all of these aspects help make, uh, remote work a little bit better and easier to bear. Uh, it's nice to be able to come in on a regular basis and know exactly what's expected of, you know, what your team's working on. What's at risk and generally know, day to day, what's expected of you so that you can continue to create a quality software for our clients. If you'd been interested in this talk and I hope you have, um, we'd like you to learn more, right?

00:21:55

Um, come check out, uh, our new ebook on data-driven DevOps. You can check it out at the Bitly location. It's Bitly slash data-driven dev ops. You can go out there, you can download our new book on getting started with data-driven DevOps. Uh, talk to you about all the great benefits of looking at your data and how it can be successful to your own organization. My name's Steve boon. Thanks again for taking time and spending it with us. I know your time is valuable. We appreciate you, and we hope you enjoy the rest of the conference. Thank you so much.