 So I just need to get my clicker device out. Hopefully I've got it here If not, I can fake it So somebody told me it might rain today Did you see that? Might rain I'm from San Diego, California. It literally never rains there So I love to see some rain. That's kind of nice Well, let's see if my clicker will work and if so off we go and if not, we'll fake it Looks like we're good So are we supposed to just get started? Is this it? Off we run. Okay So I'm Woody Zul. I'm a software developer. I've been writing software for about 35 years or so I started writing software before any of you were born and Just kidding I found it so interesting that I turned it into my way of making a living and I'm going to share with you an experience that I've had over the last five years at a particular place that I got a job at and This is such a compelling story to me and I'm really glad that other people find it interesting So I appreciate you coming to hear this today and let's see what we can discover So first of all, I want to be really clear That I'm not here to tell you how to do something or whether or not you should do something I'm here to share something that we did that you might find interesting and I kind of like to ask already. Is anybody here do mob programming in your work? Anybody doing it? So there's three four Before this conference had you heard of mob programming who's heard of it before this conference and the rest of you you just saw it on the On the conference paperwork and said well, let's go see what that is. Is that what it's like? all right, so It's a kind of an interesting idea so mob programming is a way of programming where all the brilliant people are working on the same thing at the same time and in the same space Now that doesn't that's not too much different than from what agile is agile software development Took this to heart they noticed that working in a phased approach where where you would work on something and then when you were done with it You'd hand it off to someone else and they would work on it and when they were done with it They'd hand it off to someone else and they would work on it That's a phased approach to doing software development Some people call that the waterfall But the basic idea is people are working at different times on the same thing agile I think in general the idea in agile is let's bring all this stuff together Let's work on it together and mob programming which is a lot like pair programming Just focuses on the idea that we're gonna work at the same time on something and we do that by working at the same computer So rather than having people sitting at separate computers. We're all sitting in the same space. I Like to think of it as we're gonna bring the whole team together. We're all different But we're gonna work all together. So we have different skills different abilities We're gonna put them all together working on the same thing at the same time and in the same space So it looks like this from the front You can kind of see the whole team is gathered together at a table and this is what it looks like from the back So From the front and from the back so you see basically we have a couple monitors or in this case projectors They're projected up on the wall and Everybody's just sitting together looking at the same monitors talking about the work and working on the work And I'll share how that actually happens This company where we started doing this was almost exactly five years ago and I'm gonna share the story of how we Started doing this of why we started doing this This is what it looks like there now. So we had one team Doing it now we have I believe they have eight teams So this is the work area. We'll see a video if we can I'm not sure if I can get online to get it We'll see a video about that in a second. So you can see there's these workstations We no longer have the projectors. What we have is is large 80-inch monitors 4k monitors usually three per work station So that gives you a little bit of view of what it's like You could also do this remotely this the team in Richmond, Virginia that does the mob programming remotely They're all working on the same thing at the same time They're sharing the keyboard across the internet through a video conferencing or something like that This is the place where we started. I like to give them a tip of the hat I worked there for four years hunter industries in San Marcos, California If you ever make it to San Diego area, they're near San Diego They always invite visitors to come and spend time with them So if you happen to make it the area you want to spend a day seeing what this is like You just have to get in touch with them You can do that through me and go see what this like in an actual environment where they're doing this all the time So I'm going to show you some pictures here. This is also hunter so you can see They've got work standing workstation This is some people in Alaska Alaska as a state in the United States This is some people in France Here's some people in Hungary GDS in London. You've probably heard of GDS government digital services. This is a company in Boston Another company in London one of the earlier adopters of the idea Company in Sweden Company in South Africa. They made a video that's online available Another group in Sweden another group in London South Africa. Why am I showing you all these pictures? I'm showing you all these pictures So you can see it's not just one crazy guy going around the world. It's a bunch of crazy people all over the world Here's some people in Florida Here's some people in Greece. I got most of these pictures off of Twitter So you could go find these for yourself and here's somebody in in Sweden I had done a workshop with them and then they started working it on their own The reason I want to show this is to see you can see just how Straightforward is here's some people sitting in the front of a couple tables they put together and across the way They have a larger monitor that they've also put on a table So there's nothing high-tech about this you can do it really straightforward and really simply in almost any work environment Here's a group in Spain. I like to show this picture because I think they need bigger monitors And then I got a picture here of some people who have bigger monitors But I don't think they do programming there This is I think this is NASA so and they've been doing this a lot a Lot longer of course than I have but I think I like the idea of everybody's on the same mission There's they're all working together focused on the same thing at the same time. I Kind of like that idea. So that's why I show that I want to show you a little video now So this is a video we made in 2012 at Hunter Industries. Take me just a minute to get to it Oh, we'll see how this works I Have a lot to learn here about using my equipment There we go. So this is a Video we made in 2012. I was getting ready to go speak at a conference one of the earliest conferences We said wouldn't be nice to have a video of this. This is three minutes Condensing a full day. So we spend the first hour every day in a learning session We learn stuff together and if you want to know more about that afterwards you can ask me questions We don't do stand-ups because nobody has to ask what did you do yesterday because we all did it yesterday Right, and so we don't have meetings hardly any meetings at all. There's a few things we do but not much You'll see this is about the environment. We have a couple Projectors and a single computer, but this is much more important We have the concept of a driver the driver is the person at the keyboard Their job is to just merely translate the things that the navigators are talking about into code Our product owners come and spend time with us. They might spend a couple hours or the whole day I like to think of them as part of the team. We have a manager or a coach, you know Managers always act like they're working hard So after the product owners are with us basically what happens is if a product owner we're using the term product owner We would just mean an expert in the software that they need in the company when they're working with us We spend a bunch of time with them Understanding their need but in little parts. We'll work on this today get it done today We're kind of next thing for them tomorrow and get it done tomorrow. So we're going to spend two or three hours With our product experts looking at what we just finished verifying. It's what they think they want and delivering that So we were going from delivering every few weeks to delivering every day So I want to show it up to this point. We take our lunches together So we have to come in at about the same time take lunch at about the same time Leave it about the same time so that we have time. That's that's a correlated or synchronized Okay, but I want to show you another video So that video just basically will go on more of the same the key thing there is the driver navigator We'll talk about that in a minute. I'm going to try and get on the internet here And if I can we're good you guys have heard of YouTube probably right YouTube There's a place they put you could put videos and stuff there So right now it's telling me I have no internet connection So if this doesn't allow me to do it, that's okay I'll guide you to where you can go see it. I'm going to try real quick to see if I can get What are these things ought to get us through there, right? This one here Event oh Let's say you can't get there So let me try event. So what do you have to do for event? What is it? Well, we'll find out and if this doesn't work, that's okay It's connecting so you say I got it wrong No, s I always just throw a s in just in case It's sure taking its time. Isn't it? I like these little So let's not worry about it We'll just go on so we have a video It's available on YouTube that they did in July of this same thing But with the entire the new work area that we have so if that comes up We'll shut that down if that actually comes up it looks like we should have it We'll look at that video and if not Yeah, it's just it's too tired. There's too many people here. Would everyone please leave that won't work will it? Okay, let's just go on so you get to see basically the same video if you go to YouTube and just put in mob programming You can see both of those videos As a matter of fact, so don't worry about it too much. Let's just get back to the presentation Wrong one So remember never become a speaker. It's just not worth it Let's see so we can we can try this Let's try that one We're back in business, right? So the other video just shows with six with six teams They now have eight teams and the main the primary reason that I show it is that you can see how dynamic it is with having six teams Interacting with each other is needed throughout the day So the teams work on their own tasks or their own work, but they also share in that work so they can go back and forth But we'll you'll be able to find it YouTube see it there So I'm going to explain to you a little bit about the driver navigator model of working So in this case we see somebody sitting with the keyboard their job is to be the driver You can think of about it like a pilot in an airplane with a co-pilot and a navigator And maybe a radio man and those people are all helping fly the plane the pilot has a specific job But they're being guided by everybody else. So the basic idea is here is the driver is Listening to the ideas and when there's an idea that the team wants to put into the computer. It's code That's when the driver writes code Under the direction so to speak of the rest of the team everybody else is a navigator So the navigators are all working together to decide what we're going to put into the computer We have one basic guideline that we follow and this is it here for an idea to go from somebody's head Into the computer. It has to go through someone else's hands I'm gonna say that again because I think that's really important This is known as strong pairing and I believe it was invented by Llewellyn Falco The basic idea is for something to go from my head into the computer I have to be able to communicate it so somebody else can put it into the computer Takes the programming and elevates it from something that an individual is doing to something a team is doing So let's look a little bit about how this is in software development. We have Computers and to communicate with the computers. We use keyboards. Does anybody here know why we use keyboards? Because you can't just think it I Like that It's but it's I think it's a little bit more difficult than that and that is that we haven't figured out a better way We haven't figured out a better way as anybody seen that movie matrix You know matrix all we got to do is hook that thing in the back of our head and then we're gonna be okay So we don't have that yet. Okay, so here's the thing the keyboard is a dumb input device when I'm talking to you right now I'm not Speaking like we speak with a with a keyboard with a keyboard. We're actually inputting characters. I'm at least using words So this is kind of a tricky thing We were using a very primitive way of getting our code into the computer when we work as a team We have a big advantage now We have the driver which can be thought of as a smart input device now in California where I'm in this is how this is how most developers look and so When you're sitting at the keyboard your job is to funnel or channel the things that the team wants and Turns it into code. We've now elevated From having a primitive input device a keyboard into having a very advanced Input device a human being it's a very interesting change. It means almost anybody can now program They don't need to be able to operate a computer or even know the programming language or anything like that So everybody on the team is a navigator including the driver But not everybody on the team has to take the keyboard the keyboard is for the people who feel comfortable Working in front of other people at a keyboard So if you don't feel like you can you still can be part of a team the point is we have in the navigators all the knowledge That we need to get this work done That's what we're about. We want to have all the knowledge together gathered in one place Thinking and working together. It basically goes like this. We work throughout the day Rotating the person at the keyboard because the person at the keyboard isn't the fundamentally important part of this It's the thinking and the discussing that's important. So we use a timer I won't go into that too much detail and every few minutes the person at the keyboard switches up and throughout the day We do a rotation So every time the timer goes off the next person takes the keyboard and We can do that in many different models. This just happens to be how we did it with a timer So this is very straightforward. And if we had time here, we could demonstrate it very easily It's basically comes from a concept of doing coding dojos of a specific sort And I'll share a little bit about that in a minute And if you has anybody here done a coding dojo where you would go with a group of other developers and so that would be No one person to do you do you live here? so oh hello from Diana right and so Boy, it's a fun thing to do and I'd be happy to show you how to do it Anybody here wants to start doing them, but I'll share a little bit more about that in a minute So the basic idea is once the rotation is up the person at the keyboards, which is in again So it's not five people or six people watching somebody program. It's five or six people programming together Now we are doing constant code review constant design review We are constantly talking about what we want to go into the project and how we're gonna put it in there So we're always working together to come up with the very best we can out of this group to get into the computer so When I first start talking about this in 2012 I was at a conference and somebody I didn't have a scheduled talk on this I was talking about a testing mechanism But people start coming up and say hey we heard about this thing that you're doing with this whole team programming stuff Can you share that with me? So I started doing that and after two or three people came up and others were gathering around I started realizing I can't do this all day just trying to explain about mom programming So I said let me go and see if I can get a room and they were doing an open jam Where you could go and sign up for a slot to talk and I went ahead and start talking about it So one of the first questions people would ask was how did you invent this? So I'm gonna tell you a little story about how we invented it. See how quickly we can get through it This is a picture of me by the way I'm a very capable handsome Young I have a head full of hair. I'm not afraid of anything And so this is how I think of myself But you have to have an image of yourself that allows you to at least get through the day and this helps me get through the day I Was asked to join this company hunter industries in San Marcos, California They're a manufacturer of high quality landscape irrigation products I have them at my home and I bought my home used 15 16 17 years ago and the sprinklers were in at that time for 15 16 17 years They've been working flawlessly at my home in Southern California. We have to actually irrigate our our landscape I don't know if you ever have to do that here. Do you we don't get rain So I knew this was a company that made very high quality stuff And I really wanted to work with them So they asked me to come work for them to manage a team of software developers that wanted to become agile They were up. They were really wanting to start exploring doing agile stuff. This was in 2011 so They had some big nasty projects and some big problems. They wanted to deal up deal with I looked at the code in these big nasty projects that were not going very well and I like to review code and I just noticed a lot of problems in there and I thought you know Let's let's go about this a little differently than we might normally do it instead of coming in to just let's get these projects done I said, let's put those big projects on the back burner I don't know if you know the term back burner Do you know back burner here on a stove if you have four burners on the stove? You're gonna cook on the front ones and you can put the stuff to simmer on the back ones So like you've start some soup you put it on the back burner It could cook for a long time while you're doing the other stuff So I wanted to put off doing the big projects so that we can get better at Understanding clean code how to refactor how to recognize problems in our code and fix them how to Decouple things how to get better naming. I wanted to see if we could learn to be better team players and things like that So we put those on the back burner One of the things that's really important to me is if we recognize that the people doing the work are those that are Best suited to determine how to do that work that we can probably improve our processes really rapidly If we think that we can tell other people how to improve their processes, then we're probably going to miss the really good opportunities that exist But can only be recognized by the people working in the system Another thing that's really important to me is that we study together So when we work together, we're under a certain pressure to get work done And maybe our our pay and our bonuses and and our raises are all dependent on how well we get our work done But when we study together, we can just work without pressure to learn something together And that's something that's important to me. The interactions that we do when we're learning together are different than the interactions We do when we're working together or playing together. There's at least three different levels there So one of the philosophy I have I don't think it's just a theory But I think if we practice things together Without the pressure of getting actual work done We're going to get a kind of dynamic into the team that we can't get any other way So we started in with this idea of having a weekly practice session and because I'm really familiar with doing the coding dojos I introduced the idea of doing coding dojos now everyone on the team was invited to participate But not required to participate. They were invited to attend, but they were not required to attend These are important things to me. It's voluntary So we were meeting together about every once a week Friday for two to three hours to do coding dojos And in the coding dojo, it's very similar to what I've already expressed to you about How we would work together. There'll be somebody at the keyboard. They're the driver Somebody standing next to them. They're the navigator and everybody else is observing and preparing because they're going to be a navigator soon We don't work that way, but this is the way we were Doing our study sessions before we discovered mob programming So every four minutes we would rotate and we had been practicing this way for five or six months Another thing that's really important to me is that we get good at getting good results from retrospectives Retrospectives are common. You see them all over the place But I also find that we often don't get good results from doing the retrospectives people will build up a backlog of Actions they want to take to improve things, but they don't actually ever get around to improving those things So I believe that doing the retrospectives is good, but we want to get good at having good results And one good way to do that. I've sort of grown to believe is let's learn how to turn up the good So I learned this from Kent Beck in his book Extreme programming extreme programming explained if you don't have that book I recommend it very highly the first version which they now call the white book because I had a white cover I guess He tells a little story about all the practices that he really thought were pretty good because he had good experiences with them and He thought what if they were like the knobs on a control board and I could just turn them up at will How good can we turn things up? How high can we make the goodness? Go and so I like that idea and I take that as just being turn up the good look for the things that are good and Figure out how to turn up the things that are good So one day it came that we needed to resurrect or bring forward one of those things I'd put on the back burner one of those nasty projects that we had put off as we were building our capabilities When I first looked at the code for this project I didn't want to go to the people who had written it and say look this is lousy code Because how would you like it if your new boss came in looked at your work and said you this is lousy work Nobody would like that and I figured I'd already done that sort of thing when I was younger It never works anyways, so I thought I'm just gonna make an environment where we can learn to recognize the problems in the code And learn how to fix them so we're resurrecting this project I knew there were a lot of problems under the surface all these hidden problems and We decided to get together a couple people that were working on it said we need some help We want to look at this so we brought everyone together in a meeting now in a typical meeting we gather together We talk with each other We Reveal to each other the things we think are good topic to talk about in this case where should we work on this code? Who should work on what should the whole team be working on it those sorts of things? But as we opened up the code to start looking at it somebody noticed a problem in the code So here we were applying the things we've been learning over the last six months So because look at that long method in there and and someone else said oh I know how to fix that so they stood up to start navigating it and somebody else took the keyboard So now we were doing a coding dojo style for actual work, and we hadn't been doing that We were we were experimenting a little bit with pair programming, but we certainly hadn't worked as this groups model This is how we discovered it So we started working on it together after about an hour and a half of doing that Somebody came into the room and said you guys have to leave we've reserved this room now We could have just gone back to our cubicles and kept working on our regular work But somebody on the team said let's go get another room So this idea of applied to turn up the good So we start working together using a coding dojo style We felt we were making really good progress and somebody said let's just keep doing this So when we got to the other room we scheduled another room went right to it somebody on the team said Let's just schedule rooms for the rest of the day so I Think that we all felt this was a good thing at the end of the day. We did a retrospective We were trying to do retrospectives daily at that time little short retrospectives We would ask ourselves what went well today and everybody on the team said this was really good working together Let's do it again tomorrow So we scheduled rooms for the whole next day at the end of that day We decided to just continue working that way over the next few days After a few days we decided to find a permanent working area and we went on doing that That was five years ago last month and we've continued working this way for five years now I no longer work at Hunter. I'm out doing these talks everywhere But they continue to do it there and you saw photographs of that earlier So it's this combination of these little ideas that the people doing the work can figure out how to do it That we should be practicing and studying together that we should be trying to get better at retrospectives And that we should be turning up the good the kind of combined in us Discovering this way of working if we had set out to discover this I'm not sure we would have but this is the basic idea This little saying here. I was taught about almost 40 years ago, and I've tried to apply it in my life The basic concept is that it's not about the work. We're doing. It's about how well we've set up our Environment to excel at the work we're doing. It's about the environment not so much about the things that we think we need to do This worked out really well for us. So that's the story of us discovering mob programming We didn't set out to change the world. I if I if I had set down to say I'm gonna figure out some way So people invite me to speak at conferences all over the world I don't think I could have ever figured that out. It just happened by accident that people are interested in this So I often ask this question. Why would we work this way? Why would we work everybody all together? Anybody want to share? Why do you think we would work this way? Anybody What's that very very rapid learning environment we're sharing a lot of information we're learning a lot about the domain We're learning about programming lots of things. What else? What's that? less mistakes or We're paying a lot less for our mistakes, but it's a good point less fewer mistakes Anything else? We're pulling all the knowledge together. So we're putting all of our ability on one little spot. So we get a Quick result What else? Fun and engaging. I love to have that come up I should pay someone to be in the audience to always bring that up because it's a lot of fun. It's a lot of fun What else? What's that? Saves time. It's an interesting thing We're now getting work done a lot sooner stories that used to take a couple weeks when one person was working on it Take an hour or two when the whole team is working on it because there's not nothing blocking us from just getting the work done So there's there's some good ideas. These are the same things. We were noticing but this is kind of a trick question Why would we work this way? Because the team decided to work this way I've worked in a lot of places where the team was not allowed to decide how to work They had to work as they were told to work And that is a very different concept. So I'll let that settle in for you another question I'm not going to ask it to of you is how can we work this way? This is questions that used to come up whenever I'd give a talk and so I've included them in the talk People would ask me how can you work this way with five or six developers sitting together? They never get along. They'll always just argue about stuff. You'll never decide what to do because they'll be fighting all the time Well, we didn't actually find that to be true What we did find is we started getting on each other's nerves You work with somebody together all day long you get on each other's nerves So one day we noticed we were starting kind of Being short with each other and somebody said, you know, we got to figure out how to make this work better So the first thing we did is we went to the Agile Manifesto which says The first value is we value individuals and interactions over processes and tools So we realized we really weren't valuing the individuals and their interactions as much as we should so we got together in a little meeting like a retrospective and We each wrote down on a piece of paper How would you like to be treated by your co-workers? One word just write one word on a piece of paper But as many papers as you can come up with as many words as you can on papers We put them together group them and we ended up after we grouped all that and voted on it with these three words Let's treat each other with kindness consideration and respect. That's how I want to be treated each individual kind of agreed We want to be treated with kindness consideration and respect But we didn't clearly know how to do that so we made a little agreement with each other Let's pretend to treat each other with kindness consideration and respect and try it for a day and see what that feels like And after a day of doing it we reflected on it and it seemed like it was much better So we just continue doing that and now it's an interesting thing when we first started doing this I'm the hardest person in the world to work with I have a short temper. I tend to get frustrated easily I'm not very patient. I usually think if we have a good idea that that's the one we should use and so on and so on I've become a much better person working with people who are all dedicated to treating each other kindly With consideration and respect for example consideration means I'm going to consider your point of view I'm going to consider your feelings and To be able to consider your feelings and your point of view I have to be able to hear your point of view and hear your ideas and to be able to hear your ideas I have to stop talking sometimes So we were just learning how to interact. Well, this worked out really well for us So this is sort of an important point a lot of people who come to me after they start doing this and saying We like the mob programming, but we can only do it for a few hours a day because it wears us out And we thought well, we're working this way all day every day and we weren't getting worn out So what we decided was what was going on here is that some people feel they have to pay attention to everything that's going on But when your mob programming you have a whole group to share the memory of what's going on So if I miss something somebody else is getting it, it doesn't matter that I missed it What's important is that we are prepared to contribute the highest value We can at the right time and in just the right way That means our ideas when they're important We have to recognize that and be ready to share them and the rest of everybody there has to be ready to absorb it and accept it If we don't do this then we're trying to contribute too much We don't have to express every one of our ideas. We don't have to always discuss everything As soon as we have a usable idea we can try it and if we find it's perfect We go on if we find it's just good enough we can go on if we think we can come up with a better idea We do so if there's two developers for example, and one has one idea the other has another idea Why not try both? Let's try a little of that and a little of that see which one works So these are the things that allowed us to work What I would consider in a relaxed and sustainable manner So this is a question that always comes up. How can you be productive with five people at one computer? Now this is a problem because I'm not sure that's a good question So the first time this was asked of me was that my very first talk that I gave on this somebody asked that and my response was I Don't know. I just noticed we are we're more productive I don't know how we can be more productive, but we are so this is what we did we went back and we looked at What we could get done in two days? Prior to working this way and what we could get done in two days after we started working this way And this was the difference in what we were getting done adding together the work of five people on the team as opposed to Bringing together the work of five people on one team This was the difference now does that prove anything it doesn't it just indicates that something has changed Something's different is each yellow card or each blue card the same Size in each of these photos not necessarily it could be any number of reasons We're getting a lot more cards done, but the question. I think was wrong How can we be productive with five people at one computer? So I started reversing the question. What makes you think you can be productive when you separate the people who should be working together? It's a different way of thinking about it. Now. I don't know if it's enough different a way of thinking about it But I take a cue from Peter Block who says transformation comes more from pursuing profound questions than seeking practical answers It's about coming up with a better question when you come up with the right questions Answers start becoming less important because usually today's answer is just tomorrow's problem Whatever we decide to do today. It's just going to introduce new issues for tomorrow So I thought let's try and come up with a better question and this is the one that I came up with What are the things that destroy productivity so normally I would ask an audience but in in the Essence here of trying to stay on schedule. I'm gonna share some of the ideas Almost everything can go into some of these buckets here communication problems Trying to get answers through emails and things like that Decision-making problems where we are afraid to make a decision because the repercussions of us making that decision Could reflect poorly on us So we try to get help from everybody we can we hold meetings and we spend time trying to make a decision And backing up our ideas our decision Information that led to us making this decision and so that later on we can defend our decision And then another one is people doing more than it's barely sufficient and then when it's technical debt Bugs is something that destroys productivity every time we get a bug report We have something we have to work on we're no longer doing the work that we were wanting to get done this week And so on and so on so I'm gonna share a little bit about one thing and that's this We didn't set out to solve any of these problems All we set out to do is turn up the good on Working well together and most of the problems that I've seen in software development kind of faded away So you'll notice that You'll see this wonderful animation they faded away when we start working as a team pretty amazing, huh? Yes So this was an interesting thing. So I'm gonna share one thing about it What I call the Question queue time So this is how it goes. I'm gonna do this pretty quickly The amount of time that we must wait to get the answer to a question that is blocking us That's the question queue time We're waiting to get the answer if we do sorry. I'm gonna go a little too fast for photographs here So be ready to take your pictures if we use a value stream map we could say the green bar represents when we're coding and the red bar Represents when we're waiting to get an answer to questions blocking us and that line that's going up and down is the blocking question So I'm gonna do a very rudimentary example. This is contrived example What if for every hour we work we get one blocking question? so if we do a Value stream map on that and it doesn't take us any time to get the answer We're just gonna be done like that where we're gonna continue working throughout the day if it takes us two minutes to get The answer then we're wasting 16 minutes in the day It takes us 10 minutes We're wasting an hour and we're starting to have some context switching which can really be a problem for us What if it took an hour to get the answer now? We're wasting half the day What if it took us all day to get the answer have you ever had that situation you send off an email You open you get an answer and you don't hear back to the next day and they usually say I don't understand your question so So we get another day of round tripping on that so how do we typically solve for this we've got this thing and we're blocked What do we usually do? We switch to another task if the task was perfectly aligned like this and since I got to make these slides that is Then it would look like this throughout the day. We're always busy But we're also always blocked. That's an interesting problem So we're having these contexts which has happened all the time So what did we deal with the symptom? The symptom was we're not busy enough. We're not busy all the time So we solve for that but we solve for it and not for the problem Which is we're not getting our answers to our questions in a timely fashion. So here's the thing Let's not solve a queuing problem, which is what this was by introducing an inventory problem We have two things in inventory now inventory is stuff that we've started working on that isn't yet delivering value We don't want that we want to have stuff created and delivered and earning value right away So how did we solve for this on our team? I just told you a minute ago. How did we solve for it? We didn't solve for it It faded away Right, we noticed that we could just answer questions immediately if it was something the team could answer And we noticed with our product owners They wanted to get the the work done quickly and they agreed to just simply answer questions immediately in the words if we sent them an email a Message phone called them they get back to us immediately So we wouldn't ever go more than two minutes getting a question answered We didn't solve for that ourselves one of the product owners noticed some work didn't get done for them that day So what happened and we said hey, you didn't answer our questions And he said well, what if I get back to you within two minutes? Guaranteed so then we will we can just continue working on So this is what I consider a one-piece flow. So I'm gonna share two or three more things. Are we out of time yet? We're getting close right two more minutes This is a continuous learning environment when you have a learning attitude You can really take advantage of it. Let me just share two little ideas The first one is when the when the beginner makes a mistake You can't ever make fun of them Don't make fun of them own it with them This is like me and my mother when I was a child and my mom was helping me learn to bake a cake And I started mixing the cake mix and it went all over the place and my mom instead of saying get out of the kitchen She said well, let's clean this up. Let's figure out how to do it, right? He said the first time I use that mixer I made a mess too She could have said look at you you made a mess, but she did she owned it herself Another thing is the beginners often come up with ideas that the more advanced person could never have So this represents another time with my mother. She was actually teaching me how to make potholders little potholders You could crochet even though that's knitting but and She showed me a pattern to do and I was doing it, but I didn't like it It wasn't fancy enough So I went to the craft book and I found a fancier pattern and I start working on it My mom came back in and she could have said why didn't you finish the pattern we were working on? But instead she said wow, that's beautiful. Can you show me how to do that? So she was saying your ideas are good, too I want to know your ideas and I can learn from them. I like this now One other thing to worry about is that you're gonna be exposed So we'll finish this up now Being exposed means others are gonna see how you work and you may not be very good at some things They think you're good at and you have to be willing to accept that That people are gonna find out what you're good at and what you're not good at but that's okay on a team And that's why we need to treat each other with the kindest consideration and respect pay attention to your health This is really important when you're sitting in a chair all day long You need to have a good chair When you just do it for a short meeting you sit in chairs like this, right? So you have to have good chairs. You have to have a hand cleaner Sanitizer you have to make sure you're not straining your neck or hurting your back or your legs Because you can if you're sitting at a table all day long You're always turning your head to see the screen then you're gonna get a sore neck. So watch out for those things Everybody asks what's the ideal number of team members and our rule is this if you feel you're contributing or You feel you're learning something then you can stay with the team If you feel you're not learning anything and you're not contributing you can go off and work on something alone You're never forced to stay with the team. That's our team heuristic By the way, we've had as many as 14 people on the team at one time for a couple days on a really critical project So that's our team heuristic Everybody asked do we recommend mob programming and I don't I just am sharing with you something that our team did and I invite you to try it. You might find it's a lot of fun. You might also find that it's it's useful to you But you might not Last thing though, I do recommend you get good at getting getting good results from retrospectives That's really really useful always turn up the good So I think this is a time for questions and I can we can spend a few extra minutes at that So does anybody have a question? I think there was one up here so My question is how do you eliminate and control like distractions? for examples email cell phones People getting pinged especially how do you control that when you have a distributed team? So the question kind of it relates to how How can the team continue to be effective when those kinds of things are going on? I don't think we need to control them. The team is kind of self-controlling Like if they fit if somebody feels they're getting distracted too much from the work They might not work with the team for a while. They'll just go take care of the things They need to take care of so if with us we would have we had one email account Essentially that all communications that came to the team would go through that one account that way if somebody's gone for the day Or whatever people are still getting answered and then if somebody needs to get a private phone call Well, that's just life. You got to deal deal with that, but almost everything we did we did as a team So if another department would come to us Rather than having one person go and deal with them they would come and deal with the whole team So we have one telephone and we'd always answer it like this. Hi This is the software development team you're on speakerphone. So they know that when they're doing because otherwise who knows what they might say There you go. Is that is that sort of covered a little bit? So when you're working with the distributed team Everybody's picture is right there and if it's a lot of noise and stuff going on somebody is going to say Hey, can you find a way to turn that noise down and if not then maybe Maybe it's not ideal You know, I would say you can work it you can work it out Why don't they just go and work from the bathroom and they could lock the door? Okay? So I really don't have an easy answer for that. You just it's just one of those things you have to figure out Here's a question here Can you share your experience on doing remote Muffering, so I've worked doing remote for about two years and the first experiences that we had with that was At hunter one of the people wanted to work from home for a while because his wife was having a baby So he went and worked from home and we set up for that and it worked out really good It just so happened that he also had an 80 inch monitor at home So it worked out pretty good. So yeah, it works. Well, I've been doing it for several years now and The main thing is you have to be able to share the keyboard So finding a system that works well for that. I've been using zoom quite a bit But as far as different web conferencing tools Things like go to meeting things even like Skype can work. So it's not that hard Some people like the people at corgi bites. They're using a VNC So that they have a server somewhere that everybody can log into so it's not that hard to do It may be a little bit more difficult, but it's still it works. It works. So I guess we're done, huh? So it's a time for lunch is lunch coming up or is there another talk in here? Okay, what's that? Oh, there's another question Well, there's another session before lunch. Okay, so we're done. Thank you. Thank you. Thank you