Software Delivery in Small Batches

Adam welcomes Steve "The Value Stream Guy" Pereira to the show. Steve discusses his focus on value streams, the power and fractal nature of flow. Part one of three of the conversation.

Show Notes

The first of a three part conversation on flow engineering with Steve Pereira.

Steve Pereira, aka "The Value Stream Guy", is the author of the Flow Engineering ebook, founder of Visible Consulting, and co-founder of the Flow Collective peer group.

Steve recounts his career and how he became so passionate about business value and how it flows across organization. Part one wraps with an introduction to the flow engineering.

Do you like this topic? Come join Steve and I in the Flow Collective.

Free Resources
Links
★ Support this podcast on Patreon ★

Creators & Guests

Host
Adam Hawkins
Software Delivery Coach
Guest
Steve Pereira
The Value Stream Guy

What is Software Delivery in Small Batches?

Adam Hawkins presents the theory and practices behind software delivery excellence. Topics include DevOps, lean, software architecture, continuous delivery, and interviews with industry leaders.

[00:00:00] Hello and welcome. I'm your host, Adam Hawkins. In each episode I present a small batch, with theory and practices behind building a high velocity software organization. Topics include dev ops, lean software architecture, continuous delivery and conversations with industry leaders. Now let's begin today's episode.

[00:00:26] Hello everyone. Welcome back to small batches. This week, I'm featuring my conversation with Steve Pereira. Steve is the founder of visible consulting, which, helps teams to find and optimize their value streams. You may also know him as the value stream guy. That's also how I got introduced to him and came to know him much better through conversations and the flow collective. The flow collective is a private group of professionals, passionate about improving the flow of value and organizations. We meet weekly to discuss software delivery, improving flow, the challenges that organizations face trying to do this well, and really just a broad array of topics. If you'd like to join the flow collective and participate in these conversations, then go to flowcollective.org and tell them small batches sent you.

[00:01:20] Anyway. So this is a three-part conversation with Steve. And the first part, we talk about his journey from tech support and then moving on to build and release, answering phone calls and really building a sense of empathy for the end user of the system and how he ended up to focus on value streams. Which segues into the concept of flow engineering, specifically the idea of visualizing flow through value stream mapping, and specifically designing your outcomes and capabilities of your organization. So again, this is a three-part conversation. I give you my conversation. Part one with Steve Pereira.

[00:02:02] Adam Hawkins: Steve, welcome to small batches. How are today?

[00:02:06] Steve Pereira: Thanks. I'm very pleased to be here. This has been, it feels like a long time coming, but it's just, I think ever since you joined the flow collective, I've been really excited about your podcast and learning about what you're doing and then getting involved. So really excited to be here and talking about this stuff.

[00:02:24] Adam Hawkins: Yeah, it does feel like a long time coming. So for the listeners don't know Steve and I are part of the flow collective, which is just an online group. It's like a slack group for people like Steve and I, and like you who enjoy talking about this stuff to talk about the ideas of flow, you know, value streams, all this type of stuff.

[00:02:41] Adam Hawkins: So we have been talking now, Steve and I, and the flow collective for, I don't know, maybe like a month or two, it's been, it's been a while. So Steve and I have plenty of conversations so far. So for those who don't know you, Steve, why don't you give a little introduction to your background and the type of work that you do?

[00:03:00] Steve Pereira: Sure. Yeah. So I've been in tech for just over 20 years now. It's probably like 22 or 23 or something like that. But, I actually started in tech support. I mean, this is a short version. I started in tech support at IBM. And I was answering phone calls from people with windows problems who worked for banks and insurance companies and energy companies.

[00:03:24] Steve Pereira: So I was very quickly sort of like plunged into this business tech divide, right? Where these folks who are making money for companies had work to do. You know, no time for technical issues, just rail at me over the phone about this smallest things, and problems with their printers mounting drives, fixing their email.

[00:03:49] Steve Pereira: And that kind of like launched my sense of like empathy towards people dealing with technology. And that's like a thread that's carried through my career and I moved from that into. Desktop support. So fixing and dealing with the managing desktop computers in a financial institution. Then I moved into build and release.

[00:04:13] Steve Pereira: So actually like packaging software, I was burning CDs and printing manuals and putting them in FedEx envelopes and literally shipping. That was a. Really interesting value stream and CICT process way back then, I started getting into more software-based like web based build and release engineering, automating developer, workstations provisioning machines.

