Jez Humble on DevOps Culture and Practices | GOTO Conference 2014
Jez Humble on DevOps Culture and Practices | GOTO Conference 2014
•
UGtastic Archive
Full Transcript Available
🚀 Dive into the world of DevOps with Jez Humble at GOTO Conference 2014! Learn about creating a feedback loop, building quality into your product, and using TDD to design user-friendly APIs. 🚀 #DevOps #ContinuousDelivery #TDD #Flow #JezHumble
The Interviewer
Mike Hall
Interviewer, UGtastic
The Guest
Jez Humble
DevOps culture at GOTO Conf Chicago 2014
The Conversation
Mike Hall
Interviewer, UGtastic
Hi, it's Mike with UGtastic. I'm here at GOTO Conference 2014. I'm standing here with Jez Humble, who today presented on DevOps. He's got a background as the co-author of the Continuous Delivery book. He also was working on another book that we'll get it to in a minute, and also you're a busy person. He's working on a new conference called FlowCon. But first, thank you for taking the time to speak with me. Thanks for having me. Your talk today was on DevOps. Can you tell us a little bit more about what part of DevOps?
Jez Humble
DevOps culture at GOTO Conf Chicago 2014
DevOps is one of those terms that means a lot of things to different people. You helped write the book on Continuous Delivery, which helped lead into kind of what we call DevOps. Can you tell us a little bit about what that means to you and how that relates to your talk today?
Mike Hall
Interviewer, UGtastic
Yes, I mean, which is a very big question, and debate rages on how to define DevOps and what DevOps really is. But for me, ultimately, DevOps is about creating a culture in which we're always learning how to get better at creating and evolving and operating great products and services. With a particular focus on collaboration between all the different people involved in doing that, whether that's the engineers, the UX people, the operations people, and all the various groups who are involved in doing that. So it isn't just about deploying. It's about the whole application cycle from from code writing to delivery.
Jez Humble
DevOps culture at GOTO Conf Chicago 2014
Yeah, and you know, even outside that cycle, I mean, the point of continuous delivery is to give you this capability to be able to get changes out fast to users in a low risk way and to make it economic to work in small batches. But once you have that capability, the question then becomes, what do you do with it? And, you know, that I think, you know, the people in the DevOps field will tell you that you use that for creating a feedback loop so that you can make sure that you're working on the right things, so that you're building things that actually delight users and improve the customer experience. And so it kind of feeds into that whole discussion around making building things that are delightful and better serve our customers. And is that what your goal of your talk was?
Mike Hall
Interviewer, UGtastic
Actually, what was the title of the talk? It was a long one. It was. We have a lot of very long titles. I do, yeah, sorry about that. So, yeah, DevOps Culture and Practices to Create Flow. DevOps Culture and Practices to Create Flow. And flow being? Flow being being able to get ideas out to users as quickly as possible. So, I mean, the question of the thing that is actually doing the flowing was kind of the premise for the talk, right? Because I go back to the Toyota production system and the What is the idea of flow in the context of the Toyota production system?
Jez Humble
DevOps culture at GOTO Conf Chicago 2014
The idea of flow in the context of the Toyota production system is that the customer puts in an order, and you want this car, how fast can you get it to them? Right. So there's this kind of idealized concept of one piece flow of being able to go from customer order all the way through to delivering the vehicle as a single piece of flow with no kind of interruptions and cues or anything like that, which, you know, is unachievable. But the idea is that you're always moving towards that.
Mike Hall
Interviewer, UGtastic
So, what is the equivalent of that in the context of software development?
Jez Humble
DevOps culture at GOTO Conf Chicago 2014
My contention is that what you should be looking at is check-ins, creating builds, and trying to get those builds out to users as fast and as safely as possible. And how do you actually do that?
Mike Hall
Interviewer, UGtastic
Some people, that is even at the very beginning of how to write software is a controversial topic right now with TDD. Right. And it's TDD that like we can't even agree on how to write software, much less how to finally get something to that end user. Is that something you've been experienced or having conversations about, like trying to figure out those kind of things with your teams?
Jez Humble
DevOps culture at GOTO Conf Chicago 2014
Absolutely. I mean, one of the things that again, I said in the talk, and I also say in the book, and to anyone who listened to me, frankly, is that you've got to build quality into the product. So the idea that you can somehow write some code, and then there's like quality activity a bit further down where you find out it's any good, that doesn't work. Or you have like a separate quality team. It's the responsibility of the people building the software to build quality in. And one of the ways that you do that is through TDD, by making sure the developers are responsible for writing the tests that show that their software does what users want, and what they expect of it.
Mike Hall
Interviewer, UGtastic
I mean, TDD is a whole other topic in its own right. And you know, one of the things for me about TDD is, you know, going back to the idea of satisfying the user. What we do in TDD is we put ourselves, it forces us to put ourselves in the perspective of the user of the software. The first thing you do when you write a test is, you know, for when you're starting TDD for a new module or component or class or function, you think about what's the API, because you have to write the test against an API that doesn't exist yet. So you're designing the API, which puts you in the perspective of the user. And that for me is a really important point of TDD. It forces developers to think as a consumer of the software they're about to build, and design an API that's simple to use and simple to test. Yeah, you get that pain early that like, whoa, what comes here? Right. And actually once you've worked out the right test to write, actually writing the code that implements that should be relatively easy. The hard bit is working out what the test should look like. And so that I think actually is very, you know, there's a very lean aspect of that. And just, you know, jumping straight over into, we alluded to a book that you're working on. Is this also in the same vein of topic? Or is this, what is the book?
Jez Humble
DevOps culture at GOTO Conf Chicago 2014
The book is called Lean Enterprise. And the book is about how large companies can innovate at scale. Okay. And so, excuse me, pardon me. The problem that we have with the continuous delivery book is we talk about technical practices and the principles behind them. But organizations have trouble implementing it. And we see it time and time again, people say, oh, we'd love to do this, but we can't because of, oh, excuse me again, we can't because of our architecture or because of governance or because of compliance or because of our budgeting process. And so the book tries to address the whole ecosystem of innovation. How do you build and grow a company that can innovate at scale? You know, big companies who don't treat IT as a competitive advantage, find it very hard. I mean, IT ends up being a critical path, right? Because there's no investment in it. It's treated as an, you know, an order to... Yeah, cost center, an order taking function. And then, you know, it takes ages to get anything done because it has to follow all these rules. Imagine if your software actually was a competitive advantage to your business. How would you do things differently? And of course, there are companies who do do that, you know, Netflix and Google and all these other kinds of companies that are doing this stuff at scale actually treat software as part of the product development process. And it's central to how they innovate. And it's kind of exploring how enterprises can adopt that culture. And I can see how some of this, all of these things can be daunting for somebody who's adopting them. Because even these terms, lean, flow, now I'm just reading the other one, but they have multiple meanings in different contexts. Like when you described flow, my first, earlier when you described flow, I was thinking about developer flow. And then you're talking about product flow. And it's, is it been something that's been a challenge making sure that people understand these terms that have been used in different contexts, that they understand the context of what you're talking about? Yeah, I mean, it's a huge problem. Even understanding the concepts and understanding the names, and then understanding how they fit together.
Mike Hall
Interviewer, UGtastic
People make basic mistakes with this stuff. And it, you know, again, it's not because they're stupid. It's because it's genuinely difficult to counterintuitive. And a lot of people think that lean is about cutting costs. Lean is not about cutting costs. Lean is about reducing waste. And by reducing waste, we end up with lower costs. But you don't just go about looking for expensive things and cut them out of the budget. Right, right. But people do that. People are like, well, we're going to go lean. That means we're going to reduce our headcount. And we'll actually know that's not the case. And again, if you look at Toyota, I mean, in Japanese culture, until quite recently, everybody had a job for life. So you could never fire anyone. So the idea with lean was that you would increase productivity by, you know, making people more efficient at what they did and more effective what they did. And that frees up people to work on higher value things instead. And what they would do is they would use the efficiency gains they got through applying new principles to drive the growth of the company. Because those people who are doing all this low level stuff are now freed up to do high level stuff. And now we can do more stuff. And so that means we can expand our market or introduce new products. You know, it gives you the power to do all these additional things. Whereas a lot of people adopting lean, they think it's about, you know, making people redundant and firing them so we can reduce cost. Right. No, absolutely not. That's totally not the point. But you know, this is just one of many misconceptions. Yeah. And it's very counterintuitive. And it's even that this is a word that has come up in a lot of interviews is empathy. You know, trying to put your mind into the listener's mind. And that's that's always a trick, you know, here we're doing these interviews, it's trying to to take what are my own biases. Like when I hear lean, I'm a developer. So I'm thinking, I mean, I'll flow, I'm thinking developer flow. So when you're when you're at these presentations, do you often get people that are or when you're talking these topics, do you often get people surprised or pushed back or expecting something different and have to be brought back into the fold or?
Jez Humble
DevOps culture at GOTO Conf Chicago 2014
All the time. I mean, because you know, people come up and they know they expect me also to be a continuous delivery guy. We need to be talking about these very technical things. And I found that the technical stuff is not the problem. The problem is leadership and culture. And so I tend to talk about those things these days. And you know, I've been doing a bunch of research in my book. So what comes out in my talks is basically a
Mike Hall
Interviewer, UGtastic
What have you been researching and discussing recently?
Jez Humble
DevOps culture at GOTO Conf Chicago 2014
A lot of the research I've been doing from the book and talking about that stuff. And that's not what people often expect to talk about. But in my experience, it's the most important stuff. So yeah, I mean, I kind of hope that people will come and be excited by some of this stuff and be inspired. I mean, the most I can hope is that people come away with a bunch of ideas for things they can try out. That's what I really hope. But you know, people are not necessarily going to get what they come for. And yeah, so one of the things I want to do is say sorry to the people who knew what they were expecting out in the talks. But maybe they got something that they can use. What do they say? You didn't get what you asked for, but you got what you needed. Right. Maybe. Hopefully.
Mike Hall
Interviewer, UGtastic
That's a great approach. Can you tell me more about the conference you're working on, FlowConf?
Jez Humble
DevOps culture at GOTO Conf Chicago 2014
FlowConf is obviously something that's related to this topic. But when is it? Where is it? Okay, so this year, it's the week of Labor Day, 3rd of September and 4th of September in San Francisco. You go to flowcon. org, flowcon. org. Okay. And my fabulous British accent. With a w. Yes. F-l-o-w-c-o-n. org. And the idea of the conference is to explore the whole range of stuff that goes into building great products and services. So we talk about UX, we talk about product development, we talk about, you know, deep dive on technical topics, talk about culture, we talk about all those things. And the idea is to emphasize the fact, A, that it's a cross-functional activity. So, you know, we don't have a developer track and a UX track and an OBS track because that kind of goes against the whole principle, which is that we all have to work together and we explore all the different aspects that go into creating great products. Yeah. The developers need to know more about the business, business, or the needs and empathy, have more empathy with what the business needs and the business needs to understand what they're asking. So everybody needs to kind of get apathy. Yeah, exactly. No, and that's absolutely right. I mean, my personal experience, I wanted to design a conference that reflects our industry as I want it to look, not as it looks right now. And I also kind of wanted to think about, you know, what makes a great conference. When I go to a conference, I often will attend topics that I don't know very much about so that I can just get my mind blown. I really enjoy that experience. So I kind of wanted to go to a conference where you could see a bunch of things that were related to what you do, but not directly related, so tangentially related and get an idea of how all this stuff
Mike Hall
Interviewer, UGtastic
What is the main idea behind the concept of lean?
Jez Humble
DevOps culture at GOTO Conf Chicago 2014
The main idea behind lean is to optimize the entire system, not just a specific part of it. It involves thinking about the whole and the high-level objectives of what you're doing.
Mike Hall
Interviewer, UGtastic
How does lean thinking help in creating empathy for different people?
Jez Humble
DevOps culture at GOTO Conf Chicago 2014
Lean thinking helps in creating empathy by understanding the needs and objectives of all the different people involved. It encourages thinking about how all these different parts fit together to create a bigger picture.
Mike Hall
Interviewer, UGtastic
Can you tell me more about the conference you mentioned?
Jez Humble
DevOps culture at GOTO Conf Chicago 2014
The conference is focused on real stories of people doing real things in difficult situations. It's called San Francisco FlowCon. org, and it takes place on September 3rd and 4th.
Mike Hall
Interviewer, UGtastic
Is there any special offer for early registration?
Jez Humble
DevOps culture at GOTO Conf Chicago 2014
Yes, if you register before May 30th, there's an early bird offer, so you get it cheap.
Mike Hall
Interviewer, UGtastic
Thank you for taking the time to speak with me. It was great talking to you.
Jez Humble
DevOps culture at GOTO Conf Chicago 2014
Thank you. It was great having you.