Defining DevOps with Donovan Brown
Visual Studio Live! Co-Chair Brian Randell caught up with Microsoft’s DevOps guy Donovan Brown to hear what he’s been doing and thinking lately.
You hear the phrase DevOps used a lot these days, but you may wonder what it really means, how important it is and what you should do about it for your development efforts. Donovan Brown can help. Brown is a Principal Program Manager at Microsoft. In that position, he is responsible for the DevOps vision for Team Foundation Server and Visual Studio. If you’ve heard him speak, you know he is clearly passionate about DevOps. And if you haven’t heard him speak, you’ll have another chance soon. He’ll be speaking again at Visual Studio Live! in Las Vegas this March 13-17.
Let’s go way back. How did you get started working with computers?
The first time I ever saw a computer was in the eighth grade. We had a class that taught us Q Basic. That was long before we had our own computer at home, so the only time I could use it was at school. I didn’t really use another computer until tenth grade. We had an elective called Computer Math, which again was all about Q Basic and I loved it.
Fast forward a few years and I forgot about computers. By then I had one at home. I saw this board game that I really wanted, but it was $60 and I was a starving college student. So I tried to build it with clay, which was a miserable failure. Then I tried to build it with wood, which was also a miserable failure. Then I remembered Q Basic and said, “I bet I can write this game inside this computer.” Once I started, it was the only thing I could think about. How do I get this to work? I had to figure out the algorithms. All I cared about was figuring out how to work with this computer and make it play this game with me. When it was done, it was this hideous vector based game, but it worked. I could actually play this game. So after doing that in Q Basic, I went and bought “Teach Yourself C in 20 days” and here I sit.
Can you define what DevOps means to you?
I was asked to define DevOps for Microsoft. When you have 200,000 people working in a company and you are the guy asked to define it, you take that very seriously. I’ve been writing software professionally for about 20 years, so I reflected on my career before just blurting out a definition for DevOps.
My first question was, “Why is DevOps the hottest topic on the planet right now?” Every conference has something about it. I did a search on Amazon today, and found 405 books on DevOps. This is not a flash in the pan. People are taking it seriously. But why now? How were we not talking about DevOps ten years ago? I was always taught that you’re supposed to fix what hurts most first. If I look back at my career ten or twenty years ago, deployment was so far out in the future that didn’t hurt. We were struggling just writing software. We were in waterfall, we always missed our dates. It was a nightmare. We had to fix developing software first. We had to get out of waterfall and start doing something different. What we came up with was agile and scrum, and what this allowed teams to do was produce value. But producing value and delivering value, those are not the same thing. And now all of a sudden, the fact that we’re able to produce value so quickly, it emphasizes the fact that we have a problem here. We can’t get this value to the hands of our users as fast as we can produce it.
It shines a light on what DevOps is here to solve, which is taking that value and continuously delivering it to the users. We’re talking about automation, change in the process, people’s mindset shifting. So once I figured out why it’s such a hot topic and what we’re trying to solve, I was able to define DevOps for Microsoft. I define DevOps as the union of people, processes, and product to enable continuous delivery of value to the users. It took me 30 days to write that sentence, because I can defend every word. People say why don’t you call it tools instead of products? A tool in my opinion has a specific purpose. However, if you put a product on top of that to orchestrate it, now you can do some magical things.
It’s like the analogy of a house. The house was not built by your hammer and your saw. It was built by a carpenter who used those tools to build your house. I feel the same way about my DevOps pipeline. It’s not the individual tools. It’s the product that sits on top of it that orchestrates all that and really is what enables DevOps for me. So it’s the products, not the tools that you need to focus on.
The process is the easiest part of that definition. We know how to go in and diagnose what’s wrong with a process and fix that. The hardest part is the people. They’ve been doing it the same way for 30 years. And now we’re telling them they need to change the way they’re doing things? Why fix something that’s not broken? You don’t realize it but your competition is already doing this, and by the time you realize it, it’s going to be too late. So the passion is there for me because I’ve been in the industry so long, I’ve seen all this stuff evolve and right now it’s all coming together where now we can continuously deliver value to our users. And it’s not just about delivering software. It’s about delivering value. I wanted it to be a definition that would be a spring board into a deeper conversation. That’s why it took me 30 days to write that definition. I labored over every word.
So building on your definition, why do you think DevOps has become so important to organizations?
If you don’t implement it, you lose. That’s the simplest way I can say it. Your competition is already doing it. I think mobile is the best example of this. In any mobile store, there are at least half a dozen apps that do the same thing as the app you’re currently working on. So if your app is not delivering value as fast as the others, it’s just a simple uninstall and reinstall and I’m back using someone else’s product. The world has changed drastically to where there’s instant gratification. I want it now, I expect it now, and if you’re not giving it to me, there’s a line of other vendors waiting to give me what I’m asking for.
It has become so critical because if you don’t do this, I will now uninstall you. I will give you a one star rating and I go to someone else. Negative feedback can spread over the internet in an instant if you do something wrong, so you have to be able to deliver value continuously. And DevOps is what enables that. Gone are the days where you could fail in silence. You fail in public now.
You’ve got your definition. You’ve also got this phrase “rub some DevOps on it.” How did you come up with that?
I think the first time I said that, I was making a joke. Because it’s almost like this dysfunction was sort of like a rash. It was something we needed to cure. About a year and a half ago, there’s was this ointment bottle and I put DevOps on the side of it so you could just squeeze a little DevOps on it and it would go away. The first time I did that publicly was at Build in 2016, and some guy in the crowd just lost it. And it just became a thing. It was just a joke, and it worked.
Can you give us a little preview of what you’re going to talk about at Visual Studio Live! Las Vegas? Why do they need to be there?
By then we’re going to have some more fun stuff to demo. I am also going to try to do the demos a lot quicker than I normally do. A lot of people have seen me speak already. You know what I’m going to say, you know my definition, so I’m not going to waste any time on stuff that they’ve seen already. I’m just going to try and pack it with some really cool stuff. I’m starting to fall in love with the command line, which is weird coming from a Windows guy. So I’ve been on this heavy Powershell kick lately. I’ve been working on Powershell module to VSTS and TFS, so I might preview that for you guys. I started working on a Powershell Provider, which helps you navigate your VSTS. That’s the kind of stuff I hope to bring in a demo pack.
I know you are very competitive, and you are quite an air hockey player. So what’s your current standing in air hockey?
I have not been to a world championship since I joined Microsoft. I was as high as 11 in the world. I brought a table to Redmond with me. To this day, my table is sitting in Redmond in the commons so I can go over there and practice. I haven’t made it to a world championship recently, but I am itching to get back. I can’t seem to find the time to go back to air hockey when I am having so much fun spreading the gospel of DevOps.
Click here for more info on Donovan's keynote at VSLive! Las Vegas!
Posted by Brian Randell on 02/02/2017