[00:04:41] Steve Pereira: So it got into systems engineering, really interested in. Automation and scale. And what we could do with code infrastructure as code specifically. And I really just wanted to sort of touch every aspect of software delivery from setting up a developer workstation to getting code deployed to. Hundreds and thousands of servers and managing cloud infrastructure and stuff like that.

[00:05:07] Steve Pereira: That brought me into consulting where I bounced around a lot as kind of a mercenary, not really a, not really a brain in the consulting space, but more of like a set of hands, you know, helping people with specific problems. But I kind of burnt out of that and I didn't really like that, you know, the mercenary aspect of consulting.

[00:05:24] Steve Pereira: And so I joined a company as a employee, number one or two as a. CTO of a startup and grew that to where it was. I had a team of about 30 people another thing that I wanted to kind of check off was like leadership and understanding, scaling, and building something from scratch and really understanding the hard challenges and, real life of high stakes and high stress startup.

[00:05:51] Steve Pereira: And then after that, you know, kind of burnt out of that. And I wanted to go back to, and I felt like, you know, I felt like I had built enough experience that my, I could shut up the imposter syndrome a little bit and say, I have kind of a unique perspective and angle and a body of experience and a lot of really strong opinions that I want to bring to bear helping people with specifically flow.

[00:06:19] Steve Pereira: So flow was something that I actually. kind of Backed into, at this point where I kind of burnt out of the startup world, I was like, okay, what's the thing. If I'm going to actually never go back to working for somebody else. If I were to burn the ships and basically build a company, build a brand, build myself a profession, what would that be?

[00:06:43] Steve Pereira: What am I most passionate about and everything from, even before I got into tech, like. I've always been obsessed with optimizing process strictly for the reasons of being as lazy as possible when I was young. But then eventually it was like, it was a way of maximizing my creative time. It was a way of scaling. It was a way of automating myself out of a job. It was a way of promoting myself, getting better positions. doing New and fun things, pushing the envelope. So all of these things were kind of enabled by a focus on flow. So I started to really turn this idea around in my head and what really kind of caught me was this practice of value stream mapping that I discovered back in the early days of kind of learning about dev ops and, and becoming kind of obsessed with the foundations of dev ops and the possibilities of improving flow across a value stream and value stream mapping and that power of getting everybody together and getting all the Separate ideas out of their heads and out onto something that we could all see and talk about, just blew my mind and it had paid off every single case that I used it. I started using it somewhere around 2014 and it was just the difference between we don't know. What to do, and we're just buried under a ton of work.

[00:08:13] Steve Pereira: And now we have time to do that thing that we always wanted to do, but it was just night and day from like approaching burnout to now we can actually take on twice as much work, or we don't have to hire that person anymore. After doing this like two hour exercise. And I looked around and everybody says that you should do this thing.

[00:08:35] Steve Pereira: And yet nobody does it. And that just felt like a giant gap that needed to be filled. And so I kind of said, I'll be that person, nobody else has like, focused entirely on this and I'm happy to bet the farm on it.

[00:08:50] Adam Hawkins: So I guess that's how you became the so-called value stream guy. I think that's why you're titled on LinkedIn or something like that.

[00:08:58] Steve Pereira: Right.

[00:08:59] Steve Pereira: Yeah. Well, I, that was mentioned briefly, you know, it's not like that was something that was often repeated and I just gave up, I was like, all right, if someone's going to call me that I'm going to run with it. And, it pays off to really, I think, show everyone. Your dedication and focus and what you're committed to, you know, it certainly kind of reinforced it for me that This is the bat and this is where I'm going to focus.

[00:09:27] Steve Pereira: And so, yeah, happy to be happy to be the value stream guy, as cheesy as that is.

[00:09:33] Adam Hawkins: You know, if, if it gets to the point and it sticks, like, so be it also communicates to people exactly what you do and what you care about. I want to dive a little bit into two different points of your, sort of like your background.

[00:09:44] Adam Hawkins: I think are Common threads from people that I talk to. So first one is, you know, you mentioned that you started, and then at some point you moved into focusing on like shipping software, like the act of, I have code, I want to put it on X number of places. And I've heard from numerous people that once they kind of crossed that threshold, then, can it be like a mind expanding experience because you're exposed to a new set of problems, a new way of thinking, and this is how you can get introduced to things like just vaguely speaking operations and working in operations is really different than working just in software. Like if you're just hands on the keyboard writing software and you make your commits and something, something, something, and eventually ends up, in production in front of some people, if you don't know how all that happens. You're missing. Like there's a whole another Planet of information and knowledge required to actually do that. But if you don't enter that pool, you'd never get exposure to a large set of ideas. And that, for me, I know for other people was the thing that kind of got them thinking more broadly speaking. And that is, like a concrete implementation of the ideas of flow. And now we come to this sort of like abstract topic of (...)

