In this episode, Derek Lane and Matthew D Edwards deconstruct the first two principles of the Agile Manifesto to help software developers and engineers bring more value to clients but also, become better barbecue pit masters.
0:00:00.0 M Edwards: I've had a large breakfast to prepare for this episode, if this is your first time joining us, welcome. I hope it makes you hungry enough to listen to the previous one and the ones that follow all including my guest, Derek Lane. Derek and I are mapping how understanding the Agile Manifesto and it's 12 principles can not only help you in your journey to add value to your clients, companies and teams, but can also help you understand and improve your barbecue journey along the way, get your forks out, we're cutting up the first two principles in this episode.
0:00:34.8 Derek Lane: Let's elaborate a little bit on it from the barbecue standpoint, as I said, when I first started learning how to drive a smoker, I was really just focusing on one thing, so I'm just going to cook brisket or chicken or whatever it is until I feel like I've gotten it to release level, I feel like I can release it, it's an actual major release, a 1.0, I made a lot of minor releases along the way, I found something that's repeatable and something that the folks who are... my family or whoever is eating here likes. And now I can learn something different.
0:01:16.6 M Edwards: Welcome to the Long Way Around The Barn, where we discuss many of today's technology adoption and transformation challenges and explore varied ways to get to your desired outcomes. There is usually more than one way to achieve your goals. Sometimes the path is simple, sometimes the path is long, expensive, complicated and/or painful. In this podcast, we explore options and recommended courses of action to get you to where you're going now.
0:02:08.0 M Edwards: We are uncovering better ways of developing software by doing it and helping others do it. Through this work, we've come to value individuals and interactions over process and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan. That is, while there is value in the items on the right, we value the items on the left more, and that is a wonderful statement, it doesn't say, these are the things we believe, therefore, all of the other things that aren't those statements are wrong and bad and horrible. They're basically saying all of these things may have a time or place. The things that we value, we choose to amplify and pursue are the things on the left, but it doesn't discredit or devalue the things on the right.
0:03:07.8 M Edwards: And so a lot of folks spend time on this, and that is very, very meaty. I hate to make that pan, although it is funny, it's a very, very meaty, very short piece of information, but then at the bottom of that page, when you go to the 12 principles, there are 12 principles. I'll read the first one and then, let's talk about these things. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. That's huge already.
0:03:39.4 Derek Lane: And definitely very difficult to do. I think back to the original, the first comparison that you made with the values, one of the things that we try to amplify in the 20-Day
Agility Challenge that we have referenced before, and we'll talk a little bit more about, at 20dayagilitychallenge.org, is the model that shows each of those value comparisons as a set of scales, where you've got one of those values on the left and one of the values on the right, and when it says, we value this more, it means, from my standpoint, we always give that more weight, we have a preference, a deference for that, given that we end up needing to compare, are these two things seen to be at odds with each other. It helps us make a more informed decision in light of being consistent with our values and principles, and as we ship to the principles I think the same thing is very similar as we discuss principles in a coaching standpoint with software development or product development teams, and we are running the same thing with barbecue, is these things will seem to be at odds with each other.
0:04:55.3 Derek Lane: So we have to determine what is the decision process for, how do we solve this, how do we resolve this particular issue? So one of the mistakes for years that I made and without knowing, and a lot of it was the way I was coached, the way I was trained, was to go through that process and then we get into the mechanics of scrum so I'm constantly trying to figure out, is there's something that could be improved? And I realized, why are people not referring to these values and principles? Why am I having to keep restating them? Well, because I told them at the very beginning, in whatever training we did that they were really insignificant.
0:05:40.0 Derek Lane: We spent 30 minutes to an hour talking about it, and then we spent the rest of the training time, the rest of the day, the rest of the week, the rest of the next six months coaching on stand-ups and whatever it was that we talked about, building and managing backlogs, those things can be useful, but those are the practices, and one of the things that's really useful to understand is that the Agile Manifesto is not about practices as a general statement, it's more about values of principles. Again, the same thing can be correlated to barbecue. Barbeque, if you really want to know the difference between good and outstanding barbecue, as we talked about before, the fundamentals are already there, you can't tell how many fundamentals this particular pit master is using at the same time because they all flow together. They're using many different principles and mechanism simultaneously, so there's a lot there that even they're not aware of, it just becomes so much a part of who they are. So the highest priority, to me that pretty much says, "This is the thing we're pursuing." What is the whole reason we're doing any of this, that's our highest priority, any time we have a chance to prioritize, this is what we should prioritize for, and to me, that's where this starts.
0:07:02.1 Derek Lane: What's the next most important thing? Well, it's to satisfy the customer. Well, this brings up a really interesting idea, I suspect when you were growing up and learning just even before getting out of high school, you've probably heard many times, "The customer is always right." You heard that particular statement or a clichÃ©. Well, obviously today, in today's climate, the customer is rarely right, because everybody has an opinion and everybody's going to tell you the 57 million ways that you're wrong.
0:07:35.6 M Edwards: [laughter] It's tough.
0:07:37.6 Derek Lane: It is.
0:07:39.6 M Edwards: It's a practiced behavior. For sure.
0:07:40.9 Derek Lane: Absolutely. And what this is saying is that the highest priority is to satisfy the customer, meaning we need to understand what it is will satisfy the customer, and oftentimes they don't know. As we talk about barbecue, often times we don't know what's going to. And this is one of the great things you see exhibited in every one of these TV shows where there's a barbecue contest and they've got the proverbial three judges, and they're all saying, "Well, I like this one because it was... The ribs fell off the bone." And the other one says, "Well no, to me, the rib shouldn't fall off the bone, they should be almost falling off the bone." And the other one says, "Well for me, I should be able to twist the bone and pull the ribs straight out." And then that's perfect. Okay, well, these are definitely opinions, but depending on which one is your customer, depends on how they value the characteristic you've been able to achieve.
0:08:31.0 M Edwards: That's an interesting thing that you're bringing up, and I've been in multiple conversations about this, is we as individuals, aspire, many of us aspire to become the masters of our craft, knowing full well that if you really understand craftsmanship, will only ever plus one infinity. I heard the customers say they want to go to X, but I already know that they're thinking too small and they should go to Z, and because I have success and they called me, therefore I should take them to Z, but really what this first statement is saying is your highest priority is to satisfy the customer, and that means listening to what the customer is asking for, meeting them where they are, and shepherding them to where they want to go. I might know more than the client at this particular time on this particular subject, but it's irrelevant. The client said, I would like to have hot dogs on the grill. I know that the hot dogs are not going to be fulfilling on the grill, but with that egotistical, perhaps self-centered statement, I also overlook the fact that they currently have no grill and they haven't had grilled hot dogs.
0:09:53.3 M Edwards: So if I can help them get a grill and I can help them get grilled hot dogs, as much commentary, I might go with the hot dog, that is helping them move forward, and that is how they're defining value. So this is a really interesting and conflicting statement, for people who are choosing to become their best and do their best on a regular basis, but then don't understand why the client may not be where they are, and then having to remove yourself from this equation, my highest priority is to satisfy you, my customer. You want to go some place I've already been, rather than trying to make you come to where I am, I'm going to go to where you are and help you experience the journey, experience learning and experience delight. I think that this first principle, in and of itself, sets the stage for all cascading decisions here after. I love this first principle.
0:10:48.9 Derek Lane: I agree. Those are great insights. I think one of the things that we fail to see when we first read the Agile Manifesto, including these principles, is the subtlety and the depth of how we improve over time our own learning journey, and these things are very subtle, they're very difficult to ascertain until you've made many mistakes over time, and you begin to see these patterns.
0:11:21.0 M Edwards: Which goes back to your illustration of some of the barbecue masters or competitors, because of their journey, they may not even tacitly recognize or recall for you, "These are the 14 things that I do, I do them in this order, in this combination because... " Really what's happening is they've done it so long and they've practiced so many different iterations and combinatorials and so on, they may not even realize how they have blended or how many steps were actually in there or how to deconstruct it and teach it. So it's gotta be a journey, but really if you take one of those barbecue masters and say, "Teach me." It may take them a few minutes to figure out, "Alright, what's the most important thing to say first."
0:12:08.3 Derek Lane: Yes, because teaching and learning, not the same activity, and while they're related and they can, each one can amplify the other as it's often stated, and I've definitely learned one of the best ways to learn something or to demonstrate the things you have left to learn is to try to teach it, teach it to someone who's at your level or lower. And you will expose the things that you thought you had a high degree of understanding or mastery or ability to communicate and you will learn, "Okay, this isn't working, I realize I only really know three ways to say this and I need to learn seven more." And this gives you the chance to expose that about yourself. And this is part of learning how to be, in my case, a continuous learner, but learning how to be an effective continuous learner, being interested in lots of different things is one thing, being interested and effective in learning those things, I've learned, is another level that I can improve.
0:13:15.2 M Edwards: Let me push us forward just into the second sentence as is written, through early and continuous delivery of valuable software, those are three conversation spots right there, through early, so this isn't established the agreement, receive trust, disappear and come back six months later with what you perceive to be mad magic, but rather early, which is, "Hey, I know we just started this conversation three days ago, I've had some thoughts, I have some deliverable, some prototype, something for us to look at, poke at and talk about and change, it's now, I start the relationship now, I start delivering now, and then I continuously iterate and continuously deliver along the way, so we're only able to discover value through the eyes of the client by learning to ask questions and then practicing shutting up. Ask questions, shut up, ask questions, shut up and deliver iteratively. This first principle sets the stage for entire relationships, entire engagements, entire product delivery experiences. Every one of these is a wonderful entree of meat.
0:14:27.5 Derek Lane: Absolutely, I think you're completely right. So let's maybe elaborate a little bit on it from the barbecue standpoint, as I said, when I first started learning how to drive a smoker, I was really just focusing on one thing, so I'm just going to cook a brisket or chicken or whatever it is until I feel like I've gotten it to release level, I feel like I can release it, it's an actual major release of 1.0, I made a lot of minor releases along the way, I found something that's repeatable and something that the folks who are... My family or whoever is eating here likes. And now I can learn something different. To me, what I've also learned is now that I want to try different things as you grow and expand the number of things you cook, I no longer want to cook just chicken or what goes with chicken. Well, I want to cook something else. I want to cook some smoked beans. I want to cook some... You know, I want to cook some cobbler. Okay, so now we're getting... Okay, now I'm not just cooking one thing on the smoker and everything else in the house, I'm cooking the whole meal on the smoker, and one of the things this holds through early in continuous delivery.
0:15:41.9 Derek Lane: Because working with the smoker tends to be a rather drawn out process compared to most folks who go in the kitchen and 30 minutes to an hour, they've whipped something up. Not the case here where we may have hours, even a day or so of time actually cooking, because it is low and slow. So one of the things I've learned to include in my plan, in my strategy, is I want to have satisfied customers, I want folks... So I figure out, "When are you coming over?" And if you're coming over in the middle of the day, well, guess what, I'm cooking lunch too. While the brisket or whatever may not be ready until dinner until 5:00 or 6:00 or 7:00. There's going to be something in the middle, so we're going to have the hot dogs, hamburgers, fish, chicken, we're going to have something else, cobbler, we're going to have cobbler, a crisp. There's so many different variations of these recipes, and we're going to have one of those or two of those, we're going to have some different... If I find out that folks, like in the South, especially in Texas, something with jalapeÃ±os is typically very big, so whether you stuff them with brisket or cream cheese and you wrap them in bacon or chicken or you put onions or whatever the recipe is that you have, those typically take anywhere from about 45 minutes to an hour and a half.
0:17:11.6 Derek Lane: Well, now all of a sudden I've got... And it's no different to when you go to a restaurant, you serve like an appetizer, well, the point of that is to not just hold you over because it's taking the chef longer to cook here, it's to create an experience and to allow you to incrementally improve. Here we are through early and continuous delivery of valuable barbecue, but because I've done this continuous and early, they can go back and say, "But that chicken or those kebabs or that cobbler, that is the best I've ever had."
0:17:43.5 M Edwards: Right. So you've managed the relationship all along the way, which then helps build and manage and set expectations as well, which is basically saying, "Hey, we have together step by step for some period of time, there were some things you absolutely loved, there were some things you wanted me to modify again for next time, and then when we finally did get to... " We were calling the brisket, for example, we're calling the brisket the culmination of a wonderful day, and then I just didn't rock it. It wasn't amazing. There were all those other things that were amazing along the way as well, it's a really interesting way to manage the expectations with the client. Alright, so let's talk about the second principle, welcome changing requirements, even late in development, Agile processes, harness change for the customers competitive advantage. That is gold. I love every word in that sentence, and it flies in the face of so many expectations we set for ourselves when we're running projects, scope request, scope changes, all of the drama that goes with that, contract changes, etcetera, but the reality is, this statement is saying, prepare for, expect, and in particular, my favorite word, invite change, don't be afraid of the dark rooms without flashlights, invite the opportunity to become more and to add more value for the client.
0:19:22.0 Derek Lane: So we just talked about the first principle, which we really focused on the highest priority is to satisfy the customer, what is number two about, it's we're harnessing change for the customers competitive advantage, it's still about the customer, the customer is still the goal, the focus.
0:19:41.0 Derek Lane: The way that the customer interacts with us is going to be through their learning process as well. The number of times I've had a customer be convinced, whether it's a turn key thing or just the next incremental quarterly release that they have, I know exactly what it is my market wants, this is what they want, this is what... The number of times that they actually validated that with the market is a very small number. The person who's driving this tends to be a product person, a sales or marketing person, someone who maybe is an expert, they're certified accountant or lawyer or business person, a financial person, they may be an expert in their domain, but when we're dealing with trying to achieve something for a customer, we actually have to do the thing we talked about, you have to talk to and listen to your customer. There's any number of things that could change, that could cause, as time passes, the customer to change their view about what they want, and many times, back in decades ago when the delivery, the development and delivery process was much longer and was expected to be because you just couldn't build technology and software that fast and deliver it.
0:21:04.3 Derek Lane: You could take six months to a year. The customer could come look at it, like you said, disappear, come back a year later, look at it, and you could show them, this is exactly what you asked for. And they will almost always say, that's not what I want. And you said, but that's what you asked for. It says so right here in the contract, but it's not what I meant. Okay, it doesn't include this, and we just heard two months ago about this, but if we don't do that continuous early conversation, and if we don't do the focus on change in requirements so that as we learn, again, the lean startup to build, measure, learn. We don't do those things in that order, and it's just a big circle then we are going to miss this chance to be able to help the customers be and stay competitive.
0:21:53.6 M Edwards: Yeah, that's a really good call out, it's just an interesting thing, even if you look at your own personal behavior, not you personally, but if I look at my own personal behavior, there's what... First of all, it's my own kids that helped me learn that I wasn't as great a communicator as I believed that I was, one of my kids, just said, "Dad, you've probably heard this, but you seem like you have forgotten it. There's what you said, there's what you meant. There's what was heard." And of course, she nailed me, so I was very happy to know that my daughter heard me and that she was applying some of the things that we had talked about through the years, and then she used it on me, that was less pleasant, but she was absolutely right. And so I reflected back on that with clients, how often have they said, this is what I want, but I didn't hear what they meant, and then I didn't reflect back to them what I heard so that they could refine. The conversation in and of itself is an objective, to your point, there's an inspection re-factor loop involved in the conversation over and over and over again, so to welcome changing requirements doesn't mean that you have no backlog, it doesn't mean you have no product road map, it doesn't mean you have no priority, it doesn't mean it's the Wild West.
0:23:17.7 M Edwards: I have heard someone say, "We do Agile, therefore we don't have product plans and project plans, we just adapt." That's not true, that's not the implementation that makes the most sense for the client, that's... They're blowing money out the window and just hoping like stink that it's going to actually work out into something magical, so that doesn't mean you don't have a backlog, priority or road mapping and that stuff. What is basically saying is, we have a plan, but I'm going to continuously talk to you, I'm going to continuously deliver and we're going to continuously re-factor if and as we need to, and it's possible that you're going to need less than you thought, or it's possible that you're going to need something different than you communicated, but this is a really hard behavior.
0:24:05.3 Derek Lane: Yes, it is. And so to tie it back in to what we've talked about earlier, we go back to the value comparisons, the value options here, we value working software over comprehensive documentation, what is often included in that documentation, big plans, requirements documents, lots of specifications, things that are tied to delivery dates, we value customer collaboration over contract negotiation, doesn't mean there's no contract, no, it's when we know the least, but that's when we're locking things down, that's when the VP of whatever is signing the thing and then expecting another department who wasn't involved in the discussion to deliver on it. So we've created this dynamic of conflict by avoiding these particular values and principles. Here we are at principle number two saying, no, we should invite change because we're going to learn something, we're going to learn something as we're trying to build the right thing the right way. As we understand it, and as we incrementally expose it to the customer, the customer is going to give us feedback to help us steer towards what they ultimately will agree is success, but they don't know what that is yet, because they haven't been there yet. It's still nine months before we get there, it's still eight months before we get there.
0:25:25.5 Derek Lane: Help us find a flexible way to work with you, but still have a way for you to predict and control your costs so it's not the Wild West. So there are definitely ways to manage this and from both party's standpoint.
0:25:39.3 M Edwards: So obviously we would be remiss if we didn't say to invite change can actually be abused, I can invite change, but there has to be some type of common sense balance here, which is... Look, we have to get to the market by third quarter because we understand our competitor's going to be there in the fourth quarter, we have to deliver these widgets because that's what we are, that's our sweet spot, and we also believe that's going to edge out or nullify some of the things our competitor is going to bring together, as well, I have to consider my risk appetite for the organization, I have to consider my budget, my resources or team members that are available, a lot of things. So after you get done looking through all this, the highest party still satisfy the customer early and continuous delivery of value, which is then... That includes change, so if you're doing early and continuous, there will be change no matter where it is on the pipe, but you still have to balance it, because I guarantee that you would change your tune if we were going to deliver this build and deliver the software for a company 12, but we use your bank account.
0:26:48.0 Derek Lane: No, that's good. I think that, first of all, it's useful to understand everything and anything can be abused, it can be misused and what I'm sharing here and what I try to incorporate in the 20-Day Agility Challenge is many of things that I've misunderstood and tried to learn over time, both for myself and my experiences as well as working with other folks, so I think that we have to accept as the default, but it is worth stating upfront, any and all of these can be misunderstood and therefore abused in extreme ways and say, "Well, we're doing this in the same way." Wait a minute, that's not possible, in the same way that the contract you negotiated with the customer will be abused in order to create a death march for you to build something that when you get done and you work all the overtime that's included in the fixed bed, we'll still not meet the customer's needs. So if you've ever been on one of those projects and almost everybody's been on several of those at some point... We all have experienced that. So the reality is that the second thing I'll mention is the emphasis you put on number one, they're delivering value, not valuable software, I think is key.
0:28:04.1 Derek Lane: And then the last thing I'll mention here on number two is maybe related a little bit more to a barbecue, changing requirements could be that maybe somebody shows up who wasn't for barbecue, and I didn't originally know that we're coming, and it turns out that they're allergic to half of what I've done there, or they're vegetarian... I've got people, my members of my family who are vegetarians, so if I don't know they're coming... If I don't expect them to come to a barbecue event, then I'm not going cook things that I know that they would like, because most other folks aren't necessarily going to like those things, just like I wouldn't build a product for a customer knowing that that's not what that customer likes, that'd be ridiculous. So it's just the reality is that... But we may have somebody show up, I don't know, somebody brings a date, well, it turns out they're a vegetarian, okay, great. Didn't plan on making a certain number of things, so I need to adjust, change in requirements. Even late in development, hey, we're going eat in four hours, I need to figure out what I'm going do.
0:29:10.1 Derek Lane: So now I've got to say, "Okay, now what is on the list of things that you can eat?" And then maybe I can come up with something, maybe I already have something in my tool bag that's something I've used before that is somewhat repeatable that other folks who like to eat the same things might have said was a good enough to try it again. And here's something that is really not stated here, but this is reality, and it works in the business world as well. I can also just invite that person to come help me cook for them, a pit master in the sense of I want to become a master of my domain, it's like, "Okay, everybody leave, I want to know how great I am because I can control all this stuff, I can master all this stuff." That's really not barbecue; now, we're violating value number one of valuing people and interactions over processes and tools. So now we violated that and we're also about violating principle number two, so there's nothing wrong with me saying just like Extreme Programming does, "Hey, Mr. Customer, why don't you come and sit with me? Sit with me today. Help me understand.
0:30:20.3 Derek Lane: I think I understand what you're saying. Let me show you what I think you're saying, but you can very quickly help me see if I misunderstood something, if we have a terminology problem, if something means something in your world, we're using the same words, but it means something completely different in my world, we can more quickly resolve that misunderstanding that misalignment, and we can quick, get more quickly to what Eric Evans in domain-driven design calls ubiquitous language." So that we are saying the same words and they have the same meaning, both of those things have to be true in order for number two to... For us to be able to actually execute on number two in an effective way.
0:31:05.3 M Edwards: I hope this episode reinforces your appetite and appreciation for always keeping your customers at the center. Remember to put people first. And always invite change. Now, after this conversation, I need to get some food. I hope you join us for the next episode where we discuss principles three, four, five, and six.
0:31:32.2: The Long Way Around The Barn is brought to you by Trility Consulting, where Matthew serves as the CEO and president. If you need to find a more simple, reliable path to achieve your desired outcomes visit trility.io.
0:31:48.6 M Edwards: To my listeners, thank you for staying with us, I hope you're able to take what you heard today and apply it in your context so that you're able to realize the predictable repeatable outcomes you desire for you, your teams, company and clients. Thank you.