 Has anybody heard me give this talk before or this? Okay, I Thought if I if I could I'm what I'm gonna do is I'm gonna try to figure out what you most want to learn about And I'll try to save the time for that Because I don't think we have enough time to cover everything I want to cover But I sort of got this set up where we could stop at any point and there'll be plenty that you will have been exposed to to make it You know a good learning experience. I hope We still don't start for another 10 minutes so I can just talk about stuff in the meantime I started realizing I needed to share ideas By by doing talks and by by doing workshops about 20 years ago And I'll tell a little bit of that story when we get started and I was afraid to be in front of people I would be afraid to be in front of this many people let alone You know some of the conferences. I've talked that there'll be 500 or a thousand people in the audience So I have to learn how to keep myself composed and say the things I want to say and Not get too nervous while I'm doing it and all of that sort of stuff And that was literally almost exactly 20 years ago And I'm kind of able to do it now, but I use the slides to keep me from becoming From becoming lost or saying the wrong things or trying to Cover too much or trying to do too little So the slides are my crutch. They help me They help me stay organized Oops, I just pulled the wrong thing up Now that tape probably isn't doing much good any ups. I don't even want that That's what I want. Oh That's good It goes to the wrong side of the computer I'm gonna have to turn this around and stand on my head to do the whole presentation Which I don't think it's good We need more of this Can we do that? I want to get this to fit over here. I don't think that's gonna work We'll need more cord Look at that. Look at that. We have a bucket brigade Excellent. Thank you. Perfect. That's probably good. That's good Excellent. Let's see if this works Beautiful. Oh that resolution is really excellent too, isn't it? That was sort of being humorous Let's see what happens when I get my slides going it it may adjust or something That usually tries to adjust. I think it just did that. That's not too bad, huh? And I try to make my lettering really large so that it's all works that that'll probably be okay. Don't you think? Excellent Okay, I'm gonna get my clicker. We still have four minutes There's still some room here. There's rooms. There's room back there. There's some chairs back over there You know, we'll do our arm wrestling to see who gets which chair Right. There you go. So I Appreciate that there's so much interest in this and The reason I'm sharing these things I'll tell the story of that in a bit But I think that we definitely Need to make improvements in our industry in almost everything we do and I'm not gonna change much in your thinking today But I'm gonna give you a few things to think about This morning I got out to take a walk and I walked across this way across the road up where the For the Green Line goes and underneath there. I wanted to find a bunch of local Temples the smaller temples and I found six or seven and then I stumbled upon a food market where they I think Three or four things are going on there. They have people with bigger trucks bringing food to the area People with cart hand carts filling their carts so they can go out and sell Fruit fruit and vegetables out on the street. There are also people that were actually buying stuff I think for the restaurants maybe and maybe for their homes But I think it's more like for restaurants and I took a bunch of photos and I took a bunch of videos But all I could think was this is like a complex system that falls from very simple rules Very simple rules. Does anybody understand Kenevan? Do you know what I mean when I say Kenevan? That's so maybe think about as I walk through nowadays, you know once you read something like the Kenevan framework You start seeing these patterns everywhere to get yourself You know you just start Trying to rate everywhere you go. Is this a simple so this is obvious system Is this a complicated system? Is this a complex system? Is this chaos because it looks like it's chaos But you know, it's not chaos. Have you any of you been to those food markets? It's like they just pile the food all over on the ground and People walk through there's always men shouting I don't know what they're saying when I walk by somebody say bye bye bye But they're saying something else in other languages. I don't speak when I'm not there I was the only as far as I could tell the only you know American walking through there So it's clearly not it meant for general use, but I had a great time I watched a little boy. Maybe four years old working I have a grandson who's three and a half almost four when I was four I learned to milk a goat because we lived on a little farm. I learned to I learned to When it's a little order older how to To take a chicken that we were gonna eat and slaughter it and dress it So I know we can do these things is very young, but I've watched a little boy very diligently working I think he was smashing something that would be used to make a drink or something I don't know what but he was very methodical in the way he worked. It was really impressive So am I gonna get introduced or I just fire in Yeah, please. Let me know we're getting near done And if I don't notice you get the audience's attention and they can yell at me It's time to be done because I am really bad with time. Okay. Okay, so are we ready to start? I think There's a chair over here There's a couple over there some back there Now if more people come in that's okay It won't disturb us it certainly won't disturb me and I want to make a point if you do not like this and you Don't want to stay Don't feel you must stay go find somewhere else. You will be interested Okay, this is just some things I'm gonna share with you and won't hurt my feelings if you get up and leave in the middle As long as it's not like all of you That will make me feel really bad So some of you sacrifice and stay the whole time Okay, and would that still tells us two minutes But I think it's okay to get started because there's only a few people who missed the first few parts My name there's still a few chairs over here Are there any there's some chairs way back there and some chairs back over there we can take about maybe five six seven eight nine ten ten or twelve more It's okay to come in. Don't worry. Don't worry. It's okay to come in I'm gonna go ahead and get started, but it won't disturb me if you're coming in How many of you have your phone with you Okay, so be sure to tweet Tweets pictures and stuff. Okay, it's the only way anybody knows I exist So if I don't see you using your phone, you're gonna get marked down for that Okay Alrighty So as you can see I'm a lot less afraid being in front of a group of people now But that took me years to learn to do Right now. I feel pretty comfortable when I'm covering material I'm really interested in and this is a topic that I'm very interested in At the end of this 90 minutes that we have you will not know much more about how to deal with the problems with as of estimates I will tell you I'm trying to save time to share with you how I work with estimates But that isn't meaningful to how you would work with estimates I'm not here to tell you how to get rid of them or whether or not you should get rid of them I'm just sharing some thinking that I I think would be helpful to our industry to be doing So the first thing I want to do is an exercise where we're going to gather up from each one of you There should be post-it notes on every table. You'll just need to use one post-it note So pass them around so everybody has one post-it note and hopefully some kind of a Sharpie style marker, but I don't know if we have any sharpie style markers Do we does everybody have a marker at their tables? Try and try and use a marker to write down I'm gonna give you in a second I want to make sure everybody has your post-it notes and because we're kind of crowded usually I would ask that when the post-it notes are filled out you would carry them forward but it looks like you have to pass them into maybe the middle and we'll bring them up here and Let me get one of these markers and I'll tell you what it is. I want you to do and I want you to do this as quick as you can The reason I'm doing this right now Because I want to get from you what I'm gonna ask from you I want to get it from you before I've told you much about estimates at which point I will have tainted your thinking which is called anchoring and I don't want to be guilty of doing that but The rest of the day I'm gonna be making a lot of fun of estimates, but right now pretend I didn't say that Okay, so here's what I want you to do as quick as you can. I want you to write down in one word Let me see if I can get this What is an estimate at its heart? What is the essence of what is an estimate? Not are we what do we use them for not? What do we make estimates of but in one word? Please write in English. It's the only language. I understand What is an estimate write that down as quick as you can and then start gathering them up one word? Estimates are too hard. Yeah. Oh, that's not what you meant. Okay. No, you can do it. You can do it Think of a word that you could use in place of estimate So yeah, bring them all up hand them out. I hand them in and bring them up So so people in the center gather them to the people in the center and then they'll bring them up to me And we'll put them up over here Lots and lots of stickies Thank you. That's very good. Anyone who's a scrum master, you know how this works. So just help Thank you. Thank you. Yeah, if you don't mind somebody can help me just start sticking them up here Try to kind of slightly group them, but don't go ahead and put it up there. Oh, yeah, just get them We're gonna have a lot of them. So you got to get them in close Bring bring write it down quickly now somebody passes you about a sticky and you don't like what it says Just crumpled up and put it in your pocket Okay, just get them up there quick as we can get them up there quick as we can All right, excellent has anybody I asked earlier was anybody done this workshop with me before show of hands one two Two, okay So you know where this is headed. Yeah Just get them up there. Don't worry. Just get them up there quick as you can. Don't try to match them. Just get them up there Yeah, don't worry about it. Just get them up there I'll gather that. Yeah, there we need we need more room Excellent So I think there's probably 50 or 60 people here probably so we should get up about 50 or 60 stickies And we have more room over there if we need it, but that's okay for now That's I think we got enough room over here. Just get them up there We'll I'll revisit this in a while. I just wanted to get it before I've told you much So then we'll come back and see what you thought before I told you anything Yeah, there's a lot of stickies there This is kind of an interesting thing to me But I I've noticed this for myself That I really don't need to do this workshop If I were to guide you properly and just have you answer Certain questions like this we kind of all come together to a common thinking and oh it's telling me we're on battery I don't want this to run out of power There we go Okay, thank you very very much. That was a favor to me and we'll revisit this in a little while So again now we're going to really start this is called beyond estimates estimates or no estimates And this is the first part there's 83 parts each one takes about an hour This list some of the things that I'm going to do but I'm just going to rush ahead with it So for the first thing is if you cannot see this I'm going to move this down just a little bit So that it's not blocking as much Hopefully that'll help some of you I can't tell you what to do. I can't tell you whether or not you should do it I'm going to share with you some of my thinking and by the end hopefully I'll take a little time to tell you how I work But that doesn't tell you how you should work And I want to make it really clear because I have a couple warnings People become very defensive when I talk about estimates. It's the reason I talk about estimates I was asked to give a talk about a big success I had on a project back in 2005 or so And I asked well, what do you want to know? And they said tell us the things you did and the things you didn't do Then we had used a very much an agile Approach to do this work. So when I went to do that talk I had the things that we did and the things we didn't do one of the things we did was we worked in trios This was before mob programming. We worked often with a developer Tester and a product expert all together, you know at one computer and it worked really well This was sort of before we had thought of the mob programming way of working As I gave that talk and I got to the things we didn't do one of those things was daily stand-ups We didn't do daily stand-ups because we were working together all day long We didn't have to know what each other did yesterday or what was blocking them. We already knew There were other things we didn't do Certain things we didn't do and the third or fourth on the list was estimates And when I said that it was a group about this many people. I said we didn't do estimates And uh, I wasn't giving much of an explanation about it. You know, we didn't feel we needed them We'd done a value stream map if you know a value stream map It showed us one is a it's one of the non-value added items on a value stream map And we want to compress out all the non-value added items The customer doesn't come in and say I'd like to buy an estimate. I don't need any work from you I just want an estimate, you know, no customer ever does that or it's rare that they would do that Customers are interested in having the work done not in how long it will take They just want to get it done as quick as they can usually okay When I said that somebody stood up in the audience and they said, oh, no, we need estimates I said, okay. Well, I thought this will be good. Let's hear the argument And they said, well, here's why we need estimates They started telling me and then another person stood up over here. It said, no, he's wrong I thought, oh good. Somebody's already been thinking about not doing estimates But they said that's not why we need estimates Here's why we need estimates So I let that person ramble on for a few moments and then somebody in the back stood up And I said, okay, what do you think and they said, yeah, that's not why we need estimates And that's not why we need estimates. Here's why we need estimates It became clear to me pretty quickly that we didn't even know why we needed estimates let alone Boy, that's still kicking the power out here. It's pardon me, let alone Whether they're giving us value or not And that made it clear to me that this is something we need to be talking about Now I had already learned a few years earlier that we need to be talking about it 1999 and I'm going to tell that story in just a moment But now this showed me that it was pervasive across the industry in such a way that we really needed to have these discussions So I start thinking about it and the one thing that I ask is that you keep an open mind I read a quote somewhere you can probably tell me where it came from Where they said the sign of intelligence is to be able to hold two contrary thoughts in your mind At the same time without blood coming out of your ears Is something like that Okay, I don't know How many contra contradictory thoughts we need to keep in our mind right now for a topic like this But there's a lot so keeping it open mind allows us To consider the possibility that the thing we believe the most in the thing we have the most trust in might be wrong It doesn't mean it is but that is where we tend to fool ourselves and I do have some slides on that later if we have time Some of these ideas might not work at the place that you work You might need them really badly, but you may never be able to do them there So don't just rush back after you hear me talk about and say hey at the conference. They told us we shouldn't do estimates You know You'll get fired. So don't go do that I know three people now who've been fired when they try to take this back to their work So use a little bit of clear thinking That by the way is a picture of my father. This was before I met him, but um This is something he used to say there are a thousand right ways to do anything. So never think that ours is the one right way And he really met a thousand right ways He was an engineer and he solved a lot of important problems for the company He worked for which was back in in the phone company back in the 40s and 50s and 60s and He was a very wise person. I take a lot of what he said I use it every day now I wish he was still alive because I'd like to turn to him and talk to him about the things that I'm the struggles I have So I'm going to tell you a quick story this story. I call lessons learned I'm going to tell it pretty quick. It was really exactly 20 years ago next month that this started occurring for me. I got uh, I took a Job at the beginning of 1999 for three months that ended like March 30th 1999 where we were essentially doing Something that is I would call proto agile. It was like extreme programming It was one of the light they were following lightweight techniques to manage software development in a very small company And it was highly effective And I loved it and I was just switching my career from being in manufacturing to being in uh software development I was already 45 years old or so And I decided to um I really liked the way they were working it made sense to me and I wanted more of it So when that contract ended because it was a very short contract We finished the work in three months I went off to find another contract and I found a company that was hiring 200 developers now at that time I don't know if any of you were working in the late 90s But by 1999 if you could spell vb You could get a job writing software And I knew how to spell vb. I could even spell asp Except or I didn't really know how to do it. I bought a book and I read I had the book in front of me during My interview they did a phone interview and the person when asked me a question I said, hmm, and I'd find a thing and I'd answer his question And after about three or four questions, I couldn't find the answer and he said, you know, I'm looking in the book right now But um, I can't find the answer to that. So I don't know They hired me And about two or three months later. I asked the guy who interviewed me. Why did you hire me? He said, well, you were the only honest person I interviewed because you told me you didn't know and that you were using the book And I said, that's not a bad way to test honesty really Um, because I think they knew that nobody knew this stuff. But anyways, let's go on They were hiring a lot of people and I was one of the last three people that were hired the week they were starting the project They had already fired three people That couldn't get along with the boss. So they they were trying to replace them But here's what they were going to do. Does anybody know what iid is? Erative incremental development It's it's like a spiral model before agile six-week iterations Broke it into three two-week sessions two weeks of design which included Requirements finalization or requirements development two weeks of coding and two weeks of testing and integrating Those are really arbitrary numbers. They didn't make sense to me But I was looking for seeing how the big companies do this work And this was the closest contract I could find Uh, that was close to being something like what I was just coming off of But I really like this every six weeks. They were going to do a lessons learned What did we learn in the last six weeks? So we could apply it to the next six weeks now. This was meant to be a three to six month software development process how long is a three to six month Time in software development. How long does a three to six month project take? Tell me One and a half to two years Right It took them two years To get this into production and once it was in production and took them about 18 months to completely cancel the project They spent something on the order of 75 million dollars in 2000 year 2000 money year 1999 money You know, we weren't paying lots of money for our phones back then, right? It was this was a time when when two when 75 million dollars really meant something right nowadays, you know Yeah, they dropped that much money weekly on some of these projects Maybe we're going to do that over again. Okay, so we charged out to do our work First iteration we looked at the work that they were planning on doing we decided what we could do over the next six weeks We figured out what was started doing it Then he came to to the Coding, you know and then the testing and integration and then we did the lessons learned There were three things that I noticed that we learned Now I was just one of 200 developers. I was just a just like all the other developers. I wasn't a manager I was a well by the end of the first three six weeks. I had elevated to a team lead because I needed some people who could Review the code that was being checked in And most of the code being checked in couldn't even compile So that wasn't so good So they had to have somebody who could figure out how to make the stuff compile so we could at least test it And that's so they they found some tech leads throughout the organization and they raised us up to that Then we had our lessons learned the first thing I noticed was the estimates were off Now I didn't say anything about it because I wanted to keep my job But I noticed that everybody was kind of saying the estimates weren't helping us So what should we do if we're not very good at estimating? What should we do? Yeah, we could play start playing games with them almost immediately. But what what should we do? Small iterations. Well, we didn't get a choice to do that. What do you think they thought we needed to do? Get better at estimates Let's get better at estimates because we weren't very good at it They actually had some people to help us learn to do that. The another thing I noticed was The requirements weren't clear when we started So what should we do about that? Spend more time understanding the the requirements and that's what they decided to do. We need get better at understanding the requirements And then the third thing these were the things I noticed that were coming up That seemed really important to me. The requirements kept changing. What do we need to do about that? Freeze the requirements Do these things seem related to you? They seemed related to me. This is a pattern I had seen before In many other things than software development as well So we worked hard to get better at these things We actually uh, they brought some people in to train us and show us how to do it And then we scooted off to do our work So then We did that work and we had our second lessons learned now. This is three months into the thing We have the lessons learned. I noticed three things that were really prominent in our lessons learned Does anybody want to guess what those were? Yeah, so I don't need to spend any time showing you this, right? Same three things now. I had already I wanted to say I wanted to stand up and say I see a problem here But I kept my mouth shut Because I wanted to keep my job and I was just new into the industry I felt like, you know, I was an imposter. You've heard of imposter syndrome. Here's all these kids Most everybody on this project was 22 23 years old. I was 45. I was double their age I was like a father figure to them I didn't want to tell them I'm seeing a problem here We charged off. We got some training. We charged off to do our work. We did another lessons learned now. We're Four and a half months into this project I noticed three things. What were those three things? I don't have to tell you I stood up and I thought I'm gonna say something about it And I asked them this do you see there's a pattern here and they said, what do you mean? Well, we've gone three times now trying to solve a problem And we try to solve it the same way every time You all know there's a famous saying by a very famous physicist about that, right? Can anybody tell me what that's saying is It's the definition of insanity. Now. I didn't say they were insane. That would have been disrespectful. I said they were crazy No, I didn't say that I said, there's a pattern here and I've seen this before it goes like this. We we each iteration We Discover some problems. We try to solve them the same way each time and we do it over and over That's a pattern now in those days. Some of you were probably old enough to remember That was the heyday of the the patterns movement in software development Where the gang of four book had come out a while earlier and everybody was looking for patterns So I decided I should give this pattern a name and I called it The cycle of continuous no improvements Because that's what it looked like to me. How long are we going to go doing this? And i'm not going to do this as a workshop because we just don't have time today But i'm going to tell you I would normally do this in a workshop We would actually go through and look at each one of these things if this is how it works if a symptom of something Is apparent and we try to solve the symptom We will never get rid of the problem. We will just introduce more problems So that's this is what I tried to explain to them We're dealing with symptoms and you can't solve a problem by Trying to eliminate the symptoms So if the symptom is the estimates were off And we try to get better at estimates and it doesn't help us. What would the actual problem be? Now i'm not going to answer that for you here That's not my purpose in being here today. I'm going to try throughout the day to tell you things I'd like you to be thinking about I'd like you to contribute to the body of knowledge in software development About these kinds of things. There is no answer You can't learn by me telling you an answer That's like trying to jump to the end of your of your Education by someone just doing the tests for you and that never helps anybody okay If the requirements not being clear and we learn to get better understanding of our requirements and it doesn't help What's the problem? What's the underlying problem? And again, if they keep changing you can see how related these are to each other And that I started sharing my maxims at that time. I've been I've been gathering maxims a maxim is like a short pithy saying That explains some common truth that I want to remember easily and the one that I had come up with this I call it's in the doing of the work that we discover the work that we must do That was the underlying problem. They were trying to understand the work before they did the work And you can't understand this kind of work before you do it You have to start you have to start trying to figure out solutions to even understand the problem Because doing exposes reality okay Now I thought I was being pretty clear and obvious and making sense But after that moment Nobody would talk to me That's me Among this whole group of zombies I was just one of the many zombies and that's everybody else and remember they're 22 23 years old Well, I've been spending a lot of time with them Going bike riding hiking because I know the area was it was an area where I live And most of these kids that come from other parts of the world matter of fact, there were a number of programmers maybe 30 or 40 that were from India and they wanted to go out and see the countryside while they were in san diego So I would take them up in the mountains We have mountains that are like a mile high nearby and we would go up and do hikes and stuff I'll give you a warning. This is not anything to do with the rest of this talk but they um These were all very young and healthy people it would seem but when we go out and hike I could out hike them by a great deal after a half a mile or so they had to stop for a smoke And honestly, I think that smoking was not helping their ability to hike So and this is very true But many of there was one young man who was very physically fit Strong But he couldn't hike for more than a half mile or so before he would kind of have to he couldn't keep enough air in his system So here we go. These are kids. I was getting to know and now they wouldn't talk to me So I was walking down the hall and I thought I need to talk to one of them to find out what's going on So I was walking down the hall and they were kind of spreading around me as if it was like I was moses You know And they were the red sea, you know that story So they're spreading around me and I I cornered one of them by putting my hands out jim jim And he didn't know what to do This is a problem when you're too young. You don't realize you could just get around that old guy But you he was like a deer they say a deer caught in the headlights. He just stayed there So I had my hands out and I said hey jim I took him by the shoulders. Nobody will talk to me. What's going on? And he said the managers told us not to talk to you The reason i'm sharing this with you is because this is really the bigger problem It wasn't that it was a cycle of continuous no improvements It was it was unsafe To talk about the things in this company that weren't working well Does this make sense to you? I'm looking around This is a much bigger problem than them not understanding the cycle of continuous no improvements So this is where I start realizing I need to learn about this and start talking about it Which is why I was really happy when the agile manifesto came out because agile manifesto to me is about Revealing our problems being free to talk about them Collaborating well so that we can come to a quicker resolution of things Lots of other things as well, but that safety is part of the agile manifesto So no estimates I see as a placeholder for a larger conversation about the stuff that we're not allowed to talk about Now again in those days You can get a job if you could just spell vb. I already used up that joke But so I thought well, I'm not going to stay for this so At the end of six months I uh, you could get on the phone in those days and call a recruiter And be working on another project that afternoon. There was just so much demand So I did that but now I started keeping notes I started keeping notes everywhere I went to see how frequently I saw this cycle of continuous no improvements And I saw it over and over and over so over the next three or four years I had taken a lot of notes about the way people were working and I was starting to experiment with other ways to do it And that's what I'm kind of sharing with you right now Today is the idea of how did I discover these problems and then Once I kind of got a clarity about them What did I do to try to resolve them and it really came more to finding people who were also willing to talk about these things Without getting judgmental Than anything else because then we could collaborate to find solutions And it took me almost 10 years Exactly 2009 I'd gotten my career to the point where I was well known enough in my local area That I had credibility and people would come to me and say hey, we're We're trying to solve some of the problems you've been talking about. Can you come and help us do that? So rather than me having to just be you know one of a stack of resumes looking for a job People are now coming to me to ask me how can we deal with this and again? I don't have any there's no magic Right or in another way of saying it. It's all magic It's both so it's a paradox So this is where I like to share the object isn't to make art It's to be in that wonderful state which makes art inevitable and to me what this means is We need to create an environment where we can do great things And without that environment we cannot force great things to happen Now this is something I would actually want to spend a lot more time on but we only have an hour more today So let that soak in and the next time I happen to be in Bangalore You tell me if you've been able to find a way to apply this I think this has served me well. I learned it when I was about 25 years old From somebody who is doing very elegant lettering on signage And I was learning to be a sign painter at the time working as a sign painter And I saw this beautiful lettering and I and I found the person's phone number And I called him up and I said I've been trying to do this lettering you do. It's just so beautiful But I haven't able to figure out how to do it. I mean my lettering is similar But it's just not elegant like yours. He said well come on down I can show you how to make this lettering, but that won't help you I have something that will help you and this is what he shared with me He did show me how to do those letters But what he was really telling me was it's not you can't force your letters to be elegant You have to understand how a brush works And you have to understand how paint works And you have to understand how the substrate your painting on works There's a lot you need to understand And then those good letters are going to happen because you're letting your materials and your tools do it They are naturally good at doing And this is what I've tried to do in software development. Now remember we have 83 parts. We're under the second one I'm going to go through this one really quick as I can. No estimates started as a hashtag one day December 10th in 2012 The only one person who used it prior to that for something different Not related to what we were doing about a year or so earlier And I was just using it to mark a An article I had written for Ron Jeffries. Ron Jeffries had asked me I've been talking with him in Twitter about how we've been to work without estimates And he said, you know, how can that be and he wanted to talk with me about it And I tried to converse in Twitter, but there's a thing about Twitter. You cannot have a meaningful dialogue in Twitter It will explode immediately And people will attack you and if you don't have thick skin, then You probably don't want to be doing that. I have extremely thick skin I don't I don't really care if somebody understands what I'm talking about Because there will always be somebody who does and those are the people I want to be talking with I'm not trying to convince anybody of anything I can't convince. I can't even make a dog bark. You know, I could speak speak and a dog just looks at me like, you know So I haven't learned to do any of that convincing stuff The thing is I used it to reference to a post I had and other people got attracted to it who wanted to talk with me And so every week I would set aside two hours to talk to somebody in the world Through skype or some other web conferencing about these ideas And they'd always want to say well, how can you work without estimates? And you know, the simple answer is well, don't do them It's that easy like, you know, how do you have coffee without sugar? Well, just don't put the sugar in you don't have to take it back out, right The controversy came for free The reason that i'm here today is because somebody in sweden in 2013 saw how Controversial this topic was and wanted me to bring that to a conference So I believe that twitter is good for that I think that's actually a very powerful aspect of twitter It exposes ideas to many people and if they're interesting to enough people Then, you know, you get a bigger audience and I was simply looking for people who are willing to have this conversation Okay So what does no estimates mean? I already told you it was just to refer to a project where we did not use estimates and therefore I could call it No estimates we did no estimates. Well, how does that work? And I wrote that article to explain how we did it And I'll tell you a little bit about that in a bit. I still have a couple of exercises. I want to do It's not a commandment thou shall do no estimates. It's not not a command. I'm not commanding anybody to do that It's not a declaration. We will not do estimates I'm not claiming that either I won't work with estimates if you want to hire me to come and do software in your company That's one of my requirements. I won't do any estimates If you want estimates figure that out for yourself Matter of fact, I would say I hope are there any managers in the room? You're managers If you'll admit it. Okay. Good. Quite a few. Please don't take this wrong I've I've been a manager most of my life. I've owned about 16 or 18 businesses I know what it means to own a company and I know what it means to manage work Um I believe that a manager of software development should never Ever ask a developer. How long will it take to do something? If you don't already understand how long it takes to do the work you're managing Why are you a manager? This is really serious. So how many of you have been asked to do an estimate show of hands in your career You've been asked to do an estimate does it make you happy when you get asked to do a quick Let's see show of hands. Do you get happy when they ask you to do an estimate? Let the record show nobody raised their hand So how many of you have asked others to do estimates in software development show of hands Almost as many does it make you happy to ask someone else to do estimates show of hands Two three four five that makes us happy Why are we doing something that doesn't make us happy? Why are we doing something that is not adding to I would say the uplifting nature of work? It kind of drags us down now That's not a good defense for doing or not doing estimates or a reason not to but I think that it is an indication We got to think this through So to be able to do a good conversation about this we need to have a good definition So this is what I really want to make a point of and that's what we're going to use this for now If we don't have a clear definition, this is called a bounded context We're going to give meaning to the words we're going to use within this context of a discussion You know ddd domain-driven development You know a bounded context. This is sort of the idea. So let's talk about what you said, okay Let's see what we got here. Oh, yeah. Well, somebody did a nice job of grouping things This is going to take me a minute Because we have quite a few of them here It won't take me too long Oh, yeah Yeah, I I don't I don't have any way to know but I know with this many You won't most of you won't leave Yeah, so here's the here's the thing. There are many things we can actually estimate I'll give a really good example of that I can estimate approximately how much it will cost for me to To support a team of six or eight developers Just give me the number I can calculate what their pay will be. I can calculate how much equipment they'll need how much room we'll need How many software upgrades we're going to need during the year to pay for I can I can estimate all that's close enough to know for the yearly budget How much will cost to have a team for a year? So there are things that we can we can estimate without too much trouble Oh my goodness Let's see what's over here. I think this is enough Um, I do want to I'm going to try and group them up pretty good Uh Oh, this is good. Most of you were able to do it within within uh one word And we're getting close to uh, some this is a one way we can use estimates by the way. I could have um I think easily Estimated the proximate distribution of your answers because I've done this about maybe A thousand times Over 500 times now I'm going to put this one somewhere special because I want to talk about it separately Okay, this is good enough So I have these different groupings That I usually get It's a guess. It's a guess. It's a guess. It's a guess. It's a guess. What is the prediction? Ah, it's a guess. Yes. Okay. Thank you So it's a guess. It's a guess. It's a guess Here's somebody who said it's a probability So we're worked those are all grouped. It's a probability We'll talk about that in a minute and then here's what's about size time cost money a number So it's a guess That maybe we could think of as being a probability. I'm not sure how that comes into play Is there a probability on our guesses? Like I think that's a tricky one. We pull on ourselves. What's that? It's a so it's a mathematical guess, right? So so and the data that we get in doing a software development estimates Is sketchy at best and it's always based on guesses no matter how if we do a have you ever done a work structure breakdown? Do you know what I mean? So you say, oh, this is the project we want Well, what are the different kind of feature areas and what are the specific features? And what are the parts of those features and what are the tasks to do them? Somewhere in there we have to make a guess about how long it will take to do something Right, so this somebody says value, but I'm going to make it real clear right now I'm only talking about estimates of cost Size time that kind of thing not about the value About the cost of doing software development We also need to do estimates of value, but the only kind I'm going to discuss remember I'm saying I want to limit it Okay To be able to measure an estimate of software development isn't a measure an estimate of how many fish Are going through the river that are going to spawn up above so we can get little ideas are fishery growing or shrinking That is a measurement This is not a measurement We're not measuring anything you can't take it and actually measure it So this is I'm not sure that it's really a measure So value we're going to put out that really doesn't come into play So that we can We didn't get a lot of them that say planning Two or three normally I would see more of the distribution will really be more But we also have some outliers here useless estimates are useless because your boss comes in and says I've got to have useless by the end of the day It's meaningless. I need your meaningless uselessness by the end of the day You know, they won't actually say that here's another good one It's an illusion and we might take a step further and say it's a delusion It's unreliable Okay, so this is good enough This grouping is very similar this grouping This is about what I normally see about 50 percent our guess or prediction About the time the size the effort so we can do sometimes we'll say an approximate Of those things so we can do some budgeting and planning But then we also have these dysfunctional things So we can set a deadline so we can manage expectations Is there anything you like more than having your expectations managed? Every day you come to say could somebody please manage my expectations for me Why do we use that terminology? So we can make a commitment or a pledge. I think some of these say promise I'm going to show you one of these same exercises. I did with a small group of c level people mostly cto or cio types What's the first thing you notice about it? They couldn't do it with one word and they finally said okay use up to three words They literally couldn't do it with one word which tells you something about the manager's mind This is a grouping that is more or less about guessing, but let's see what they needed to do. It's an educated guess I love this one. It's a current best guess Does the boss ever come in and say just give me the worst guess you can Best guess informed guess. Why couldn't we just say guess, you know, uh ballpark value What do we do with that ball? But that's a swag Scientific wild ass guess That's how we hear it put They call it a swag and now I was just in South Africa in Africa. They have Wild asses there who actually do a better job of estimating than humans Somebody told me A license to deviate that probably should have gone off there somewhere a quantified guess with a confidence interval Do any of you ever work with a confidence interval? Do you know what I'm talking about? It's like they'll say well an estimate has to have a range, but an estimate by definition says approximate Which implies there's a range. So if I say it's my estimate is 12 That means it's approximately 12, which means there's a range So if they want to specify the range, then that's just adds to it When we specify the range, we're adding an estimate to our estimate Well, I think it'll be between 10 and 14 weeks And then we want a confidence level and I'm about 70 sure we have an estimate of our estimate of our estimate Do you see how that is? It's an estimate the confidence level is an estimate. You can't prove it It's a it's a fallback to say. Well, I said we were only 70 sure And so yeah, we fell into the 30% this time instead of three to six months It took us 18 to 24 months, but we were close, you know, okay, so let's do an estimate Three months from today You have to write your name on a white index card with a blue fountain pen Three months from today, you know when you're going to start How long is it going to take you to write your name on a white index card with a blue fountain pen? Somebody tell me Three seconds I used to I had a business where I had to sign the checks myself And I could sign about a hundred checks in like Two seconds per check They just line them up and I would sign those checks You know, it doesn't take very long to do but let's change this very slightly Right now You need to write your name on a white index card with a blue fountain pen. How long is it going to take you? Somebody tell me Three months That's what you should always tell your boss. We're learning the lessons quickly here How long is it going to take? Right now Do it Get out a blue fountain pen Does anybody here have a blue fountain pen? You have a blue fountain pen. Can I see it, please? Here's a gentleman who's prepared to do any work At any time No, no, this is a fountain pen I'm gonna make sure it writes Excellent excellent Who has a White index card? You didn't bring a white index card Okay, I'm gonna get out a pen here. I think I've got one in here I'm gonna make a warning don't take a fountain pen on an airplane without removing the cartridge and putting it in a plastic bag Because it will then leak all over your stuff. So watch out This has got blue ink in it. I go I write the fountain pen. I write it on the uh On the card. I take it to the product owner. He says no, no, no, no, no, that's not correct I said I wanted you to use a blue fountain pen and you used a yellow one Do you see what I'm saying here? We don't really know the requirements How can we do the work? Now that's one of the things again that I usually do in an exercise I want to find out what's the first thing you do when you're asked to do an estimate Somebody tell me what's the first thing you do when you're asked to do an estimate What's that? Breakdown you break down a cry What do you do? Read the requirements and then what do you do? Ask questions Now when I do the full on workshop of this that is like the same kind of distribution Almost everybody says we get more information Because usually the requirements that were written down for us are not sufficient We act as if they are sufficient and that's one of the things I really like about agile With agile software development. We worked with the people You know it says that one of the principles is you work daily with the business people They call them business people whatever that means You work daily with the customer if you can in a very much an extreme programming way Okay, I hope you get the idea. I got this from double Double poncho. He worked for agile 42 at the time. You no longer say he's an independent consultant in houston, texas Okay, so this the reason I bring this up I want to talk about these different kinds of things we could be estimating One is the work time the work times the amount of time it actually takes to do the real work to write my name Only takes a few seconds, but gather gather everything together that we need could take Uh, if we have a blue fountain pen, but no cards it take us at least a time to go find some cards somewhere And in fact, I'll take it a big step further What are we supposed to have Could we have blue lines on the card because index cards often come with blue lines? It's a white card But it's already got blue lines. Can we use those cards? We need to get that clarity Another kind of time is the elapsed or cycle time cycle time Does anybody have a good definition of cycle time? They want to shout out Cycle time is the amount of time from when we start the actual work Till it's completed Okay, so that's cycle time There's also a thing called lead time Lead time is from when the when the customer requests something Until it is delivered. So cycle time is not yet necessarily delivered. Although in modern software development, I would say it's it's uh It's got to be delivered and in use for us to really meaningfully Learn anything about it, but this is the problem we have in our industry Well, I don't think we can really estimate the work time. I think it's a trick we play on ourselves That's why I wanted to get all this before I Before I Told you any of this stuff, but we certainly I don't think can estimate the cycle time It's not very useful and lead time as well There's no way to take the average of all our jobs and then go to somebody and say oh Our average job takes three months. So that's what you're going to get You know some of our jobs take 12 minutes and some take two and a half years So, uh, I don't think that we can actually Usefully measure cycle time. We can measure it. But what good is it? To do that. That's the one of the things that bothers me. Um, let's scoot on I'm gonna pass on that one. So our working definition I want to work with today 12 15 we go till one right? I'm trying to think about what's the most fun to do. You want fun or do you want to learn something? I think we're here to have fun, right? Or at least have some fun while we're learning something So this is the way I like to phrase it an estimate is a guess of the amount of time usually the work time To create a project a feature or some bit of the work in doing software development So what we're doing is we're going to make guesses About this stuff Is that useful to us? That's my first question. How do we validate that? Oh, let me bring it back if you want to get a picture. I do I did give a a copy of these slides to the Conference and they'll they're not exactly these slides, but there's some version of them that have all this stuff in it Uh, I had to break some of these in half. Uh, I'm thinking of doing this exercise No, I think I'm going to skip it I think because it's going to take us about as much time as we have left So I'm going to do this exercise Why do we do estimates? I want to do this as a three minute exercise Where you would do this with the people sitting around you try to form groups of three or four people And come up with as many reasons as why do we do estimates? Put it on post-it notes one idea per post-it note One idea to per post-it note Gather with three or four people around you and if you're sitting next to people you detest Come up with a nice reason to move somewhere else Okay So come up with as many as you can we're only going to go about three minutes. So start Right as many as you can on the post-it notes Gather so I think what I'd like to do you've discussed them I'd like to just hear one So somebody share one that they have Oh because they think they have to That's an excellent. Does anybody else have something like that because you think you have to Does anybody have something like that? Like that's what my boss asked for I have to do them Okay, what else who else? It's a traditional practice That's very similar to because we have to Very similar. Did anybody have something like that? It's because it's what we already do Did anybody get that as well? These are unique so far. What's another one? To stay within budgets. How did we make the budget without the estimates? Did anybody else get to stay within budgets? Wow, we probably have a thousand unique reasons Okay To meet business we do the estimates to meet business revenue goals Which are an estimate about how much we should be making we're making estimates to meet an estimate Right, so they've given you a goal, but that goal is probably an estimate about what do we need to give them so they'll work harder Right Has anybody ever said you know what our people don't work hard enough? We want them to work harder and tim ottenger. He said well, just take a half the keys off the keyboard They'll have to work a lot harder than For resource commitments So we have to know how much time so we know what people and what money will need. What else? Confidence of the team Confidence oh to destroy the confidence of the team What do we have here? To align the Align dependent teams. We have to know when they'll be done So we know when we'll be done So we know if they say two weeks it'll be six months and then we know when to start our work How long will it take to deliver? We want to know how long it will take to deliver What else? What's that? To make certain decisions. I'm going to put this up at the top Because that is I think why we do estimates. We're going to relate back to that. Let's have this one Oh, oh, so so value so we're going to use an estimate of value and an estimate of cost to determine our ROI Which is return on investment in other words We're going to have an estimated return on investment because the real return on investment can easily be calculated Once we've completed the work and we're making income on it We can actually know the return on investment But this is just an estimated so a guess about value and a guess about effort But why do we need to know that so we can make a decision about what work to do? Okay, let's go on more Because you hand that forward Oh, it's two for one To to plan better Oh, so I would say to plan not necessarily better Right, we want the confidence that we did our best to To understand what was in front of us, but how do we value it? How do we evaluate? Was it actually better planning and then better management of the people and plans that we kind of had one like that, right? to know To know the resources, but it's about the planning, but Planning is about making decisions. Let's have this one predictability same thing cost So we do estimates to have some predictability. It's a conversation start, but why do we want to have the conversation? to understand so we can Make some decisions, okay Exactly, what do we have here? Use for finalizing so this is this is a legitimate use of estimates Which is to make a contract with a client So we're going to make a guess about something and then we're going to put it in writing and this leads to a lose lose situation Right, we made a guess. They're expecting it to be true So our contract is going to have six or eight pages that tells how they're going to in the end have to pay us a lot more money anyways Does that make sense if you've seen this that often happens those contracts have to be really good Time so we know when to start marketing So why is marketing so far behind the rest of the world in understanding lean concepts and agile concepts? This is one of the things I really impuzzled about If you came up with something really brilliant today, that's going to shut down your competition But your marketing says that'll take us six months to a year to plan that We're going to waste six months to a year to get this into into use. I don't think so False sense of say well, okay false sense of safety. So we got this so we're qualifying it Yeah, we're doing it to delude ourselves. So Let's have a few more. What's this? Oh, so we can raise an alarm ahead of time Dang, we have a lot of these suckers To measure productivity now an estimate cannot measure anything in this sort but but the actual work we can measure So do we is it useful for us to measure against our guests? What will that teach us about the future? That our guesses are always off Right because I it's just a guess estimate to estimate those helps to estimate the cost of forecast the schedule So really we're just going to make guesses To forecast the schedule so that's for planning for tracking We'll talk about these in a minute I think we've covered enough things. Can we all see this is mostly about making decisions? Let's talk about that for just a moment What an estimate is We usually use it somehow to try to predict something about the future We're trying to know something that we wish we could know And that's legitimate when it'll be done. How much will it cost? What can we get done in this sprint? That's not so much about making the bigger decisions That's like a very small decisions about how much work will we take in which I think is a faulty way of working anyways How many people will we need some of you brought that up? This information that we're getting is it facts? We call them estimates if they were facts, what would we call them? facts Yeah, that's pretty simple right This is information. It's just information. This is stuff. This results of our estimates is just information It's what do we do with this information is we're going to make decisions And this is what worries me the most Is that we're going to use this and think we made good decisions I have a really an inexpensive way. I can sell you one of these for for a hundred rupees I would make a good profit on it because it says five on there There's a decision-making tool right there According to Our chances of making a good decision are not much better than that Using these techniques that we use if that's really true I can save you a lot of money and I'll make some money in the meantime Although you could go buy these for about five rupees yourself. Matter of fact, I've got one here. That's only one rupee Do you have coins smaller than one rupee? So there you go. So you could use a one rupee one if you're really on a budget We have this thing about sparking conversations I often hear that as well, but it's rare that people want to have those conversations unless we are trying to make a decision I think it's all about making decisions So what are the decisions we're trying to make? Let's hear some of that without doing it as an exercise because I want to kind of finish Relatively on time and we have about a half hour left What are the decisions we're trying to make? Whether to do the work or not So we have this project we'd like to do and we decide whether we can do it or not And so somebody says what will the value of it be and somebody else says what will the cost be? Okay, usually who inflates The most the people with the cost or the people with the value I usually see the people with the value Over and over again This will add 30 million dollars to our bottom line They will make up numbers. There's no way to prove any of that It's really easy to say we need to know how much will cost to do this But normally, so let's say this is how much time we have from beginning to end We spend this much time making decisions gathering information Doing the estimates doing a bunch of requirements stuff this much time to code and a little bit more to test And yet this is where the time could be compressed out of this thing if we worked in a better manner Do you see what I'm saying? This is this is important just as important as the time of doing the work. Why don't we estimate that stuff? Some people have had this I've had it happen to me. Has anyone ever come to you and asked Can you make an estimate about how long it will take to estimate this project? Show of hands has anybody ever been asked that look at that did you go? I'm looking for another job Because that makes no sense to me We want to estimate about how long it will take to make an estimate. Well, I can make it a guess I can give you those both of those in about five seconds You know because I'm just going to make a guess anyways. In fact, I'll tell you a story about that I was working at a place. This would have been in 2004 or five And it was when I was taking a lot of notes about this stuff and my manager came to me I was writing code on this project and we had about 40 developers and he came to me and said Hey, I need those estimates by the end of the day. I said, you know, I've been reading these documents And there's just not enough information here to make estimates. He said look, Kurti got her estimates Anders got his estimates. Greg got his estimates. Can you guess where those people were from in the world? Kurti was from this part of the world. Anders was from Scandinavia and Greg was from South Africa So I thought why don't you go ask Anders and Greg and Kurti How they did their estimates because I can't figure it out So I won't tell you the names of the people because this might be filmed and they might see it as to who I asked what But there was these were the answers I got one of them said I just don't I just uh take the list. I don't even read the documents. I just write down a bunch of high numbers Another one said I don't read the stuff. It just takes too much time I just write down a little bunch of low numbers because the manager seems to like low numbers And the third one said I read the names and try to think it did I do anything like this before and how long do I remember to do it That's pretty fragile data, but that's how they got it. So I went back to my desk and I literally Just took the list and put a bunch of high numbers next to it I went to the boss and I said I got the estimates for you. He said great I just made up the numbers as fast as I could. Thank you What was he going to do with those numbers? Somebody tell me What do you do with those numbers? They punched them into some System that they had He just needs to put a number by each one And then his job is done. They could put another button and it kind of shows a a gantt chart or something This is literally what he said. Thank you after I told him I just guessed really quickly I said, why couldn't you have just guessed really quick? Why did you have to ask me to guess? Have you ever seen this show? They used to have a Way before I was born. They made these films. They called the three stooches. Have you ever heard of the three stooches? So Moe is given a task by the boss guy and moe takes it and he turns to to larry And he hands larry the the thing says get this done and larry takes it and he turns to curly joe Get this done and curly joe takes it turns and there's nobody to hand it to We're the curly joes in software development They ask they ask they ask they ask we have to come up with a number and up it bubbles up This doesn't make a lot of sense to me. Okay. Now there were 83 parts. We're down to the third one Okay, I have an exercise we can do. I think I want to do this exercise It may fail here to work the way that I like to have it work It'll take me a minute to find a file that I can that I can bring up But I think I'd like to do it. Let's see what happens It's a so this is the problem with a lot of the exercises that I do Let's try that one first If that's the wrong one, then I'll oh good. This is the one Okay, you know that was luck So this is a lot of exercise I like to do in a in a workshop sort of depend on a sufficient number of people This one also depends on the people having Some ability with the english language now I know most of you probably speak the english language or you wouldn't sit through this workshop with me babbling on in a language you can't understand Uh when I was in grade school I was the only boy who could compete with the girls in spelling So the rest of boys were terrible at spelling now. I wasn't very good at sports But I liked to having something that they could cheer for me about And so I was a pretty good speller, but once I started using these things My spelling has gotten worse and worse So one thing that happens to me is I will start spelling word and I'll mix up the letters So that's what this exercise is kind of about. I'm going to give you a short list of um words to correct the spelling So the first thing I'd like you to do is have One or two sheets of paper There's a bunch of those notebooky kind of things and you can use post-it notes if you want You're going to need a pen or a pencil and you're going to need your Phone with a stopwatch on it Now if you don't have a phone with a stopwatch you could probably work off of somebody sitting next to you As long as you have a stopwatch going You know the stopwatch is you you you start it You start it and then when it's done you can stop it and you see how long it took you So this is what I like you to do Everybody needs something to write on and something to write with because what you're going to do I frequently misspell words When i'm texting something so I had I was Convert having a conversation with my wife and it wasn't this exact list But I got a bunch of the words misspelled and I'll usually send her a note later saying is was there anything there you Didn't understand but what I'm going to have you do is actually correct the spellings In about 10 simple words that are in English Each word is between three and 10 letters. So they're relatively short words your job is just to correct the spellings I want you to estimate so put that down on your paper Estimate how long is it going to take for you to correct The spelling is really just jumbled mostly just jumbled spellings Each word probably starts with the correct letter You're going to you're going to solve 10 simple misspellings How long is that going to take you to do? Write that down make a guess Make a good guess You don't need to be don't worry about being too precise ballpark is fine Scientific wild ass guess, okay Again, everyone's got a paper. I'm going to show you the words You start your timer you write the words on your paper with the correct spellings You'll stop your timer. You'll call out root root When you call out wood root that tells me you're done I'm going to go ahead and demonstrate calling out wood root When I grew up when I was a child we had cowboys Cattle and the cowboys would be bringing the cattle through and they were always whooping at the cattle they go Like that. So let's practice that when you're done. You're going to call out wood root and stop your timer everybody three two one See how easy it is multi-task So if we're ready to start I'm going to count down and then I'm going to show you that list Everybody wrote down how long it's going to take Okay, so here it goes three two one Here's the list of words correct each one as quick as you can try to do it Try to get get your estimate if you can it doesn't matter that much. We're going to see something about estimates If you can't say say everything you might need to stand up to see it You got woodwood when you're done Come on as well like that There we go If you can't see him, please stand up. I'm sorry about that Hey, there we go You might not know all of these words What's that? Yes, well, this is life. Okay. I want to make it clear Most well at least half of the intelligence in the world comes from the girls. Okay Is everybody pretty much done? Okay, we're close enough. So here's what I want to find out first who estimated More time than it took them Who estimated less time than it took them? Okay, we often Overestimate just to make sure we can get it done on time now. This was on no work, right? You didn't know how long this would take because you don't do this every day But this was so simple and yet we will almost always overestimate Now there's also this thing that's kind of a Optimism bias that humans have have you ever seen developers are sitting around the table and they're kind of talking about the estimates And someone says I think that's going to take about two days And somebody else says no, I think it'll only take about a day And then somebody will say I could do that in half a day It's like they're bragging about how little time they can do it in This is troubling Okay, I want to know the range What was the least amount of time somebody thought it would take? 30 seconds anybody less than 30 20 anybody less than 20 And you still got it. Did you get it done quicker than 20? Okay, what was the longest somebody thought it would take? Five minutes so look at the range we had 15 minutes Wise Somebody once told me if your boss asks you how long it'll take to do something it's never less than two weeks So 15 minutes so we had a range of 30 well 20 seconds to 15 minutes Could you make an estimate for how long it would take someone else to do it? And yet when we are going to decide how many people we need to hire? That's exactly what we've done. We don't even know the people yet And we're estimating how long it's going to take them to do something interesting I have another quick one to do This is a very much shorter exercise The reason I by the way that I want to talk about the ranges and so on is that Some people will ask three or four people for an estimate and then they'll take an average And I'm not sure I think that we're trying to pretend that that somehow gives us value And there are some people actually propose that as a way of doing estimates. I'm not sure that's useful Okay, I have another very simple exercise. It won't take you long to do it all I'm going to show you the first and last letters of a common Five letter word You can see the first and last letters and you need to fill in the three other letters I want you to do as fast as you can your job is to fill in the blanks To create that five letter word You're going to know the first and last letters and you need to fill in the blanks How long will it take right down? How long you think it will take pretty much the same process I want you to improve a little bit on your routing. That was a little weak But have your stopwatch ready One word I want you to estimate how long we'll do if it's going to take you the quickest It's not going to take you 15 minutes How long is it going to take to do? Okay, write that down and then I'm going to show it to you and I want I'm going to count down three Two one and we want me to show it do it as quick as you can So you start your watch as soon as I got counted down stop your watch as soon as you're done and call out woot woot I expect to hear a lot of woots pretty fast three two one Fill in the blanks don't say anything Any more woots? It's kind of like a pack of popcorn that you put in the microwave Alrighty So I want to ask you I want to ask what words did you come up with give me a word How many had how many had sleep 50 percent of you had sleep why? Here are the some of the possible words scrap stab steep strip scalp set up sharp scoop scab scoop Snoop scab scoop sheep stop and sweep. Why did you say sleep? What's that? This is called priming You were primed Now I'm going to make this really really clear There is almost no way To make a decision Without priming having happened There was a there was a study done about pricing of items you probably have read about this one You take the last two numbers if you have a identification number that's got you know digits You take the last two numbers you write them down for each item of a list of items you need to propose a price for So the first one you would write the last two digits of your id and then you'd write the price you propose The next one you write the last two digits of your id you write the price you propose The people have a smaller last two numbers Guess what happens? They come up with smaller numbers for their estimated prices Totally arbitrary priming There are all sorts of things like this that happened to us. Have you ever seen a Manager come into a team? I saw this exact thing Two years ago about on a project I was working on I was helping this team learn some stuff And the manager came in and said we were getting ready to deploy that afternoon They were on like a two-week deployment schedule and the manager came and said The customer wants one more thing before we deploy it Why were they doing this? They weren't praying They were Small they were saying I mean one more thing and the tone of voices. It's tiny That's that's anchoring The higher level of the person doing this The stronger that priming is I'm going to see if I can find I might have some I have some studies from the IEEE that show this drastically they did Items where they they gave some guidance Different types of guidance to get different groups and a control group And the guidance really affects what numbers we come up with if we get that far We only have 15 minutes left. I think I want to go about another I think I'm going to skip to uh, how I work. Do you want to hear how I work? Okay, I want to make it clear. This is not actually useful to you Everywhere you go. It's different I started with a mechanism that I'd learned in the 90s Um See if we oh, yeah, we were at the third part. I have to skip to the down to one of the other parts You can see there's a lot. I know what I'm just going to flip through these just so you can see the pictures Because there's a lot of cool pictures. My wife is a children's book illustrator and author She's just sold her seventh book to a publisher And so I get to occasionally use some of the art that she's done So that's where these all come from. We'll just skip this real real quick Um Feynman The first principle is that you must not fool yourself and you are the easiest person to fool We will this is confirmation bias. We will always trick ourselves Humans almost cannot help from tricking themselves If they have something they believe in they will discard the information that proves they're wrong And only accept information that indicates they're right Okay, so I'm going to just quickly go through these things How can we improve our chance at getting wonderful? How is it that something that seems so right estimates could potentially be wrong? How much work does it take before we have enough understanding to be able to give a reasonable estimate? These are the kind of questions I ask people when I'm trying to guide them into telling me whether their estimates are actually working for them or not There's more work to do in getting that understanding than in doing the software development itself This is what I am so troubled by the way your estimates are usually used How do we know that we made a good decision? I've asked this question two thousands of people in groups like this And nobody yet has come forward with a reasonable way that they prove That they made a good decision based on their estimates I'm just asking you to consider these things Are the things we think we want a trap? Does it lead us to this sunk cost bias after we've spent so much time deciding to do this work? How long does it take and how hard is it to say we better not do this work? Once we've got to the top point where we set aside the budget and started working on it We become do we become inflexible? Yes, this one Did I spell it wrong? What did I do? I will warn you right now. I've been married for 36 years and if you're not married you should be And if you get married be sure you marry someone who's perfect for you Because otherwise it's a pain So I happened to luck out and my wife is just absolutely wonderful Everything that I've learned That's important came from her all of the wisdom I have somehow came from her So be careful in making that decision. Please I will warn all of you If you're not already married make a good decision if you already are Nothing I can do for you I hope you made a good decision Is this acting as a hardening agent so that it's hard for us to undo the decisions we've already made Is getting better at estimates the only way? When I travel around the world like I do I gain weight because everywhere they give me Too much food and there's always candy and I can't avoid eating the candy So in sweden is a real good example every place I go in sweden They bring out a dish of candy in the afternoon and as I walk around doing my workshops, I'll eat the candy So my question is if I don't want to gain weight How can I better eat that candy? Should I chew it faster chew it slower swallow it whole Eat it with a carrot Should I chop it into little bits should I liquefy it? How can I eat the candy and not gain weight? Don't eat the candy It's that simple otherwise have to what if I eat candy today I have to walk 10 miles tomorrow instead of five miles just to work off those calories If the type of decisions we are using require that we use estimates are there other kinds of decisions We could be making so I'm going to cover one little bit and I'll share with you how I work There won't be any time for questions after this. That's a good thing because I have no answers Is being on time and on budget a good measure of whether or not we made a good decision based on the estimates That's meaningless and yet I've seen people dinged or You know in trouble on a job because they didn't get their work done. That's they promised By their estimates. So we get this thing called creative accounting. This is just a little bit that I'm sharing I've seen people do feature cuts now feature cut isn't Where we just haven't started work on this feature yet We've done substantial amount of work on this feature But we can't get it into production because we can't get we can't fix the bugs in it. So we cut that feature We've wasted a lot of time as a matter of fact, it's usually near the end of a project And then we finish it and we say we got done on time But we also didn't get all the features we had promised. Is that really on time and on budget? No But here's We're starting to get into some pretty tricky Territory do we have to work late or extra hours now? I don't know how it is here in India But it's not unusual in the u.s. Or at least it used to be I don't know exactly if it's that way now That we are required to work extra hours near the end of the project Do we have that here too? It's a soon this will happen Yeah, you shall argue with my manager Why don't we start with way too many hours and then as we start Getting worn out then we reduce the hours so we can keep working But we do it the opposite by the time we've run out of money in time. We increase the hours I don't think that's good, but here's a much worse one Not recording all the hours Against the project now. I'm not going to ask you if you've ever been required to do that I have been asked to do this and I told what do you think I told my manager I said hey, no problem. You write down whatever hours you want. I'm not going to lie on the documents So if you think that we got to write down that this this time wasn't for this project because you get paid your wage anyways This is unethical in my opinion. I won't do that Okay, so Bertie moves us and we'll end with this and then I'll go on how I've worked the fear of losing control is a big barrier for change Although much of the control is merely an illusion of control and I would replace much with all But the fear is real This is the issue This is the problem We want things to make us feel like we're in control. We want things that make us feel like we have certainty Okay, so let's see We'll go through this real quick. You can see all these pictures of important people Just makes it look like, you know, I'm doing something right And now again with my warning. I'm just telling you how I've worked Does anybody still have like a pretty much a can you can you give me like Does anybody have like a huge stack of post-it notes still Can you have a still a few? Yeah, I just want a big stack there Yeah, let's have these both. Oh, that's perfect. We're going to pretend this is a requirements document Somebody's come to me and they said we need to get this thing done And they've already written all those requirements. Have you ever been on a project like that? Now I've had it where they come to me like this We need a reporting system How long will that take? I can do you a reporting system in like five minutes. What's the report you need, you know But other than that, I can't even give you a guess Right, so let's say they define the reporting system. As a matter of fact, the example I'm going to give you in a bit I call the 12 calculations. So I'll explain that in a moment I can't tell you what to do or whether or not you should do it I've worked without estimates for about 10 years now This is how requirements usually come to me the the person with them believes They have a very neat box that contains all the information they need and they can close that box up Put the latch on put it on my desk and say this is what I want you to write see you in six months But it's never that way. It's a little bit more like this Okay, this is a work of art by the way and this is a work of art by Jackson Pollock He was an abstract expressionist, but this isn't what it's really like to me. This is what it's really like It's fuzzy around the edges and it's fuzzy in the middle. We see some patterns. We don't yet understand those patterns To me, it's like a haystack. You ever heard of that looking for a needle in the haystack It's hard to find without a good powerful magnet But what I want to do is I want to think of that big chunk of work They're bringing to me not as a whole bunch of already predefined stuff that isn't correct anyways But more like an idea of the stuff And we're going to discover the needles that are in there. I don't care about All the straw. I just care about the needles so if In the doing of the work we discover the work we must do Then we have to start working So you tell us something you want and we're going to start working on it So we're not going to do this as a workshop thing that we usually do But I would ask normally What's the criteria we use to determine the size of a story? Those are the things that's interesting to me not the estimate itself So i'm looking for certain qualities that have nothing to do with size The qualities that i'm looking for are basically these is it potentially valuable? Is it understandable? Is it distinct? Is it cohesive? That means the parts of this belong together It's if we get that then I have something I can work on So out of all of this this is never going to be these those things I've actually had people ring me a or 100 or more pages of requirements and say here's what we want And I go you know that's going to take me a month to understand We're going to have to have lots of meetings. Just tell me something in here you really like Let's start with that So this requires no estimates if I can find those qualities in some little part I can start working on it now. I know this is going to go really fast for you taking pictures Just take a movie that will be better This requires no estimates I can then decouple a chunk work on it deploy it get it used by somebody and then provide that'll provide feedback That's what I'm after I want to steer towards the good stuff not plan it all ahead of time So if I can do that Do the work now we have a cycle If you are at a agile conference and they don't use these kind of curvy arrows. It's not an agile conference So I pretty sure I always put curvy arrows in there Okay, so I'm going to give you quickly the 12 calculations example They had at a place I was working 12 calculations They would do to plan next week's production on an assembly line a huge assembly line with Let's just say a couple thousand workers Three or four people would work all weekend to do that So on Monday, they would know exactly what to work on Which machines are going to be running which parts are going to be manufactured They were working in a relatively lean way They were doing all those calculations by hand and they described all the calculations So we looked at the project and I said well, I don't quite understand all of this Show me something that you really want first and let's do it and they actually chose This calculation here How do I know because these are all just made up and they represent calculations So they chose that one and I said great. Let me read your document. I read it I said boy, there's way too much here for me to understand Give me the essence of it and they did they said, okay So what you said we need this and this and this I said, we're really those things are not cohesive. We could do one and then the other That's how we decouple when we find that things are not cohesive that I'm not talking about cohesive like classes I'm talking about cohesive just in the matter of these are the things that are drawn together and must stay together I then said, okay, I understand some of this this chunk here. We don't yet understand But I think if we were to deliver this it would give you a little bit of value What if we could do this and then you could start using it would that be useful Yeah, so we did it it took us about a day and we deployed it and they started using it It helped them do a small part of that one Calculation but here's the bonus to it now. We have three minutes left. So let's see if we can do this Here's the bonus to it From doing that one they realized That this first one over here the funny-looking little one there would have been more important to have done first But they learned something we're now steering So I said well, which one is that and they said oh, it's this one here I'm sorry. I'm ruining this pack of stickies, but I'm trying to be realistic and we did the same process We said, what do we understand would that be value? Yeah, here's stuff. That's not cohesive. Let's get it out of there We've now finished that much of this much work We did that one more time and for demonstration purposes. I'll actually rip the paper. Sorry. I'm wasting paper We ended up doing this much work And what do you think then happened They said it's enough for now This is the big win now. I used to call this the 80 20 80 20 when I first started doing this in 2002 or three I thought somebody said well guy most of the application Value comes from about 20 of the features. So I said well, why don't we just do those? Well, because we don't know what they are up front. Let's discover them. This is a process of discovery We got rid of the biggest pain points and they became interested in something else So what if we could just do that 20 percent? But what I want to do, I only want to do 20 percent of each of those we choose So we're going to use it 20 percent. So we've chosen something to work on And then let's only do 20 percent of that feature That was my logic behind it. So how much work would we have to do if this was true? Mathematicians four percent two times two four four percent Four percent of the work. But what did I find? It was way less than four percent of the work And this has happened for me over and over and over Over and over since I first applied this in 2003 on an actual client I just I was flabbergasted by how much value we got. I call this deliver features until bored The moment they become bored we can move on to another more valuable thing for them But we can't do that if we decided up front to do all of this work All that estimating and stuff was to decide to do this chunk We don't need to do estimates to do this chunk. So I'm going to end it with that What if we could crank up our ability to find these potential valuable chunks and deploy them? And that's what agile gives us And again, I'm going to show you another circle because this is an agile conference. You need a circle Somewhere in this process. We're learning stuff. Where are we learning stuff? Every single step Every single step and this if we could just do that over and over I'm talking about daily deployments Not with feature flags and stuff like that. That's okay, but try to deploy actual usable stuff Working this way now over 10 years. I have not done an estimate in 10 years in software development Now we're on to part six, but we've run out of time So thank you very much. Is it going to be lunch out there now? So that means we can hang out and hear if people want to ask questions. Is that right? If you want, I mean if you're not already sick of this I do have a whole bunch of stuff, but just not 90 minutes wasn't enough, but thank you so much. I appreciate it