[00:11:07] Adam Hawkins: We have like a specific implementation of. what Flow is in terms of like dev ops and certain ways of practices that can contribute to this vague idea of flow. But I mean, what is flow? Like when you talk about it, what are you actually referring to?

[00:11:24] Steve Pereira: Yeah, well, I mean, that's a, that's a big topic, which is why, you know, the, the flow collective is just like, it's constantly buzzing with all these different threads on a million different aspects of this, you know, it's like a, it's like a diamond, you can turn it around and always be looking at a different angle.

[00:11:43] Steve Pereira: So that I think, you know, the first thing that I thought of when you were talking about the, the ops side and the delivery side and shipping. The last mile is where everything gets interesting. Right? I mean, that is where the hard problems show up. Everything is kind of an assumption until you've got to make it live until you turn it on for customers.

[00:12:06] Steve Pereira: The stakes are not high, relatively they are insignificant. Putting things out into the world is where you encounter the interesting problems, the challenging problems, the scary problems. You know, I remember doing like database cadavers and all kinds of things that are just terrifying, but they build so much knowledge and they just sort of like edge in your mind principles and things to think about.

[00:12:35] Steve Pereira: And a pause, you know, before you jump on something, you think for a moment, like, wait a second, the last time...

[00:12:43] Adam Hawkins: Last time you just hit that enter button something bad happens.

[00:12:47] Steve Pereira: Right. those, scars are really powerful because they're kind of like antibodies against doing stupid things. And, now that you have to make these gigantic mistakes, but it does help, I will say from firsthand experience, it does help.

[00:13:04] Steve Pereira: But like, so to get to the second part of what you're saying and the real question about flow, what does flow mean to me? Flow has really caused me to start thinking in terms of fractals and the idea that the same thing can be represented at Any scale and follow some of the same principles, right. Follow the same patterns.

[00:13:28] Steve Pereira: And so what I mean by that is, you know, you have flow at a universal level, you know, the flow of time, right. And then you can zoom in and you can look at the flow of like a Gulf stream or air currents or solar winds getting less. If [...]then that, you know, you can talk about the flow of goods around the world, and then we're getting closer to the concept of value streams.

[00:13:52] Steve Pereira: And so the flow of value across organizations across conglomerates where you have suppliers, you know, in the real world, value streams are really complex in the software world. They really aren't yet. Right. I think we're just getting started with how sophisticated and how powerful they really will be as a framework that we sort of attach really complex scenarios to that, that simplify things so that we can keep them in our heads. And that's where I think there's a lot of power, but zooming in even further from sort of the organization level value streams really become powerful. When we're talking about teams working across a value stream horizontally across an organization where you have everything from inception and experimentation, through development, through operations, out to customers, out to marketing channels, out to sales, and then having all of that loop back in, right. I mean, you've got this flow of value out and you have this flow of feedback in reverse. And that is a really powerful visualization model for people that I find makes a lot of sense. It is of course, oversimplified, you know, in reality, these things are networks and they are causal loops and there's all kinds of real life complexity, but nobody is able to really maintain that in their heads.

[00:15:30] Steve Pereira: So I think we need, we need concepts of. Value streams and simplified representation so that we can talk about them in an accessible way, because this is really it's, we're beyond individual contribution. Right. But we're so far beyond individual contribution that it's not even funny and everything now hinges on collaboration.

[00:15:51] Steve Pereira: Anything that allows us to work together and understand our work and how it really kind of flows from idea to customer. And back is something we really need right now.

[00:16:06] Adam Hawkins: Yeah. So the way that I think about flow sort of to do even a more, or a simplified model is like flow to me. Is that feeling that you've, you know, let's say that you're programming, you're working on something, you're a painter, you're an artist. You're whatever you are like in the work that you do, you eventually, you hit that flow state where everything is just working as you like the best it could be like there's no inhibitors, there's no blockers. You're able to just. Do that, like the things happen, you know, what to do is clear. Things happen. You can feel that there's a transition into this state. And then there is a transition out of this state, like programmers. I know for a fact know what the flow state is. They that's the only place they want to be. That kind of feeling of like productivity certainty, just it's easy, like things happen, right. It's fluid. that is the flow like flow to me is that flow state and the value stream. Is a way to visualize the things that contribute to the flow state. Like when you mentioned in your sort of like your background, that it wasn't until you did the value stream mapping, that you were able to see everything and that's where the visual component comes in because you can't see flow. You can only see the value stream. Right. You have to watch things happen in the value stream To sort of approximate what the flow is.

