 First of all, this is my first ever time to come to India and it's been marvelous This is the only city that I've come to and it'll be the only one I'll be able to visit But everybody's been very nice to me and very friendly and I've really loved Being here and I think all of you for how Welcome to and appreciate it. You've made me feel. Thank you I've been all over the world almost in the last year or two and I haven't found anywhere Yet where the people were more Welcoming to me people have come up and just introduced themselves. So this has been a good very good experience for me I want to get things a couple things set up But I want to start something just before we start so we're gonna need to pass out a bunch of post-it notes Does anybody? Maybe I can have some volunteers. Maybe you could be in charge of the volunteers We have some post-it notes here and all you need to do is take one We will probably need more later. So we should have a batch at every table Post-it notes are very useful In gathering information. You've probably seen that over and over During the workshop today. You can throw out a bunch of them. I don't know what we'll need later a couple per table But there's more People than we have tables. So what I'm going to ask is each one of you that has at least one leg let somebody sit on it and That way we can get more people into the chairs. We've run out of chairs so We'll just have to see how this goes. We'll just have to see how this goes the very first time I gave a talk on no estimates or something related to it was at a very small conference and we had six or seven people and With six or seven people It's easy to have a conversation But nobody was really willing to have the conversation about what problems might we be having with our estimates? So it's amazing to me to see this many people who are willing to have this conversation That's what we're gonna be doing today So we get those post-it notes passed out. Does everybody have a writing implement a pen of some kind? Okay There are some pens here what I'd like to have everyone do Is what I'm going to show you here this we haven't started the session yet I want to get this taken care of while we're starting so we have this question. Oh, I need to plug this in one second I Haven't introduced myself yet, but we'll do that afterwards. I think After we do this little exercise Let's see if we can get my thing to work the the battery is plenty charged will probably be fine Now this is gonna take a only a few seconds to do and then we'll start the real session I want to set my timer. It won't take us long to do this I'm gonna have you answer a question for me on the post-it note And we're gonna gather them up. So I'm probably gonna need because we don't want Yeah, you can find a spot somewhere and There's still there's still plenty of empty spaces on the stage And you can see the screen from here perfectly. Well, so So we just need a bit. Yeah, let's move those over here. Okay, so this is what I want to gather Can I'm gonna ask a favor for somebody sitting Kind of on who can see the whole crowd and pretty soon we're gonna be overlooked Do you know how many people were allowed to have in this room? Okay We'll find out Yeah, this is a true mob So we need pitchforks. I haven't had it. I haven't had the pleasure of seeing that yet People have told me you'll see entire families on a motorcycle But there's very small families, I guess the ones I've seen Okay, so this is the question that I want to have us answer in one word. I Want you to use one word make it an English word, please That captures the essence of what we mean by an estimate in one word What do we mean by an estimate write it down and then on your table gather them up pass them forward and Todd's gonna help me We'll probably need a couple people to help with this Let's do this as quick as we can or faster. This is to get us all on the same We're trying to get an understanding of something here So the session is now officially started if you've already if you've already written down start getting them on your table We'll get them up here. Todd. You're probably gonna need to get a couple volunteers I think it'd be good to have a couple volunteers who would consider themselves very advanced Scrum master types. Do you do scrum mastering? Come on up, please. I need maybe another volunteer Yeah, bring the parts in and then yes, and we're gonna need and sir So and what's your name? Luchman and and your name Preetish so they're gonna assist in doing this so pass those up Pass them up and we're gonna need to do an affinity grouping and I prefer to get those on to the flip charts Yeah, my timer is telling us we are done Thank you, and then we'll gather them over. Okay, that's right So they're gonna so we're gonna try so this is the essence of what an estimate is so while they're gathering that And they're gonna do an affinity grouping. Do you all know what an affinity grouping is? Does anybody not? Okay, so the basic idea of an affinity grouping is we're gonna we're gonna take the poster notes And then we're gonna group them that are related with each other like they they have the same basic idea on One of them and they all relate so that's how we're gonna do it. So we'll bring them all up There's a few more If you can pass them forward then they'll do that if it's so many passing it forward to you And you don't like what's on there. Just wad it up and put it under the table Just kitty. Okay, so I'm gonna introduce myself while they do that I'm Woody Zul and I've been a software developer since about 1982 or three and I got my hands Into computers a little earlier than that, but I had a different business. It wasn't a software company, but I needed software For the company that I had I owned a little small what we call a small business in the US would be, you know, five or ten employees So I started writing my own software and I became so enthralled with writing software that within about 15 years My wife had told me, you know what you seem to just want to write software Why don't you just do that for your living instead of owning the business? So we eventually sold off the business and I switched to doing software development better late 90s I was working as my sole means of making a living is to do software development And I noticed some things and I'm gonna share those in this talk pretty quick on but that gives you an idea of my my background How are we doing there? We have a lot. Okay. I wouldn't never guessed we'd have this many people. That's why I don't do estimates So we really have a problem over here because there's so many people do we have a way to We don't have any more room in here, huh? There's some floor spaces, but not much. I think it's it is what it is, okay? So they're they're recording this you can always come back and or see this online as well. How are we doing? Oh A blank one. No, no estates. They took it very seriously. They've been to your So I'm gonna go on as they gather that because it looks like it's gonna take a while So you see I put the question mark on there no estimates And I like to think of this as estimates or no estimates It's a kind of the tile of what I want to do here today. We only have about an hour and a half I believe I should keep this Time are going here. Does anybody know exactly when we're supposed to be done 305? Okay, so I could clearly can't cover everything perhaps. I would like to so this is very much just an introduction so what it happened was well actually Yes, we can go on while they're doing that This little bit at the beginning I'm gonna give you an idea of what no estimates is about what it means to me Why I started using the hashtag? So this little first parts about the no estimates hashtag you familiar with Twitter Everybody so does anybody tweet? Do we have some people who tweet? Okay, so about 2008 or nine I discovered Twitter whenever somebody showed it to me And I started using it as a way to filter to find interesting things I wanted to learn about so I followed all the people that I admired in the software development Industry and that way I could see what they were posting about and it would give me a way to find interesting things to read Conferences to go to other interesting people and that worked really well for that and Then I had a couple topics. I started being interested in getting other people to To have conversations and dialogues with so I started tweeting about them and in the 2011 or 12 I started tweeting about mob programming and at near the end of 2012 I started tweeting about this thing I call no estimates. So let's see. This is what I really mean by no estimates That's a lot of words there So I don't we don't need to have me read it off to you the basic idea is there are things in this industry in Software development that we do without questioning in the managing of our work So some will say it's time to do our estimates and then we do our estimates, right? But something that occurred to me along the way and you're going to hear me talking about this Was I could see a lot of the things that people were just doing weren't necessarily useful and in some cases they were harmful and As I was invited to go speak at conferences and little gatherings more than conferences I had talked I used to do that I called agile success because I had some projects that we had really good success following what I would call it agile Philosophy of doing software development and that's you know one of the key things is we're gonna we work with people Everybody here pretty much as a person, right and they have to interact. Well, and that's all we got is people and our interactions So I really like the agile philosophy overall So this is what the no estimates was for me was in a talk that I was giving I listed five or six things that I noticed That we were doing without questioning why we were doing them and It was the third or fourth on the list and as I go through the list and I'm introducing these things I would get to estimates and then somebody in the audience would say yeah, but we need to do estimates as if We can't even question it and the time it really came to a head for me was in a talk where I had about 30 people and Somebody stood up and said no we need to do estimates and I asked them Why and they started telling me and somebody else in the audience said no no no That's not true. This is why we need to do estimates and they had a different reason and then a third person stood up They all knew we needed to do estimates and all I was asking them was to remember. There's some things we should question So that led me to realize that estimates were maybe more troubling than I thought they were Why are we so adamant to say we can't even question it? Okay, so it started out as a hashtag In that you can see the date on there December 10th 2012 there was somebody who used this hashtag a year or so earlier for a different purpose But this was the first one in this conversation. So this was me Having written a little post that a blog post that Ron Jeffries had asked me to write about an experience. I had working on a project where we did no estimates and So I kind of did it. It's a very minor little blog, but nobody read my blog in those days I don't think anybody does even now. There's not much there But I put this up and then what I noticed was I got a lot of attention out of it So first of all, I didn't invent this to be controversial Used it to reference a blog post It attracted people to the conversation. I want to have The conversation I want to have is have you noticed problems with estimates? Have you tried things other than estimates? How do you manage your work without estimates? Are there other people who are willing to talk about that and I found two others by this time already Neil Killick and Vasco And they in different parts of the world had also been looking at these things So we started conversing quite a bit. The thing is is that it was also controversial. So the controversy came for free So I didn't have to do something controversial on purpose. It just happened I did notice almost immediately after I posted this and the conversation started growing that I would now start getting Contacts from people all over the world to talk about this and I would start Skyping Some of you probably here in India. I've skyped with I just offered to every Once or twice a week, I would tweet out that I have time to talk you want to talk about this we can have a Skype conversation So I started doing that and I've talked to over 200 people around the world in half hour to one hour sessions of just one-on-one Skype conversation about what are the problems you've seen? Why do you think we need estimates? What are possible alternatives? That's what no estimates is about It's not me declaring no estimates and I'm gonna warn you right now. Those of you who are Still paying attention Don't just go back to your workplace and say this guy talked about no estimates. We should stop doing estimates. I Know of two people who got fired from their jobs for doing that And those are this the two who came back and told me So I am warning I am warning. Okay, so how are we doing there? Are we getting somewhere? We have a lot Well, what are our main groupings? Do we have some titles to the groupings? Can you title the groupings for me? probability Effort and time guess Budget and money Okay, okay. I can all work with this now. Let me work this board for a while We have some more left down there. Is that what we're doing? Okay, so I can write anything I want on those Oh It's some more go ahead and just stick them up. Don't worry about it Okay, this is a large audience for this kind of an exercise. So I'm gonna see if I can quickly go through this So can can one of you do a quick count on these different things? That might take too long, huh? Yes, I hope that's not getting in the recording All right, I'll go ahead and attack the board as it stands. Let's see what we've got You know, I want to cover one more thing. I'm gonna do this So this is a quote that I learned and I was in my 20s and I wanted to There was a person in the town where I lived in a big city nearby That was doing really tremendously good work in the field that I was in I could see it wherever I went so I So I looked him up found his number and called him and I said the things that you're doing I want to learn how to do those things and he said certainly come on by I'll start showing you what I do, but there's something much more important than that and this is what he shared with me The object isn't to make art is to be in that wonderful state which makes art inevitable This is a bigger thing than the doing of the thing we want to do in this case If we use it for software development, we could say the object isn't to create great software It's to be in that wonderful state, which makes great software inevitable means it's just going to work We're gonna come out with some good stuff. So this is what I'm about. I really feel that if we put everything in place to make it easy and Healthy to do our work where we are in an environment where we appreciate each other We're an environment where we feel supported We're gonna do our best work and that means good stuff is gonna happen So I share this at the beginning. So let's see. Where do we go next here? Okay, so we're gonna do this board so First of all this chain here is all guess an estimate is a guess Here's an interesting one an estimate is an idea. Does anybody agree with that? Is an estimated idea? Does it does your does your boss ever come in and say I need your ideas and then when then he when he's done He said no, I meant in hours So I'm not sure that's what an estimate is. So we're gonna put this over here An estimate is optimism So that's not really what an estimate is this is a this is something about the estimate, right? That's about the estimate. Let's see what some of these bigger ones were our probability predictability a forecast a forecast a prediction an extrapolation So what is a probability? How do so an estimate is a probability? Do we agree with that? So an estimate is a probability how so What's that? So we're guessing that we're probably gonna meet this. So that goes into the guesses Predictability is an estimate predictability. Is it a prediction? It's a prediction Okay, which says I guess this will happen sometime According to this so I'm gonna say that's a guess. Am I off on saying that? Tell me if I'm off. It's a forecast an estimate is a forecast Based on what? It's an assumption an assumption is a guess. Okay a Forecast a forecast a prediction a Extrapolation I'm not sure how that fits in and a possibility might be this So I'm gonna just we're gonna I'm putting those under guess. What do we have here? Okay an estimate is effort and time Is that what an estimate is or? Is that what we have? Estimated of we made an estimate of effort oops that I go in the wrong direction. I'm gonna sit this down In other words, that's not what an estimate is It's an effort so an estimate isn't the effort the effort is the effort This would might be we're gonna have an estimate about the effort, right? it's a Approximate so I would put that over here. It's a guess for what it might take another one effort approximate And we have effort we have it's a timeline is an estimate a timeline an Estimate could be used to make a timeline So here's a bunch that say time. It's a measure is an estimate a measure Now estimate could be a measure if let's say we're trying to measure The amount of fish in our fishery, so let's say we're trying to determine is the fish population going up or going down Out in this part of the ocean we might make an estimate based on certain things We can actually see and measure like how many fish do we actually get caught in our nets, but that's That's not the kind of estimates. We're talking about and that's what we're getting here time money resource timeframe man hours time, so this is sort of how Most of this is what are we gonna measure? What unit of measurement are we gonna use or what is it? We're gonna estimate about we're gonna estimate about time Or we're gonna estimate in man hours, so that's not an estimate itself. That's not the essence of what an estimate is oh So here's one that's complexity So complexity is the same thing we are gonna do an estimate of complexity, but that's not the estimate itself What is the estimate a forecast predictability? So that's all the same thing It's okay. Here's a couple that are pretty if they're inaccurate That makes sense, but that's not what an estimate is lots of things are inaccurate They're wrong So the essence of an estimate is wrong, but your boss will never come in and say you guys got to do your wrong it's Imperfect so those are kind of observations about estimates, so this one was effort and time do you see where we're getting here? Let's see what these were it's a budget. It's money It's cost so money and cost are the things that we're estimating we're estimating how much will this cost? But it's not the estimate the essence of an estimate The budget so we could use our estimate to derive a budget Right, so this is what we're going to and there's too many more here to cover. I would say We can all agree At least for the purposes of this meeting this gathering that an estimate is essentially a guess Now I've done this over and over and over again So we'll come back to that in just a minute. I've done this probably a hundred times now with the thousands of people So to start off with we need to be talking about a very specific kind of thing because if not it gets too big For me to discuss so we're going to cover what that is as we go forward here What you said what is an estimate? This is what I usually get you see this little like a point at my monitor this here Most of those are something about guessing or predicting or forecasting. It's a forecast It's a prediction about the future the forecast about the future You know, I could ask you to estimate for me in the next minute. How many times am I going to clap my hands? And what would you be able to base that estimate on? And whatever number you give me I could do something different, right? So we can't measure things like that We can't measure but you could make a guess and Then we have something to work with now I'm not saying that's what our work is about but I want to point this out so what we have here is this mostly a grouping that's about guesses and you'll see that this was a group of CIOs and CTOs that did this particular one and notice they could not Except for one of them stick to just one word at least most Most of these are one word. Oh, here's one that a manager did There's a couple here that managers did almost everything else is one word. They just couldn't do it This is like typically. Well, yeah, so what it takes to do it I move that to the side, but what it really means is what we guess it will take to do it Best case time to complete that's our guess at our best time, right? So most of those really could go over into the guess column anyway So I got a limit this to something so what we were discussing Estimates of time cost effort whatever regarding a described bit of software Because it's gonna be useless to say how much will it take to write some software? Such as a story Project a bug fix a feature can be big things and small things To be developed or created or worked on because a bug isn't something we we don't estimate How long will take us to make a bug? We estimate how long will take us to fix a bug and so we're not going to develop the bug We're going to we already did that, right? So this is a description I think I'll use for today knowing that we came up with this estimate is being mostly a guess an estimate is a guess of the amount of time work time or laps time we'll talk about that a minute to create a project a feature some bit of work in Developing software, so now I'm limiting it. I'm not talking about value estimates of value I'm not talking about other kinds of estimates. I've done estimates such as We have let's say six people each on two teams How much is it going to cost for us for the next year approximately to support those two teams the space? We need to rent their salaries the vacation all the things that we might do over The year so we can set the budget. I'm perfectly fine with estimating that We're really just talking about estimating software work itself the time of creating software So we're going to do a simple simple simple activity We'll just shout this one out. I think Let's do an estimate This is our story and I'll read it off three months from day You have to write your name on a white index card with a blue fountain pen Estimate how long it will take for you to do that on that day Give me a number How long? 30 seconds 10 seconds Five seconds. Do I hear two seconds? It's like an auction You know, that's not going to take us very long to do let's change it just slightly Excuse me. Oh, you never know what might happen, but we're not going to go there Okay, right now you have to write your name on a white index card with a blue fountain pen How long will it take you to do that? one hour three hours Does anybody have a blue fountain pen here? How do you have a blue fountain pen or a blue ballpoint pen? Did I say a blue fountain pen or did I say with blue fountain pen ink? Should it be a three by five index card and what do we mean by white? Is it okay if it's got lines on it? Right now, how long would it take you to do this and what do you have to do to accomplish this story? Interesting thing right so there's two different things that we looked at here one is how long would it take to To actually do the work and how long will it take to get everything into place to be able to do the work? And that includes finding some information out and stuff So I want to I want this we're still just laying some ground work about what are we talking about? So here the work or or actual effort the work time That's amount of time it's going to take to do that work once we actually start doing the work We could take out of it the gaps for waiting because we're gonna have lots of gaps for weight Another thing we can think about is the elapsed time or we call it the cycle time of the duration How long is it going to take from when we begin until we end and those are mostly the things we're interested here today, right? I'm asking you right. You don't know yet I shouldn't use that terminology. That's what I'm gonna be focusing on this amount of time It takes once we decide to do the thing From or should say when we start doing the thing till we're done Developers often don't know What's going to come along that's going to hamper them from doing this work? Often our instruments are about how long will it take me to do the work? Not considering how many interruptions I'm gonna have Have you noticed that I should have asked right off the bat how many of you here have been asked to do an estimate in your work Let's see a show of hands Hardly anybody not how many of you have asked someone else to do an estimate Wow, so we know what we're talking about here, right Okay, let's see this last thing. We're really not going to cover this today. This is sort of the amount of time It's going to take from when Work is requested Until it's completed and in between we would have somewhere where we would start on that work So we're going to do a three-minute exercise, and I'm not sure how we're going to do this With so many people here But try to gather yourselves per table and then you on the floor pretend like you're at a table We're going to need to have some posted notes. We're going to take three minutes to gather together Why do we do estimates? Just come up with so we might need more post notes than they already have so we might have to if you need more We'll hand it out. So I'm going to start you in just a moment here, and I want you to take take three minutes Together a number of post-it notes at each table discuss with everybody at your table write them down as you come up with them and and Why do we do estimates? Alrighty, I'm going to go ahead and start the timer you have three minutes. Please do that So we need to gather these up onto something we can move them off Maybe one of our volunteers can help try to keep them grouped. Although it's not too critical Especially I want this one to be Why do we do the estimates? Discuss it among your table come up with some ideas. I know it's safe I'm posting those go ahead and pass those through somebody there could pass them forward Thank you Alrighty, we're done pass them up pass them all up Gather them together. So we need to get these off of here It's okay. It's not a big deal They can just all go over there. This is the new ones. Okay, just go ahead and bring them to me And I'm going to go through them They're we're going to have a hundred or more? We'll do quite a few. Thank you That's good. That's okay. Right like that. I'm going to take them. Do we have any more pass them on up? My goodness Here we go. Whoops. I dropped a couple there. I can make a beautiful Vest out of this Alrighty, are there any more? This is good okay, so I'm just going to read off at least a few dozen of these and maybe more as we go and see if we can group them up And then I'll let you group them up after that too So the business wants it That's a reason the business wants it Prioritize That's okay Because my boss insists me to do so We already have a grouping and we only done three so far time and budget plan That's close to prioritizing, but it's not quite the same thing estimate scope or time or cost But that's not really answering I click this over. I should be very careful. Why do we estimate? Why do we do estimates? To estimate the scope or time or cost. Well, let's let's use let's keep that visibility We estimate to have visibility protecting a release So that might come close to time and budget or prioritize. I'm going to put it up near there To deliver in time So we estimate to deliver in time So I think that's going to come close to being figuring out the budget and whatnot To get certainty in uncertain situation does do estimates give us certainty That's something we need to talk about the business customer knows wants to know when they can get deliverable from the team So that's kind of we're getting into this thing here about the time predicting the release Manager asked me and they have the name of the manager there I'm not going to say the name Demand slash supply. I'm really not sure what that and they supply it. Okay, so that goes That goes back to that one to allocate budget for the project time for completion So we had these predicting the release. This is a release Area wants to know when it will be delivered. So we're starting to get that cost and Revenue so we estimate for cost and revenue Okay, so I think what I'll do is I'll start reading them off and I'll hand them to you guys to group them. Here we go Yeah, we probably do you can so so just hold those for now To understand the profit or return on investment. I want to make it real clear We that is so we can understand our guess about return on investment, right? So we return our investment isn't determined by what we estimate the value will be and what we estimate The cost will be what is it actually based on? How much it actually cost and how much we actually made that's what return investment can be estimate can be Calculated from predict the time and effort to plan accordingly. We're getting a big grouping there to know how far we are from our target So but play we should start getting one that has something to do with blame because I think that's close to blame To decide timeline and cost. I think we're definitely getting When can I deliver to the market to an identify the lead time? to find out By when with what cost and effort we can do so that's getting close To have a predictable delivery model as if anyone ever experienced that from estimates To be predictable and plan accordingly. I Think my talk that I'm going to give in a few moments is going to be useful today set customer expectation Take the stickies on the wrong side on that one Okay, okay is a I'm going to look for outliers here now So I think you can kind of group these so you've all seen where we're going here Okay to make a decision. I've selected out a few of those to To take an informed decision informed decisions. So I'm going to put those up here in the top And we're going to move this down a bit go ahead and continue there Alrighty I Actually have saved off dozens of these different sessions so that I could group this date I'm not using it for anything beyond my own understanding of things, but this is pretty common We've got some grouping there. This is what we usually say why we do estimates So software development, you know as efforts are used to attempt to predict the future I think a lot of that is what we've seen here Can we agree to that or does that seem not correct? It's all we're pretty much using this to try and predict something about the future. So when will it be done? We've seen that up here. How much will it cost? We've seen that up here. What can we get done this sprint? So let's bring it down to a slightly smaller scale. What can we get done in the next two weeks? Does anybody do that in your work to try and determine what can we get done in the next two weeks? Maybe more than half How many people do we need to hire? That's not an uncommon decision to make How can we get what can we get done for this money? So basically we're trying to predict but these base these things are the results These results are really some information. Most of this is information. What it's really about is what do we do with this information? So when we decide when we want to decide whether we're going to do a project or not We gather information whether we decide whether we can get something done on schedule or not We need to gather some information. So why do we do estimates? We use them to make decisions. Can we agree on that? We're using the estimates to make decisions. So this ups the level of what I'm talking about when I talk about no estimates We'll cover that more as we go. Hopefully you're seeing a hint of that now Estimates themselves aren't a problem It's how we're using them that might be the problem. This is another one I often see and I think I saw a couple of with this We do the estimates so that we can have a conversation. Have you ever heard that? So we say oh, we do the estimates so we can talk about what a why do we think this is different? So that's another use that I've seen. I'm not sure that that's a good use of estimates Because I believe it's the information that we use to determine our estimate that we really need to be talking about Not the estimates themselves So why do we do the estimates? Well they can't spark that so let's see what we have here part second I'm going to tell a story about something that happened to me in 1999 or there abouts and I call this lessons learned because I've taken a position at a company I'd just gotten off of a contract a three month contract to do some work with a company where they were pretty much following what we would Now call agile They were they were kind of using an agile philosophy a lot of the practices they were using were similar to what we would Call extreme programming practices, so I learned a lot on that little contract little three month contract So I went out to at that time. I don't know if any of you were programming at that time 1999 in the late 90s All you needed to do was to be able to spell VB and you could get a job as a programmer And so that was about how easy it was to get work so I put my I Called a couple of recruiting firms that said hey I'm gonna be available and I got all kinds of offers as to going to work at different places And I looked for one that was actually using iterations because in those days it was uncommon to see somebody iterate You don't want to do this I mean iterations like we're gonna do something and then we're gonna have Some work finished and then we're gonna do another iteration and we're gonna have more work finished and we're gonna do another iteration This wasn't ideal what they done there, but it was better than the other ones that I looked at so basically this was a scenario So 17 years ago, which is about right It was a large project in terms of a project. I had worked on so far over 200 developers that had all been hired for this one project and we were gonna do this basically IID which is iterative incremental Development, I think that's what that stands for They were gonna do six-week iterations That's long compared to how we do things now and these are gonna be like mini waterfalls with a with a design period And then a coding period and then a period where we would be Integrating and testing so that was the basic plan and then at the end of each six weeks We would have what we would now call a retrospective and they called it. I think they called it a lessons learned We would look back over the six weeks Look for the things that didn't go so well and figure out how to do better Now that's kind of how we look at retrospectives nowadays or something like that And then we just do it again. So off we charge to do our work 200 developers. Most of them were quite young I was older by double than most of the developers Most of them were 22 23 and I was 45 years old So I was sort of a seasoned old guy Usually when you're the seasoned old guy on a project like this you move up to being more of a manager type pretty quickly So almost right away. I'd become a team lead and then moved into somebody who would go to all the meetings of Slightly higher management level than I was So we went off to do our do our work and then we got the six weeks done and we were gonna have our Our lessons learned so there were two things and it's really three things that I noticed in that first lessons learned The first one was this that the estimates were off. They weren't helping us because they were way off So we talked about it the team that everybody who was there there was actually many teams doing these Lessons learned and they were gathering the information together And they decided well what we need to do is get better at doing estimates because our estimates weren't very good They weren't helping us The other main thing and it's kind of there's two things combined in it that I noticed was The requirements weren't very clear when we did our estimates and when we started doing the work And they kept changing while we were doing the work And how do we deal with that? Maybe I'll ask you how do you deal with that? Control the changes And what else? Maintaining the changes well Oh, yeah, yeah, we need a reassignment but that these were separate things So we need to let they say we need to control the changes And we need to get better clarity up front. We need to better understand what we were doing So they actually got some people in that were going to train us in how to do this And they had some other people in the company who'd come over and train us how to do this. So There we are get better at controlling get better at understanding The next thing was we went ahead and did that we did the training and we worked hard to get better at the estimates Yes Yes Well, this is just a story of something. I was just a developer on I was just one of many developers This is what they decided to do. Matter of fact, I'll make a real good point of that Well, what what should we decided to do at the time? This was again, this was almost 20 years ago I didn't know that these problems existed yet out in the software development world So my Attitude here was I'm gonna keep my mouth shut because I was working there. I wanted to keep my job And I already saw to me there were some problems But these weren't the things I noticed these were the things that the people in the retrospective noticed And I noticed those were the two most important ones They had lots of other things that they wanted to do better. These were the important ones So we worked hard at getting better at the estimates And we worked hard at understanding Making our requirements more clear and controlling the changes. You're not allowed to change anything during this Development period. So off we went charged off to do our work. We did another Session after six weeks of lessons learned. I noticed there were two kind of three things That came up. It's the big problems. Can anybody tell me what they were? Exactly. So you'll notice I don't have to belabor the point There it is So to me, this is a pattern, but it's just a sneak peek the beginning of seeing a pattern You can't see a pattern when you just see one thing, right? So for example, let me see we got a bag of Stuff here, okay So What is the pattern? We don't know, right? Now what is the pattern? Black pens Now what is the pattern? Stationary So we get we get more and more info we can start saying what what is the pattern? What are the things that related here, right? So I wasn't ready yet to say this was a pattern But I was feeling that this is a pattern. I'd seen this many times in other work. I had done So what did we do? We knew we needed to get better And so how did that go on that grouping? Planning and timeline Okay The boss made me do it The decisions Okay So to get the shared understanding so that's the thing about sparking the conversation maybe. Okay, very good. Very good. That's good How far off are we? Yeah Yeah, so we have to have something to gauge it on so How far off is our guess? Yeah, okay. This was good What's that? No, that's not what we have but thank you. Alrighty, so that's good So I was seeing the pattern and here's where we're at. We charged off to do our work We had to get better at these things. We took more training We looked at what went wrong and we practiced some of these things And of course we went and did the work at the end of the third iteration. This was now Three four and a half months into this it was just a three month contract when I signed up They had already renewed everybody's contract. By the way, this was supposed to be three months to get this thing delivered That's why they hired so many developers That is something that rarely works. However, um, how long do you think this project actually took? So I believe it actually got delivered into production after about a year and a half And after about another year after that they canceled it completely And it would actually be funny if it wasn't a meaningful Failure for this company to the degree which I think it kind of It deaden to very much their ability to compete after that. It was a large company You know, if you could go in and hire 200 developers for one project, that's not a tiny concern Alrighty, so we did our third iteration At the end of it we did our lessons learned. I don't even need to show you right You already know this you memorize it now. I see a pattern The pattern was very clear to me and I decided I would bring it up Fool that I was So I brought it up in the meeting and I said, you know This is a pattern I've seen many times in business We are trying to solve for the symptom and not the underlying problem Does that make sense to anybody? I see some heads nodding I'm not saying it's really the what it was. I just proposed to them. I've seen this often That when this happens when we try to solve the same problem over and over and we don't seem to be able to solve it Maybe we're just looking we're not looking deep enough We're we're solving for the symptom and we're not solving for the problem So after that meeting as I would walk down the hall and these are people I was starting to get to know rather well These were young people and I was kind of the uh older guy on the project Which allowed them to think of me as either being their father or their grandfather And so they would come to me with things like, you know Personal problems, you know like oh, I asked this girl out and then she said this and or else somebody say oh This guy asked me out and I don't like in you and so on and so I was getting to know these young people pretty well And we were working really well together But then after that meeting as I would walk down the hall they would just scatter around me They wouldn't talk with me So I came upon a group of three or four young men. They were walking and I cornered one of them I literally cornered him and because he was young he was too stupid to get away And so I got him cornered and I said what's going on and he said the managers told us not to talk with you So I think I could ask you in your heart of hearts. What really is that about? Why would they say that? Yeah, this is insecure. There's something here that was not being revealed. I think I think people knew that us trying to get better at estimates wasn't going to make things any better That us trying to control the changes wasn't going to make things any better. They just wanted to keep the project going So I stopped questioning so much during my I was there to the end of that Contract it was the second three months and I saw I'm going to go do something somewhere Where I could at least feel like I can bring some value But this was this was an eye opener for me. So I made a lot of notes during that time I probably made a notebook full of notes as to what was happening Why I thought they were happening? How could I show they were happening and things like that? Because I have a rule that I follow for myself It's when we come upon something that we're not willing to question and I felt we weren't willing to question There are probably things we can do to get a better result So that was the beginning and I think of it this way the things that I trust the most About the way I do my work are probably those are the things that are hiding my biggest problems Because I trust them so much. I'm not questioning them anymore Let's look at this a couple other ideas here We had the first iteration We charged off and did our work We did the lessons learned we tried to get better And we went back in the next iteration and this went over and over. Yes Oh, can people move in just enough so we can close the door? We don't want these secrets getting out Thank you Yeah, there's nothing here. I want to make it real clear. I'm just like all of you I'm just another software developer or person working in the software industry and we're all thinking about these things We just don't all feel the freedom to question these things. And so that's partly why I'm talking about this We're all in the same boat here We see this kind of a pattern happening because I should be pointing over there because I'm looking at it here This is a cycle. This is like this is a pattern and I learned to give names to my cycles This is one here. This is a cycle of continuous. No improvements So when I took the notes and I didn't come up with this name right away that actually took me several years I I like to give names to the patterns I see because that makes it easier to talk about them So when I can talk about the cycle of continuous. No improvement that makes it easy for me to discuss it with people I saw this at company after company And that's what eventually led to the successes I think that I had with doing agile software development Because I was willing to question these things that we were doing that weren't necessarily bringing us value And maybe we're causing us harm because we weren't recognizing them as being the As being the symptoms instead of the problems. So we're not in a workshop. We would go through this more We're not going to do this here. How are we doing for time by the way? So we're doing pretty good. Yeah So I actually have this setup where I can stop at any moment and you already have heard too much So that's sort of that's sort of where we're at so We're dealing with symptoms versus problems all the time. So we're just talking about three of them here Remember, this is much bigger than estimates. This isn't about estimates and no estimates This is about just the things we do in our work that aren't bringing us value and we're not willing to think about it So the system was the estimates were off So what was the problem? So in a workshop, we'd really dig dig into this. I don't really feel it's appropriate in this short amount of time To dig into this. So this is something you're going to have to do for yourself What was the actual problem? It's much deeper than we weren't good at estimating What's that? So this is a that's the the first step down when we don't know how to estimate What we once we learn then it still isn't helping us I believe when we do really great estimates and do them right They still aren't useful to our process when we're doing software development We're not covering that here today, but that would be for you to scrutinize for yourselves Okay, the symptom was the requirements weren't clear. So it seems like the solution is to write clearer requirements But this is a symptom And we're going to cover this a little bit in the rest of this talk the rest of this will be kind of a lecture I guess So what is the problem? That's what you need to scrutinize. What is really the problem? If we don't have clarity in our requirements, what is the problem? That we need to solve clearly being clearer in our requirements wasn't helping us The symptoms was that the requirements kept changing What's the actually underlying problem if there is a problem there isn't always a problem So this is the kind of thing we need to do is start paying attention to The things that we think are problems And maybe they're not maybe they're just symptoms So that's something i've got a long career in several different industries That led me to understand this over time that most of the time we're wasting Our effort trying to solve for symptoms and not scrutinizing things well enough to understand the problem and what sometimes we may never understand the problem So we're into part third now. There are only 82 parts So we're So we're nearly done So this is questions. I'm going to go through this really quickly You're going to just have to catalog these in the back of your mind a few of them might you might like And and you want to use them later? I'm just going to talk to you about the kind of questioning I started doing somewhere around 2003 is when I actually started Exercising the ideas that led to me Calling something no estimates and it was in 2003 that the project that I took on That I wrote the article where I first used the hashtag, you know six seven years later eight nine years later So this first I want to share from peter block Transformation comes more from pursuing profound questions than seeking practical answers It meant to me when I first read it it really rang true with me It was that It's not about seeking answers at all. It's about seeking the right Or pursuing the right question So if you find a good question I'm looking for the result of having that good question will lead me to a better question And not to an answer and when I finally get to where I've I've got a reasonably profound question The answer will reveal itself to me That's the value of doing this So I question the things that I trust the most Because those are the things that are hiding my biggest problems I have to learn to ask the right kinds of questions So you're going to see a handful of questions here. This is actually a Lightning talk that I've given so I'm going to go through them pretty quick So I like to imagine wonderful and I really like it that we can get from wherever we are to better or to wonderful In little tiny baby steps one little thing at a time that allows us to steer to better because right now we don't know what better is These questions are about are the things we think we want Counter to getting the wonderful results we could be getting that's what The crux of this for me was seeing that one project Was that what we thought we wanted was keeping us from getting to some good results But we never got to exercise getting towards those good results. What are we going to do about that? So let's see some of these questions The desire for control and certainty but about what we have this desire To have control and certainty, but what do we want to have control and certainty of So we would ask this in a much deeper way than I'm going to do it here But the shallow thing is we want to know the time the cost the schedule We want to have certainty and control of that Is that a good thing to have control of these are the kinds of questions we need to be asking Can we improve our chance at wonderful if we abandon our desire to have control and certainty about time and cost and schedule Could there be a much better result if we were willing to try that? Is there a hidden problem? I like to ask it this way the estimates were the symptom What's the hidden problem and that's I put this in here specifically to make this point the estimates themselves are not a problem There are potential symptom And we have to discover what the problem under there is it's somewhere up the chain It's what are we going to use those estimates for that's the potential problem Estimates seem so much like the right thing to do. So this is something we have to ask ourselves when something seems so right Could it be wrong? Might it be wrong? Are we willing to ask that question? So how much effort do we have to put in how much time do we have to put in to be able to Make a reasonable estimate That is useful to us That's a good question to ask because often we don't estimate we don't count that as part of the work But I believe that's a big part of the work is all the work that would end up giving us information that we could do a useful estimate from So how do we ever evaluate did we make a good decision? In fact, this opens up a much bigger bigger question to me When I ask people why they do estimates We often are saying things like To get certainty in an uncertain situation To get the cost I'll skip the The business wants it to get expectation for delivery and so on and so on But this all comes down to the decision we want to make should we do this project or not Should we do this feature first or that feature first? What should we do then how do we determine whether or not it was a good decision? We cannot ever know how much we would have made on the project we didn't do So are these things a trap or the things that we think we want a trap? This is sort of important to me. Does it make us become less flexible? In our thinking in our recognizing good things that's that coming along Is it a hardening agent? That's another way of saying the same thing Does it just make it harder and harder for us to change our minds later on? Because we've invested so much in this estimate and these decisions that we've already made So it's on time and on budget A good measure of success You remember so i'm point over the here you folks can't see this i'm pointing at the thing that says guesses Where is guesses? Are they still up here it is are these guesses i guess this whole one is guesses Using that as a measure for success. Is that a good thing what we guessed it might be This is the sort of problems we can come with that i'm just going to cover one thing There's a lot of creative accounting that goes in to show That we were successful in meeting our budget and meeting our time that we said we would do one of them things is feature cuts We'll just cut some features before we when we deliver the thing we got done on time But it's because we cut the features, but we were supposed to get all those done Still pointing at my monitor. We're supposed to get those done I'm not going to ask for any show of hands on this one But i've worked at places where we were only allowed to to record the hours to the project that we were Had allocated for it not that we actually did So i've worked on projects where we we could put eight hours a day towards the project But we were 10 or 12 hours a day towards the project That's creative accounting Working late and extra hours, so this is another one just over the elapsed time We start out saying it's going to take three months, but that last month everybody's working all weekend They're working till midnight every night and of course their work is getting better and better the more tired they get right These are the ways that we adjust for Trying to be on time and on budget. I don't think it's a very good measurement, but that's a question we should ask So now we're to the real guts of this thing So it's getting better at estimates The only way almost everybody's ever said to me when I say when we recognize that the estimates are not Working well. They will say we need to get better at our estimates How would you get better at estimates by the way? Anybody want to take a quick stab at that? Doing it over and over like we have for the last 30 years Comparing against actuals the interesting thing is is that most of the work I'm doing today We're working in languages. We didn't use five years ago We're working in frameworks that we didn't use five years ago It's very hard to build up a record that we can compare against So a lot of people claim they can and we're not going to go into that here today, but um Yes, is that the only way so these are the questions we can ask perhaps better means alternatives Better doesn't always mean doing more of the same thing better. I have a problem. I will often um Over eat on junk food. There's a jar of candy on the tables. Are they all gone now when they're there? I'll just keep eating them as long as they're there Okay, then I gain weight. I think of it this way Garbage in garbage stays Okay, that's like in the computer days we would say I mean the early data days We would say garbage in garbage out, but it's garbage in garbage stays So I'll go for I like my weight right now. I'd like to be I'd like to weigh less But I've weighed a lot more than this Okay, is there a better way for me to eat junk food Could I chew the candy? more thoroughly Or with more in my mouth at the same time or less in my mouth. How would I do eating junk food better? Maybe not eating the junk food is the best solution and finding replacements for it something else alternatives So if the types of decisions that we want to make require that we do estimates, what is that telling us? This is the question of the day right here. Are there other ways for us to make? Are there decisions that we should be making instead of the decisions we currently think we need to make? So we don't have enough time. This is just kind of like A scant covering of this, but I'm going to give you some ideas of how I've done things if we have time That's not what's important. What's important is that we Consider the things that I've been sharing with you today and open our minds up I want to make sure when I talk about scrutinizing our practices I don't mean we go into our boss and tell them. Why are you doing things the way you're doing them? This is about for us to internalize ourselves find other people are willing to talk about it Someday many of you are quite a bit younger than me And if you're fortunate someday you'll be old like me The thing is is that when you get older and your responsibilities go up in your company You can carry these thoughts with you. So when you can make a difference, you're there to make the difference Otherwise we just tow the line and we do things the way it's always been And things don't get better. It's our job. The people who come to conferences like this It's our job to try and make this a better world to be in And in software development, we already have a great advantage over many people Because it's a good industry to work in and we can make it even better So are there better ways and we'll cover a little bit of that as we go. Are there better ways? I think there are I think I don't know if I already put it in the slides there, but I haven't worked with estimates Of the type we're discussing here time cost effort whatever for doing software work for about 10 years now eight years for sure and going back as far as the Early two thousands and in other things earlier than that. So what should we be certain about? And I kind of put this sort of in a slightly different light. I'm going to answer this question Let's be certain that we have an environment where discovery and innovation can happen So that we can discover what wonderful is in trying to instead of trying to determine what it is up front This is where these great solutions will just inevitably occur That's what I'm looking for. So let's make an environment where great things will happen What must we control So we are just desperate to control things I know I have that in myself. I'm not sure why this is what I think Let's learn to control this urge. We have to control things If we can control that we've got a chance So let's see some other stuff here. Oh, I'll leave that for a second. You wanted to take a picture of that Did you get it? Okay. I I'm not sure these slides are all online somewhere anyways You're probably wondering where did all these wonderful drawings come from most of these are done by my wife Andrea And she's a children's book illustrator so Andrea So if she sees this ever you'll hear these people clapping I really love her work and whenever she does a piece that looks like it would fit in my talk I ask her permission. She doesn't do them directly for me. She does them for her own portfolio But if that looks like to me this looked like it fit this This slide Okay, so here's a quote from biarty books who wrote the beyond budgeting book So we've already kind of somebody hinted to this already the fear of losing control is a big barrier for change But much of what control is is just an illusion of control But the fear is real That's why we have to do the estimates because people are insisting we do them Because we're afraid that we're not in control if we don't have those things So I'm going to go through a part fourth and then we'll skip into part fifth. You'll miss the last 70 parts. I guess we have enough time to cover this I put this in here so you can see what some other people are saying. I'm going to do this kind of quickly I have about eight or ten different quotes. Everybody knows who's married pop and dick. Has she come to this conference? She's fantastic I heard her speak at the extreme programming 2016 in Edinburgh Really successful digital organizations do not estimate Estimates are for cost centers not products Very interesting and as soon as she said that I wrote it down I waited until she got off stage and I went up and I Quoted it back to her to make sure I got it right because this is really what we're talking about And I was glad to hear her say that Okay Kent Beck we all know who Kent Beck is if you don't have a book from Kent Beck then you should have one He's got bunches of them I love this quote alternative to estimates do the most important thing until either it ships or is no longer the most important thing Now I will take it slightly a step further for me. I just care if it's important I don't care if it has to be the most important thing What I want to do is discover value and we do that by just doing things We'll talk about that a little bit more martin fowler. You probably he's probably spoke at this conference. I would imagine I like this now he wrote this a few years ago After we started really talking about No estimates in twitter. So I think this might have been a response to to that His teams progressed first they struggle with estimation Then they get quite good at it and then they reach a point where they often don't need it I've seen that Now I think that the two first two steps aren't needed I think that we can go right to not needing them because I've done that at a number of places now But I like this sentiment. I like this quite a bit michelle mccarthy her And jim mccarthy have a a podcast that I've listened to every Every show it's might make a lot of it's about the people side of things but But they have a long time Matter of fact the first book that I read that I would go back and say this contained a lot of agile Knowledge in it was the dynamics of software development by jim mccarthy her husband Uh, and it was written in 1995 So they've been on board with this stuff for a long time One of the problems with the schedule is that it gives us the idea that we can take that long I really like that Because that's what we ended up doing a lot of the time ron jeffreys now ron jeffreys and I see Some things from the same perspective and many things not from the same perspective But I really honor the guy a great deal. He's done a lot of good for for software development that particular book there that I put on the front I keep pointing down here that book that I put in the front there. Uh, I got as soon as it came out. It's well worth reading Um, estimating when we'll be done is wrong Forcing the answer is worse So we talked about those behaviors here I like that. There's a lot packed into that And that came from an article in pragmatic programmers magazine Joshua karyoski who's here at this conference right now He wrote a blog post in 2012 about something they did in 2007 a series of experiments led my colleagues and me to increase our agility By dropping story point and velocity calculations. They weren't really serving them It's worth reading that article. I put fred brooks in here. I don't really know if this relates It just makes me seem like I'm more capable if I got fred brooks in my talk So it is very difficult to make a bigger vigorous plausible job-risking defense of an estimate that is Derived by no quantitative method Supported by little data and certified chiefly by the hunches of managers Now i'm not sure what he would say about the things i'm talking about But I like that and it makes it seem like he's slightly in alignment with what i'm talking about You guys all know you must all know who deming is right You notice that picture of him there where he's seated. He's the slightly taller fellow Usually we see pictures of him when he's like in his 60s and 70s. I thought I wanted to have something when he's younger He says so many good things. It's wrong to suppose that if you can't measure it, you can't manage it. That's a costly myth A lot of the reason people give me for why we need estimates is so we can measure things Another good one for him management by numerical goal Is an attempt to manage without knowledge of what to do. It's in fact usually management by fear. We've already covered that Interesting stuff vasco is one of the my original I would say Partners in dialogue when we first started exploring this through twitter And we would talk regularly about these ideas. He's got lots of good quotes Using estimates and plans based on those estimates assumes that the system under study is predictable before Observation We think we know about what we're going to do and as soon as we start working on it, what do we find out It's not what we thought it was Yes, this one Yes Absolutely two different directions This is a commonly understood idea that that if we can measure something then we can improve it and we can manage it And i'm just showing the deming who's really well known for these things is basically saying maybe that's not true And maybe he's taking a lot further than that and saying it's a myth So we do have to be cautious. I'll have a quote later if we get that far from russell acuff about this I don't live my life based on the quotes. I use the quotes because they Because they make a large chunk of knowledge very succinct. So this underneath this is a great deal of stuff But we have to be very cautious. This is what the questioning is about Like if we really believe that we we can't Improve things if we can't measure them then we won't explore that that's possibly not true Yes Yes So i'll let them argue with deming they can argue with them So if somebody believes that that that the other way is true, that's okay. That's what the world's about We have many different viewpoints on things and i'm just sharing you with you my own Experiences and my own viewpoint and if it's useful to you fantastic and if it's not you wasted an afternoon That's not a big deal. You got a good lunch and you'll have a decent dinner. Are we having a dinner tonight? But you had a good lunch. Yeah So let's go on I would challenge that so let's we'll go into that we're just we're going to go through the rest of this But I think there's a discussion that could be had where where these ideas might apply in a operations Mode as well, but this we're really just talking about software development here I want to make that clear. We're talking about estimates for software development estimates of time cost effort for some set defined chunk of software development so Neil Killock out of australia. He's got lots of good things to see He says I see no estimates as a set of principles much like agile So it's not black and white can or can't do I think that's pretty good That's kind of saying it right there Some of you might know him double poncho. I think it's double is that saying saying it pronounced pronouncing correctly I've talked with him several times very very bright guy and he does a really good set of talks on this same subject Estimates predispose us to a solution I like that. So this is just showing there are other people thinking along these same lines None of us are in agreement with each other. We all have our own ideas So part fifth, I think we have enough time to do this we do So I'm going to explain a little a few little things about How I've gone about doing things And this is a warning. I'm not here to tell you how to do something or whether or not you should do it I'm just sharing you with some stuff that I've done and if it's useful to you great And if it's not I'm happy to talk about it, but I'm not trying to tell you This is the right way. This is something that's worked for me So people think of a project this way I've had project managers come to me. This would be a project description Everything's in order. Everything's where it belongs. You'll notice even that there's some canisters or some little tubes that are the same size And you see what's in them. It's different kinds of things, but they've grouped them by The containers rather than what the things actually were and so on But this is how we like to think we can we can close up that neat little description of our project and hand it to somebody And say just write that and then okay, we're going to do the project. We open it up. We start working with it We might find it's what's there like they described I think what I've been telling you today is we usually wouldn't because this is what I think a project looks more like And this is from a painting by Jackson Pollock And this is even more what I think projects are like the edges are fuzzy When you get near an edge, then you notice that out in the distance. There's a whole lot more of this same stuff There's no clear edge to it We look down through it and we see there's more down below And we look up through it and we see there's more up there It's not well defined. There's some patterns in here And that's about it So how do we deal with this? So this is a start for me It's in the doing of the work that we discover the work that we must do By actually doing something we discover what we need to do until we do that. We're all just We're guessing we're just guessing The doing exposes reality So we're not going to do this exercise. So I'm just going to tell you what is the criteria we use to determine the size of the story That's what's important Not the estimate not the three or the five Or the eight or whatever numbers that you use This is what's important. So that's what I want to have my discussions about What are the things that we are what is a criteria we are using to determine the size of the story? That's the important stuff not the size So this is what I'm looking for I look for these qualities. This isn't like a comprehensive list, but it's just an example list I want to know is it potentially valuable Like if the users are actually asking for this, we don't know if it's valuable until we deliver it But if it's potentially valuable, then maybe we can work on it. Is it recognizable? Can I tell this is something? As opposed to being like That nebulous bunch of stuff if we were doing a workshop here We could actually draw some things that would show but if you have a Web page and you've got some drop-down boxes on it just as an example I could recognize that as being a web page with some drop-down boxes And maybe the purpose is for some to select a product. So I'm getting an idea That's a recognizable chunk of stuff that belongs together. It's understandable. I'm looking for understanding When we come up with a story pointing system, and I don't really completely understand story pointing anyways But if we all agree to a five that doesn't mean that we have a common understanding of the thing It just means we've all come up with a five. My five might be based on something entirely different than say Todd's five I want it to be a distinct thing That means I can decouple it from the rest of the project the rest of the requirements And I want it to be cohesive that means that things belong together So I'm looking for these qualities when I have the understanding. That's the main one I can't understand a whole large book of requirements. I'll use this as a book of requirements These are the three by five cards you would have needed to do that first exercise to write your name in blue So Can you understand this whole project? Maybe you can understand one part of it That's easier to work on than the whole thing. We never write code At the project level we write code at one line at a time level One line of code at a time Because it can be decoupled and worked on And deployed then I can learn something from it. So this requires no estimates I never have to estimate to be able to start working on something. All I have to do is fulfill those qualities Once I find those and I can start working on it then I do it and it gets a cycle just like this Right, I know I've got a little thing I can work on one little thing And then I do it and I learned something from it and that leads me to the next thing And whatever I learned during doing this one Will lead me towards what's the next one to work on if I tried to figure out ahead of time the prioritizing Which we have a lot with planning and prioritizing Um, what I learned off of doing that first one might lead me to something different Than the than what I thought I wanted Okay, so I'm going to give a quick example. Let me see if I've got enough time. We do I call this a 12 calculations example because there was actual project I worked on that had a batch of calculations I don't remember if it was 10 or 15 or 4. No, it was somewhere between 7 and 15 The exact number I don't remember But they came to us with a requirements document that looked about like this It's like 80 pages and this is an example project of now dozens and dozens of projects that I've done So using the methodology I used is I just asked them. So first of all, they were doing most of these calculations to To coordinate the manufacturing of a product on a Factor So you have to have a need at the one end the customer has certain needs or projected needs For this product and then that's on the side of the beginning is we need to get the materials in for it We have to know how many people are going to be working to assemble these parts Do they have the right skills and all that stuff and they would plan this every week every week They had to do this work and it took a planner a set of planners to say 10 or so planners all day long To figure out each week's worth of work So they wanted to automate that to make that much easier to do and they could kind of guess the value If they could do this in an automated fashion, they wouldn't need to do all this manual work It saves so much money per year So we looked at it Along with the team that I was working with and we all said the same thing We don't really understand very much about your processor about these things and we quickly looked through your document And it didn't make a lot of sense for us So what we'd asked them to do was to provide which one of these calculations is most important to you right now And they picked one for us. We'll pretend this was it And then we asked them about it. We kind of Gathered a little bit of information from them and we could tell almost automatically that part of it We didn't need to do Because it wasn't cohesive with the first part the other the bigger part this could be done separately So we took that part off And then we asked about a few other things we said well this part we can understand but this part is Not something we can understand yet. We need to do this first to get understanding of that As we went down a few more steps We ended up getting them to agree that if we delivered this part of that calculation It would be useful to them So we went ahead and did it and we delivered it That only took a day or two they came back to us and we asked them Now we delivered that it's helping you. What about these things here? They said, yeah, we still need this So we did it But we didn't do these other two because when they came back after those were done This was done. We got that done in just a few hours. They came back and I said, okay Which of these do you want now? I said, well There's another one of these problems. We'd rather these calculations We'd rather do each one of these fed into the next one by the way So these were all very highly coupled so we could automate a part so it's manual up to that part And then it would be automated part and then manual from then so they were actually taking data from their Many different sources and using it to do these calculations and we were doing We were taking basically the manual step and turning into an automated step. So we took the next one This one was really important to them. They started realizing after doing the first one This was one that was earlier in the process And if it failed to be done correctly Everything after it would be nonsense So every now and then they would do this one and then they would find later on They had to go back and redo it and redo all the work in between So we want to automate it to make it less likely that we would make that same Human error in it. So we looked at it. We said, okay, this part looks like something we can understand And this part right here is not cohesive. They don't belong together We can do it separately and so we did it and we delivered that that's how much we delivered two calculations They came back the next one. Do we want any more of this? And we did another little bit You see where we're going I'm going to do one more of these because this is exactly what happened on this project They now recognized the most painful one for them because they had experience with us delivering this Because you know what's the biggest problem is this area? Let's work on that. We did the same thing We took off some of the stuff we didn't understand that wasn't cohesive That wasn't needed and we ended up delivering this and this is literally what happened. They came in this is like five days of work They came back in and this represented in the old days at this place. This would have been a six month project Five days of work and they came in And they were proving that it was working as we went they came in and they said well actually I go what would you like to do next and they said well actually we have this other project we'd like to work on now We had taken away the pain the main pain for them and everything that they thought they wanted before Was no longer important to them. Do you see the value in this? Do you see the value in this? This is what I call the 80 20 80 20 if 80 percent of the use of the app comes from 20 percent of the features What if we just do those 20 percent of the features? Well, we don't know what they are up front But once we choose one to work on what if we find that 80 percent of the value of that feature comes from 20 percent of the Code we could write for that feature. Let's just do that So it would look like this With the 80 20 80 20 we are now only doing how much percent of the project Somebody give me the math four percent four percent That's what we did on this one. We actually calculated it out We did about five percent of what they originally had asked for when it was done and they decided they didn't want anymore I call this deliver features until board If we deliver features until board then the customer Is in charge of deciding what they want in their project instead of why do we do these big projects? By the way, why would have he done this? Why in the past would have we done this? What's that to get paid imagine how much more profitable the company is When we only did this much And we didn't waste the time to do the rest of this a part of this is we decide somebody somebody along the way says Yeah, you've got some stuff you need But it's not enough for us to get approval to write that project So we have to get a more substantial project So it goes up to the steering committee level and they can make the decision based on our project against someone else's And now we spend a lot of time making a bigger project when really they just need to get rid of the pain It's like which do we need some kind of morphine completely knocks out the pain or a couple ibuprofen or aspirin They just make the pain bearable They were happy to make the pain bearable because they had other more painful areas. They wanted to work Okay So what if we just cranked up our ability to deliver these small Potentially valuable bits and we discovered them as we went we would then be able to discover What is good? We would be able to validate that it was good and we would be able to steer to the next good thing And of course, that's what azur gives us We get this idea in a this kind of a cycle of coming up with the idea that we want to do We turn it into a story or whatever we want to call it We design it. We code it. We deploy it. We get some feedback. We evaluate and do the next thing Where in here can we do some learning? Where does the learning happen? Well step All throughout this we can stop at any point and say, you know, this doesn't make sense to do We didn't actually understand we took off this little bit that we thought we understood but we didn't understand it So what do we do? We can go back and say, hey, we're going to slice off something else. We got rid of these other things We don't need let's get that done Alrighty, so that's exactly what agile does. That's why we do these little bitty iterations And nowadays we can think of them sort of as little increments We're going to just deliver a little bit every day. Maybe we deliver two or three times a day That's basically what agile is about. I haven't worked this way exactly this way for at least eight or nine years And prior to that going back into almost the early 2000s I know it works. It's worked for me It doesn't mean it would work in your organization. I'm not meaning to hint that whatsoever Don't go back to your boss and tell them that. So this is part six of the last few little things I think we have just enough time to cover this I'll just Won't leave any room for questions You remember this from the beginning The object isn't to make art. It's to be in that Wonderful state which makes art inevitable. We want to have an environment where great things will happen This is what's important to me. Now we'll cover the thing from Russell Eckha Managers who don't know how to measure what they want settle for wanting what they can measure So that's not a very good thing, but it makes it easy to manage Makes it easy matter and I change this just slightly. This is how I like to say it Most of the things that really matter cannot be measured They cannot be measured So instead we allow the things that can be measured become important to us and that's not good We have to recognize that that may be The things that we think really matter only matter because they're easy for us to fathom Let's see what we can do about that Discover excellence. This by the way is a picture of me at my first job when I was 12 years old I've got a job watering plants. So that's what my wife imagined. I looked like And I think she's probably right on so anyways so we can discover excellence. Let's do that Let's do that. We want to create an environment where everyone can excel in their work Rather than everybody comes to work just wishing it was the end of the day already Let's make it where it's wonderful to come to work so we can excel in our work and when you can excel in our lives That's what I'm after. That's what I want. So that's it. Thank you very much So there's probably a session coming in right after this so I'll be happy to talk with you Outside the session, but thanks for participating. You did a really good job. So I'll give you a hand Thank you very much. Thank you