What is value stream mapping and why is it important for organizations in their quest to see the big picture? That is what Forrester Research Senior Analyst Chris Condo discusses with host Andre Pino in this podcast.
Andre Pino: In today's episode, I'm joined by Chris Condo, senior analyst at Forrester Research. Hey, Chris.
Chris Condo: Hey Andre. How are you?
Andre: Good. Hey, maybe you can tell our audience a little bit about your background and a bit about your research coverage area for Forrester?
Chris: I'd be happy to. Thank you for asking. So I have been a developer previous to being an analyst for about 34 years. I've worked at a couple of different companies like Microsoft and Digital Equipment Corporation to name a few. I left Microsoft in 2014, became a software consultant. Then in 2017 I became an analyst full time. So it's been a very exciting career change. And current research is focused on application development and delivery. We talk about DevOps tools, tools that help developers be more productive. Most recently I've been working on tools that are related to value stream management and how those tools can help DevOps professionals and application development professionals in general give sort of a complete picture of their DevOps pipeline, as well as other types of technology that assist in that area.
Andre: That's great. Sounds like you've got a great background for that research area. So I imagine in your work at Forrester you talk to a lot of companies, a lot of enterprises?
Andre: How would you assess where people are today in their DevOps journey?
Chris: It's a great question. Almost everybody has started this journey depending on what type of legacy they have. If they are a large company that has perhaps governance or maybe an insurance company where maybe they go through an audit process, they have compliance or they're a financial technology services company, they all have certain struggles to deal with. They're all in the middle of their DevOps journeys but different people are at different places along the way. Some more advanced than others depending on some of those hindrances and roadblocks that they're facing.
Andre: So Chris, we're here at DevOps World | Jenkins World; and one of the sessions you delivered here was Apply Lean Principles to Accelerate Agile and DevOps. What are you the key takeaways from that presentation?
Chris: The key takeaways from that presentation are lean principles, which are all about mapping out your value stream and understanding where all the various process steps lie in DevOps are, your software delivery pipeline, looking at them, analyzing the amount of time that you're spending doing a task and the amount time that that task is just sitting in the queue waiting to get done. You can analyze that in a very sort of simplistic way, even on paper if you want to, to find out where there is waste in your process, where there are extra steps. If you look at all of those value streams as a portfolio, you can actually understand where there's waste in your overall organization by seeing duplication of effort and perhaps waste in the form of delivering features that customers aren't asking for. So the key takeaways were there are many users who were interested in getting that kind of visibility on their software delivery pipeline. And the fact that these value stream management tools are coming from age and are providing metrics to help them kind of sort gauge and measure that progress is something that's very interesting to customers. So it seems to be resonating.
Andre: And how do you see these methods really helping to accelerate the digital transformation pace for organizations and for application development delivery?
Chris: Yeah, that's a great question. So the first thing that using sort of like a lean principle does, it helps you understand that when you're developing software, when you're developing those applications, they're really intended to be used by your customer. And so a lot of times folks get sort of caught up in all the work items they're doing, all the checklists they're doing and they don't really understand the value they're delivering to the customer is what's most important. By using these types of lean principles, you can actually combine the goals of the business team with the goals of the development team and understand the full, complete picture: why are we even developing software to begin with, what is the final objective, and does it make sense from a priority point of view to be working on, what we're working on right now? And are there ways to improve the delivery of that application so that customers can get value sooner?
Andre: One of the interesting things that's happening in the DevOps space today is there's a lot of emerging technologies: containers, Kubernetes, cloud, serverless computing. Do you see these as necessities for organizations, like mandates that they really, really need to implement or do you see these things just as evolving?
Chris: That's a very good question. I was just talking on the expo floor to one of the vendors and we were talking about the fact that even they're having a hard time keeping up with all the numerous new technologies that seem to be popping up every single day. My answer is that you should basically take a look at what you're trying, what's the problem that you're trying to solve? If your application architecture can take advantage of serverless, can take advantage of cloud, can take advantage of containers, then you should certainly do that. You should investigate all of these, but there's only a certain amount of time everyone has to investigate these new technologies. Eventually you have to sort of put a stake in the ground and say, "We're going to go with this architecture." But build that architecture in such a way that it can be flexible. That's why microservices are really helpful because you build your application in small pieces or you take a large application and you break it apart and think about what's the best platform to host it on. I mean one of the things that we were talking about at Forrester was adopting the cloud. And so there's this form...I look at it as you can adopt the cloud from the outside where you say I'm going to run my application in the cloud; but you can also maybe adopt the cloud from the inside out where you just completely go all in and say, "All right, well, I used to have a relational database but that's because when I was on premise it was very difficult to manage all these different data models. Maybe now I can go to the cloud and have a Redis cache. I can have a MongoDB and a relational database, all as part of my solution; whereas, before it would have been cost prohibitive.” I think that by taking the approach of microservices, companies can begin to decompose their applications and realize and discover which technologies are best to manage that particular component so it provides the most value to their customer. Tying all that together is another technology challenge. And so tools that can help folks sort of coordinate all that and create it all in one cycle is also imperative to this whole entire process of moving to the cloud and modernizing your application.
Andre: I know that value stream mapping is something that you've been researching recently.
Andre: What's the state of that?
Chris: The state of the research is we've done three reports on that. We did a discovery report where we discussed what we felt value stream management, value stream mapping, and tools that can help you augment that process with an actual sort of dashboard kind of view. We then did a vendor landscape, and then we did an evaluation of tools. What we discovered is that there is a lot of great energy in this space. Companies such as CloudBees and other vendors are all contributing to the space, providing their point of view, trying to give developers and application development teams visibility into their tool chain so they can actually capture this value stream map as a digital map. It's a living, breathing sort of time series of data that they can then look at their performance and figure out how to do better. I think that this journey's just begun. I feel like there is a lot of new energy coming next year into this same space. And so it's very exciting.
Andre: So one of the things that a lot of enterprises concern themselves with when they start to look at DevOps is how they're going to measure their journey. What's the current state of affairs with respect to metrics and measuring that you see organizations taking?
Chris: That's also a great question. I typically defer to the State of DevOps Report that you know the keynote was on this morning. I feel like cycle time, mean time to repair, those kinds of metrics that say how easy is software or how quickly is software moving through your pipeline, how quickly can you remediate issues. And I feel like the real standard is can you release code when your business needs to or does your business need to wait for your development team to sort of get everything in order in order to release? If you can find that match where business and development can release as the business wants to because remember we're writing software as a business not just for the fun of it, then I feel like you have a metric that you can kind of measure yourself against. But as always, you should measure yourself against where you want to be and not always against what everybody else is doing. You kind of have to understand what's your business, what's your customer's expectations from your business, and how do you feel like you can deliver the most value to them and which metrics will reflect that value to your customers.
Andre: So generic metrics are fine, but you've got to relate it to your particular business?
Chris: You definitely have to, yes. If, you know, if you want to release code in five minutes, great, but if your customers aren't going to be benefiting from that, then why bother?
Andre: Yeah, exactly, exactly. So what's coming down the line for you? What are you researching these days?
Chris: Right now I'm researching experimental platforms. These are platforms that allow you to do either feature flagging or A/B testing. The whole idea of it is to allow you to release code to production, but then either using statistical modeling decide, which maybe option A or option B, are working better, but from a server side not necessarily from the client side which are typically what A/B testing does. Or feature flags that allow you to sort of … that allow you to check code in, but then not release it till it's ready, or release it to a very limited audience in a very controlled way. I've been finding this research to be quite interesting. Initially I just thought it would be something really basic that folks were maybe just testing two different versions of a very similar experience, but I've been talking with some very interesting end user and case studies of testing whole database migrations using feature flags. I was really blown away by it. So I'm very excited about that research. Other research will be continuing with the value stream management research and then I also a completely separate project that's related to my previous consulting work, is working with systems integrators and vendors who work in a very agile way with their customers and how they can do agile delivery models and agile commercial models for paying in those models like with an MVP kind of approach. All about agile and DevOps.
Andre: Sounds great. Sounds great. Thanks, Chris. Thanks for joining us today.
Chris: Thank you very much, Andre. It was my pleasure.
Announcer: Like what you’ve heard today? Don’t miss out on our next episode. Subscribe to DevOps Radio on iTunes or visit our website at CloudBees.com. For more updates on DevOps Radio and industry buzz follow CloudBees on Twitter, Facebook, and LinkedIn.