[00:17:32] Adam Hawkins: So it's not until you have the value stream, you can see, you know, what everybody's doing, how's that inner connect with each other, like the feedback loops between the different components, like all the handoffs, everything that happens before you can do anything that's at first, you have to understand. And that's where the visualization comes in. It's like why value stream mapping is so important? Probably just the shame, why more people don't do it. I was just reading a book this afternoon and something elder said, like, yeah, our, our primate minds, aren't willing to except the fact that we don't understand, like we just assume that we understand everything.

[00:18:11] Adam Hawkins: And when you do the value stream map, and you really think about the value stream, then you realize there's a lot of things you don't understand. And then that's where the opportunity for improvement is and bring this back again to the, your like origin story almost, which is like by working in operations and seeing the way things fail, you get the opportunities for improvement.

[00:18:34] Adam Hawkins: And this is where we have. now, Like the fractal version of these ideas, because it's like flow feedback and then that continual experimentation and learning about how these things like feedback into each other and how we can take whatever happened, you know, today or five years ago or whatever, and apply that to what's happening now. So we can get A better outcome like it, I think it asking for a definition of something and getting a fractal answer back is probably not the most, the simplest and easiest to understand thing. But that's why I think these ideas are so powerful because they are, in fact, they like are fractal in that they are, you can zoom in, zoom out and they apply in so many different areas. Like the challenges that we face as individuals and organizations. is Like learning to understand where we are sort of in that level of the fractal and then how to apply it to our specific context. But I think that's kind of what you're trying to do with the idea of flow engineering, right?

[00:19:29] Steve Pereira: Yeah. Well, I, mean, you, you brought up the lower levels that I missed cause I'm always focused on sort of like the team level, the middle, the middle management layer. But that personal flow and, you know, the flow state are so powerful and there are no different, like, I really feel like a personal flow state is really, we want the same feeling from coming up with an idea for a product and getting it shipped to somebody in China. Who's never heard of it before. Right.

[00:20:04] Steve Pereira: If that happens seamlessly. If we can invent something, if we can, if we can satisfy a need with minimal interruption or no interruption, that's the dream, right? It's, it's infinitely more complex when you're not an isolated person who can kind of lock themselves away in a room, but that's what we're heading towards.

[00:20:24] Steve Pereira: That that's what we want. Right? We want this flow of value, this continuous flow of uninterrupted value, unhindered value. And so I think that that really is kind of a universal that's very easy to get excited about because there's very few things that are kind of represented equally and in very much the same way at various levels that we can kind of use to have conversations.

[00:20:52] Steve Pereira: And the idea of flow engineering is really number one. A catchy name for something that I want people to talk about because value streams and value stream mapping. If I talk about value stream mapping, there's a lot of people who say, well, that's a manufacturing thing and software isn't manufacturing. So thank you very much. Goodbye. I don't want to be a robot. I don't want my people to be robots. I want my work to be robotic. And when in fact, you know, the thing that puts us into a flow state and allows us to be as human as possible is all the automation around that flow state, all the automation that makes that flow state possible.

[00:21:36] Steve Pereira: Right? I mean, if you wake up in the morning and you have an idea for an incredible screenplay, but you can't find a pencil. And you can't find something to write on and you know, there's noise outside and you have nowhere to comfortably sit and, you know, you're out of coffee, that's all automation that is facilitated by a value stream. Right? I mean the value stream to me, the concept in the software world is basically putting everything that. is Not related to your creative work, the most valuable work that you can do into automation or as close as possible so that you can maximize the time that you spend doing your human creative work.

[00:22:25] Steve Pereira: And so just kind of bumping up against that over and over again, the concept of, yeah, I'm talking about value stream mapping. No, it's not perfectly portable for manufacturing, but there's more good than, than not. And really. Flow engineering kind of hit a valuable inflection point for me when I started looking beyond value stream mapping, because I ran into this challenge of, okay, well, value stream mapping is great and people likes to do it and they see a lot of value from it.

[00:22:58] Steve Pereira: But in order to value stream map, you kind of have to understand a little bit about your environment and your goal. To begin with, to get started on the, in the right direction, because how do you pick a value stream to focus on how do you draw the boundaries of your value stream? How do you get everybody kind of on the same page so that they'll even sit in a space on a zoom call for a couple hours to map the stream.

[00:23:23] Steve Pereira: So that got me started with outcome mapping. And how do we actually set a target? How do we sort of understand the topology that we're in right now and the environment that we're in right now, so that we can have a productive. Collaborative mapping session so that we can work together. And everyone sort of feels like they're on the same page and that they're able to contribute.

[00:23:51] Steve Pereira: And we have enough context to really do a great job with value stream mapping. And then the other piece that kind of arose was capabilities. And that was the, that was the other piece that I added because I felt like. If we surface issues in the, in the value stream, if we come up with these hotspots where things are breaking down, or they could be dramatically improved, but then the team doesn't feel like they know what to do about that, because I mean, you're in that situation for a reason.

[00:24:25] Steve Pereira: Right. your current state looks like your current state for a reason, for many reasons. And you can't just will your way out of it. Nine times out of 10. Usually what you need are capabilities that you probably don't have, or you just haven't applied in the right way. And a lot of what I saw in value streams when I was mapping was a lack of automated testing skills because manual testing is a killer, right? It's one of the most common challenges the teams have. Another one is infrastructure. enginering. Spinning up and tearing down testing environments is really challenging. And then another one is, planning, like spending too much time on planning and, you know, building gigantic backlogs that just weigh people down, how to run like effective meetings. There's a lot of common spots that I saw. The capabilities piece was how do we assess a team's capabilities in a way that I'm not, we're not picking on people, we're not making it about individuals. We focus on the capabilities and then we map them to owners and then supporters of those capabilities.

[00:25:43] Steve Pereira: So who's going to lead that. Who's really excited about it. And then who's going to support that person so that they can go on vacation when they need to. And what do we have to support that capability? We have any documentation. Do we have any tooling? Because if we say that automated testing is a big problem for us and we have no documentation, no training, nobody owns it. Nobody is supporting it. No wonder it's a big problem.

[00:26:08] Adam Hawkins: I know and surprise, surprise, right?

[00:26:11] Steve Pereira: Exactly. Surprise, surprise. And so, you know, if everybody knows that already, but you you're trying to make a case beyond complaining and you need to get leadership involved to pay for training, pay for a consultant, pay for something, just even give you air cover while you figure it out.

[00:26:30] Steve Pereira: Having a map. is a huge asset to kind of bridge that gap and point to something and say like, basically in, in your head, you know, you can read this map. This is a simple map. It's glaring right in your face. So I think that having those artifacts is really powerful. And then the last one was dependencies and dependencies was really looking. So we're capabilities look inside the team and inside the value stream, the dependencies look outside the value stream. What are the things that this value stream this team depends on? And it can be anything from an approval, from some siloed department off in the middle of nowhere that has like a 10 day SLA, or it can be an external vendor. Or a critical tool. That's not performing up to the level that the, the team needs. It can be anything but mapping, it kind of makes it really visible and helps the team have that conversation about. Okay, well, now that we can see all of the things. yeah. Now we can talk about which one is the highest priority we can rank these things. We can group them. We can think about what are the common aspects to these that maybe we can tackle one specific area and solve many of them at the same time. You don't get that through conversation. You're not going to get that through a document or a presentation. You're going to get it through a map.And I don't know. Really any other way that you can do that work effectively or as effectively?

[00:28:05] Adam Hawkins: Well, I know why they can get the map. You have a book, a ebook on flow engineering, right? Where can the listeners go to get that book and learn more about these outcomes?

[00:28:15] Steve Pereira: Yeah. So I put together this really quick book that hopefully is packed with a bunch of valuable information. Folks can get it at flow.visible.is and, it's a free download. It's a really quick read, but it's just packed with everything about these four maps, how they fit together and how there's a flow of activity through them. You would literally start with outcomes. You look at the value stream, you look at the band and CS and you look at capabilities. And you build this diamond where you can turn it around and see your situation from all these different angles.

[00:28:53] Adam Hawkins: Yeah. And you can also find the link at smallbatches.fm. So we'll call this part of the conversation, a wrap, we just introduced a flow and flow engineering. And in part two, we'll pick up with a deeper discussion on full engineering and the outcome maps and capabilities. Talk to you, then.

[00:29:12] Adam Hawkins: You've just finished another episode of small batches podcast on building a high-performance software delivery organization for more information, and to subscribe to this podcast, float to smallbatches.fm. It hope to have you back again for the next episode. So until then happy shipping.

[00:29:33] Adam Hawkins: Like the sound of Small Batches? This episode was produced by Pods Worth Media. That's podsworth.com.