141 avsnitt • Längd: 15 min • Månadsvis
The Agile Weekly crew regularly discusses topics related to agile, scrum, kanban, extreme programming (XP), software craftmanship, systems thinking, retrospectives, teams, culture and software development.
The podcast Agile Weekly Podcast is created by Agile Weekly Crew. The podcast and the artwork on this page are embedded on this page using the public podcast feed (RSS).
Jade Meskill: Hello. Welcome to another episode of the Agile weekly podcast. I’m Jade Meskill.
Roy van de Water: I’m Roy van de Water.
Derek Neighbors: And I’m Derek Neighbors.
Jade: I thought today, we’d talk about something, maybe a little controversial. Do we need frameworks?
Roy: Like Rails?
Jade: Maybe like Scrum. What do you guys think?
Derek: No. Yes. No.
Jade: OK.
Roy: It’s one of those things where they’re helpful to get started by get in your way after a while, but you think they get in your way a lot sooner than they actually do.
Derek: I like to say, if its individuals and their actions over process and tools. Why is it the first thing that we default to add to lists are hey, you need to learn a bunch of process? I think, no, they are not necessary.
However, it’s very hard to do things well if you don’t have any discipline. What process does is it allows you to learn how, as a team, to be disciplined about the work that you do. It helps highlight issues that you have that can help you improve. Basically it builds off of work that people have done before.
We know that all these things tend to really keep teams from performing well. If you’re not cross‑ctional, if you don’t have a concept of time boxing, if you don’t have a number of these things, you tend to struggle.
We’re going to go ahead and put those things before you. Learn how to use them, and as you learn how to use them, you can shed them away and probably still get really good results.
I’d say, yes and no, I don’t think you need process. Do I think that it’s hard to be good without having some guide rails to explore how you work? Yes.
Roy: I think some of it comes down to pragmatic thinking and learning talks a lot about the Dreyfus model and how early on you need rules because you don’t have enough knowledge to make your own decisions. But that rules ruin experts, and all these people that have lots of experience are now hindered by having to follow these rules when they should be trusting their intuition.
Derek: People tend to find themselves being experts far before they’re really experts. That’s another problem there is. I call it the so fucking agile. We’re so fucking agile that we don’t need to do XYZ. I can turn on the dime. I can respond to anything. I was just like, Yeah, so you’re in chaos. That’s really great.
I don’t consider that agile. Never getting anything done because all you do is respond to every stimulus that comes your way does not make you good. It makes you undisciplined. I think that that’s difficult thing.
Roy: I think that’s the careful distinction between thinking that you’ve arrived, that you’re there and that you’ve finished adapting Agile or whatever or finished improving and the idea of, I think I’ve grown these rules but I still need to improve and try new things all of the time because I’m not even close to where I want to be yet.
Derek: Yeah, so the litmus test I use is if somebody believes that the rules don’t belong to them and they don’t want them. They’ll throw a fit if they have to follow rules, they’re probably not really a master. If somebody says, I think that these rules could be bent but I don’t really have a problem with the rules and if it’s going to cause you all sorts of grief to not adhere to these rules, then fine, I’ll adhere to them.
I generally find that’s the person that’s probably OK without actually having rules because what they’re saying is, I don’t think the rules hinder me so much that I can’t be effective, but I do think I know the rules well enough that when they need to be bent in certain ways, I could get more performance out of them.
Where the amateur tends to say, I just don’t want the rules at all. Any rules at all are going to hurt me.
Roy: I agree with that.
Jade: Part of my reason for asking this question is thinking about introducing new teams, new people and dumping this giant framework on their heads, let’s say Scrum. If I’m going from nothing to Scrum, that’s a lot of stuff to learn and take in. Does that hinder or help their ability to become more agile?
Derek: I don’t know. So you do count them on if you don’t want to do that. I think that to me like what I’ve been…
[crosstalk]
Jade: That’s even a lot to take on.
Derek: Not really.
Jade: To do right.
Derek: The way that I look at it is, what do you want? If you want some immediate results, a framework like Scrums says, We’re going to be opinionated about a whole bunch of stuff because we know it works for most situations so just believe us and do it.
The benefit to that is you can actually get real benefit immediately by making those changes. The downside is, you have to make fundamental changes on how you work. For a lot of people that pisses them off and makes them turned off to the process so then, they want nothing to do with it. It doesn’t stick long term the minute that somebody says, OK, you don’t have to do, even if we’re getting great results from it, ultimately, we didn’t decide to do all those things.
The framework tools we had to do them so I’m going to throw them away the first chance somebody will let me where I tend to say that people that have a little bit more time, can explore. You do something more like Kanban. Just do what you’ve always been doing, visualize it and start to ask yourself how we can improve, improve over time.
That’s a lot less hostile. People will tend to get to the same place that they get to in scrum a lot of times, but they get there over the course of months or years. They totally own it, because they’re the ones that made all those decisions.
I had a team the other day. One of them was doing the work of what I would call the scrum master. The other person said, We created our own rule for a Kanban, it’s called the … [inaudible 06:06] Nanny.’
It was the person that was helping organize the work with outside parties and working with the product owner and managing a lot of the stuff that developers didn’t want to really be doing, but needed it to happen.
I thought it was kind of ny that after a couple of months of Kanban, they had really implemented the equivalent of a scrum master.
Not because they wanted to emulate the scrum master. It was just that somebody stepped into the role of doing that and people could tell there was a different role than the developer.
I don’t think it’s necessary. I think it can hurt or help.
If you want some immediate gains, if you believe in cross‑functionality and you believe in time‑box and being able to estimate or have some predictable delivery or really important and you want to get that right away. I think scrum can give you those things right away. It might piss people of in the process and turn them off to Agile in general. That’s a possibility.
Jade: When have you seen the best results?
Derek: I see the best results when it’s a hybrid.
You don’t necessarily force. You have to do all these things, but you do some kind of principle‑based stuff. I almost think of it like scrum is the best idea of how I would deal with this, but if you have a different way to deal with this, fine let’s deal with this in a different way.
I think that time‑boxing of iterations is a really good way to force feedback in some regular thing. If you’ve got a better way than that form of time‑boxing to do something, cool. Let’s look at it.
More often than not people, given them the choices, just give a better way to do it. Let’s hear it. Very mature, so they don’t know. They’re like, OK, let’s do that, because I don’t have a better way.
Sometimes they come up with a better way like, I think we can do this instead.
Jade: You’re showing them the facts, but then saying, It’s your choice. If you’ve got a better idea, we’ll support the best idea.
Derek: Right.
Roy: That sounds reasonable. It goes really hard to argue with too.
Derek: It’s about not being dogmatic. At the end of the day, we just want results. As long as we’re all OK with the results.
Roy: If you can manage to get awesome results with Waterfall, then by all means.
Derek: To me, with cross‑functionality, people get really hung‑up on it. I like to switch it more toward shared commitment. As long as we’re all shared in the commitment and that any of us are willing to do the work and all of us are part of that, I’m OK with not necessarily calling it cross‑functionality.
It’s impossible to get that result and to have shared commitment without having some level of cross‑functionality, but if somebody’s going to get totally hung up on like, I’m a DBA. There’s no way I could do XYZ.
Great. Let’s not talk about it in those terms. Let’s just talk about it that we’re bringing in two stories. The three of us are all going to commit in doing those stories. Let’s not predetermine who’s doing the work and we’ll go from there.
Roy: It reminds me of something Jim brought up in one of our earlier podcast when he joined us.
The idea, “We just care what is effective. The fact that it happens to be what makes people happiest is just a really nice coincidence and side‑effect but really it’s all about getting results.”
Jade: Maybe that’s where some adoptions go wrong, the desire to state is to be doing scrum, not to be getting results.
Roy: Especially when you start measuring how far along your scrum adoption has gone.
Jade: I’ve seen a lot of corporate roll‑outs in large companies. Really, the goal is to have scrum. It really is not about delivering results.
Roy: We are more agile than you.
Derek: No, I think it’s more, better, faster. What we really care about…
[crosstalk]
Roy: No, but they’re not even tracking more, better, faster. They’re tracking the ability to adhere to the scrum frame.
Derek: No. In most of them it’s, is your velocity increasing over time. If you’re velocity is not increasing over time, we’re going to get mad at you.
One of the ways that we track like are you getting better is ‑‑ are you having stand‑ups? Are you doing retrospectives? Are you doing a planning meeting? What’s your velocity?
Jade: Measuring the rules of scrum.
Derek: It’s measuring the ceremonies and the rules of scrum, not the results of the scrum team. That is one of the things that actually kills scrum.
It shouldn’t be about any of those things meaning if you can’t get better by like…We’ve been trying to say while I’m on my current engagement is you will do Scrum or Kanban for two to three cycles or two to three sprints, whatever you want to call it, in roughly 30 days, give or take, in a fairly pure form to whatever the methodology or the thing is. From then, go ahead and make whatever changes you want.
One of the major means for change for me is, have you started to change it. Because if you haven’t, I don’t think you’re really agile because agility starts to say like, “OK, we’ve done this and we now know what we could do better that works for our DNA or organization or team.”
The second part is measuring are you getting real results, not is you’re velocity better, not are your sprints cycles order, not with a bit like are you getting whatever results the business wants from you. If you’re doing those two things, you’re good to go.
Jade: So, it really comes down to results?
Derek: I think so.
Jade: Great. What advice would you give to people who are out there who are maybe in the midst of this transformation or adopting Scrum or thinking about adopting Scrum? What would you tell them that would help them become more successful?
Derek: For me it’s a journey not about destination. I mean, too many groups, teams, organizations I look at and say, “Hey, we were going to do an agile adoption or an agile transformation and we want to be done in two quarters or we want to done in a year and a half.” So, they put all these effort and like to we’re adopting something whether be Kanban or whether be Scrum.
The end is when everybody in the organization is doing that process. For me, if you want to be successful, don’t think of it as a destination of we’re successful ones everybody is doing for some process, think of it as this is a life long journey for your company.
You have to constantly be adapting to the world around you. Part of it is you should be asking yourself if you’re still doing to same Scrum thing that you were doing or the same Kanban thing that you were doing a year ago, you’re not adapting because I guarantee your world is changed in a year, year‑and‑a‑half time‑frame.
I think part of that too is if you’re not seeing your team change and you’re not seeing your result improve, there’s something wrong with what you’re calling agile.
Jade: And results, not velocity, not your scrumness ‑‑ your actual results.
Roy: The thing I would look at the two is to think about why you’re being asked to change. Because with some of the teams, I think that they are…because they happen to be the best team in the company and for some reason think they are the best team within their immediate surroundings. They think that they don’t need to improve at all. So, that would be my biggest advice as I just assume you suck and get as good as you can.
Derek: If you don’t think you suck, you’re probably already dead. What I mean by that, that analogy I give all the time, is if you look in a gold medalist in almost any sport when they’re standing on the gold medal platform or getting their gold medal, they are more likely not thinking what an awesome performance I had.
They are thinking about every single mistake they made that they could have done better even though they’re already getting the gold medal.
They’re saying, “Man, if I would have stuck that, I could have got a perfect 10 or I could have shaved an extra five seconds if I would have picked up my foot up or man, I had a bad start out of the gate and if I would have fixed that, I could have beat the world record.” No matter what their performance is they’re sitting there going I could have done something different to go better.
That is where exceptional teams, exceptional individuals come from as when they look at even their best performance and say, “Man, I can do even better. I can find another way to make this better.”
The people that tend to be mediocre, the people that are like, “I’m great, I did the best I could there. I could not be possibly get any better.” Because the minute you said that even if you are the best, somebody else will come behind you that wants it more that what you want right now and take it over from you…
Roy: Then they’ll make it look easier for you.
Derek: There was a time when there wasn’t such thing as the four‑minute‑mile, right?
Jade: Yes.
Derek: I mean that seemed impossible but once it was four‑minute‑mile, it just keeps going like there’s always somebody who will find a way to outperform whatever you think the best performance is especially in technology because we’re not limited by physical means.
Somebody will invent a better mouse trap that will surpass whatever you think is the pinnacle. If I were to say we’re going to travel beyond the moon and land and to do something that might seem impossible today but once that happens and it goes the next level and the next level and the next level, somebody will always one‑up that.
That is a huge factor. If you’re not looking to improve like why are you doing agile, like if you think you’re great? I also think there’s a big translation problem between executives and middle management. Executives what I hear most executives say is “I am sick of not being the best in market, I’m sick of not making our customers happy, I’m sick of not being like number one.”
What management tends to hear on the technical level is they want us to be faster with better quality. When middle management tries to adopt agile, it’s really all about how do we get agile? Do we have better velocity, less defects?
The reality is if they produce the same shit with more quickly with the same amount of defects, their manager…their executives would still be asking for something different because what they’re really asking for is how do we outsmart the other guys that are on the platform with us.
Roy: Right. They don’t want a faster horse. They want a car.
Derek: Right. Exactly.
Roy: They want something that may change it.
Derek: Exactly. That’s exactly it. That’s one of the things that’s very difficult for teams to realize too because they’re just like, “OK, we just need to go faster, we need to work harder.”
So, a lot of the agile initiatives are seeing this kind of like, “All right, great. Somebody got a whip out” and they’re just beating us hard with this process. Instead of saying maybe this is a process that actually frees us up to be co‑creators of something great instead of just going faster at the crap that we’ve always done.
Jade: That’s all the time we have here today. Thanks for listening. Catch you next time on Agile weekly podcast.
Jade Meskill: Hello. Welcome to another episode of the Agile Weekly podcast. I’m Jade Meskill.
Roy van de Water: I’m Roy van de Water.
Clayton Lengel‑Zigich: And I’m Clayton Lengel‑Zigich.
Jade: Clayton, you’re trying a new approach to coaching a team you are working with. We wanted to talk about that a little bit. Tell us a little bit about what you’re doing.
Clayton: A little bit of background. The team is this collection, I wouldn’t say misfits, if you’ve seen the movie “Bad News Bears” it’s kind of like that.
Jade: [laughs]
Roy: Wow. I have not.
Jade: [laughs] Imagine that you have.
Roy: Is it like “Breakfast Club”?
[laughter]
Clayton: In that there are people in the movie, yes. It’s the same thing.
Jade: [laughs]
Roy: Is it like any of the three “Star Wars” movies?
Jade: [laughs]
Clayton: OK. There’s this collection of misfits and the approach I have been taking was I wanted to be prescriptive about some things. I go back and forth between organic learning or being really prescriptive. I thought I want to be kind of prescriptive because I want to accelerate things, but I don’t want to be prescriptive about stuff like process. I don’t want to say like, “We have to do stand-ups” or “We have to do Scrum” or “We have to have a product owner.”
But I thought, “What if I’m prescriptive about the principles and the values?” As far as being prescriptive goes, that has actually gone pretty well. Things like being open about what we’re working on, visualizing the work, collaboration, and all those kind of things. Then the other approach I’ve been taking that’s actually probably had the most benefit there’s two things.
One is I’m pretending like they’re already an awesome team. When topics come up, rather than saying like, “I’ll ask a question about something like, “How would a team handle this?” Rather than saying like, “A high‑performing team would do X, Y, Z,” I’d say, “Oh, I think maybe if you guys did this, that would work.” They look around. The next part that comes in is “You can do anything you want.”
I always laugh when Jade does the, “You can do anything you want, but there are consequences.” I’ve been trying to get them to believe in this kind of fantasy land where they live in this reality where they’re already awesome, and they can do anything they want. Some of the things that I’ve done on accident that have helped a lot, we set up pairing stations. One of the things that I was being prescriptive about was collaboration.
Rather than trying to work on a bunch of these different projects all at once with a bunch of different people siloing, I said, “Hey, let’s set up a pairing station.” I actually did that for them and made it really easy to use them. It worked out in my favor that no one’s machine was set up to work on any of the projects, and the only machine that was was the pairing station. I just grab [indecipherable 2:27]
Jade: This was a team that hadn’t paired before? They were not
Clayton: Yeah, they’d had a little bit of exposure but not really.
Part of the pairing station problem that we had was the monitors were really bad. I went out one day, and I just bought new monitors. I came back and they were all like, “Wow. How did you get new monitors? You didn’t go through IT.” I’m like, “Yeah, I just went and bought them”. They are like “you can do that”? I wasn’t trying to make a case on this but I was like “Yes, I can, I’m an adult. I went to the store and I purchased them and there was this transaction and now we have new monitors”.
It was totally an accident but that was I think the first time they saw “Oh, wow, you really can do anything, there was this thing that I thought was impossible but then you did it”. All the conversations we have been having around actual code things or technical practices or what ever, I think the barrier of that’s impossible, I have never seen that before is widdled away at this point.
They are willing to pretend now, that they can do any of these things. Anything is possible.
Jade: What are the results that you have seen so far from this experiment?
Clayton: They are making good choices. One of the things that I have been trying to emphasize is that concept of if you see a problem it’s your problem now. If you tolerate it, you insist on it. If you see something that you think there is a better way of doing something, then go ahead and do it. Take ownership of it.
It started out where the board was disorganized and people were saying, “I don’t understand what the board means”. “OK, then make it better”. “Oh we can do that”? So they went and made it better.
The next day “I don’t understand how the board flows, I don’t understand what projects they are”. Then someone said “I think we should color code them”. Great, go color code them.
It seems like they are doing what ever they want, but they are really doing the things that are helping them being effective. I have seen a lot of collaboration. They actually are pairing on everything. It’s kind of by necessity.
There is not one person who knows everything, so they’ve gotten so much benefit out of collaborating on the work, I think they are falling in to that as just a habit. I don’t they trying to find a way out of it. They are not just doing that because they need to. I think they are enjoying it and having a lot of fun.
The other thing I have seen is at the end of the day, they look like they are mentally exhausted from pairing all day and they look like they are ready to go home. Where before there was a lot of idle time and board thumb twiddling. That is a status quote for that organization. These guys seem like they are really engaged the entire time.
Roy: It’s interesting because you brought up the fact that, from your coaching experience it sounds like this is one teams you have been the most prescriptive with, yet they seem to have the impression that they can do what ever they want.
Clayton: I heard a conversation that they were having with someone on their team where they said “It’s really awesome, we just get to do what ever we want”, which is really not the case. If they got to do what ever they wanted they would probably be doing something different, but because I am able to guide them along with their principals, if there is an idea and we’re using a decider, so everyone is trying to support the best idea.
So when something comes up they are in the habit of saying “OK, I have this idea.” Make a decider or proposal and it passes. If something maybe needs to get tweaked a little bit, we can just make a new decider, and alter it a little bit. Or we can investigate what that behavior is, and get their intention. One example that came up the other day was, they didn’t want to have a rule about [indecipherable 5:48] overproduction code.
I think maybe normal coaching stuff would be like, “This person wants to go off and do their own thing, because they [indecipherable 5:55] “ In reality it was, “I want to have more time to learn by myself. The best way to learn is to actually do the work.” “OK. That makes sense.”
They wanted to go home, and to do the work on their own to learn. Many other people in the team thought, “Hey, that takes away an opportunity for me to learn.” We were able to negotiate some way, to talk about how we can satisfy all those needs on the team.
It’s like the team is doing what they want, but they are still sticking to the principle of overproduction code is paired collaborative code.
Jade: What do think has been one of the most powerful ideas that you’ve tried out? You talked about pretending. What’s one of the other things that you’ve done, that you think has allowed this team to be able to enter into this new reality, and just accept it?
Clayton: A couple other things that have been really powerful, we snapped them out of the current environment I guess. The very first day that we were a team, there was a lot of [indecipherable 6:55] about, “Why we had formed this as a new team?”
“What were doing here,” and “Why did I get picked to be on this team, and not these other people?” I said, “I’m going to go on an adventure, and go to Michael’s and buy some supplies to make a physical board. Who wants to come with me?” This was 9:30 or something.
There were two people that looked at me strangely like, “You are going to go where? But it’s work time?” We went, and it’s stuff like that. Like those little moments, where I’m just modeling that behavior of reinforcing that, “You can do whatever you want. You can make the workspace better or the work better, or how you are doing the work, better.”
Those are the kind of things that have the biggest wins.
Jade: You took on the authority of, “We can just do this. We can go wherever we want. We can do whatever we want, right out of the gate?”
Clayton: Yeah. Because from my perspective, obviously my boundaries as a consultant are much wider than theirs are, at least their perceived boundaries. I tried to maximize that and be super vocal about it.
Normally, I probably would have done the Michael’s anyway. I wouldn’t have said, “I’m going on an adventure. Who wants to come with me?” Just that kind of thing…
[background noise]
[laughter]
Jade: That was the Jenga board that just…
Clayton: Oh, probably. [laughs]
Jade: The life size Jenga that just crushed.
Roy: That was my fault. I may have built the Jenga tower up to the ceiling.
[laughter]
Clayton: Anyway, being just the person who is really being this outlandish “I do whatever I want” type of person, but very, “I’m not doing anything that’s totally crazy.” It’s stuff to them seems crazy. As far as I’m concerned, it’s pretty vanilla stuff.
Jade: The idea that they believe they can do whatever they want, is very interesting. In that, you’ve put them in this sandbox, where there are boundaries, and there are constraints to what they are doing. That are totally outside what their normal behavior is.
You’ve set some very strange expectations on them. They don’t seem to feel like those are even there. It’s completely invisible to them, that those things are even happening.
Clayton: We had one word they were stressing about going to a meeting. They thought that all five people had to go to this meeting. I said, “OK. I don’t want to go to that meeting.”
They looked at me like, “You have to go. You are on the team.” I said, “I don’t want to go to this meeting. I don’t care about it. I think anyone should be free to go, or not go. Whatever decisions get made, you have to go along with those. If you guys go to this meeting, and make some choice, I’m fine with that.”
I think that kind of stuff is like, “Whoa! That’s crazy. You would not go to a meeting, and then be OK with what other people said. You don’t want to have your hand in the cookie jar and micromanage me?” That was a crazy experience.
Roy: One of the freeing things about that, it sounds like it removes all excuses. I’ve dealt with quite a few teams, and we are like, “We are in a meeting the whole day, we can’t leave. They are wasting my time, and I know that I’m not even necessary, but I can’t talk to my manager about it.”
All those excuses are gone. It’s just like you don’t go. I’ve talked to a lot of people about that. They are like, “Whoa! Maybe in your fantasy world, you can just get up and leave from a meeting.” I tell them, “No. Just get up and leave.”
Roy: They don’t believe it, I wonder why not. Why do your people believe that [indecipherable 10:02] ? Is it because you are modeling the behavior?
Clayton: I think the two things that I’m using for that type of thing is, I’m saying that all I care about are results. I don’t care at all about effort. If you put a bunch of infrared in…
Jade: You are done.
Clayton: …you are done.
[laughter]
Clayton: I’m saying all I care about is results, but I’m also saying that I demand excellence, and that we should be continuously improving. Maybe you were getting results last iteration, but now let’s get more results, or better results. Let’s do more.
Those two things are the two edges of the sword. I’m not worried about them becoming lazy and saying, “We’re getting results. We only have to work four hours a day and we just kick back.”
We value excellence. We value continuous improvement. There’s always something you can do better.
Jade: How would you have somebody else who would like to try this approach, what are some of the tools in the toolbox that you think they need to pull this off?
Clayton: The core protocols have been very helpful. I’ve been really trying to get them to use Ask For Help. I have been trying to stress to them that they can do anything if they just ask for help. Ask for enough help and you can do anything you want.
Decider has helped a lot. I’ve personally been using Investigate and Attention Check to try and uncover some of the second or third level reasons why they think they can’t do something or why they have some problem with this.
That’s helped me to uncover some things and then make proposals to solve those problems. The core protocols have been very helpful. The biggest thing for me is modeling that behavior, not only just telling them.
If I were to tell them, “You can do whatever you want, it’s up to you. You’re all powerful” and then I left, that’s what they’re used to. That’s the manager coming in and saying, “You’re self organizing!” and then I leave and I don’t reinforce that.
Telling them that stuff and then being in the physical space with them, and helping them when they asked for help, and then showing them, like with the monitor thing. Even though that was unintentional that worked out totally awesome.
Jade: It’s because you were living out the thing you believe, right?
Clayton: Exactly. I don’t want to wait. It’s frustrating. From my perspective, I went slow on that. I stalled when I probably shouldn’t have. I should have done something else. I waited a little too long.
From my perspective, that was probably bad behavior in terms of slowing things down just to be comfortable.
Roy: But from their perspective it was so fast.
Clayton: “This rebel without a cause, he went and bought monitors!”
[laughter]
Roy: He popped his collar.
Clayton: I was like James Dean there.
Roy: Go into Michael’s to buy crafts, supplies, and monitors.
Jade: Pretty rebellious.
[laughter]
Jade: What’s next for your experiment that you’re trying here?
Clayton: The next thing that I’m going to try is, I’m going to really try to get them to use Ask For Help as a default. They just participated in a Hackathon. I told them I would help them with whatever they wanted, but they had to ask for help.
That was the only way they could interact with me. That was frustrating for a little bit.
Roy: For you?
Clayton: No, not for me, they were mad about that. I had to keep saying, “Are you asking for my help? Did you use the protocol?” They got better and better and better. I really would like to reinforce that enough so that when they get stuck with something, they have no problem asking for help from anybody.
Right now there is something that is in their work queue where they need to go talk to somebody to get access to a repository of files, and they’re stuck. I want the light bulb to off to be able to say, “We should go ask that guy for help.”
“Hey so and so, I’m going to walk over to your cubicle and say hey, will you help me get access to this?” I bet you that would work. That’s not what they’re used to. That’s not the way of doing things.
They’re used to sending an email and wait, and go through all the polite channels. My next experiment is to see if we can use Ask For Help for almost everything.
Jade: One last thing. How have you dealt with the urge to rescue them when you see them doing dumb things?
Clayton: That’s been really hard, especially during the Hackathon. That was really difficult. The one thing that I found was really helpful is I would just try to ask questions about stuff.
One of the questions I asked for the Hackathon was, “That looks really cool, where can I go see it?” or, “Can I send that link to somebody?” Then it was, “No, you can’t. It’s not on the Internet.” That’s too bad.
[laughter]
Jade: That’s rough for a web app.
[laughter]
Clayton: That triggered, “Will you help us set it up?” Sure, I’ll do that. I think that’s back handed rescuing, so I probably need to stop doing that too. Fighting the urge to rescue, I don’t think I’ve figured that out yet.
Jade: What do you think would have happened if you were rescuing them all the time?
Clayton: I would have been this linchpin where they wouldn’t have been able to do anything without me. I certainly don’t want to be in that position. I don’t want the team to be non functioning after I leave.
I think if I were to rescue them the whole time they wouldn’t have learned a whole lot. There’s a whole bunch that they learned. I think they really have grown as a team by being frustrated.
I’ve seen people sitting there by pairing. Someone says, “I really am frustrated. I don’t understand what’s going on.” The other person says, “Let me finish.” Those are the kind of things that if I were jumping in and saying, “Let me explain it to you” they wouldn’t have that shared experience as a team.
Being frustrated and getting mad at somebody that you’re pairing with, those are such big building blocks.
Jade: Having that good conflict?
Clayton: Exactly. One person has to slow down for the other person, and having the discussion of how did we get here, and all that stuff.
Jade: Awesome. Hopefully we’ll hear more about how this progresses with your team. If you guys have any different or exciting ways that you’ve interacted with the team and helped to get them to high performance, we’d love to talk to you about it.
Look for us on Facebook, and we’ll catch you next week.
[music]
Jade: If there is something you would like to hear in a future episode, head over to integrumtech.com/podcast where you can suggest a topic or a guest.
Looking for an easy way to stay up to date with the latest news, techniques, and events in the Agile community? Sign up today at agileweekly.com. It’s the best Agile content, delivered weekly, for free!
[music]
Sharon: I’m Sharon.
Diana: I’m Diana.
Sharon: Leadership is not easy, is it? The dilemmas of leadership.
Diana: The challenges.
Sharon: They’re not alone in their struggle.
Diana: They want to be a better leader.
Sharon: Listen, it’s good.
Diana: Nothing but the truth.
Announcer: Partnerships and Possibilities, podcast on leadership. Find us on iTunes.
Jade: The Agile weekly podcast is brought to you by Integrum Technologies and recorded in Gangplank Studios in Chandler Arizona. For old episodes, check out integrumtech.com, or subscribe on iTunes.
Roy: Need help with your Agile transition? Have a question and need to phone a friend? Try calling the Agile hotline. It’s free. Call (866)244‑8656.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich.
Jade Meskill: I’m Jade Meskill.
Derek Neighbors: I’m Derek Neighbors.
Roy VandeWater: I’m Roy van de Water.
Clayton: Today we are talking about my favorite thing, being lazy.
Jade: Oh my gosh, that’s my favorite thing too.
Clayton: Really?
Jade: Yeah.
Roy: Do we really have to talk about it?
Jade: I don’t know.
Clayton: [laughs] I don’t want to think about it. That’s too much.
Jade: [laughs] Good thing we can talk without thinking.
[laughter]
Clayton: So many more jokes to be made.
This topic, Jade and I talked about this at lunch. It sounds like, Jade and Roy, you’ve been talking about this a lot. The concept stems from a lot of the clients that we’re working with.
We see these teams where they do a whole bunch of work, work, work, work, work, work, and they get praised for all their effort. At the end of the sprint they didn’t really deliver anything of any value, they didn’t really ship anything, the customer’s not delighted. But boy oh boy, they worked hard, and everyone in the room is clapping for them.
That feels really disingenuous. I think I heard someone the other day talk about how they stayed up till 5:30 AM tweaking these servers. I thought to myself, “Man, if I had to do that, I would be very upset. I would probably find some way to automate it.”
Roy: I’d shoot myself in the face.
Clayton: Yeah, that was my next way of saying that.
Jade: I remember living in that world, though. I was definitely part of the “Hero” culture. I could always be counted on to work the extra hours, or do whatever it took to get the job done. I’ve wizened up since then.
Clayton: I think it’s interesting because I think we have an “Automate everything” mentality, but there’s so much stuff now that…I used to do that, maybe be the hero, or you want to work the extra hours or whatever. It felt good to do that, like you were contributing a lot, but now it just feels dumb. I’d feel stupid if I do that.
Jade: I do too. Roy and I were talking about it the other day. I said, “If you find yourself working that hard to get something done, you’re probably working wrong.” It is so easy to get away with automating a lot of things, not having to do that much work. The problem is, there’s definitely a stigma against being perceived as not working hard.
Derek: I think my goal in life lately, maybe it’s why I’m a little more interested in robotics lately, is to replace myself with some form of automation. That is the pinnacle. I think what happens is, people do think that, “If I’m not doing something all the time, people are going to think I’m not valuable.”
I keep saying, what is it that makes us think this way? I can’t remember if it was Carlos Segura , or a designer of some kind. He’d said something very profound to me, at one point during a talk.
They basically said, “I make three million dollars for giving somebody a logo, and that logo only takes me about an hour or two worth of effort, to actually make the logo. My value is in knowing what to make for a logo, and that’s why I’m worth three million dollars.” The guy who makes the Nike Swoosh, we can all laugh at, “Man, that’s so simplistic!” Think of how valuable that is, or the Coca Cola logo, or whatever.
We focus on things that are very low value, and we think that we just have to put in a ton of effort to get any kind of result. I like to say that you have to put in a ton of effort to become an expert, and to become good, to know what the right logo is to do. But that’s not the same thing as, then every logo thereafter, you have to put in tons of effort to get there.
I think that’s the misnomer, is people just want to work hard, they don’t want to work at getting good. If you work at getting good, then you don’t have to work as hard anymore.
Clayton: Jade, you’d talked the other day about…Your definition of “Lazy,” I think, was about not wasting your time. It had something to do with wasting your time.
Jade: It’s that I have no tolerance for wasting my time.
Clayton: I think there’s a big difference. I’m not opposed to hard work by any means. I think hard work is a great thing, and maybe being deliberate with what you’re doing is very important, and busting your ass to get to do that stuff, but I don’t want to waste my time.
Jade: I don’t want to work hard at being stupid.
Roy: There’s still the “Human nature” component of not valuing it. Clayton and I were talking about his eye surgery, because he just got LASIK surgery. He spent a ton of money, and I think the operation, you said it took five minutes?
Clayton: Yeah, basically.
Roy: It was all automated, the doctor came in, pushed a button, and you’re done?
Clayton: Right.
Roy: I could totally see myself thinking, “I paid however much money for this? That’s crazy! I should have paid $5 because it took him 5 minutes!” It’s not like I’d rather have surgery for an hour.
Jade: You want the surgeon to work really hard on you, for a couple of hours?
Roy: Take a really long time, right.
[laughter]
Derek: I think it’s the value. If you’re spending $100 or $200 a year on contacts and you go out and you have this surgery, and it makes it so you don’t have to have contacts for 10 years or more, the value of that’s pretty high.
Jade: Maybe you just hate wearing them, it’s not even a cost thing.
Roy: But the weird thing is that I would actually feel less slighted if it took an hour, than if it took five minutes.
Clayton: I don’t know what it is about software teams that it’s so easy to fall in that trap of just praising effort. I think some of it has to do with, nobody in the whole food chain is very clear about outcomes. If the entire maybe organization or department doesn’t have some alignment about what it means to be successful, I think you just default to back‑patting.
Jade: It’s the thing that’s very easily visible. If I can look out in the parking lot and I see everybody’s cars here, and it’s 6:30, I know everybody’s working hard. Man, they must be a great team. [laughs]
Roy: But there’s a waste factor to it, too. I may have one guy who’s able to do in an hour what the other team takes 10 hours to do. He comes in and works for an hour and leaves. That gets me thinking, “What if I got him working all 10 hours? I’d have 10 times the capacity,” although maybe the magic to why he’s able to do 10 times what everybody else does is because he only works an hour. There’s a lot of that to it.
Derek: I think some of it, too, is it’s like preventative care in healthcare, or in medicine, or dentistry. I think a lot of times people don’t see the value in automation upfront, because there is performance degradation upfront that pays off in the long term.
If I go in and spend 10 minutes, I don’t know, once a quarter or twice a year getting my teeth cleaned, and I spend two minutes every night brushing my teeth, I can prevent really costly damage, and all sorts of repeated visits to the dentist down the road. But if it’s like, “Man, I just don’t have two minutes to brush my teeth every night to maintain that,” that’s ridiculous.
Jade: We have this happening at our client right now, where they have a build process that takes one to two weeks to run an automated test suite that they have. They have the capability to increase it by at least 100 times performance.
Roy: They know it’ll take less than a few weeks.
jade: Nobody will give them the time to invest to speed up their process that much. They think they can even take it to 1,000 or 10,000 times speed, but nobody will give them the time to invest. Now they just waste everybody’s time for weeks and weeks on end, because they refuse to invest that little bit.
Derek: I think that that’s a great point. I think that really solid engineers don’t ask because what they do is they say, “Look. We ship stuff late all the time. That’s standard for the industry, nobody’s going to beat us too hard.
“If we have to take in the shorts for a sprint or two or for a week, or a month, or whatever to get that 1,000, as long as we get that 1,000 times gain, people are going to be amazed with us 4 weeks from now. Fine, let them be pissed off for two weeks, while we fix this.”
I’m not advocating people go lie to their product owners or do hairy things, but I think there’s ways. If you truly believe in automation, you just bake it into what you’re doing. You don’t even say, “Oh, we need all this extra time to go do it,” you just bake it into part of the process.
Jade: What other ways do we try to maximize our laziness besides automation?
Derek: I think I put a lot of effort into being good about pattern matching, so I don’t spend a bunch of time rethinking about a problem to figure out a solution for it. I think I immediately try and just go to my library of patterns. “This looks like something I’ve already done, I’m just going to go to that right away.” I think I spend a lot of time doing that. I just focus in on, “What have I done before?” and, “How does this look like what I’ve done before?”
Roy: I’m pretty brutal about trying to remove anything that isn’t totally necessary. When I’m talking to a product owner, I’ll try to get everything out that I don’t need to be able to demo that feature. That usually means you can end up delivering most of what they want with 10 percent of the effort.
Jade: I’ve seen Roy put a lot of effort into beating down a product owner to get to the simplest solution.
Roy: It was interesting though, because I’ve gotten interesting reactions from product owners. When you do that it allows you to get way more done, because you’d spend 10 percent of the effort on 10 stories and…
Clayton: Do the right thing on…
[crosstalk]
Roy: A few times, and in one case, the product owner actually made it explicit that he felt that I was just trying to get out of doing work. Which I guess is true to some extent, but I wasn’t trying to get out of work to not do work.
Jade: Your intent was to deliver maximum value for minimum effort.
Derek: One area I see there being a lot of, I don’t want to say “Effort spent,” but some upfront effort spent, that gets long‑term gain for laziness, is space layout.
When I look at physical space layout, it’s one of the things I will fight really, really hard for teams to make the barrier to communication so low that everybody is within ear shot in the same room, so that I never have to IM somebody. I never have to get up and go to somebody’s cube.
The people that I work with the most are close to me, and are available right away. If I have to deal with somebody who’s digitally, I create pathways. Whether it be GroupMe, or Flowdock, or whatever, to basically maximize presence with them so that I don’t have to overcome some barrier. I don’t have to send an email and wait, and do all sorts of blocking techniques.
I think it’s interesting, because so many people just write that off like, “Why are you even finding facilities to just get all of us together? That’s just a waste of time.” I was like, “Not really, because every time we want to communicate, it’s going to save us, potentially, tens of minutes, hundreds of times a day.”
Roy: If I can turn my head and talk to you instead of get up, walk for 30 seconds, and talk to you, that’s huge.
Jade: The reality is you probably won’t even do it. If you have to spend even 30 seconds of effort to do it…
Roy: I’ll put it off.
Jade: You’re going to put it off until…
Roy: I’ll start trying to batch it, and then I eventually end up not doing it at all.
Derek: It falls in line with one of my other principles. I want to be the dumbest person in the room, or the dumbest person on a team, and if I am, I’m going to ask for help a lot. If there’s any barrier to me asking for help, it’s going to slow me down, so if I really want to be lazy, I want everybody near me and within earshot of me, or digitally near me, so that I can ask for help a lot, because I’m really lazy.
If Clayton solved the problem before, and he’s got a pattern the use, I don’t want to have to recreate it. I would rather ask Clayton and have him to say, “You’re such an idiot! Why don’t you just use this?” “That’s a fantastic idea. I would love to use that.”
Clayton: It’s interesting. These things we’re talking about are things I think get beat out of you in school.
Derek: I cheat a lot.
[laughter]
Clayton: On the way to work I was thinking, “Man, I was a really lazy kid, and I always got in trouble for being lazy. Did the universe just align me with this perfect career where I get rewarded for being lazy?”
Jade: [laughs]
Clayton: “Or am I doing something different?” I thought, “I used to get in trouble for being lazy,” and the same thing about asking for help. “You don’t do that in school, it’s not right to do that. You have to do your own work.”
Roy: If you ask one of your classmates for help, that’s called “Cheating.” You get sent to the principal’s office for that.
Clayton: Derek already knows how to do this, why would I bother figuring it out on my own? I can just ask him.
Roy: Derek already filled his worksheet out. Why don’t I just copy his?
[laughter]
Derek: Can I just copy your…
[crosstalk]
Clayton: No, I’m going to learn something when I do it, and then maybe I’ll have Derek pair with me. We can both pair on that [indecipherable 12:07] how to do it. Now I know how to do it, and I already solved my problem, I don’t have to do those things twice. That’s one thing I’ve seen a lot in a lot of these teams.
Especially from the flip side, all the people in the room I mentioned that were clapping. There’s something about getting to the end of this demo where the people have just shown you some work that they’ve done. They’ve spent their time doing something, and I think everybody in the room feels obligated to just clap.
“Well, I have to show some praise. I have to pat you on the head and say that you did a good job.” But I think if you were to go around the room and ask everybody, “Why are you clapping?” they wouldn’t know what to say.
Jade: “Because I have to,” it’s expected.
Roy: “Everybody else is clapping. If they see me not clapping, then…”
Clayton: It’s just what you do.
Derek: Can we have effort ceremonies, where we go out and do a demo, and…
[crosstalk]
Jade: That’s what it is!
Derek: No, but what we really do is we go dig a 10‑foot hole that’s 1 foot in diameter…
Jade: With a teaspoon.
Derek: …and we say, “My feature is so great we need to go outside and look at it. It’s so customer‑facing we have to go out into the public,” and everybody gets all excited. You come in and you say, ” Look at this hole!” and everybody’s like, “What the hell is that?” It’s like, “It’s my hole! Do you know, I spent all day digging this hole?” when they look at you and you’re like, “You are dumb,” “Well, it’s just as valuable as every other feature shown in the demo.”
Clayton: I think that’s one thing that really is interesting about this. I think the bounds of this problem…Basically, the amount of bullshit that people can ignore is this really narrow thing. If I were to say, “I did the same feature, but instead, what I did was I went over to this typewriter, and I typed the code out. Then I scanned it in an OCR, and then I saved the file. That took me three times as long. Isn’t that great?” Of course not, that’s so stupid.
There are some a little bit less than that, and I then get away with it, and I get praised for it.
Derek: It’s because the people praising generally don’t understand. They only are looking at the output, and the output looked like you had a lot of effort. They don’t know that all that effort was stupid effort, and there was this much, much simpler way to do it.
They think, “Wow, you did exactly what was necessary to get this done,” not, “You completely were moronic, and could have done this in a much more simple fashion.”
Jade: I’ve seen it doubly so, even when the output is poor. Because you put even more effort into it, it’s like, “Wow, this really looks terrible, but you worked so hard at getting this done.”
Roy: I was thinking the same thing. There’s so much with failure, like, “You didn’t succeed, but man, you tried really hard. As long as you tried really hard, that’s all that matters.” In school, that was the case. “As long as you showed your work, even if you got the wrong answer, we’ll still give you a 9 out of 10 points.”
Derek: Maybe we can call this the “Taxicab principle.” Taxicab drivers only get paid for the distance and the time you’re in the cab. If you jump into a new city, and you don’t know anything about it, and you don’t know any better, they’ll take you all around, so that they can have a much quicker fare. When, in reality, shouldn’t we pay them for, “If you could get me to the place quicker, I would actually pay you more money, instead of if you went the long way?”
Jade: I’ve done that.
Derek: I think product owners are like tourists. They have no idea how far or how long something is. If the cab driver drives through all this traffic, and they’re swearing the whole time about how horrible this this and how far it is, they’re so pleased as punch when they get there, they’re just like, “I’m going to give you an extra tip, because you really were a trooper and treated me well during this really long taxi ride.”
Jade: Roy and I decided that we’re going to start shaming people who try really hard, and work hard. We’re going to get a trophy that we hand out…
Roy: Right, a little Yoda.
Jade: [laughs] That says, “At least, you tried.” [laughs]
Clayton: OK. To wrap up, if I’m a product owner, the manager, or whatever, what can I do to stop praising effort?
Jade: Stop praising effort.
Roy: Stop praising effort.
Derek: Stop praising effort.
[laughter]
Clayton: OK, but how do I do that?
Roy: First off, stop clapping in the demo when everybody worked really hard to produce nothing.
Derek: I think a big part of it is, promote sustainable pace. Force everybody to go home at 5:00 PM. Don’t let people come in at six in the morning. Don’t let them work on the weekends.
Make them say, “You’ve got to have some time off,” and, if they don’t have those things, you should say, “Well, something is wrong with you. You are too serious.” When they’re like, “How else am I going to get all this stuff done?” it’s like, “You need to learn to work better.”
Clayton: Find a better way.
Roy: Find a better way.
Jade: I think, being proud of doing the simplest thing, of not working late, all those things are how you start to combat that attitude.
Clayton: All right, thanks.
Jade Meskill: Hello. Welcome to another episode of the Agile Weekly Podcast. I’m Jade Meskill.
Roy vandeWater: I’m Roy vandeWater.
Clayton Lengel‑Zigich: I’m Clayton Lengel‑Zigich.
Derek Neighbors: And I’m Derek Neighbors.
[laughter]
Jade: Very nice. Derek, you had something you wanted to talk about. What was it?
Derek: Yeah. I’ve been doing the work with a number of teams, and one thing that I’m starting to see emerge as a pattern is the team’s struggle to go fast. They struggle to work particularly within the Scrum framework a lot of times. Not only are they siloed where they got developers and QA that are separate, but where they don’t have a lot of automation. This could be automation around deployment.
This could be automation around testing, so maybe they don’t have an automated testing suite. Or if they’ve got some automated testing suite, there’s still some manual regression happening. Even if they have a fully automated testing suite, they’re not running it automatically.
They’re not having continuous integration, or it takes an enormous amount of long time to build. What I’m finding is it’s very, very hard for them to see what performance looks like, because they can’t get over the concept of their current reality. The current reality is, “Hey, it takes five days to run the test suite. There’s no way we can have a one‑week iteration. That’s just impossible. It takes us one week just to test, once the developer’s done with a feature.”
Have you guys seen instances, where maybe the current reality or the lack of automation makes it so teams just find…I had somebody specifically today, tell me, “That’s really nice that you stand up there and talk about a 10 minute build. Frankly, there’s no way you’ve ever done that before, because I’ve worked for five different companies, and none of them have ever been able to do that. I find what you’re saying impossible to believe.”
Jade: [inaudible 02:06] we have a 10 second build?
Roy: Yeah. I agree. I’ve struggled so hard to get a build to take 10 minutes. I don’t believe it’s possible.
Derek: In their current reality, I understand that. If you’re a manual regression tester, and you’ve got a fairly complicated suite, it’s taking two or three days to run a single test plan. I can understand how it feels impossible that you could, with any level of comfort, run a test suite under 10 minutes that made you feel like you weren’t shipping crap.
Roy: We’re working with the team right now, but we’re not working with working microphones.
[laughter]
Jade: That’s right. We are working with the team right now that a single test takes two weeks of constant computation, a single test.
Clayton: I’ve seen that in a lot of instances where, the technology gets in the way. If you’ve got a java applet that loads a Swf, how do you automate testing of that content? That seems like this impossible thing. I think a lot of people say, “It is what it is, throw my hands up in the air. What else are we going to do but, let those hourly regression people slave away at typing in commands and looking at the screen”?
Roy: Along the idea of trying to test a flash out, I think that’s one of the first mistakes that immediately causes your test suite to get larger, and take longer, regardless of whether it’s manual regression or automated testing. That’s when you write the test case last, after everything is done.
Jade: Yeah.
Derek: When you write the test case first, you end up using solutions that are easier to test. You don’t run into those things.
Clayton: That’s one of my favorite things about doing, not even just TDD, but just test first. Where you have to take into account what easy to test and what isn’t. I’m working with a team that has a fairly large fitness test suite. You can, totally, tell the way they went about using fitness to write this acceptance for higher‑level tests, because it was so difficult to test at the unit level, the only thing they could do was test the big black box of spaghetti code. They were all written after the fact.
They were trying to do more of a TDD approach or write unit test. It would’ve been so impossible to write any test whatsoever, if they were actually dedicated to that, they wouldn’t have had to solve that problem in the first place. The reason automation doesn’t get more not popular, it’s because a lot of times team get rewarded for effort. Jade and I were talking about this the other day. If you’re using a lot of effort that probably means you’re dumb. You can be so smart and lazy that you can do a lot of things automatically.
If you work in a system or an environment where you rewarded for staying up till five in the morning working on some stupid thing that should be automated, what incentive do you have to automate things? You’re going to get clapped for, and pat on the back if you put a lot of effort into stupid things. Human nature wise, that seems to make sense. That’s like irrational decision at that point.
Jade: Yup. If you’re putting a lot of effort, it must be important.
Clayton: Yeah. Exactly.
Roy: The part that’s really difficult especially when you go to test after the fact is to justify the expense of writing a test. Because you have this working piece of software that your user could be using right now, why not just release it, and then not worry about the test?
Clayton: I’ve heard regression teams be referred to as backstops and people make a baseball analogy metaphor that’s, “The catcher is supposed to be there to catch the ball and that should be fine, right?”
That’s what I think what the developers think of themselves as, “We’re going to do this thing where we’re going to write something, and I’m going to look at it, and I’m pretty sure it works. That’s kind of the catcher, but in case there’s some wild crazy pitch edge case that gets past me, at least there’s a backstop.”
Pretty soon, they stop trying to catch the ball and everything is just the backstop. I think that’s what happens. Why would you spend the extra time to make sure no bugs or no defects or problems or no nothing ever got to the regression team, because they’re always there?
You know they’re going to be there. If something goes wrong, wouldn’t you rather someone blame them than blame you? That’s always…
Roy: Then you get into that whole QA developer rivalry, too, where you hate them because they’re making you do more work. You don’t get to work on new stuff, because they keep uncovering the crap that you wrote earlier.
Clayton: I really like the way that some people in the QA or testing or whatever community talk about testing versus checking. Those are the things that a computer can do. Making sure that this algorithm works properly in these different cases or whatever.
I really like that idea where testing is more about heuristics and looking at, “How does the system function, and what do I expect to happen? What people perceive and is it consistent with the rest of the thing?”
All the stuff that you, actually, need the human brain for. Those are valuable things that people could be working on, actual people. Everything else really should just be automated. [inaudible 06:56] should be automated testing.
Jade: You posted a really awesome article, I think at the beginning of this week, about a case where a company neglected to use automated deployment. In this case, instead of automated testing, but another case where something is done repetitively and there was an opportunity for automation that wasn’t taken. In this case, I think it ended up costing that company $365 million.
Clayton: Some trading company, right?
Jade: Right. We’ll attach the article to the description, but it was pretty crazy. They break down exactly what happened, and it ends up being, “We just didn’t automate something that should have been automated.” Now it’s human error that comes into play.
Derek: I see some funniness in that one of the things that had come up in some the discussions today, too, was, “Well, one of the things that QA is really incredible for is our business rules are so complex that nobody understands them. Literally, nobody actually understands the business rule.”
The great thing is what we do is we have QA, what would happen is you would basically code the story as a developer, and as you code the story as a developer, my fantastic test plan is going to cover every edge case, so that I can actually tell you how you didn’t understand the business rule.
When I think about that, it sets the fallacy that this stuff is so difficult that we’re going to have humans try to remember how it works. Like, “I’m a human, I know that doesn’t work.”
Clayton: That sounds like the exact opposite of how it should be.
Roy: Right, where if it’s super complicated, and you’ve got this thing, shouldn’t you have the computer be checking that it’s the right thing? Then make it happen faster so that I can get immediate feedback.
Derek That’s what I was kind of saying is, “The problem is that if I go and I code this thing up and it takes me five minutes, and I hand it to you to run your test plan, and it takes you two days to give me feedback, that’s really irritating. What if I could run a 10 minute build and get that feedback immediately, and make an adjustment?
That’s when it just blew up into, “It’s impossible that you could ever have a 10 minute build.” I think the second part I think that the thing was, “Great, if we really automate that stuff, what happens to us as a manual test team? We’re still going to have to do a bunch of stuff.”
I think, if we look at some of the best companies in the world that are really doing continuous deployment well, they’re not having manual testers test. They’re having real users test. When they deploy something, they deploy it to a small set of people or to a small set of systems, run tests on them and continue to get feedback, and continue to let things deploy as they get more and more feedback.
I think in order to be competitive, especially in the kind of high tech space, you’ve got to get to the point where your crap’s automated, man. I just can’t see hanging with the big dogs if you’re sitting out having manual tests. I just don’t think it’s reasonable anymore.
Jade: There’s actually a ton of freedom and liberation in having those things automated, right?
Roy: Sure.
Jade: There’s no need to have human slaves that are doing that. I’ve been reading a lot of Buckminster Fuller, and he talks a lot about freeing the human race from being muscle reflex machines. That’s what computers should do for us. They should free us from having to worry about those types of details, and those repetitive motions that can be fully 100 percent automated.
Roy: Many of those QA people are valuable people that could be contributing so much more than just a menial task…
Jade: Right, than following a script and clicking buttons.
Derek: One of the things I kind of brought up is that in many instances the QA people have the largest amount of domain knowledge in the company. They could be the front and centre of helping to find the product and helping work with customers, because they’re the ones that understand the product most intimately.
Instead of putting them out there helping them make the product better, because of their understanding of the product. Instead we have them doing the menial labor of kind of like sweeping the shop floor every night, which is just ridiculous.
Clayton: I think one thing maybe we’re glassing over a bit is if you already have some big kind of legacy kluge system that it’s not very well tested, maybe has a big manual test sweep. What is the first step in fixing that problem? How do you even start automating things?
Derek: One of things that I’ve been recommending because it’s something that comes up is at the beginning of the sprint the testers don’t have a whole lot to do. QA doesn’t have a lot to do, because there is no code ready for them to test.
Normally what they’ll do is they’ll start to write their test plans. Do the shell of their manual test plans. Then, what happens is at the end of the sprint, the developers don’t have anything to do and this is one of the big complaints about Scrum on teams that work like this is, “Hey, it really sucks, I waste my time because there’s three days left in a two week sprint where I’m not allowed to do anything, because I can’t bring new work in because there will be no time to test it. What do I do with my time?
A lot of times I’ll see Scrum masters say, well what you should do is you should go help the testers by running manual tests. What I’ve been recommending is you should help the testers by helping them automate the tests that they need to be writing, or should be go finding code that is the most complicated code that causes you the most grief. You should be writing tests that surround that code.
In that time that you really can’t go grab new code, because you won’t have time to test it you should be helping the team move towards automation. Starting to create that path and create those good habits, the other thing I intend to say is in a bare minimum start unit testing in all new code you write.
Clayton: Even that’s pretty hard. The one thing I always tell people if they want to go towards automation is it’s probably going to be 10 times harder than you think.
I think for a lot of people it’s kind of like, “OK, we have the manual tests, I can just automate those.” But then you start doing that, if you want to make good choices you end up getting to a point where you really do have to go back and re look at a lot of the stuff.
It takes some skill to be able to go in and look at it, some legacy code base. Legacy [inaudible 13:14] two weeks ago, kind of thing. Be able to go in there and say, “Where can I add some tests?” or “How can I pin this code down, so that I can actually test it and get it under tested, so that I am confident in that test sweep.”
Jade: Yeah, but if you do it for humans, doing testing by clicking around those are some really easy places to start automating. There is lots of great tools out there to automate the clicking around and report exceptions for you.
The last place I was coaching at we ran into this problem where huge legacy system, and I started showing the regression testers how to use Selenium and some tools. There is definitely a lot of challenges in just getting the environment working.
They were able to automate the 80 percent of the everyday stuff, and that freed them up to make much better contributions.
Roy: Yeah, for all the people that have the excuse of our environment is so specific that we can’t really test in an automated fashion. I am willing pretty much to guarantee that there is probably somebody else that ran into the same problem was sick of it, and came up with some way to deal with it.
It may not be pretty. We saw crazy hack together solutions using all sorts of different technologies just trying to get something to work, but it’s still beats having human beings click through that stuff.
Derek: Then I think the second thing is where I see complete lack of automation that causes a lot of team’s pain as round deployment. Whereas, the deployment process is so painful and every time someone deploys they screw something up, and because every time they do something, and they screw it up, a bunch of process comes out about it.
Now you’re not allowed to deploy, you have to fill out a form, and you have to go before a deployment board. Only certain people have access to the production environment. It just cascades into ‑‑ it takes two days to deploy a five minute change. Are you guys seeing stuff like that anywhere?
Clayton: Yeah. I think there’s a lot of rules. I’m getting put around deployment. It’s the same stuff, where you can’t automate it because of some usually like some silly technological problem. People don’t know just how certain things could work or there’s some fear around it where we can’t deploy automatically, because if do that then we won’t get the release notes and user update information out in time.
Like coordinating a bunch of different departments that are all doing things in kind of a dumb way. That you could solve those problems, but people usually just avoid that, like we only deploy every so often so I’d rather just do it manually.
We’d rather pick one poor person that has to stay until nine o’clock to press the button than fix the problem. It’s easier doing that.
Derek: I think maybe some of that in the manual testing as well, is people don’t even know the tools exist. I think that’s part of it. It seems so scary, because I’ve never seen it done before, so I don’t even know that tools exist to help make this stuff easier.
Jade: Yeah. It does look like magic, if you’ve never seen it before.
Clayton: If you’re a windows developer.
[laughter]
Jade: On that note that’s all the time we’ve got for today. Thanks for listening to our weekly podcast.
Jade Meskill: Welcome to the Agile Weekly Podcast. My name is Jade Meskill.
Derek Neighbors: I’m Derek Neighbors.
Roy vandeWater: I’m Roy vandeWater.
Clayton Lengel-Zigich: I am Clayton Lengel-Zigich.
Jade: Derek you had a topic that you wanted to talk about today. What is it?
Derek: Yeah, something I’ve seen a lot lately is when teams start to really get agility they really start to get high performing. One of the things they tend to do is go around roadblocks. They tend to start to basically, maybe choose some things that the higher powers in a large organization aren’t comfortable with them choosing. There becomes this divide that starts to say, how come you’re not following standards?
Whether those standards are set or whether they’re not set. Whether it’s an architecture thing. Whether it’s a language choice thing. Whether it’s a process thing. You name it. At what point does being agile in supporting the best ideas, and moving forward, and having the people closest to the work make the decisions about the work start to compete with centralization and efficiency?
The problem is if everybody uses .NET, then we get the benefit of people can jump from team to team, or we get all the benefit of being experts in .NET. But if you’re doing Ruby and I’m doing Java and you’re doing .NET and you’re doing C# and you’re doing whatever, now we lose all of this efficiency.
There’s this tension between “We’re trying to be innovative and just go as fast as possible” versus “Don’t you want to be efficient, and have standards that we get benefit, or this economies of scale?”
What have you guys seen in that area? Where do you sit on that sort of thing?
Jade: When you started talking about this I remember a time when our team had started to deal with some of this, our Integrum team, and tried to standardize on certain libraries, and certain techniques, and things like that.
We kind of went through this phase, exactly what you were talking about. From what I recall it was a total disaster. We were even using the same language at that point in time.
Derek: If you guys would all just use Emacs I wouldn’t have been such a [inaudible 02:19] about it.
Jade: [laughs] It really hampered the ability for teams to make the right decisions that were right for the project that they were working on. It became this whole committee situation, and in the end we completely abandoned it, because it was not functional for what we needed.
Derek: I see a couple of benefits and problems with it. I think that it’s nice to have things standardized. The thing I can remember at the time was, everybody was setting up servers a different way. When I had to deal with a problem with some client, and I went to go log into the server, shit was all over in different directories. People were using different stuff. When you really talked to them, there was no like, “Oh, we did it this way, because of this.” It was just, “Oh, I don’t know. I liked Apache, so I used Apache even though everybody else was using Ngnix.
Great. Add in an extra four hours to me, figuring out what the problem was, because everything was non-standardized. I think one of the things that we started to do that worked really well, was to treat things more like an open source project. If somebody had a good idea, people would support that. If people wanted to fork it or do something else, there wasn’t a whole lot of, “No, you can’t do that.”
But if it bit somebody else in the ass, people were not nice to you about it. It’s like, “Hey. If you weren’t going with the best idea that everybody had, fine, that’s great. Do your own thing. But don’t expect a whole lot of support when you’re out on the island all by yourself, and you’ve gotten yourself into trouble.” I remember one distinct incidence where we were talking about moving, I think, to Home Brew or something. Nobody really wanted to move to that. We were a little concerned.
Somebody said, “No, I tell this is the best thing ever,” and somebody said, “OK. Well, if something goes wrong, I can punch you in the nuts if it’s problem.” The person said, “Yes, it’s fine with me. I believe in it that strongly.” I think sometimes to me it’s not about having standards in the sense of written rules and policy. I think that’s when you get in trouble.
But I think when you have — I won’t say, best practices — but when you have some consensus and some alignment about trying to be good, as long as you have the door open to explore, and try new things, you’re OK. It’s the minute that it’s like, “Well this is the way we do it, and you can’t do it any other way, no matter what.” That’s when it gets really dangerous.
Roy: I think the idea of standards — I don’t really like the idea of standards. I think that if you have a particular way that you want something done, and you want to have everybody do it that way, you need to make that the easiest path for everybody. In your example, if I want somebody to use Apache, I’m going to make it really freaking easy to set up an Apache installed the way I want it set up.
It’s going to be so easy, that you choose Nginx, but it’s going to mean a lot more work for you. That way I’m not forcing my standard down on you, but I’m giving you a lot of incentives to use my standard.
Derek: I think that tends to be the open source model. Which is, if I fork it and make it easier, people will use my stuff instead of your stuff.
Jade: It’s technical Darwinism.
Derek: Right. But it’s a lot different than saying, “Hey. Use mine, or if you don’t use mine, I’m not going to help you.”
Jade: Right. Mine was approved by the architectural control group.
Roy: One of the things I’ll say that I see on a lot of new teams too is the opposite of that. What happens when somebody says, “I think that we should have 80 percent coverage, or 100 percent unit tests.” Or, “We should do this instead,” and now you don’t allow anything to come into this source tree that doesn’t have those. Isn’t that a standard?
Clayton: Yeah, but that’s a lot different all of a sudden.
Derek: Oh, so your standards are OK, but my standards aren’t.
[laughter]
Derek: Oh, I see you’d think, so I am maintaining a project, and you’re trying to contribute to it, I want to say that I have a standard that says, at least 80 percent source coverage, before I will take your request? That I totally agree with. I think that’s fine. I just disagree with the idea of me enforcing my standards on you, on your project.
Jade: I think Darwinism also comes into play there. If your standards are unreasonable, and nobody can give back to you, well people are going to stop working with you, and you’re going to die and wither on the vine.
Derek: Right.
Clayton: I think it’s one thing for a team to be principled, and have certain values to say, “We want to be technically excellent,” or something, and that means that we’re going to really value test driven development. Or, “We really care about testing,” or something like that. I think that’s fine to have standards like that, because I don’t think those are so much like rule standards as they the values of the team.
Do you want people in the team to live the values? I think those are a little easier pill to swallow. I am personally a fan of having things more standardized on it at the team level. I think there’s so much time wasted and dumb on purpose stuff that goes on, around people trying to use different things in their little pet project and [inaudible 07:13] work.
Derek: Why is it OK at the team level but not at the org. level, or at the company level?
Jade: I think that at the org. or company level, the values or the influence those have, I think those just get more and more abstract.
Clayton: Yeah, they’re too far removed from the problem that’s being solved.
Jade: Yeah, I think if you were to say, “We have to use Java for everything,” that might not be the right thing for everything. If your biggest problem is that you have people that work for you, that can’t work on your Java project, and then go work on the Ruby project, you don’t want those people working for you, right? You’re not losing efficiency because there are two languages.
Derek: Why would I not want the expert? Why would I not want the guy that wrote Java to work for me, and he doesn’t want to work on Ruby. He’s got 20 years invested in that. He is the absolute best person ever at that.
Jade: Right, but you’re going to get the person that’s the best person at Java, but that’s not really where you’re going to get value out of using some particular technology. It’s not like if you took that person that’s a 20 year Java expert, that’s all they’ve ever done, and you put them on some project, they’re going to instantly make it better.
Derek: But what if I believe that the person that knows 20 years’ worth of Java is better than the person who knows six months’ worth of Ruby? To me, even though Java might not be the right tool for the job, this guy knows so much about Java. This girl knows so much about Java, that they’re going to do it better anyways, a better tool to do it, just because they’re more experienced.
Roy: I would challenge your beliefs and say that maybe your beliefs are wrong.
Clayton: I don’t doubt that that’s possible. I think if you took someone who’s an expert chef and you give them a bunch of crappy ingredients, and a crappy situation, they could pull it off, because they have that expertise, and they have all that stuff. I think that’s fine, but I would question how frequently that scenario comes up, where the biggest gain you get would be out of having the [inaudible 09:01] expert.
Derek: I only hired experts clay.
Clayton: Yeah, and I think a lot of people have that mindset, where they think they only hired the best people. Most of the people that I’ve talked to that think that they hired the best people, they really can never tell who the 10 times programmers are, anyway. I think that they’re chasing unicorns at that point.
Derek: The unicorns that they do find tend not to actually be the best people, in my experience.
Derek: Let’s say it’s not language. Let’s say it’s desktop operating system, or let’s say it’s server operating system. You name it.
Jade: I think it comes down to conventions are very handy things to have. It’s when they become policies that it can become inflexible, and ruin some of your creativity, and your ability to adapt to the situation at hand.
Derek: I think for me, where I get uncomfortable is the minute that somebody says, “We can’t do that because…and the answer is…”
Jade: The policy blah, blah, blah.
Derek: Or some standardization. “We can’t do that because Windows Server doesn’t do that.” Or, “We can’t do that because Ubuntu doesn’t do that,” or, “We can’t do that, because Apache won’t do that.” “We can’t do that…” The minute that I hear that it’s, “OK, so you’re not willing to innovate.” You were willing to sacrifice being able to do something you can’t do right now that somebody wants you to do, to hold on to some standard.
Roy: I think a team can have standards for itself. Why a team and why not an organization? I think a team can have standards for itself, because it is being held responsible for the problem that it’s trying to solve, and everybody is present. If they want to change the standard, they can do so expeditiously. An organization cannot, because they’re solving a whole bunch of different problems, and they can’t dictate a universal solution for all of them, and they’re not being held responsible for any of them.
Derek: But are they being held responsible? Meaning what if the team goes away and the organization still has to support that? You’ve got a team of four people, they did go off on this path and they do something completely non-standard, and it’s really awesome, and it solves the customer’s problem, and it’s really great. Then all four of them get pissed off about something or they get some great new job or they get hit by a bus.
Jade: They win the lottery.
Derek: Yeah, they win the lottery pool.
Jade: That’s the HR term.
Derek: Now you’ve got to have somebody else go support that.
Clayton: I think that’s the risk, that’s the trade-off. You can have the policies where you say, “Oh, we can’t do that because you can have that scenario,” or I think you can have that other extreme, which is, everyone can do whatever the hell they want, and there are trade-offs to both of those.
Jade: Does this come back to the inherent tension between creativity and efficiency?
Derek: Yeah. For me, I always like to explain it. I think there’s a slider button. One polar opposite is innovation or creativity, and I think that’s rooted largely in chaos. Then, if you slide the button all the way the other way, you’re basically in efficiency, which is usually rooted in standardization, policy control. I think you can slide that bar any level you want to find the balance, but what I tend to find is organizations have trouble setting that bar.
They either want to slide it all the way to the right, or they want to slide it all the way to the left.
Clayton: Usually always left.
Derek: The teams underneath, want to adjust it somewhere else. Where I think if organizations said, “We’ve got a scale of one to ten, and we’re going to say between one and three is acceptable,” or, “four and six is acceptable,” or “seven and nine is acceptable,” and then let the teams underneath them, or the organizations underneath them fine tune it for them. I think they’d get a lot better results, but instead I think it’s just this constant tension of team versus org, versus big company.
Jade: I think mature teams will have the slider closer towards the standards for most things, but when they know they could get some benefit out of being more creative or chaotic, they move the slider that way. I think teams get into a lot of trouble, immature teams especially, where they move the slider to the creative side, for the sake of being creative. It’s like “We’re going to do this thing that we could do already using the things we know, but we’re going to do it in this whole new thing that nobody knows we have to support, blah, blah, blah…” That might not be around in six months, just because it’s a cool new thing. I think that’s pretty stupid. That’s dangerous.
Derek: Right, well there’s safety in chaos, because nobody can hold us to the fire.
Jade: That’s true.
Derek: If there is no standard, nobody can say you’re doing it wrong. I think there’s a lot of immature teams that want to jump into that. It’s the classic early-adopter of technology. You probably don’t want to be bleeding edge, to the point where you’re spending all your time trying to get your technology to work. But at the same time, you don’t want to be a laggard, or a late-adopter to the point where you never get any benefit.
You want to be riding that wave right at the top of the crest where you’re probably one of the first people adopting it, but you’re adopting it just at the point where it’s mature enough that you’re having to tweak it a little bit, but you’re not spending all your time tweaking it. That’s such a hard sweet spot to find.
Jade: It’s the hardest place to stay.
Roy: But I think a mature team is really focused on delivering value, so they will try to find that sweet spot on their own.
Jade: The best people I’ve worked with are very situationally aware. They know when is the right time to move that dial. It’s not even on a whole project. It might be in this particular situation. When’s the right time to be a little bit riskier, when’s the right time to be a little more stable.
Clayton: Stick with what you know.
Derek: The blog post that’s coming in my mind right here is the big wave riders. These are the guys that go out there and they’ll sit, and they’ll paddle, and they’ll wait. People are like, “Man, that person’s dumb, they’re not taking any waves.” But then magically, they go right when the best wave of the day comes in, and they ride it in, and everyone’s like, “Oh, man! That’s so incredible! Did you see how incredible that is?”
It’s totally crazy for them. I think that really good people know every so often, you have to be patient, but when the right wave comes, you better paddle like hell to get on it, because it’s the thing that’s going to throw you above everybody else.
If you just sit there forever and don’t ride a wave, you’re screwed. But if you ride every wave, you’re going to be tired before the wave that comes that really matters hits. I think that’s just hard. In big companies especially, that’s hard because that takes serendipity to be able to jump.
Jade: Little companies as well. You might die before the big wave comes.
Derek: Or if you get on the wrong one. But individually it takes practice. You’ve got to fail a lot before you can learn.
Jade: You’ve got to know how to sense the wave.
Derek: When the big wave comes, you’ve got to know how to deal with it.
Jade: You’ve got to have the skills to ride it. On that interesting metaphor. Let’s wrap this up. Thanks for listening. Catch you next week.
Derek: Thanks.
Jade Meskill: Hello, welcome to the “Agile Weekly Podcast”. I’m Jade Meskill.
Derek Neighbors: I’m Derek Neighbors.
Roy vandeWater: I’m Roy vandeWater.
Jade: Today, we wanted to talk about the dangers of multitasking in agile and maybe a little bit about multiple commitments. Roy, we’ve been having some trouble with this lately.
Roy: Self-imposed trouble.
Jade: Yeah. We should know better but we still fall for the trap. Why do we keep trying to multitask?
Roy: I don’t know. I think it’s our arrogance and thinking we’re different, and that somehow it’s going to work for us when we know it doesn’t work for anyone else.
Jade: So, because we’re really good at this, we can multitask in agile when all other humans can’t.
Roy: Right, even though it’s miserable and no fun at all.
Jade: What do you think Derek? Have you struggled with multitasking in agile?
Derek: I’m too dumb to do one thing, much less two things at the same time. I see a lot of teams struggle with it or actually organizations. Well, I see teams and organizations. I see organizations do it with the multiple resource trap.
I think of somebody is this logical thing that has 100 percent. Because I think of them as this logical binary bit of 100 percent, I can take 10 percent of them and give them over here, 30 percent and give them over here an 60 percent and give them over there.
On paper that sounds really fantastic, but for whatever reason it just doesn’t ever seem to pencil out quite right. I see that trap a lot.
Jade: Interrupt you real quick. That reminds of a cool exercise I did once with a group of managers, who were really struggling with understanding why nothing was getting done. I had them write out an individual’s name on an index card. I had them do that for their entire team and then I had them go and layout all the projects that everybody was working on. We put the projects up on a board and then I had them say like, here’s John.
How much of John is working on Project X? They said, oh about 20 percent. So, I tore about 20 percent of that index card off and you should’ve seen the look of horror on people’s face that I’m like tearing this person into pieces.
I stuck that up by the project and said all right how much is on this and that? We went through and by the time we were done there were these tiny little scraps of people everywhere all over this board.
Because they had way more projects than they had people and that visualization of that problem really sunk in, that holy crap we are really doing something very very wrong.
Derek: I think that’s becoming a common trend very similar to the no estimates hoopla, I think you’re starting to see a no projects thing emerge, which is…
Jade: Is that from you? [laughs]
Derek: No, I said it a few years ago and kind of dropped it, but I think people are picking it back up. I think what people are realizing is that when you do things by project. Projects ramp up, and ramp down, and have overlap. You have to start tearing people. Pretty soon when you do that, you get 10 percent of people and the problem is that it’s never that clean.
When I say “Jade, 50 percent of your time will be on this, and 50 percent on this other thing, and Roy, 50 percent.” What happens is the two projects both need 100 percent of you at the exact same time. It’s not one week I need 50 and one week I need 50 and it works out great. I need all of you right now, and the next week I don’t need you at all. It never is during the same time, so you just get into this total chaos that starts to ensue.
It’s crazy to see how much it helps people to not have that burden, to not be a slave to multiple masters. When they can just say, “I’m doing my best work on this and I don’t have to be constantly thinking about this other thing at the same time I’m trying to be focused on this.” It’s amazing how much freedom that gives people.
Roy: There’s another interesting effect that happens there too. Which is when you’re working on one project and the second project normally doesn’t have a whole lot of pressure behind it, but now all of a sudden it does. Even though the project you’re currently working on has a high amount of pressure, I’ve noticed that now relatively speaking the other project feels like it’s way more important because it’s more important than it normally is.
It makes you way more willing to interrupt what you’re currently doing to work on the other project, which is weird. Even though both are more important right now, because it’s relative importance relative to its past is higher, you interrupt yourself and you get into this weird thing where you’re interrupting between the two projects, and you interrupt your interruptions, and it just keeps going deeper.
Derek: I see patterns too…of one style of pattern is that everybody on the team is a percent, so the whole team that is working on this thing, this product or this project, or whatever it is. All of us are some percent of our time working on it. The product never gets momentum because I have to coordinate my 10 percent with your 20 percent, with your 30 percent, and we can never find the time to meet because we’ve got meetings on other stuff.
We just can’t even coordinate, it’s a total nightmare. Or the other thing that I see is that almost everybody on the project, or the product, is specifically dedicated to that thing and it’s one or two people are a percentile and then they’re like the outcasts because it’s like, “You’re the bastard we can never, ever depend on because you’re on this “other project,” or this other team. We’re having to compete with you, or for your time, and that’s a burden…”
Jade: Which is usually not that person’s fault.
Derek: No, it’s not…
Jade: But they bear all the guilt, and the brunt of all of that…
Roy: Right…
Roy: If you insist on it…If you tolerate it, you insist on it, so they bear at least some of the guilt.
Derek: Well, I think what happens is they become a scapegoat that they can’t avoid. If I get Jade 20 percent of the time on a product, and Jade is a potential bottleneck for me, I can very easily say “It’s not that my work didn’t get done. It didn’t matter that my work didn’t get done because we didn’t have enough of Jade’s time…We wouldn’t be able to deploy anyways because he’s the Deploy Master, and he wasn’t available anyways, so…”
It allows all this weird behavior to start to happen, total victim mentality of “Well, you know, XYZ are roadblocked, so that’s why we didn’t get it done.”
Roy: If you’re that guy, though, or the team that doesn’t allow that type of bullshit to get in your way, and don’t make excuses, it’s really easy to stand out above the rest.
Jade: How many teams have you worked with that are in that condition?
Roy: Only a few, but I remember every one of them, and they all stand out, because…
Jade: Right…It’s not very common.
Derek: The great thing about standing out is it makes it really easy to cut your head off.
[laughter]
Derek: Which is the other thing. When you start as a “Don’t even bother giving me that 20-percent-guy, the 20-percent-release-engineer, because we’ll just do our own releasing.” Now you’ve pissed all over the release teams.
When you’ve got a department of 10 people that are the database team, and they’re used to controlling everything about the database, so they give you graciously 6.5 percent of a database engineer to deal with your database stuff.
If you’re the team that just says “We’re willing to stand above the rest. F- it, we don’t need the database engineer, we’ll handle our own database,” now you’ve just created a shit-storm because you’ve threatened their entirely livelihood. “If you won’t take 6.5 percent of us, what happens when the next team won’t, and the next team won’t, and the next team won’t…”
Roy: Their livelihood should be threatened.
Derek: “Then, we don’t have a team.” That causes all sorts of other angst. I think that’s one of the reasons you see this multitasking in agile, or this dividing up of resources. It’s basically empire building. If I can build an empire of this thing, then divvy it out as a scarce resource, I have a lot more power than if I just focus on a small team.
Roy: It’s like organizational [indecipherable 8:04] union.
Derek: It really is. If I can have a strangle-hold on you, whether I’m an architect, a [indecipherable 8:12] , or whatever, like these siloed groups that “You only get a percentage of my time. You have to plan everything around me, because if you want whatever new thing approved, and I’m the only group that can approve it, and I can’t get you on my schedule, tough to be you,” that’s the way it works.
Roy: “F- that. I don’t have time for that. I understand that you’ll be stepping on some toes, and people are going to get pissed off, but tough.” Nobody has time to sit and wait to be the six percent.
Derek: I tend to agree with that, but I think that’s how those empires built, as people get fearful of “We don’t have somebody who’s a certified…”
Roy: “Or we don’t want to piss off that part of the organization.”
Derek: “Or we don’t want to piss off that part of the organization…”
Jade: “They may have a lot of power.”
Roy: “They may play golf with the boss, or something.”
Derek: I think it’s difficult. Then I think I also see a lot of multi-tasking in agile happening, especially on scrum teams or [indecipherable 9:01] teams, where people have a ownership problem. Maybe we’ve got backlog of tasks, or sprint items, sprint backlog items, or however you want to call them…
Units of work for the iteration, or the sprint, or the cycle we’re in, and there’s five of them around dealing with the database, and I really want to be in charge of how the database scheme and all that stuff is done. What’ll do is I’ll walk up, and i’ll take all five tasks off the board, or I’ll assign all five of them into me, which totally blocks everybody else. There’s no way I can do those all on the same time.
The justifications I see around this are “You know, these are so dependent that the person that defines a scheme couldn’t possibly be the person that creates the model. They have to be the person…”
Jade: “Now I have to show you so much in order to you to even get up the speed, so I’m going to do this great favor and I’m going to bear the burden of doing all this stuff.”
Derek: I see a lot of that.
Roy: This is a warning sign.
Jade: [laughs] .
Roy: When this happens, something very bad is happening and you should stop it.
Derek: If you have somebody on your team that’s the only person on your team that can do something then you’ve already done something wrong.
Roy: So solve that problem, and then worry about multitasking in agile.
Jade: Recently we’ve been talking about [indecipherable 10:23] and competing desires. I think this has a lot to do with that same problem especially at an organizational level where we have competing desires to finish this project. But also this project, even though we can’t actually spend the money or have the people or whatever it is to do them both.
Derek: Are you criticizing that we have got six number one projects?
Jade: Yes [laughs] They are all number ones of course.
Derek: I definitely see this is a prioritization problem is part of the reason why you get these resources allocated this way and when I say resources I am lovingly talking about human beings.
Jade: [giggles]
Derek: We can’t slice human beings as Jade says even when you spread them on a card, it gets a lot of angst.
Roy: [giggles] Right.
Derek: But if you call them resources you can divvy them up…
Roy: Yeah.
Derek: …however you see fit.
Roy: Especially on a spread sheet. Like five Jades. [laughs]
Derek: …but yeah, I think that’s how usually [indecipherable 11:13] , when somebody’s got a resource allocation spread sheet like, I know they are fucked right out of those [indecipherable 11:17]. Like “This is not working for you right?” and he’s like “Oh no, it’s working great, we are awesome.” So you are paying that consultant for what particular reason?
Roy: [laughs]
Derek: But, I think that what happens is it’s because there are so many priorities that what we start to do is like the only way that we can get the ten number one priorities done. Like we can’t laugh that we just said ten number priorities like the mathematical probability or impossibility of that it’s like totally honest. So what we we are going to do is that we are going to get a spread sheet out and see how we can divvy up these toys, so that we can get all of the number one’s done.
Jade: Great.
Roy: Well….
[crosstalk]
Roy: …sometimes it’s not even that organized, it’s pretty frequent that this single point of convergence of all of these priorities is to develop products doing the work. So they have like three different managers that they report to that are all requiring demands of them, and they are the only person that can stand up for themselves and say like, “No I am working on just this and I have to get this finished.” Instead often what happens is that they would go ahead and promise everything to everyone.
Derek: Well. I mean the way the managers get around that is that when they come back and they say, “Woah I owe this to Jade and this to Roy.” What happens, those two managers get together and say well the easy answer to this is we are going to split the baby in half. Well you can have fifty percent of Derek’s time and you can have fifty percent of Derek’s time but take it…
Jade: [indecipherbale 12:28] slice Derek.
Roy: …but that’s already an improvement if that communication happened, because…
Derek: Yeah…
Roy: …because I am not even seeing that most of the time.
Derek: …yeah. I think that’s how people get to the matrix organization. Is they get to the point where they all have number one priorities and so when they get around to talk about it, when they are looking at a spread sheet, it becomes really easy to say lets slice Roy six ways…
Roy: And then everybody…
Jade: Everybody’s happy.
[crosstalk]
Derek: …everybody’s happy except for Roy. Then ultimately none of them are happy because it takes ten times as long to get anything than if they would have serialized them and say lets do the number one project when it’s done we’ll do the number two project when its done…
Roy: And then [indecipherable 13:04] involve start playing that urgency game where they wait until the last moment to uncover their projects that all of a sudden…
Jade: It has to be done tomorrow…
Derek: Oh yeah, you’ll have to wait for the fire I mean if you can say like this is really clearly the number one thing but somebody’s house is on fire, the house on fire is always going to take precedence even if it’s the right thing to say well, let it burn we are building something much better here. You definitely get a fire fighting culture. A fire fighting culture is part of what emerges when you start to have multitasking in agile, multi-commitments…
[crosstalk]
Derek: …when you have competing desires…
Derek: …competing desires, like these are all like signs that your fire fighting culture is coming and then once that starts you are screwed because nobody can think clearly any more. It really is just like we have got a fire truck with a bunch of fire hoses and whichever flame is shooting the highest right now we aim the hose at it until it’s smaller than the next one and then we move back and…
Roy: Which means the fires never go out.
Derek: …we can not figure out why this fire will not go out, it totally mystifies us.
Jade: So how do you solve it?
Derek: For me I think the number one thing is create good solid teams. Let teams form let teams merge, and stop cutting people up and then start to prioritize your work. Start to say that this is the most important thing for our company or our [indecipherable 14:24] our team or whatever it is. Be totally focused on that until you either decide it’s not the right thing or until it’s complete. One of the two it’s you either kill it or finish it. Until you move on to the next thing. The problem is it’s really hard.
Jade: Yeah. My advice is usually stop. Stop the fire fighting, stop the insanity and it’s going to be really, really painful but it will allow you to have a much better perspective on how to move forward. You are right it’s really difficult to stop. I think, Roy and I find ourselves victims of this right now today…
Roy: Yap.
Jade: …we know it, we are self aware and it’s still hard to stop.
Roy: I mean when the interruption happens we are like, “We shouldn’t do this.” But we are going to anyway.
Jade: [laughs]
Roy: …no we are so stupid on purpose.
Derek: No you are not stupid, you’ve got a lizard brain and people like to be heroes. Why we call it fire fighting culture like we celebrate fire fighters. Fire fighters are these really great people that make a lot of pain go away, and are really looked up as heroic.
Jade: Yeah. It’s true.
Derek: I think that’s part of it. People pat you on the back and say awesome job, when you drop everything and solve their problem for them. The problem is you probably half-assed solved their problem for them and you create another fire. So it’s like on one hand you get rewarded for the effort and you get rewarded that you have got some immediate “hey you made the flame get smaller.” But…
Roy: But the best fire fighter would have prevented the fire from getting started…
[crosstalk]
Jade: And If you say no you are a villain.
Derek: Correct.
[crosstalk]
Derek: “How would you let my house burn down?” Well because I don’t another 6,000 acres to burn so, sorry.
Jade: Yeah, but that’s a a hard pill to swallow.
Derek: Yeah. It’s not as nearly as fun as being a hero that’s for sure.
Jade: That’s true.
Derek: I am bringing matches to work…
[laughter]
Jade: That could be dangerous.
[dropping sound]
Jade: Well, that’s all the time we have, thanks for listening to “Agile Weekly Podcast” catch you next week.
Jade Meskill: Hello, welcome to another episode of the Agile weekly podcast, I’m Jade Meskill.
Derek Neighbors: I’m Derek Neighbors.
Roy VandeWater: I’m Roy VandeWater.
Jade: Roy, will you tell me what we’re talking about today?
Roy: Today we will be talking about asking for help.
Jade: Oh! Will you help me figure out the next question?
Roy: No.
[laughter]
Jade: Derek, will you help me with the next question?
Derek: Yes.
Jade: What’s the next question?
Derek: The next question is, “When should you ask for help?”
Jade: When should you ask for help?
Roy: All the time.
Jade: All the time? You just don’t know anything?
Roy: When shouldn’t you ask for help?
Jade: That leads to a good question. Why don’t people ask for help? If you should do it all the time, why don’t people do it?
Roy: I think a lot of people are probably afraid to be perceived as not knowing something, as OK as that is. Obviously, there’s nobody in the world that knows everything.
Jade: Do smart people ask for help?
Derek: Sometimes.
Roy: Wise people ask for help. I don’t know about smart people.
Derek: I think there’s some cultural baggage around that. In some cultures it’s perceived as if you ask questions it means you’re dumb.
Roy: Yeah.
Jade: It’s a sign of weakness.
Roy: Yeah. I’ve talked to people where they feel they ask questions during a job interview, and they feel like the candidate Googled an answer, for example, then that is looked down upon. That is a point against the candidate, and they’ll probably not get hired.
Jade: What do you think it is?
Roy: What, Googling?
Jade: If somebody did that in front of you while you were trying to interview them?
Roy: If they don’t know the answer, and they’ve asked me and I don’t know the answer, and they don’t Google it, I would be like, “Have you not heard of this? Have you been living under a rock?”
Jade: [laughs]
Roy: If I’m hiring people, I don’t care if they know the answer themselves, I just want them to produce the product. If they rip it all off of Google, as long as it’s legal I don’t care how they get around it.
Derek: I think there’s some stubbornness involved, also. There’s some people who feel like “If I give you something you have to give me something in return. Therefore, if I ask you for help, then somehow I’m enslaved to you, and you could pull that card out at any time.”
Jade: So I’m in “Help debt.”
Derek: Maybe I don’t want to get into debt.
Roy: Maybe the opposite. Because there’s also a lot of cultural baggage around being asked for help. Especially when you look at how people ask for help normally. They say, like, “Derek, please close the door.” It’s not really asking, so you don’t get to really say “No.” By me asking for help, I’m kind of socially obligating you to help me.
Derek: If I said, for example, I need one of you to volunteer to [indecipherable 03:13] this podcast, that would not be asking for help?
Jade: No, you’re kind of commanding help.
Roy: I’ve heard that called being “Volun‑told.”
Jade: Volun‑told, yeah.
Derek: My immediate reaction to that is, “Screw you, buddy! I’m not going to help you. Don’t tell me what to do.”
I know that I don’t like to ask for help. I have a hard time with it. I like to know things, and I like to learn things and figure them out. I’ll definitely Google things, I don’t have a problem with that. But maybe the more subtle or insidious things, that I’m surrounded by smart people who probably have the answer, but instead I’m going to be dumb and learn it the hard way.
Roy: I wonder, too, if there is a bit of trust that’s missing. If I ask somebody for help and they provide it, now all of the sudden I have to take their help, almost, because I asked for it.
I’m not saying you actually have to, but socially it’d be really awkward if I asked Derek for help, and he gave me help and I said, “Nah, that’s not the help I’m looking for. I don’t want your help anymore.”
Jade: Yeah, I think that we think it’s this really high cost thing, too. In reality the amount of time it takes me to ask for help is the entirety of the investment, and if I get the help I gained a whole lot for the amount of time that I asked for it. But if I get a “No,” or I get help that doesn’t really apply, I’m no worse off than I was before I asked for help, except for the small amount of time I spent asking for help.
I think that we forget that. We forget that it’s a really low cost thing to do, because it takes a lot of courage to do it. It feels expensive even though it’s really cheap. I think for me, a lot of times I’ll be OK at asking for help if it’s present and in my face.
If I’m sitting here struggling with a technical problem and the two of you are sitting in the room, I’m probably pretty likely, the minute that I get blocked, to ask one of you two, because I know you’re both really bright and know technology.
But if the two of you aren’t in the room, but you’re on the end of a chat channel across the way, and I don’t have that chat channel open and I run into the exact same problem, I might fight with it for 30 minutes before I go, “Oh, wait! I could get ahold of them on IM!”
Sometimes I think presence makes it difficult too. If the people that we think are available to be helpful aren’t immediately present, we don’t think about…the barrier of typing an email and waiting 10 minutes for a response is probably still better than beating my head into the wall for 30 minutes.
Or we think that people maybe don’t know the answer. Gangplank is a really interesting place, which is a collaborative workspace that we’re in a lot, where we record this podcast. It’s not uncommon, if there’s 50, 60 people in the room, that you might pop up and say, “Hey, will somebody help me by telling me where a pair of scissors are?”
That’s really low‑cost, and the reality is somebody probably knows where those scissors are. But if I sit there and look at all 50 people, and I say, “I have no idea which one of these 50 people would know where the scissors are,” I might not ask any of them.
I think it’s getting over the barrier of, even when you don’t know who can help you, sometimes just saying, “I need help” is helpful. The person drowning that says, “I’m drowning,” generally gets a life raft. The person that doesn’t say that doesn’t get the life raft.
Roy: It’s interesting, because people in general like to help. People like to receive the attention and to take advantage of knowing something that other people don’t.
I think there’s even probably a little bit of, I don’t want to say it’s malicious, but a little bit of one‑upmans. Like, “Hey, I’m helping you, because I’m able to do something that you can’t, so that gives me a little bit of self‑confidence boost,” or whatever.
In fact, I’ve even seen people help when it’s not even asked for and when it’s not wanted, just to have that either one‑upmans, or just to help out.
Derek: One of the things I find very interesting is that people do not like to ask for help, but damn, do they like to give it out, even when it’s not solicited.
Jade: [laughs]
Derek: We really like to rescue people, but we don’t like so much to ask people to help us, which is really odd to me. You think that it would be…
Roy: The other way around.
Derek: An even metering out.
Roy: Because helping people out has a way higher cost associated with it. It actually takes time.
Derek: Something in our wiring makes us want to help people. If we know that we like to help people, even when they don’t ask for it, wouldn’t we think that, when we want help, that…
Jade: People who want to help?
Derek: People would really want to help, but it’s like we’re wired the opposite way.
Jade: If asking for help is cheap, and waiting too long to ask for help is very expensive, how do you create a culture of asking for help?
Derek: I think the same way you create a culture for anything you want, is you just have to model the hell out of it. I think you have to insist on it. You have to constantly be in a mode for modeling that behavior, potentially even asking for help when you don’t necessarily need it.
I think you also have to model that it’s OK to say “No,” so that you don’t create a culture where people feel obligated to help when they’ve got other priorities or other things, and that people don’t get offended when they’re told “No,” that they get a healthy dosage of what it’s like to ask for help and get it, but also ask for help and maybe not get it, or have it delayed, and that that’s OK, too.
It doesn’t mean that if I ask you for help and you say “No,” that it doesn’t mean you’ll never help me again.
Jade: Or you hate me. [laughs]
Derek: Or that you hate me, or there’s something personal, but that it just might be you’re really busy trying to do something else.
Roy: Or have no knowledge to help you.
Derek: Or I don’t have the ability to help. I think it’s just modeling that a lot. I think you have to model it a lot. I think it happens pretty quickly when you get results.
I think when you ask for help and you get help, it feels like you’re cheating. It’s almost like, “Damn, I’ve got the stables easy, but [indecipherable 09:19] smacking this sucker over and over again, and it’s getting easier and easier the more I do it.” I think that it becomes a pretty Pavlov response of, “I really like this thing, so I’m going to do it a little more often.”
Jade: You’re saying, if you are feeling like nobody around you is asking for help, that’s probably a good indication that you need to ask for help.
Derek: Yeah. I would say, if nobody is asking you for help, that probably means that you don’t ask anybody for help.
Roy: I’m pretty sure, though, that the quantity that I think we have a mutual understanding of, is not what most people are thinking of what we’re talking about. I’m thinking about asking for help multiple times an hour, maybe a dozen, two dozen times an hour. That’s once every few minutes. That’s not once a day or twice a day. It’s a lot.
Derek: How could you possibly need help that often?
Roy: I do a lot of complicated stuff.
[laughter]
Roy: I’m a very dumb person, so I do a lot of…
[laughter]
Derek: Can you give me some examples of how you’re asking…
Jade: Actually, you’re a very smart person, if you’re asking for help a lot.
Derek: Can you give me some examples of how you asked for help today?
Roy: [indecipherable 10:20] multiple times, where Jade and I were pairing, and I didn’t understand something, so I asked him to explain things that were going on, I asked you guys all for help in reminding me of something that I knew I had forgotten, and I was hoping you guys would know.
Likewise, I asked for help in remembering whether or not we were going to an event tomorrow, or next week Thursday, and I think there were several other times as well. I can’t remember all of them. Those are a just the ones that come to mind.
Jade: I had to leave and you still ask me for help over IM.
Roy: I think you asked for help quite a few times too, when you were off doing some completely unrelated.
Jade: Yeah, I left all my stuff somewhere, I asked you to help me bring it back.
Derek: What does an organization that asks for help a lot look like? How does it look different than an organization that doesn’t ask for help?
Roy: Noisy.
Jade: Yeah, noisy. I think it’s a place that feels good, feels high energy. I think “Ease” would be a good word. It’s really easy to be part of an organization that asks for help a lot.
Roy: You probably have a lot of trust and appreciation for the people around you, because you’re constantly getting help from them.
It’s like, “I know I don’t have to worry about this, because I know you three got my back, because I’m asking for help all the time, and you’re responding positively. I don’t have to sit there and worry that someday in the future I ask for help for the first time and you guys will say, ‘No.’”
Derek: Do you think maybe one of the reasons why a lot of organizations struggle with asking for help, or don’t have a culture of it, is that maybe people are isolated?
Jade: Yeah. I think just like you said, when it’s not right in your face, there is some weird psychological barrier. Even if it is pretty low and pretty cheap, if I can ask you a question right now that we’re sitting face‑to‑face, versus having to send you some sort of text message or something like that, that’s going to significantly lower my desire to ask for help for some reason, even though it’s still really easy.
I think if you’re not together, not even just physically, but if your presence is low, even virtually, it creates an enormous barrier to asking for help. I know I would feel like I’m inconveniencing someone. If I don’t know that they are present in here with me, I’m pretty sure I’m interrupting them or causing them some sort of problem.
Roy: Which is interesting, because they can then say “No.” If you’re interrupting somebody, there’s no reason they couldn’t say, “Hey, no.”
Jade: Yeah, they could certainly say “No.”
Roy: Or, “No, but try again in 10 minutes.”
Derek: I see this a lot. If I’m in a cube farm, or if I’m in an area with offices, the barrier for me to get up and go to somebody, while that’s not really high, it’s a lot higher than just turning around and asking them or looking across the desk. But I think the real barrier is it really feels like I’m interrupting them.
At our house with kids, and dogs, and animals, the bathroom is the sacred place. It’s the only place nobody bothers you. I think in a lot of companies, cubicles or offices become the sacred place. I see people walk up to cube walls and knock on the cube wall like it’s a door. Like “Knock, knock, can I come in?”
Think about the barrier to that. If I want help, I literally have to knock. I have no idea what you’re doing, I have no idea if I’m really interrupting you.
If I can physically see you and I can see, “Hey, you just hung up the phone, I know you’re done with that phone call,” it’s a logical time to say, “Hey.” If you’re really busy, you’ll say, “No,” but I know you’re on the phone. Whereas I get up, I walk over, you’re on the phone, do I stand there and wait? What happens?
Jade: Yeah, that’s a really great point. That reminds me of when I was much younger, and managing my first team. I was much less wise then, and I had a private office, and nobody would ever come and talk to me.
They were making terrible decisions, and I was always mad and very unhappy with, “Why aren’t they asking me for help? I have these answers, I know how to help them, and they’re just not asking me for help.”
I remember we decided to move. I moved out of that office, I moved in with the team, and that really made such a huge difference of just being physically available to them.
That’s all the time we have for the Agile Weekly Podcast. Thanks for listening. Talk to you next week.
Roy: Will you help us by having a discussion with us on our Facebook page at facebook.com/agileweekly Thanks.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich…
Roy VandeWater: I’m Roy vandeWater…
Jade: I’m Jade Meskill…
Derek Neighbors: I’m Derek Neighbors…
Jim McCarthy: I am Jim McCarthy. You got me in here.
[laughter]
Jade: We found this guy…
Jim: A major breakdown in their standards has occurred.
[laughter]
Jade: …stumbling down the street, away from shelter.
Clayton: It’s like the Hotel California. You may enter, but you may never leave.
Jim: This is my second time to Chandler. There’s been no trips up to Crystal Lake. I can see that the mass of things…It’s pretty cool down here. Actually, it’s pretty hot. But it’s a pretty cool place to be. I’ve got to admit. So, I’m glad I’m here.
Roy: That’s good.
Clayton: We’re glad to have you.
Jim: I’m going to get you up to Crystal Lake. We’re going to do the pod cast up there, too.
Clayton: Today we wanted to talk about presence over planning. Presence is more important than planning?
Jim: I’m willing to talk about that. I was just suggesting that as the basis of our starting this podcast.
Clayton: That seemed like a really good idea. I figure we should talk about it.
Jade: We are present, and there’s been no planning. What a better opportunity?
[laughter]
Jim: [inaudible 01:21] could pretend there was planning. We’re doing a boot camp right now. We’re in the first part of the boot camp and it’s just starting to get rich. I get off when they start to get off. I’m excited, enthused, and happy and I’m in.
Jade: Welcome.
Clayton Welcome
Roy: Welcome
Jim: It’s beautiful to watch.
Jade: That’s awesome. Much better than yesterday. That’s for sure.
Jim: It’s amazing how a little bit of time and persistent focus from their boss makes a big difference.
Clayton: What’s the trouble with planning?
Jim: It’s just fictional. It’s like science fiction. You could write a good science fiction book. That’s something to do about [inaudible 02:12] that’s basically a plan. I have always found, especially when it comes to talking, that your presence will trump your planning every day of the week.
I’m in this room. We got four high end or nice microphones. We’ve got a mixer. We got four men, plus me. Whatever that means.
[laughter]
Jim: I’m looking from my perspective, there’s four men here. Anyway and we are going to talk because we are getting to be friends and its probably going to be interesting cause we are in the middle of this interesting experience. So, that’s what I meant by our presence would probably trump…
Jade: Uh, I’ve definitely been in planning meetings where there is no presence…
[Others agree]
Jade: … those are really terrible…
Clayton: It’s going through the motions, but, uh, half the people are thinking about …
Jade: …they are just doing work, or…
Clayton: …yeah, they’re just trying to get through it.
Jade: And the results are usually very poor.
Clayton: Yeah, I found that you can energize a team if you get everybody involved in what they are doing, which I think is getting towards having presence over planning, so that they actually feel like their physically there, they feel like their mentally there and they feel like they are actually in, you know, they are in to what’s going on.
That makes a bigger difference then any other game or gimmick or technique or whatever anything I would ever really use.
Roy: So it’s the specific value that we are trying to get out of both presence and planning. Like, we are saying presence over planning, but in terms of what?
Derek: So to me, like, I almost think that planning is evil. It’s almost like discussion in the sense of, planning is not doing, right, if we are planning were not doing, we are planning.
People get bogged down in the, just like they get down in the perfection of doing, so they never ship. If you just do and never ship that’s a problem too. Well if you just plan and never do, that’s a problem. And I think that if, to me, if everybody is present, like really emotionally present and really wants to do great things, great things will happen by people that are present doing things.
Roy: So then…
Derek: …I think planning kills energy, like, I mean that…
Clayton: …as far as a formalized process of planning?
Derek: Yeah, like, lets not do anything, lets just sit and complain…
Jim: …like ‘what are we going to do next?’ That’s what it’s all about. Instead of ‘what are we doing now?’
Derek: Right.
Clayton: If you look at the boot camp, the beginning of it, before people have any alignment whatsoever, and people aren’t really present, it’s all about planning like, ‘when are we going to do the next thing?’ and ‘when’s this going to happen?’ and all that stuff.
And then when the people become present, like Derek said they are kind of like emotionally in and invested in it, that I think that’s when the planning doesn’t feel important anymore. It just comes together…
Jade: …the facade falls away…
Clayton: ..yeah, like you don’t know how it happens, but it happens.
Roy: But you still need some kind of urgency, like, you need an urgency to achieve some goal. So, I feel like that’s a really light form of plan. Like, you have to be doing something. You can’t just put a group of people in a room together and say, ‘be great, whenever you get around to it’. [laughs]
Jim: …and whatever medium you choose, and, well sort of we are saying that in this thing, but…
Derek: …but we are giving them a timeline…
Jade: …right, they have been given a goal…
Jim: …given a goal by a boss and the boss hasn’t been relenting.
Derek: To me, that’s absence of an assignment. A team needs an assignment. I don’t necessarily know if they need a plan.
Clayton: I’ve seen plenty of plans without an assignment.
Roy: That’s true.
Jim: I’ve seen a lot more plans than achievements. There are tons more plans than achievements, right?
Clayton: Yep.
Jim: Michelle’s got this thing that usually annoys me, but she’s always right about it. If she wants to discuss that something that isn’t creative, it’s like, “Oh, I’m not going to talk about that user interface. Go do a user interface and then, we’ll look at it.”
But to talk about it as if it had merits of various sides of various arguments and treat it as if it were already done, she just refused to do it. It’s always good advice, so we have a fight.
Jade: Well, that’s real and you can fight over the…
Jim: It’s not what’s real, we can see the work. Opinions are like butt‑holes, everybody’s got one.
Jade: That is the ultimate expression though of having a highly iterative process, not an incremental process, but an iterative process where, “Let’s just create something. Get it out there. See if it actually does what we want it to do. Then, let’s talk about what it doesn’t do and let’s go make that happen.”
That’s where a lot of Agile teams get hung up is they focus on going through the motions of following that process instead of looking at the product that they’re creating. Ultimately, looking at themselves as the team being the ultimate product that’s been created.
Derek: I don’t know how many times we hear, “How can I measure that we’re doing Agile right?” It’s like, “Who cares if you’re doing Agile off, you’re not doing anything meaningful with it.”
Jade: Are you shipping? Are you delivering great products? Then, you’re doing it well.
[laughter]
Jim: Exactly.
Clayton: Someone asked me yesterday, they just got out of the experience of having this painful process of deciding something in this big group which planning is usually a bunch of people have to decide something and nobody ever wants to, competing interests and everything. They were asking me, “Why is it so hard?”
I asked them what it would be like if it were easy. The laughed and they’re like, “The easy answer is everybody trusts each other. People could just go do stuff and it would be OK with the group.”
I was like, “Yeah, that’s pretty good.”
[laughter]
Clayton: That’s how it goes. That is the easy answer, right? You can imagine if you had a planning meeting where the user interface thing comes up, rather than everybody arguing about what it should be, it’s, “Yeah, OK. We got that.”
Then, you go do it….
[crosstalk]
Jade: I like the idea of not discussing it until it’s been created.
Derek: Some of that is process starts to become more a crutch for bad behavior. I find myself more and more getting frustrated as people say, these clients tend to ask, “How do we know whether we’re doing Scrum well or doing Kanban well, or doing whatever it is? How do we know our process is working?”
I say, “I hate Agile,” because I hate process. In reality, Agile hates process, too. It actually says, “Individuals and interactions over processes and tools.”
How do we get to the point where everybody who’s “doing Agile” is arguing about process when we should be valuing individuals and the interactions of individuals over those processes and tools? One of the things I love about boot camp is that it melts all of that away and it just gets down to people.
Invariable, whoever the high‑performer in the room is, the first thing I want to do is throw all sorts of process on how to get these people productive. When, in reality, if they would just get down to getting to know the people and getting transparent and vulnerable with those people, they’d find that they’d get much better results and there would be absolutely no process to do.
How do you do that in an organization?
Jim: Like you said, it’s a very wise thing. You’ve got the sage of desert here.
Jade: He’s been called many things.
[laughter]
[crosstalk]
Clayton: Sage is a four letter word.
Jim: That’s my story on him and I’m going to stick to it because I like it.
Roy: In Arizona, they spell “sage” A‑S‑S.
[laughter]
Jim: Oh, is that what it means? In Arizona, they have a sage among them. I’ll stand next to him. He’s got a bright, red passionate love suit on and he’s very cherubic looking.
[laughter]
Jim: He smiles more than anyone, cackles a time or two. So, anyway, I’m getting all these people. Then, everything works out.
It is funny in boot camp, though, we try to make everything that’s stupid illegal in boot camp, because it’s happened before and it’s wrecked stuff. We go, “OK, that becomes against the law, that becomes against the law.”
All you’re left with is you, these other people, and the question in the beginning is, “What do you want?” That’s what they’ve been working on here for a couple of days. What’s so beautiful is they answer it, and they answer it more deeply. They start to smile, and their wrinkles actually go away, their stress has disappeared. It never fails to impress me how beautiful people are when they do try to be authentic.
Jade: They become humans.
Jim: Yes.
Jade: I think that’s what we’re missing so much in a lot of these organizations, at least the ones I’ve been working with. There are very few humans working there. There might be robots and reflex machines, but there’s really not a lot of actual, wonderful, beautiful people. They’re trapped in there somewhere.
Jim: I’ve noticed with you four ‑‑ I’ve been thinking about you four. This is a great team here, they really love each other. They’re always laughing. You can hear Jade’s laughter booming…
[laughter]
Jade: There is a laugh track.
Clayton: Check that out on video, yeah.
Jim: They’re always laughing, and it’s like, “Well, that’s it.” If you’re laughing you’re going to live forever, you know? Let’s at least believe that, what the hell.
[laughter]
Jim: Laughing, that’s what’s so great about my marriage. My wife loves to laugh. She laughs at my stupid jokes. Someone was just telling me that they really like listening to our podcast. He said, “I’m jealous ‑‑ Michelle thinks you’re the funniest thing.” I was like, “I know, I don’t blame you for being jealous!”
[laughter]
Jim: It’s just such a great thing to have to laugh. They’re starting to laugh a little more in there. You have to cry too. I said this morning, “It’s good to cry at work.” What a dumb thing to have to say. Of course, no‑one’s paying me very much to say it either.
One young woman who’s brand new to the workforce said, “Well, thank you for telling us that.” I told her afterwards that she was so encouraging, and that it was brave of her to encourage me on such a radical point.
Jade: Yeah.
Jim: It’s not radical, of course, that humans cry. I don’t know how I got into this [mumble] just present that’s what happened to me today that was impressive.
Clayton: Jade’s point of being human ‑‑ I think if you had a personal relationship with someone and they were telling you some issue, or explaining something about them, and they got emotional, started crying, all the things you’re not supposed to do at work. That’s an interaction that you have with that person as maybe a friend, a spouse or whatever.
You have this human‑on‑human connection, but then someone exhibits behavior like that at work where they act like they’re human. It’s like, “Whoa, this doesn’t follow the guidebook. I’m not supposed to have this interaction with this person. I’m not supposed to love them…”
Jade: “This is an HR problem.”
[laughter]
Clayton: Yeah, it’s an HR problem…
[crosstalk]
Roy: At the very least, I’m uncomfortable because now I feel like I have to reciprocate and I’m not comfortable doing that.
Clayton: That’s part of it, yeah.
Derek: I was working with a client. One of the topics that came up in one of their ‑‑ they do lean coffee on a regular basis ‑‑ is, “How do you foster relationships?” It’s against the HR policy to friend somebody on Facebook who is your direct report. You’re not allowed to be emotionally connected to people who report to you. How does that work?
[crosstalk]
Derek: How do you get results…
Jade: …Ask him, “How’s that working for you?”
Jim: I’m going to take a wild guess that it’s not working very well. It might be, but there’s a lot of surreptitious Facebook friends. It’s like when it’s not legal to make love with people you work with. OK…Then a lot of [inaudible 14:24] takes place.
[laughter]
Jim: Any time you try and outlaw basic human qualities, you just create lawbreakers.
Derek: Maybe they’re just trying to ingeniously promote that behavior?
[laughter]
Derek: They’re trusting in the rebellious attitude of their employees.
[crosstalk]
Jim: …That’s what the boss says, then that might work. It seems like a long way to go.
Jade: Our question was, “How do we do this in organizations?”
Jim: Yes, that was the question you asked.
Jade: We have to be organized very differently. The organizations still.
Jim: We have to be committed, personally, to loving our neighbors and ourselves. That’s enough. We don’t really need a degree or a different boss. It’s true that some people might come down on you, and you have to be willing to move on. Your own love and life is more important than a particular job.
The example we have before us today is the guy that brought these people to this boot camp. Took a big risk. I had a boss, he’d say, ” [inaudible 15:38] you’re acting like a one‑armed paper hanger!”
[laughter]
Jim: That’s what ‑‑ boom, he’s working his ass off trying to keep it all going, taking a big risk. He cares. I did say to him and his wife both ‑‑ he brought his wife and his child, which is very telling. He’s just a very admirable guy. If you’re in a position of authority and you want to have a great team, you have to do the sorts of things he’s doing for his team. He’s discharging his responsibility as an adult [inaudible 16:15] in their behalf.
Roy: What good is having a lot of responsibility if you never use it?
Jim: That’s my point. That’s the guys that’s sitting around trying to control people.
Derek: Now that you’ve opened up that door, one of the interesting things to me about this boot camp is that several wives attended.
Jim: Yes.
Derek: It was interesting. At the end of the first day, I challenged the other interim guys. I said, “I suspect we’re going to lose a wife between today and tomorrow.”
Jim: Not permanently?
Clayton: [laughs] No. That they wouldn’t come back.
Derek: One or more won’t come back, this is probably too awkward for them. We ended up gaining a wife ‑‑ a spouse ended up showing up that wasn’t there during the first day, and we didn’t lose any.
Why is it that as a world, we try so damn hard to separate work from who we are? Why do we insist on being prostitutes to our work? What dynamic is at play that we just can’t, for whatever reason, allow ourselves to integrate who we are with what we do?
Jim: Possibly it’s our heritage of slavery. Work was something you wanted to spare your loved ones, because basically you’re checking in to be a wage slave at best.
Jade: I think some of it is the shackles of modernism. That’s how it’s supposed to work, things are supposed to be very clean, sanitary, separate and compartmentalized. It’s not actually how we work best as humans. We’re very messy and sloppy, and things are all over the place.
Roy: And things are fun. We have heard so many times, “Hey, you guys are having too much fun. You can’t be working hard.” Or, “You can’t be doing good work, because you’re having too much fun. You need to stop that. Work is a place for work, not a place for fun.”
Jade: Like Jim said, my laughter tends to permeate the building. It causes trouble.
Clayton: A lot of people just hate their jobs. They have crappy jobs they don’t like, but they’re too afraid to get out of them.
Jade: That’s because they don’t like themselves.
Roy: They think they’re supposed to hate their jobs.
Clayton: Yeah, they think they have to do this rat race thing and all that stuff, but if I hated my job, you bet your ass I would not ever want to think or talk about it. I would totally separate those two things.
Jade: I think that the modern story is that you do hate your job and you hate your boss. You hate all these things. If you went around telling people that you loved your boss, which I encourage you to do…
[laughter]
Jim: In this place, yeah. I love my boss…
[crosstalk]
Jade: People would think you’re insane, right? They wouldn’t want to relate to you.
Roy: I’ve got friends that get upset at me when I talk about the fact that I love my job. They get mad at me like it’s my fault that I enjoy what I do.
Jim: It is your responsibility. You have created it.
[crosstalk]
Jade: You’re breaking the system.
Roy: That’s true, but I’m not ‑‑ like I’m slighting them, I guess, which is not what I’m doing.
Jim: Derek, I think you and I were in a workshop somewhere in an open space. We went to this thing. We just barely knew each other. The thing was the work‑life balance. It made me so mad to even hear that phrase that I went in there to attack it. Before I could, the sage…
[laughter]
Jim: …of the desert spoke up and said, “I don’t think there even should be such an idea as work‑life balance.” I went, “You got that right.” We just really got into it.
[laughter]
Jim: Everybody in the room was afraid to go talk and brag about how they achieved this balance, which, by the way, I’ve asked thousands of people if they’ve ever lived the work‑life balance.
Jade: What does that even mean?
Roy: That means you do as little work as possible.
Jim: It means that you must have civil war between your job and your home.
Jade: Yeah. It’s like oil and water.
Jim: Work‑life balance. Good grief.
Jade: Work‑life integration, right?
Jim: That’s exactly right. That’s my only solution I’ve ever been able to come up with, is you integrate your work.
Derek: I look at it, if you’re not doing your life’s work, stop whatever you’re doing and start doing your life’s work. What it means is, I’m punching a clock that has no meaning to my life at all. I’m simply showing up.
Jim: But I have a mortgage.
Derek: I think we said of the business, you’re no different than a prostitute. “I am only doing this transaction for money.”
Jade: Some of them like their work. [laughs]
Derek: There is no love. But that might be their life’s work.
Jim: That’s different.
Derek: I’m not degrading prostitutes here. I’m just saying…
[laughter and crosstalk]
Jim: My life’s work is my sexuality.
Derek: If I go to work every single day and I’m miserable and feel like I’m just being taken advantage of, but I’m willing to do that because there’s some paycheck on the end of it, I don’t see how that’s any…to me, is indistinguishable from prostitution or whatever you call it. I’m selling myself for…
Jim: It’s a type of slavery, is the way I look at it.
Derek: Yeah, slavery, prostitution, you name it.
Jim: It’s voluntary slavery similar.
Derek: If you get to a point where I’m doing meaningful work, wouldn’t you want everybody that’s close to you to be part of that work?
If I’m doing my life’s work and I’m doing something that’s meaningful to me, by de facto standard, wouldn’t I want all of the people that I love to partake in me? If I can’t separate me from the work that I’m doing, and if I want to give me to the people I love, by default, am I not including them in the work that I’m doing?
Jade: I think that’s a great point. I get asked a lot about that, about the things that I do with Gangplank and giving so much away and doing all this stuff. “Oh, how selfless.” I say, “No, no, no, no, you don’t understand. This is the most selfish thing I can do, because this is all about making the world better for me.”
Jim: It’s self‑indulgent at its core.
Jade: Yeah, which I think has the greatest benefit. It benefits other people, as well, but, really, it’s about making the world better for myself.
Jim: If it didn’t, you’d still do it, right?
Jade: Yeah.
Jim: It’s just coincidental that we’re pursuing virtue in this BootCamp. It’s just a happy ‑‑ very happy ‑‑ coincidence that virtue tends to pay off. If [inaudible 22:23] were necessary, I’m sorry to say, I’d be recommending it [laughs] because the fundamental unit is to make your life effective, to make it achieve what you want to achieve in the time you’re willing to spend on it.
That is, as you say, Jade…The only problem I have with the idea of life’s work is, it’s too hard for young people to have that…”I don’t know what my life’s work is.” I got my 18‑year‑old saying that. I’m like, [laughs] “I really didn’t expect you to at this…”
Jade: [laughs] “You still got plenty of time to figure that out.”
Jim: I said, “How about if you pursue what you want, and that’ll probably…If you’re human, you’ll end up making that so noble that you get to keep doing it forever.”
Derek: You have been but [inaudible 23:08] we encourage, if somebody’s 17, 18, whatever age they are, and they don’t know what they want, we can start by saying, “If you don’t know what your life’s work is, you should get to work understanding what your life’s work is, whatever that is.”
Jim: Yeah, or just pursue what you want, and trust that that will work out.
Derek: Yeah, that’s what it means.
Jim: Right, same difference.
Derek: If you have something you want, you start there, and maybe that uncovers other things that you really want. But if you don’t start ‑‑ it’s like planning, like, “I want to plan the perfect career for me.” [mumbles] I don’t know. Why don’t you…?
Jade: Good luck with that.
Derek: Why don’t you start doing what you want to do? You might find out that that’s not what you want to do, and you…
[crosstalk]
Jim: Right. Typically, you’ll find that you spent too much money and the whole decade of your 20s, typically, on something that someone else told you would make you secure.
Jade: That sounds just like product development.
Jim: Personal development?
Jade: No, product. We indulge in these things. We get these great budgets. We put together these wonderful plans on this thing that we think that we want. Then, we actually build it and realize that it’s not the thing that we want.
[crosstalk]
Roy: Or that other…
Jade: Where, if we actually pursued what we truly wanted, we would build a really great product that we would be proud of, that our teams would be excited about, that everybody would be invested in making successful.
Jim: You might even be disappointed in the first few rounds.
[crosstalk]
Jade: Of course, but, ultimately, if I continue to pursue that…
Jim: “Wait a minute. I thought of this beautiful thing, and this turd came out.” It’s hard, but if you just do it, you’re so much better off.
I spent a bunch of time pursuing poetry and fiction writing. Then, when I saw a computer, I learned what writing was, for me. It was like, “Oh, yeah, baby. Yeah, baby.” You pursue shadow things, maybe, at first, a little, when you’re a kid. Plus, it’s a list of things to choose from that’s pre‑ordained. Didn’t have any idea of a personal computer.
Derek: I think my advice to young people is explore. Get out there and taste things, because whatever the current list is, is not what’s really available. In the end, you can…
Jim: That’s the old people’s version.
Derek: You can do great things that people don’t even know about yet. Once you get a taste of that, that’s where the good stuff is, is creating the stuff that nobody’s ever seen. But the only way you’re going to do that is to be exposed to a lot of different stuff, so you can have new ideas to create from.
Jim: Find the stuff that you can’t avoid doing, that you just must do, regardless, and then increasingly make more and more room in your life for that. It was funny. About a year ago, I asked Michele, “Michele, is there something that you just do, that when you do it, you’re totally happy?” She says, “Oh, yeah, when I play tennis.” I go, “OK, how about tripling the amount of time you spend playing tennis?” She did, and she’s much happier.
It seems like, again, a dumb thing to say. “If there’s something that you do that you love, do it more.”
[laughter]
Clayton: “The easy answer is to play more tennis.”
Jade: “Imagine that.”
Clayton: “Good idea.”
[laughter]
Jim: I heard you in your talk, Jade, that great talk ‑‑ everybody needs to go listen to Jade’s talk at Livermore x.
Jade: TEDxLivermore?
Jim: TEDx conference. You said that your grandfather gave you the money to build a computer. Wow.
[crosstalk]
Jade: Not only that, he took me down and did it with me.
Jim: That was a good thousand bucks, wasn’t it?
Jade: Yeah.
Jim: Did he ever spend ‑‑ did anybody ever spend anything better than to give Jade Meskill a thousand bucks to build a computer? Gave him his life.
Jade: Even more so, he gave me his time to do it.
Jim: He did it with you?
Jade: Yeah, we did it together. It wasn’t just a check. He took me down and we bought the stuff. We built it together.
[crosstalk]
Jade: Not only that, he told me he learned things that he didn’t know he knew.
Jim: I would guess so. That’s the deal. They’re little learning machines. That’s why we love them so. That was so cool. Do something like that for your kids or friends or whatever. One little gift like that makes all the difference if it’s the thing they love.
Jade: I ran into somebody the other day at Gangplank. They were doing some stuff and they said, “I just can’t believe that a place like this exists. I would’ve never been able to do…” this thing that they were doing “…without having it.”
[crosstalk]
Jade: I was like, “That’s amazing.”
Jim: Right. That is amazing.
Jade: And so easy, so simple.
Jim: If you’re struggling at work, you’re on the wrong path.
Derek: Don’t stay in pain.
Jade: I think that really comes down to what we’re talking about. If you’re fully present, then why are you…?
Jim: We’re having fun. The guitars aren’t out yet, but when they come out, things get even better. We got a couple of guitar players, and I’m going to learn to dance. So there, Michele.
[laughter and crosstalk]
Jim: I’m on it. I’m on it. That was my new alignment. That’s the evidence to my new alignment.
Derek: We can challenge his integrity now, Michele. We’ll help you do that.
Jim: That’s right. The Hippocratic Oath will take it from here.
Clayton: With that, we’re going to go to Jim’s dancing lessons. Thanks for listening. Thanks, Jim.
Jim: Thank you for having me.
Jade Meskill: Hello, welcome to another episode of the Agile Weekly Podcast. I’m Jade Meskill.
Derek Neighbors: I’m Derek Neighbors.
Roy VanDeWater: And I’m Roy VanDeWater.
Jade: We wanted to talk about a pattern that we’ve noticed lately of [talking very slowly] people who like to slow things down. That’s for you listeners listening at two speed. We’ve seen on different teams, different companies, different environments that people have this fear of taking action.
What are some of the ways that you guys have seen people slow down the process of moving forward, of moving to something new?
Derek: I see a lot of discussion, so when I’m afraid of something, I think we’d call that slowly slowing something down until I’m comfortable. “Hey, you guys are all going way fast. I’m not comfortable. Let’s slow it down.”
“Hey, can we talk about what’s the best way that we can solve this problem”? Or, “I’m not so comfortable. We haven’t talked to Roy about it and I think we really need to have Roy involved in this conversation.”
Or, “I don’t think the boss is going to be OK with that. I think we need to set up a meeting and figure out if we would even be allowed to do something like that before we can really make a decision.”
Sometimes it will revolve around a decision, but a lot of times, I see it just around action. We should be doing something, we should be moving something forward, but instead we’re going to talk about it.
“Let’s talk a lot about what the new product should have in it. Let’s talk about what the product should be like. Let’s talk about who should be on the team.” Instead of doing things to move some step closer to doing something.
Roy: Why don’t people just do things?
Derek: Because I think you have to then own the result.
Jade: How does that affect an Agile team? So if you have a team that is trying to become Agile, be more Agile, what side effect does this have on them?
Roy: I think Jim McCarthy talked about it in terms of, “You are slowing things down to the lowest common denominator,” or, Derek, you’ve put it this way too, where you are slowing things down to the comfort level of the least comfortable developer.
Jade: What does that do?
Derek: It frustrates people who want to go faster, but what it really does is it retards people’s ability to have cycles of doing, failing, correcting. Doing, failing, correcting. Doing, failing, correcting.
If it takes me a long time to have action ‑‑ there’s a whole bunch of frustration and buildup and everything that goes along with that ‑‑ and then when we actually do something and we don’t get the exact result we want or it’s not quite right, we have to go back and we have another long process.
Two things happen ‑‑ we expend an enormous amount of energy, which is really, really valuable, and time which is the also really, really, valuable.
We also slow down our ability to learn and correct. If we choose an action and it’s not the right action but we learn something from it, that’s probably quicker than if we debated 10 different…
If we debated three different ways to do something for 15 minutes and it only takes three minutes to do each one of those things, we could be done and know for certain which one is the right one quicker than if we sat and talked about which one might theoretically be the right one.
Roy: It’s also frustrating as a developer. All of a sudden you’re demoted from having new ideas. It’s now become a bad thing to have new ideas and a new way of doing things. Anything that you suggest is going to start another chain of endless discussions. You’ll get into the mindset of, “I better keep this to myself, because I don’t want to talk about it”.
Derek: I think there are studies out there that really show that. We get so afraid of putting out a wrong answer ‑‑ it is so bad to do that we stop putting out the scary ideas, and the scary ideas are usually the ones that have the best results.
I think when you start to train yourself, “I’m really afraid of throwing this out there, doing it or trying it,” you debate it and you debate it and you debate it. You’ll debate 20 really awesome things that will set you all the way forward in taking the worst idea.
I see this all the time when we do the ballpoint games. If you look that up, invariably, I’ll see somebody who would throw out an awesome idea that would probably quadruple to 10 times the team’s productivity in this particular game. They usually laugh and step back and be like, “Ha, ha, just kidding”.
In reality, if they would go forward with that idea, the team would be way more effective. I think when people slow things down, it gives them more doubt and more time to second guess and to criticize their own thoughts and actions. It breeds more inactivity ‑‑ it literally becomes an energy sink.
Jade: So what happens to those people that were saying they want to slow things down to their most comfortable level? How do you deal with those?
Roy: First off, do those people actually ever get comfortable? Is there any amount of discussion that actually ever gets those people at the comfort level they want to be.
Jade: Sure, if nothing happens, right?
[crosstalk]
Jade: If I could use it as a weapon to stop things from changing…
Roy: The only way to effectively give the person the value that they are looking for is to continue the discussion and definitely never do anything. That sounds like we could just skip to discussion and not do anything.
Jade: [laughs]
Derek: They think a lot of times those people would prefer that. I don’t think they’re in love with the discussion. I think they’re in love with the idea of [laughs] “Well, let’s make myself comfortable with this.”
Roy: If they don’t want to do it, why don’t we just give them the power to say, “I don’t want to do this”?
Jade: How do you do that though? You have a team of people who are trying to work together.
Roy: In the past we talked about using the decider protocol ‑‑ it requires unanimous vote, so if one person’s out, then it doesn’t go through ‑‑ so everybody has the power to say no. Every person is going to get listened to ‑‑ not listened to in the “talk‑forever” sense ‑‑ but listened to in the “have‑their‑way” sense.
Derek: I think it comes down to a couple of things. Certainly if you’re using the core protocols, there’s a lot built‑in that allows you to do that, but if you’re not, you can still handle it in one or two ways. One is we refuse to not do anything, so we’re going to do the best idea that we currently have, and if you have a better idea, awesome, let’s hear it, but just slowing down to discuss is not going to be allowed.
You can say, when we’re in a discussion point, it becomes, “Hey, I think we should do XYZ.” If multiple people are, “Yes, let’s do XYZ,” and somebody continues to, “Well, I want to slow down,” part of me says…at that point, do you just check out and say, “I’m going to go spend my time doing something else”? Or do you say, “I’m going to do X”? “I’m no longer going to wait for you. It’s taking too long. I’m going to suffer whatever consequence comes from just taking action ‑‑ that inaction is too much of a penalty already. I would rather suffer some other retribution for taking action than suffer the penalty in the problems with taking no action.”
Roy: I think there’s a culture component to this as well ‑‑ if you have a culture in which everybody needs to be comfortable, you’re going to have problems in terms of going fast because as we often say, “If you’re not uncomfortable, you’re not going fast enough.” So creating a culture where it’s OK to be uncomfortable starts promoting that type of thought.
If you have a culture of uncomfortableness, that’s probably going to be very tightly linked to a culture of “No Criticism”, and a culture of dishonesty. If we’re a culture that’s all about you being comfortable, Jade, then I can never criticize anything you do because I’m going to be making you uncomfortable.
Jade: Which is true.
Roy: Right, exactly.
Derek: [laughs] I think you’re touching on something really interesting. There’s something behind the motivation to slow things down. It’s not that people are completely unreasonable, or just not decent human beings. They’re afraid of something. Have you ever worked with someone to help understand what it is that is behind their need to slow things down and help them overcome that?
Derek: Yes, I see a couple of patterns. One is lack of confidence, so…
Jade: Self‑confidence?
Derek: Yes. “I don’t trust that I’m capable of doing this, whatever this is, so I don’t want to take the action until I’ve got complete assurance from other people that it’s safe for me to take this action,” ‑‑ there’s a lot of validation that needs to happen.
We need to go lift 50 pound block, but I don’t think I can lift the 50 pound block, so I want to discuss it, not necessarily because I think I want to slow it down, but I want you guys to pump me up to the point where you make me believe I can actually do it. When we get to that point, then, yes, I’m full‑on willing to go do it.
Another one that I see is ‑‑ like a flip‑side of that ‑‑ “I don’t feel comfortable admitting that I have a lack of confidence.” On one the discussion is “I’m really nervous about this, and I want to go over this again, and I want to understand,” so somebody is like, “Will you help me understand? Will you help me understand? Will you help me understand?” What they’re wanting is that self…
Jade: Affirmation.
Derek: Right, affirmation, and then I think there’s the flip‑side where, “I don’t know how to do it, but I don’t want to tell you I don’t know how to do it,” so what I really want to do is I want to debate this thing to death, because the thing you are asking me to do, I have no clue, but I know how to do this other thing over here, and even though I know it might not be the right thing, I’m going to argue to death that it’s the right thing because if we do the thing you want, then I have to admit I have no clue how to do that.
Roy: Another variant is lack of trust that the other people know what they’re doing. Argue it to death so that instead of having a high level discussion about it and agreeing this is where we’re going to move forward and trusting that Derek is going to do it right, we argue about it endlessly and insist on ironing out all of the details, so that I can have full control over making sure that Derek does it the right way, because I don’t trust him to do it.
Derek: There’s that control component there too ‑‑ fear that people won’t do it how I want it done. I’ll debate it to death just because I want to make sure that this stupid you gets every single detail right.
I can’t agree to take action that I’m not going to personally do until I know that you’ve affirmed every single decision that can possibly be made about that action.
Roy: Which is interesting because I’ve definitely worked on teams where I did not trust the other people to make good decisions. It was for good reason because they made stupid decisions all the frigging time.
[laughter]
How do you deal with that? I guess that’s part of the culture of honesty ‑‑ you need to be able to say, “Hey listen, you make stupid frigging decisions, so let’s talk about this.”
[laughter]
Derek: It’s bringing the better idea to the table, right? If everybody has to do the work, maybe it’s, “Hey, that sounds great. Let’s pair on it.” Or, “Hey, that’s great, but why don’t we check in every hour and make sure that we’re going down the right path”?
There are a lot of ways to deal with very real problems, without necessarily having to slow down forward movement.
Roy: Part of it though is that nobody actually wants to talk about the fact that they don’t trust the other people. Nobody says, “I am afraid that you aren’t going to implement it the way I want to see it done.”
Jade: If you had a high trust environment, you probably wouldn’t be having this problem.
Roy: Yes.
[laughter]
Derek: Another thing that seems to happen is, just like people are not good at breaking down requirements or stories, or you name it, people are not good about breaking down decisions. A lot of times, it’s like we’re trying to negotiate every single detail in this really big thing before we take one step forward.
Instead, if we said, “Can we all agree that we want to go east? Yeah, we all agree, we want to go east. OK, let’s start walking east and as we are walking east, let’s make a decision about how far we’re going to walk,” or whatever, right?
A lot of times, that’s another delay tactic, “I don’t want to start moving because what if we start going east and in another two hours, we decide we need to go north? We could have gone diagonally and gone a lot faster, so I don’t want to move from this seat until I know exactly where I’m going.”
Roy: Just assuming from the principle that for the most part, your gut feels that sometimes you may be wrong and that you will suffer by having to walk back in the opposite direction to get back to where you started to then start heading north. Usually, when everybody agrees, “Let’s go east,” you’re probably going to end up going east.
Derek: You can slice it down into decisions that are small enough to say you can find that baseline, “Where is the real fear at”? Is the fear in moving altogether or is the fear in going east? What is it?
If we can get agreement of 75 percent on the stuff, that allows us to get moving while we figure out the other 25 percent. If you’re trying to schedule something with somebody with tight schedules and neither one of us could hook up, this week I just said, “Can you come out between this date and this date”?
No details. No, “This is what we’re going to do. This is what we’re not going to do,” just, “Can you make it out during this time? Yes or no, that would really help me.”
The person was able to say, “I have no idea what I’m committing to, but I can commit. I will be available sometime within that week. Can we please talk in the next day or two to determine what those details are”? [laughs]
That allowed the conversation to move forward, but didn’t require all of the details.
Jade: Let’s wrap it up here. We’ve got about a minute left. What’s our advice to people who are stuck in this challenging situation?
Roy: Go faster.
Derek: Anytime you start to feel frustrated with the speed that’s something moving, it’s a good sign that you should demand the action or decision be made.
Jade: You need a tool or some ability to make quick decisions and take action.
Roy: If the team or people are insisting on not being able to make decisions, get from them, very concretely, what it would take in order for them to be able to get to a place where they’re making a decision. If you can’t get that, that’s a huge problem.
Check out, probably, at that point. Just leave. Go do something useful because you’re wasting your time.
This person’s telling you, “I’m not comfortable. I don’t know what it will take to get me to be comfortable,” so talking to him isn’t going to help.
Derek: That’s exactly it, right? It really is. If you get to that point where you’re frustrated because stuff is not moving, say, “We need to get this moving. Here’s what I think we should do. Can we get consensus”?
If there’s no way to get consensus, you’re better off going and doing something else.
Roy: Avoiding the temptation of large groups and just have management go in and say, “We can’t come to a decision. I’m going to go do this. Anybody is welcome to join me.”
Derek: Or, “I’m going to go do something else that needs to be done that’s not related to this and when you guys get to the point where you know what the hell you want to do, let me know. But I’m not going to sit here and spend more and more time trying to get you comfortable.”
Jade: Great. Thanks for listening to the Agile Weekly Podcast. Check us out on Facebook at facebook.com/agileweekly. We’d love to hear from you guys. Thanks for listening.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly podcast. I’m Clayton Lengel‑Zigich.
David Foster: I’m David Foster.
Roy vandeWater: I’m Roy vandeWater.
Clayton: Today we’re talking about having fun at work.
Roy: What’s that?
Clayton: Maybe people listening might not know what having fun at work is.
David: Yeah I think that’s fair.
Clayton: Are you working if you’re having fun at work? I feel like you can’t really do a good job of working if you’re not having fun at work.
Roy: [laughs] I definitely feel like there is so much existing baggage in the world like I have heard so many people saying, “you’re having too much fun,” or “I’m hearing you guys having fun, get back to work,” or “you guys couldn’t possibly be working because I can hear you having fun.”
Clayton: Yeah. That’s because a lot of times fun at work is conflated with goofing off. I have personally experienced a lot of times where I have been being very productive and getting a lot of stuff done. There’s been lots of laughter, joking and having a good time all around. Stuff that if you were overhearing the team room, you would assume that nothing’s happening which is very different. I also have seen a lot of times, plain old goofing off.
The important part is that the goofing off time has to be very transparent, so that there isn’t the temptation to assume that people are always goofing off. One way this was solved when we were working out of Gangplank with the “Street Fighter” and “Blitz” machines, which was a lot of fun ‑‑ Video games at work. They were in a totally separate area of the work space. When people decided to stop working and they wanted to go have fun, specifically have fun playing video games.
It was very clear that they got up from their pairing station and they walked over and they played. If someone was maybe doing that too much, you would notice that they were missing from the team space and they were in the fun space. You could make that distinction, it was very clear. If it was a situation where people were…their version of fun was watching YouTube videos, which I’ve seen something like that or browsing Imager.
Those are the things that are a lot harder to do because then it’s hard to tell when someone’s working and when they’re not working like when they’re goofing off. That’s more detrimental to the “having fun at work” movement than anything.
David: Are you suggesting that the fun needs to be something that is going to be done in a team way? Or that fun, as a team would be the best way of doing that?
Roy: I don’t know if I agree with that, I feel like the YouTube and Imager stuff that you are talking about, basically everybody knows anyway. Maybe it’s harder to have the confrontation with somebody, because you can’t point and be like, “Hey, I saw you over there in the corner the entire time you worked out your machine.” But everybody knows. That’s really just the team not being brave and bringing it up to people who are abusing that type of fun.
Clayton: But I have seen those people, when someone brings it up and makes a joke about like “Well you know, some people watch YouTube all day.” I’ve seen those people say, “That’s not true, I don’t watch YouTube all day.”
Roy: First off, don’t be passive aggressive and second bring it up
[crosstalk]
Clayton: Yeah, but I am saying when you don’t have that clear separation and there is not transparency, it’s so easy to just defend yourself and say that’s not true, it’s a he said, she said thing at that point.
Roy: Yeah, but it does not matter, you’re not trying to justify to management like you are not ratting this person out. Your saying, “Hey, I notice this behavior in you, I have a problem with it whether or not you perceive it to be a problem is separate. This is my reality, I realize you have a different reality, let’s reconcile this.
Clayton: That conflict is where the “Don’t have fun at work” stuff comes from. People that we’ve seen that say, “Don’t have fun at work,” or “you are having too much fun at work,” or ” All we do over here is goof off,” is when they have their back turned and they hear the laughing maybe that is joking around while you are doing work and maybe the laughing is you just watching YouTube videos and they can’t tell the difference, so the easy answer, the legalistic answer, is no fun at work any laughing is bad.
Roy: OK, yeah I think that is an issue to avoid.
David: If you are in a culture working in a company that has a culture that is like that, that doesn’t actually understand the value of being able to have fun at work, rather they think that work should be toil. Have you seen anything that a group can do to be able to introduce that in such a culture? Or do they have to be brave enough to be able to go ahead and do it?
Roy: If a team has earned trust by delivering on the stuff that they promised regularly, it’s going to be really difficult for the organization to criticize why they’re having fun at work.
If you have that trust you can say, “Hey, I know you are having a problem with me having fun, but I delivered when other teams didn’t.”
Clayton: Would that be a prerequisite then, that if a team understands that then first they might want to be thinking about how can they make it so that they are accountable or can be held accountable for the work that they are doing, demonstrate, “Yes, we can actually do this” and then be able to start changing the culture that way.
Because I think there’s a weird trend basically where there’s probably some things that would start out in the beginning. They would be having fun, and it would hurt them. They would maybe go slower, or people would spend too much time doing “fun things.” That would be detrimental to the team in your organization. Then I think as teams maybe mature they get to a point where they can’t go.
The only way they can be as fast as they are is if they are having fun and they are enjoying what they’re doing in that regard. There’s definitely maybe the dip I guess where there’s some period where you’re probably going to see diminished output. If you’re measuring output, which a lot of people do, then that’s an easy way to say, “OK. It was fine that you guys had Nerf guns for a while, but you failed three sprints. So no more Nerf guns.”
That might not have anything to do with it, but that’s such an easy target that people can jump into.
David: Yeah. [laughs]
Clayton: One thing that actually we’ve been doing for quite a while is at the end of the day we’ll have a card game when we play just some various card games. It’s a good way for us to have fun at work.
What we’ve noticed is that there’s been a lot of really good conversations that have happened in this context because it’s so still very work‑related, and things that we would talk about during the work day ‑‑ It just so happens that maybe they come up at this time. I don’t know if it’s the relaxed environment or whatever it is, but there’s something about that time that makes a big difference.
Do you guys agree?
Roy: Yeah, I agree. It’s like the informality of it makes it a safe environment to bring stuff up you wouldn’t otherwise feel comfortable bringing up. I’ve noticed a lot of conversations happening there that I was surprised even came up.
David: I think part of it is just because it is at the end of the day, and because of the nature of the cards, you’re playing games so you’re naturally unwinding anyway. That lends itself to being able to being more comfortable to be able to have those kinds of conversations where maybe during the course of the day when you’re busy getting other things, usually you’re involved in meetings, and you have a certain set of tasks to do.
But at the end of the day lends itself to that along with the card game. But I agree, I think that has been a very healthy activity to do.
Roy: Yeah, but if somebody were to walk past and see you playing cards, they’d be pissed, especially if it was your boss or some. That’s part of the problem. You can’t outwardly tell that this is actually a very productive time of day.
In fact, there have been days where the most value I provided and the most value I received was during the half hour or 15 minutes or whatever of playing cards at the end. But any observer that is unaware of that would just think I was goofing off during that time and playing a game.
Clayton: I’ve always laughed when I’ve heard managers, and managers say this because they want to try and sound cool or they want to be your buddy. They say things like, “Hey, I don’t care what you guys do as long as you get the work done.” I’ve heard people say that.
I always think, “OK, I’m going to bring a TV in. I’m going to wheel a TV in. I’m going to have ESPN on all day long. I’m going to get a Lazy Boy, and I’m going to kick that up in the middle of the aisle. Every 30 minutes I’m going to blow my vuvuzela on the floor, as long as I get my work done.”
Roy: Man, we actually did that in here at one point.
Clayton: Right. Nobody actually believes that. No one does that. That’s the exact same person that if you started playing cards, they’d be like, “Oh, playing cards? Oh, just goofing off, OK.” I think management generally speaking does a really bad job of understanding how fun fits into a team and then staying out of the fun. The fun aspect is very important for the team if the team values that.
I guess there are some teams I’ve seen that don’t really value having fun. But if the team does and that’s something they can be responsible about and they can be accountable to it and they can be transparent about it, I think that’s a fantastic thing.
Roy: But “staying out of it” is maybe the wrong term. Maybe it’s being passive aggressively discouraging it because I think a manager that participates in it and helps promote it can actually be a good thing.
Clayton: Sure, yeah. If the team has certain values, then the manager can play into those or can adopt some of those things or be sympathetic maybe. That probably does go a long way. You look perplexed, David. What are you thinking?
David: I’m not perplexed. I’m in a position where I do believe that I understand the importance of fun, especially with teams that I’m expecting to be creative and innovative in some of their solutions. I don’t think you can actually do those kinds of activities without being able to have fun. At least that’s not been my experience. But I may be in a culture where that is not seen as the way that you get work done.
I’m trying to think how would somebody in that position, in a management role perhaps, introduce that concept to a team that has never been exposed to that, in a way that can be seen as productive.
I’m thinking of some of the teams that I work with. What would happen with that team if I came in a started encouraging them to actually have fun in some way?
It would be a positive thing, but I’m trying to think through what the ramifications of that would be for a team that has never had that, or been allowed to do that.
Clayton: Yes, it would be tough. That’s why you see a lot of companies that take the approach of “Oh, we have developers, and so in order to be a cool place to work, we’re going to put a ping pong table. Because that’s what they do in Silicon Valley, right”?
That’s the joke you always hear. I think that’s exactly the kind of scenario. If you took your average corporate development team, and you gave them that sort of thing, I don’t think it would make sense. This feels like a trap maybe.
So you have to start really small. I worked with a team that was kind of in that boat of thinking work was just toil. They didn’t like it. But for their Scrum board, I glued Monopoly pieces on to pins and that was this little hint of fun, like “Oh, this is a little different. I like the dog, I want to be the car.” Whatever. That was probably the foot in the door to exploring having fun while you’re doing your work.
So I think you have to start really small like that. Going out and buying a whole bunch of Nerf guns and the Nerf basketball hoop and setting that up in the tea room is probably overkill at the beginning.
Roy: And it doesn’t really help. I think that’s part of trying to add a punch of perks, to use perks to create a culture. The problem is that the culture isn’t the perks. But if your team has a strong culture, the teams end up creating those perks for themselves.
They might find fun in Nerf guns or whatever and bring them in themselves. And then they are self‑aware enough to realize, one, that it isn’t decreasing their productivity, probably even helping. And two, that they have the authority to do it because they’ve built up the trust with the people that they work with.
Clayton: I can definitely see that happening. The thought I was having, or was trying to formulate was, would this actually be a catalyst towards maybe getting a paradigm shift to occur within a team that has been so mired in a culture that is the opposite of that?
Is this something that can be seen as a catalyst? Perhaps not. Perhaps it is something that has to happen naturally with a high‑performing team once they get to a certain level. But I am wondering though, if maybe this is one those things.
Because it’s so different from what many of the people, especially in the enterprise world, are used to. Maybe the introduction of something like this might be enough to completely knock them out of their comfort zone? I don’t know.
Roy: It’s an interesting idea, because I’ve always thought of a high‑performing team generally has fun. So fun is a byproduct of a high‑performing team. I’ve never really thought of the idea of using fun, to take a team, to have them become high performing.
It feels a little off to me. I think that’s going to be very difficult to make that work.
Clayton: I think there’s something about…I remember back in school, you might be sitting in the classroom and the teacher’s trying teach you something, some lesson or whatever. And that feels like school and you’re in a class room and it’s the same thing.
But then when you go on the field trip and you basically are learning the same thing. But it’s this entirely different environment, it all of a sudden seems so cool. So I wonder sometimes, with teams who maybe are trying to explore fun or learn how to have fun.
Like if it’s OK, to test their boundaries, if maybe getting outside of the normal work space is a good idea. Is it a matter of “Hey, let’s go work from a coffee shop for the day”? Or whatever the case may be.
Something like that to get outside that zone, so that it feels a little bit different. To break the idea that everything about work relates to the stale corporate environment.
David: Yes, I agree with that.
Clayton: Alright, I think we’re about out of time so thanks for listening.
Roy: Bye bye.
David: Bye.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Monthly podcast, I’m Clayton Lengel‑Zigich.
Derek Neighbors: I’m Derek Neighbors.
Roy vandeWater: I’m Roy vandeWater.
Clayton: I tried to think of all the reasons why we didn’t record a podcast, but they were all excuses.
Roy: The real reason is we went to the bar and went drinking instead.
Clayton: That sounds like an excuse. Today we’re going to talk about a common pattern that we have observed in a few different places, and it goes something like this.
You’ve got maybe some direction from the product side of the fence where the product owner’s got a boss, and they’ve got a boss, and somebody comes down and someone’s boss’s boss says, “The team should do this.” So the product owner comes in and says “OK here’s what we’re doing, because my boss told me to do this.”
Maybe that gets going a little bit, gets some traction and there’s some idea of what the team’s supposed to be doing, but then maybe someone on the technical side of the fence, like the dev manager or the dev manager’s boss, might say “Well, I want something to be done on the team and I don’t want to go in the backlog to get that stuff done. That might take too long.”
They force the dev manager to direct the team to do something. And since the team reports to the dev manager, the team feels obligated to do that. It’s like a bunch of different parties in the organization playing puppet master with the team. And the team never really gets a whole lot of traction. Would you say that’s a fair assessment, Derek?
Derek: Yeah, I mean, the first pattern is that usually the product manager, product person has trouble a extending…The pattern I tend to see is the product owner has trouble establishing authority and priority in the backlog because of stakeholders that they report to.
About the time they figure out how to get that done and they actually start to get the team baked a little bit and get going, what happens is the dev management side starts to realize that they’re no longer in control of their team, which was probably an illusion to begin with. And so to reassert control or authority back over their team, they tend to start asking their team to do things that aren’t part of that prioritized backlog.
Then the team a gets confused and there’s all sorts of tension between the product owner and the dev manager and the team doesn’t know what to do because they want to do what product wants them to do but they don’t want to be fired and they report to the dev manager. And so there’s just this crazy alpha thing that starts to happen and then the team generally starts to go fairly batshit about that time and all productivity goes out the window.
Clayton: Yes, I’ve always wondered when we see that if it’s a situation where the team feels obligated to do what the product owner says because they feel like, I read the Scrum book, or someone told me about Scrum and that’s how it’s supposed to work.
But, the fact that they all report to the dev manager, if the dev manager can instill a certain control, I wonder maybe it’s because usually the product owner is not at the same level or above the dev manager in the organization. So, they don’t really have the authority to go tell this person, “Too bad. You have to do things through the backlog.”
Derek: What tends to happen is they tend to report usually to different tree structures. Then their bosses tend to report to different people. Often time in an organization they don’t report…their tree structures don’t cross paths, until you’re at the top tier of the organization.
What happens is the struggle goes up a level or two, and then at that level it’s like, I don’t want to bring this to my boss. Clayton, you and I report to the CEO, and I’m the VP of project management and you’re the CTO.
Our underlings are having this out a little bit, which really we’re having it out, we’re just doing it through our direct reports. But we don’t want to go to our boss and have it out because our boss is going to say, “Are you being a bunch of stupid little children? Why can’t you get along”?
Clayton: No, we can’t solve this pithy little problem on our own.
Roy: I think that’s the answer. It sounds like the development manager and the product owner just need to talk, and be like, “Hey, this isn’t working.” I like the idea of the development manager being organizationally apart from the product owner. I feel like one shouldn’t be above the other.
Derek: The trouble that you run into is when you start to go, at least on the Scrum side, you start to do something that’s more Scrum‑oriented, you start to give a lot of power to the team through empowerment, so the direct dev manager feels like they’re losing a lot of authority that they probably never really had anyway, because they don’t feel in control.
From a product perspective the product owner starts to take a lot more authority about the direction of the product. A lot of times the CTO or the senior dev manager or the dev director or the program director, or whatever you want to call it on the dev side, usually used to have a ton of influence in how the product was developed.
They start to feel like their control, or their influence, is going away. I think a lot of it is insecurity of, “Wait a minute product, you don’t actually need me and my management structure, you just need my developers.” Now a lot of times what you then see is it’s almost like the product owner is almost like the manager or the developers because the developers have respect for the product owner and are listening to the product owner and doing work for the product owner.
I think what happens is you get panic and the panic is like, “I have this urge that I still have control over these people. I’m going to ask them to do something and if they do it I know I still have control.” If they don’t do it and they refer to the product side of the fence then I know I’m losing my control and then that creates blowback upstream.
Clayton: Yeah, we’ve seen teams that have been fractured along those lines where there have been some people on the team who have the allegiance to the dev manager and not the whole structure. Then some of them they just don’t like that person or don’t get along with their manager.
They gravitate on the other person that has somewhat resemblance to the manager who is usually the product owner at this position of authority. You get this kind of fractured team.
Even if the two people aren’t trying to do it purposefully as a power struggle, maybe the dev manager overhears some conversation from the product owner or the product group saying, “I wish the teams would go faster.”
Maybe they’re not even trying to be malicious about it, but they think, “Oh I need to jump in there and make the teams faster. That’s my job, I manage the teams.” Those are the things that you could accidentally cause a rift in the team when you don’t even mean to.
Roy: I think it’s just a matter of making a mental switch from commander/control manager to more of a servant leader, right. Whereas a development manager you start to think more in line of like, “How can I help the team”? Rather than “How can I get the team to do what I want”?
With the product owner that’s a pretty common thing I’ve seen on multiple scrum teams, where the product owner start to take up the role of like the manager of the developers rather than being a member of the team. I think that’s a mistake, it’s very important to make the distinction between like, “You’re the product owner, not the team owner.”
Clayton: Derek you were sharing some drawings that you had about how you’ve seen some team structure where the product owner is also the manager and they’re outside the team or sometimes they’re inside the team and sometimes they’re also the scrum master and all these different things.
I thought that was pretty interesting, I think in my experience. There are so many product owners that don’t ever treat themselves like a team. Most of the time they don’t, except when it behooves them. If there’s a decision to be made or they’re involved somehow and what the team is going to do next or something like that, then they’re definitely a part of the team.
When it comes to maybe being responsible for everything or like the not special treatment scenarios, they always view themselves as like, “Oh, I know I’m just separate, I’m not part of the team. I’m this product person throughout the organization. I report to the different tree.”
Derek: Yeah, I think it’s difficult. I go back‑and‑forth between where I think the product owner really…I definitely think the team should not be reporting to the product owner from an organizational structure or perspective. I definitely don’t see a ton of value in that or any value in that, I see a lot of conflict.
I go back‑and‑forth between whether they’re part of the team or not part of the team. Certainly they’re not part of this, the development team or the product team or whatever you want to call, the people doing the work…
Roy: Right, like they’re not going to pair with one of the developers.
Derek: Yeah, but I get a lot of questions. Should the product owner be a stand‑up? Should the product owner be part of the retrospective? A number of [inaudible 08:48] and I get really indecisive because on one hand I really think they are the customer. If we really think about it they are a proxy for the customer.
I don’t think the customer should be part of the team but I think they should be in damn close proximity interacting with the team and collaborating with the team a ton. When it comes to stand‑ups, yeah they should probably be there just so that if the team has questions there can be some dialogue that happens. When it comes to retrospective, I don’t know, I’m a little more at horn.
[crosstalk]
Clayton: …retrospective because that’s one pattern I’ve seen a lot, is the product owner will treat the retrospectives as optional. Where when they think they want to be there or there’s something that’s on their mind then they’re definitely going to be there and they’re going to be the loudest voice in the room.
When there’s some other conflicting meeting or maybe they don’t have anything to say to that particular retrospective they treat it like, “Yeah, I don’t really need to be there.”
I have seen where the team will make some decision about something that affects the product owner when they’re not there and then they get all up in arms like, “Well, hold on, you guys can’t make choices without me.” “Well you optionally decided not to come to the meeting, so what do you want”?
Roy: I feel like it is important for the product owner to be present at the retrospectives for exactly what you mentioned. Just because they don’t have a problem, like the rest of the team might still, so they want to bring up with them. They probably should be bringing that up throughout the week, but I totally think they should be part of the retrospectives.
They should be sitting with the team, and participating in stand‑ups. Other than having the authority to choose the priority of the work, they should be a team member. I agree they shouldn’t be pairing on any of the work because there’s a conflict of interest there, but they should be involved in all the other ceremonies.
Derek: One of the things I see as a problem with that is there becomes too much familiarity, and then they actually do not do the product ownership role well enough. If I’m the customer of a service, when I’m no longer happy with the service I can voice very strongly that I’m not happy.
I can even say, “I’m so unhappy that I’m willing to go get my service somewhere else.” I’m sorry, Target, if you piss me off, Wal‑Mart is more than willing to take my money and they’re pretty close to the same thing.
Where if I work at Target, it becomes very difficult for me to say, “Hey Target, if I have a bad experience I’m going to stop working here,” because I have a bunch of friends. If I’m negative about it, then people stop shopping there, and maybe I lose my job. I see that happen with product owners, they consider themselves too integrated into the team.
The benefit is there’s more, “Hey, we’re all in this together,” which I think is really good, but they lose their objectivity with the team to say, “Ultimately…”
Clayton: Maybe they would get to a point where they’re too comfortable? They spend so much time with the team, and they think the team’s doing a good job, they know they’re trying really hard, all those kinds of things. If I’m the Target consumer, do I think everybody at Target’s trying really hard? I guess, but I don’t really care. If they piss me off enough I’m going to go somewhere else.
Roy: I think that’s bad product ownership. It shouldn’t matter. I feel that that is not having the courage to say what you think, not being honest with yourself about how you really feel.
Clayton: Does it make it easier to get in that position if you spend too much time with the team, or you treat yourself like you’re in it with the team?
Roy: I agree that that definitely makes it easier, but I don’t think that excuses that behavior.
Derek: In a perfect world, there is no product owner. The team is the product owner, or they’re sitting with the customer who is guiding the product, or you’re doing something that is lean start‑up enough that you are getting instant feedback and everybody is providing value to team. The problem is, we don’t live in that world.
Most of these organizations that are trying to do an agile adoption are so far from that, I don’t think they can jump right into that. In the same way, I don’t think they’re adult enough to be like that. You’re absolutely right, I should be able to say, “No hurt feelings.” It doesn’t matter how much Clayton and I are friends.
If I believe the work we’re doing is not quality I should be able to have that discussion. I shouldn’t have to worry about his hurt feelings. The reality is, that’s not the case of most people in corporate America going through transformation.
Roy: But it is what they should be striving for. That’s why we use the core protocols. We have that kind of atmosphere within Integrum. It’s not that I don’t want to hurt your feelings, it’s because I respect you and appreciate the work that I’m going to give you this feedback, tell you the truth.
Derek: This is why I struggle with Agile a lot. If we really look at the ideal, Scrum is bullshit. Creating this big schedule, doing all these burn‑downs, doing a lot of this stuff ‑‑ to me, if we’re all adults, we’re all acting in the right way, we’re all part of the product ‑‑ why do we need a Scrum Master? Why do we need product owner? Why do we need any of this to begin with?
Some of the process is there just as tools to help us build discipline. Once we have some of that discipline and we’re mature enough to do that, all that stuff becomes optional at that point.
Roy: Like bootstrapping the team and then letting it run on its own?
Clayton: I think that’s fair. Most people that think they’re at that level [inaudible 14:30] if you think you’re an expert programmer, you’re probably not an expert programmer. If you think you don’t need any discipline reinforcing process, you probably aren’t disciplined enough to go without it.
I wanted to go back to one thing you mentioned at the beginning, Derek, about the scenario where the product owner is giving some stakeholder feedback, for instance the scenario of, “The product manager told me that the next thing we’re doing is this, so we’re doing that,” and comparing that with what they’re supposed to be doing, which is being the customer. I think those two things are misaligned.
Do you think that takes away from the product owner’s credibility? They’re not representing the customer, they’re representing some other person…
Derek: Yes. I had this conversation today in spades. A common thing that I hear all the time is that if Clayton is the boss, I am the product owner, Roy is part of the development team, and I come in and say, “Hey Roy, we’re going to switch this sprint and we’re going to do this big project X,” and you feel like this is just the dumbest thing.
We always try to do it, we never really do it. You don’t understand it. You ask me, “Why are we doing that? Why are we not doing the big thing that you said was so important last week”? My answer is, “Because Clayton said we need to do it, so we just need to do it. Mom said we need to do it.”
I become the barking dog with no teeth that has no bite, because I have now told Roy I have no authority at all. I just do what Clayton tells me. From that point forward, everything I say is utter BS. Roy’s going, “Why am I even listening to Derek”?
Roy: I should just listen to Clayton.
Derek: Two seconds later, Clayton is going to walk in here and tell us whatever he told us was crap anyway.
Clayton: You seem expendable at that point.
Derek: Right.
Clayton: OK. I just wanted to cover that real quick…
Derek: If you’re in that position ‑‑ this is what I’ve been coaching…
Clayton: It’s the real world follow‑up.
Derek: …The real world follow‑up, because I want to make sure that people understand, is never ever say, “Somebody upstream told me.” It is your responsibility as a product owner, if Clayton tells me, “Our new priority is X,” I need to ask Clayton why.
I need to understand why, so that when Roy asks, “Why are we doing this”? I don’t say, “Because Clayton says.” I say, “Because as a business, we need to do X‑Y‑Z, we need to achieve this, we need to do that.” When I’m able to do that, I have the respect and authority necessary to guide the team in the future.
Even though I’m not the one who came up with the idea. I’m not taking credit for the idea. I’m basically shielding…You don’t need to understand what every part of the business is doing, Roy. As a team, you just need to trust me that I’m doing the right thing for the product and the team.
Clayton: All right. I think we’re out of time, so thanks.
Jade Meskill: Hello, and welcome to another episode of the Agile Weekly Podcast, I’m Jade Meskill.
Derek Neighbors: I’m Derek Neighbors.
Roy vandeWater: And I’m Roy vandeWater.
Jade: We were sitting around, trying to decide what to talk about, and the topic of eXtreme Programming came up. Hey Derek, what happened to XP?
Derek: [laughs] I think what we were talking about it is, we were laughing, making fun of some other industrial frameworks and enterprise things.
Roy: With trademarks.
Derek: You can infer what you want to infer, and we were laughing, but we do get a lot of our clients that for right or wrong, call what we do the Integrum right way. I made a comment that I was doing a lot of research on some of the elements of process, and trying to dissect things, and find commonalities, and deep dive into it.
That I was…I don’t want to say appalled, but amazed at how almost identical the Integrum way is to traditional XP in almost every way, shape and form.
Roy: We never claim to be original. [laughs] That’s right.
Derek: Right, which is hilarious, but it’s funny because we don’t sell that really do XP even though we firmly believe in XP. There is no marketability for…
Roy: Right.
Derek: …extreme programming.
Roy: You probably don’t sell the Integrum way either.
Derek: We don’t sell the Integrum way either, right? It’s just part of what we do, but I think the conversation started to diverge into, “Well, yeah, people stopped doing XP because XP is like really fuck hard to do.”
Roy: How much does XP speak about the organization around the actual development team?
Jade: Not much, I mean, it demands on on‑site customer which is very, very difficult to do. It’s even more difficult, I think, than having the product owner from Scrum.
I’ve been talking a lot about XP at the company that I’m working on right now. A lot of the engineers get excited about it, until they actually go to implement it.
It looks really great when you read the book. It’s really easy to get excited about the values and the principles and all those things, but doing it, is very, very difficult.
Derek: When I look at it, I mean, I think one of the things I find interesting is, I think, XP tends to say, “Stop the silos and everything you need to be successful, pull that into your team,” which, I think, honestly is probably the most scalable way to think about the world. I think what happens is all of these enterprise frameworks that are coming out, for lack of better word, or the agile scaling frameworks. What they try to do is say, “How do we build our silos back up in an agile way”?
We’ve got these independent agile teams that are doing things, but we are not allowing them to actually deliver things end‑to‑end. When we put some sort of ceiling or some roof on them where they have to interface back with the organization, which generally becomes the limiter that stops them from actually being hyper‑forming and it’s says like, “We need to have all those control valves to deal with it.”
Where, I think, maybe more of the XP way and I certainly don’t want address it, so I’m projecting here. But, I think, they’re kind of saying, “Hey, if you’ve got your customer and everything is self contained. It’s almost like every team is its own start‑up.”
I think if you look at what’s most scalable, that is probably the most scalable to do high performance. It might not be the most scalable for, “I want everything to be uniform. I want the most efficiency.”
That’s the problem. Big companies want efficiency, so they’re like, “Well, you want to implement Scrum the same way for everybody, so that it’s easy for somebody to go from one team to another team.” They know what they are doing. There is no cost to have to switch. Everybody is doing the same thing. We’re reporting the same way. We are all using the same tool.
Jade: We’re all making sure we’re not accidentally doing rework.
Derek: Right.
Roy: Because I feel like that’s kind of the problem with having a start‑up idea is that you could have one start‑up over here building some minimal viable product from something over here and then have another start‑up all the way across the company doing the exact same thing and essentially wasting resources.
Derek: OK, and the way I look at that is let the free market decide. If you’ve got two or three teams that are all trying to solve a similar problem, they are probably going to solve it slightly different and when they do that, the best one is going to rise to the top.
I think what happens is we get so concerned about, “Well, let’s not waste money allowing three different teams to do it.” That we add so much crap that none of the three teams deliver anything because they are quagmired in, “We have to have the perfect architecture or the perfect answer to this. Or it’s got to be the end all for all three of us.”
When in reality, a small part of it is really the same for all of us, but for the rest of us, it’s not.
Roy: So are we talking about an organization or the head of an organization like the parent entity, or whatever, who really acts more like a venture capitalist…
Derek: Sure.
Roy: …in all of these little sub organizations that essentially get a budget? You have to figure out what they do want to do with it and it’s up to them to figure out the best way that they can add value back to the organization.
Derek: All big enterprises I know already do that. They already have organizational pieces. They already have the ability that they are putting budget by group by something, right?
The only difference is they are trying to squeeze efficiency between groups, or they try to say, “How can we make it so that we can communicate everything to everybody”? It’s unrealistic.
[crosstalk]
Roy: Is the ironic part that by trying to maximize efficiency, they generate a ton of waste?
Derek: I don’t think they generate a ton of waste as much as they stifle innovation.
Roy: I guess what I mean in terms of waste is the bureaucratic overhead of dealing with the organization hierarchy, so you end up with a ton of middle managers and middle managers between managers and you end up with all of that type of waste that…
Derek: But to them it’s not waste because they are getting the value of being able to know what everybody is doing.
Roy: I see.
Jade: This is where Conway’s Law starts to play in, right? The software that is developed is a direct reflection of the communication processes over the organization itself, right?
If you have this very complex, very highly controlling, very convoluted communication environment, your software is going to be a direct reflection of that. I think that also plays into the XP principle of self‑similarity.
That was a hard one for me to comprehend for a long time. I had to really think about how self‑similarity really works. It’s based on the same idea, right?
That if you have team that is functioning in this way, it’s going to generate software that functions in this way. If the organization is functioning that way, it’s going to generate teams that work that way.
Derek: It’s a classic Jim and Michele McCarthy’s “Team equals Product.” I think that there is so much truism to that, but we don’t want to admit it, right?
Jade: Right.
Roy: Especially as a management team where the product is a development team.
Derek: We want our products to be nimble and light and clean and simple and all of these words, but we build our organizations the exact opposite of the traits that we’re actually looking for. I think I read an article on Medium or one of these.
There are companies trying to do “no management structure,” right?
Jade: Yeah.
Derek: I think there are some other examples. I think this is…
Jade: The whole aristocracy.
Derek: Yeah, I think there’s problems with this stuff. I don’t want to sound too idealistic or like happy‑hippie. I don’t think anybody is saying that it’s the magic pill and that everything works and that people have it done, but I think the next real innovation is going to be organizational innovation.
Meaning we’ve squeezed the crap out of efficiency for technology for the most part. I think our next big wave where we’re going to get real innovation, innovation where we’re going to see like leaps and bounds and technology advancement, not efficiency is going to be when we can figure out how to optimize how we behave as human beings into organizational structure, like work structure.
Jade: How does XP play into that? If we think that the ideas, the core principles and values of XP are fundamental to the way that we work, how do they play into that next revolution of organization?
Derek: I think some of it is they are just like they were revolutionary and radical ideas for software teams. I think they’re revolutionary and radical ideas for managers and organizations meaning, think about it if you said, “We need to keep all organizations simple.”
A good example of this, to me, would be Netflix’s vacation policy. “Our vacation policy is you can have as much vacation as you want. We don’t really care. Check with your team. Make sure that your team says that you’re providing value and as a team, you guys figure that out. We’re not going to have a policy.”
I’ve seen three and four person companies that will go to war over what their vacation policy is going to be. Which is just, to me, insane, but it’s like that institutional, but like you have to have a policy. There is no way.
We’re not talking a 30,000 person company switching from like, “Well, we’ve got regulation and we’ve got history and we’ve got accrued hours and we can’t just flip the switch and go to this like really simple vacation policy of, ‘Don’t be an idiot. Do what’s right.’”
We’re seeing brand new companies that form that have so much organizational baggage from the people starting those companies. That they are saying, “We can’t do this.”
Roy: I wonder how much of that though is people trying to avoid personal conflict. For example, with their vacation policy and only having a four person organization. If you instill this policy and you break the policy by taking three months of vacation in the year or whatever, now I can point at a policy and it’s not me accusing you.
It’s me pointing to the policy and it’s you versus the policy. Whereas, if you’re being a jerk, but we don’t have an agreement ahead of time, then all of sudden I have to bring it up with you. I have to take responsibility for how I feel.
Jade: I think that plays a lot into it. When we started Integrum, a lot of people who were mentoring me were freaking out because we wouldn’t define those things like vacation policy, like some of things, because we didn’t want policy.
It’s amazing when you create a policy, how everyone becomes a lawyer in the company. I’ve seen it in many different companies that I’ve been in where as soon as the policy comes up, everyone is figuring out the loopholes, the ways around it, all of those things. Where if you don’t have a policy, it does force you to deal it with on a human, person‑to‑person basis.
Derek: That’s not scalable. What starts happening is A ‑‑ we don’t trust people, so that might work really well for this little group, but I can’t imagine doing it for…It’s like, “Why are you hiring people you don’t trust”?
This goes back to the core things. To me, when we talk about some of the simplicity, some of this empowerment, some of the self‑organization and self‑direction, you have to get to a point where you have such vulnerability and such courage as a leader and as a manager or an owner or CEO that you just unlock the awesome.
The minute that you take good people and you start to put things around that start to show that you’re not vulnerable or that you’re not trusting, like Jade was saying, they start to build walls around that almost instantly not even knowing. Just like a self‑defense mechanism, it turns into justification.
You cut out all the ability to be the best human being you can be. I think when we can get to a state on teams where we’re cutting through all the crap, and we’re just being the most raw that we can be together as people and not having to deal with all the other crap, we unlock all sorts of potential. But that’s so hard to do.
Roy: Some of that too is that by trusting the people to make the decisions what ends up happening is they probably make better decisions than if you instill the rules on.
Going back to your vacation idea, if you instill a two or three week vacation policy on somebody, they’re going to make sure they use up every single day. But if the rule is “don’t be an asshole,” I would not be surprise if people all of a sudden took one week instead of three or whatever. And I bet that extends way beyond vacation policies.
Derek: Our number one complaint through hundred employees over time, the number one complaint with, say, vacation or lack of vacation policy is “I don’t like this because I don’t know how much time I can take. So I think you guys are being mean to me because you’re trying to get me to not take vacation by not telling me how much vacation I can take,” which to me is just, boom, mind blowing.
How does saying, “Take as much as you is feel necessary and as much as the team can” gets turned around into, “This is an evil Jedi mind trick that’s getting me to not take vacation.”
Jade: We’re not that smart [laughs] .
Roy: There’s an infamous scene from “Office Space” where the guy is like, “You need to have 17 pieces of flairs.” He’s like, “OK. So I need to get 17 pieces of flairs.” He said, “Well, you don’t need 17 pieces of flairs. You just need to have enough.” He’s like, “OK. Well, I think 3 is enough.” He said, “Well, 3 isn’t really enough. We were thinking more like 17,” or whatever.
I think that’s the case in most organizations is I bet people are suspicious and think that there’s a hidden number behind the scenes, and they are just not allowed to know what that number is.
Derek: What’s funny is we even had some people that asked the question. I don’t know. What do you guys see [inaudible 13:09] ? I don’t know. In most places, two or four weeks, but it depends on what your project is. I think we’re pretty open about that. I don’t think we were saying, “Well, we’re not going to tell you what the magic number is.”
Jade: Or we’ll get mad if you go over the secret number.
Roy: Right, exactly. We have secret meetings about the fact that you went over, and when you come back from vacation, your ass is fired.
Derek: [laughs] What’s crazy is we would have some people that would take a little more vacation, and you’d have other people almost get mad at them. It’s like, “They’re following the same thing that you’re following. You just have [inaudible 13:40] hang up that you don’t want to do it.”
Roy: Although them getting mad is how the system self‑corrects too. If somebody’s obviously abusing the system, then everybody else gets mad. That’s how you deal with that organizationally.
Derek: I think that it’s just difficult for people to do. I think when I look at the XP stuff, the reason XP stuff is so hard is because it is so, so simple and so liberating. It’s like Zen.
If you listen to us, Ron…I love our conversation about value and argument, and as much as it sucks to say, “Value is what you like,” at the end of the day, that’s what value is.
It seems too simplistic and too easy and too raw, but I think that’s how a lot of these things tend to be. If you break them down to their bare essence and be human and be simple about it, then you get pretty tremendous results.
Jade: I remember the first time I came across XP in the late ’90s, I saw it, and I said, “This will never work. This is insane.” We just couldn’t apply it. I was working at a small place that had a very tight‑knit team.
Roy: I was still in elementary school.
Jade: Shut up.
[laughter]
Jade: And still rejected it. Because it is. It’s beautifully simple, but very, very hard to live by.
And on that note, thanks for listening to the Agile Weekly Podcast. We’ll catch you next week.
Roy: Goodbye.
Jade: Hello, welcome to another episode of the Agile Weekly Podcast, I’m Jade Meskill.
Derek: I’m Derek Neighbors.
Clayton: I’m Clayton Lengel‑Zigich
Roy: And I’m Roy VanDeWater.
Jade: Guys, today we wanted to talk about an article that will be published in Agile Weekly tomorrow.
Roy: Product tie in there.
[laughter]
Jade: Subscribe to the Agile Weekly Newsletter at AgileWeekly.com. Written by Allan Kelly, the title is, Commitment Considered Harmful. I know we have no opinions or thoughts about this, so this might be a very boring podcast.
Roy: I’m curious, why is commitment considered harmful? By who, maybe is a better question?
Jade: Allen has to say that he has seen through some of his interactions with clients and other people, that…this is a quote from him. Commitment protocol for filling an iteration is actively damaging for software development teams in anything other than the very short‑run.
Derek, you’re shaking your head.
Derek: I don’t know. Maybe it’s too many years of therapy coming out.
Jade: Too few?
[laughter]
Derek: If I follow the trail…when I first saw this article, I immediately thought that it was part of the no estimates crowd shtick of stuff.
Jade: He specifically states that he does not follow the no‑estimates crowd.
Derek: Yeah, but I certainly thought it was going down that route. What I tend to see is this pattern of, there’s something, there’s something, there’s something, and it’s all rooted in two things. Every software manager is evil and the people will manipulate the system or me.
To me, going back to McCarthy’s core protocols and the perfect boss, I expect to work in a place with fucking adults. At some point, how long can we basically say, the boss might manipulate me? Well then go to a fricking job that doesn’t have a boss that manipulates you.
That’s got nothing to do with commitment. The boss that’s manipulating you with commitment or estimates is going to manipulate you if you don’t have commitment or estimates either, because they’re a manipulating asshole.
Roy: Yeah, that argument’s just too broad. You can replace whatever with, there’s this thing that some people have used, so you don’t do it.
Jade: Let’s step back a second, though. We do a lot of consulting. We’ve been to a lot of companies. How many have you showed up at that are full of fully functioning adults?
Derek: Not a ton, but I think my problem is attack that problem. Don’t attack the lack of commitment as being a problem. I hear commitment. I hear estimates. I hear accountability. I hear all of these things.
The very first thing that was thrown out here is, “Well, you can’t have commitment, because people will game it.” Well, people will game anything. So if you have a culture that is OK with people gaming things.
Roy: We talked about it in the past that‑‑what is it? I think, Jade, you quoted somebody that said, “96% of a person’s ability to self‑improve is dictated by the system.” Do you remember who that was?
Jade: W. Edwards Deming.
Roy: There you go. That may be the same problem in this case. What if it is a culture of a commitment that is holding these people back from becoming the adults they can? Because they are currently being rewarded for making false commitments or for gaming the system.
Derek: Right. I would argue that in that point they’re not really making commitments. The word ‘commitment’ is being bastardized to control somebody to say, “You have to tell me how much you’re going to do,” and then I’m going to threaten you, or lord over you, or manipulate you.
Jade: They’d beat you with a stick.
Derek: Beat you with a stick, beyond that. Well, to me, that’s not a commitment. A commitment is me saying what I really can believe, and me truly believing in that and doing that. That’s not somebody else saying, “Hey, Jade. I want you to commit to mowing my lawn tomorrow. All sorts of bad things are going to happen if you don’t mow my lawn. You’re OK with that, right? Your job is depending on it. You’re OK with it?”
I feel like to me, that’s not a fair thing for commitments, or for estimates, or for anything else.
Jade: No. I think that what we would argue if we were working with a team, and they said, “Well, we’re doing commitments.” I think from our point of view, we would say, “OK. Why don’t you look at the work that you do?” Maybe the team, they look at one story, and they say, “This is all we can do.”
The manager, I think the way that people abuse commitment, and say, “Hey, you guys have 150 hours over the next sprint, that all you are going to be working on this.” You have to have 150 hours of work to do.
I think we would say, “If you want to commit to doing 20 hours of work, and that’s all you want to commit to, that’s all your going to commit to.” That’s an acceptable scenario, as far as I think we’re concerned with how commitment works. That’s now how most people… Bad managers aren’t going to abuse that, and so that comes out his commitment is bad.
Derek: What about the idea though, if you’re feeling rushed, and that making the commitment is the most important thing above all else, like keeping to your word, the idea that you allow quality to suffer because of that. That you might choose to take some shortcuts or to cut some corners, because you are trying to push it out the door.
You don’t necessarily do all the good practices that you want to have, and maintain a quality suffer project. Those things will buildup over time to create a ton of technical debt that you can no longer maintain.
Jade: Yeah. That’s just part of, I think, if you’re committing to doing something and you have some standard for what it needs to be done. If the standard of done means half‑assed, then, OK, fine. No, that’s not really how you want standard done.
I think that is part of the bigger picture of, “What does it mean to be done?” If we’re going to rush through something, are we really done? Did we really “hit our commitment”? Probably not.
Derek: I think that it’s kind of the straw man out there, right? People like to throw it out. I see so many teams that have no sense of commitment that have really crappy quality.
Like to me, those things are not linked. I think what happens is when somebody is forcing you to the trough to drink water and really just slams your head in, you’re going to do stupid things. But I don’t think that’s because commitment is bad.
I would say that a team that is truly committed and committed in everything they do, they say, “Hey, we’re going to have…we’re going to write tests first. We’re going to make sure that our product owner is happy with the work that we’re doing. We’re going to commit to all these things and we’re going to commit to do what we say we’re going to do.”
You can’t say, “We finished everything, but it doesn’t meet the product owner’s requirements and it’s not tested and it’s not…” because at that point you don’t have a commitment either.
Jade: But technically, it’s done.
Derek: I know…
Jade: The way you said, the phrase, “Do what you say you’re going to do.” I think that was a big shift that we had at Integrum of the concept. It sounds so simple, right? Do you what you say you’re going to do.
I think that’s really to me is what commitment means. I’m going to say I’m going to do something and then, I’m going to do it, but that’s not easy.
Derek: No. It’s not easy and I think commitment isn’t easy. Like committed to do something is difficult, right? But it doesn’t have to be this, you know, abusive tool.
Jade: I think to me the thing that I really love about Agile when it’s done really, really well is it becomes the truth killer. So if you can go around and say, “My team is so awesome. I’m so awesome,” and all this stuff and make all these promises and never, ever fulfill them like you’re just a lying piece of crap.
Who can trust you? Whereas, if you say, “Hey, I can only do this really, really small thing,” but I think a lot of developers have problems with this because when they say, “Oh yeah, I can do this. I do this,” and somebody says, “OK, so you’re committing to that and I’m going to kind of hold you to that. Let’s talk about it at the end,” and then, you can’t do it.
The developer doesn’t say, “Man, maybe I think I’m way full of myself and I should not commit to nearly as much, less time, next time. I should commit to half of that, because I didn’t even get close.”
Instead they say, “Well, the problem was this and the problem was that.” Everybody else in the world was the problem and it wasn’t me.
I think that’s just…if you’re honest with yourself about wanting to improve and you really want feedback, the only way you can do that is to measure yourself. So if you’re not saying, “I think I can do X,” and then, going out and doing it and measuring can you do it, how the hell can you improve?
Derek: So we can go from the standpoint of commitment adds at least some level of stress to the…
Jade: True, it does.
Derek: …to the developer, right? Because now they are kind of freaking out about this promise that they made and trying to keep it. But what positive benefit does a commitment actually get?
If I’m a developer making a commitment, what benefit do I get by, other than stressing out about it? Is that stressing out, is that the benefit that I get? That I get more accurate at estimating sounds, I get more accurate at committing sounds great.
But getting better at committing if committing itself doesn’t give me any value, am I just getting better at something that doesn’t matter?
Jade: I think you can build some trust. Or if you say you’re going to do something and you do it and you repeat that multiple times, you can build some trust that when you say you’ll do something, you’ll do it.
I think, it also is a discipline thing. Having a commitment, I think, helps you be disciplined. Discipline, I think, is a very difficult thing to have in software development.
A lot of teams lack that and I think that’s just another mechanism that helps reinforce that.
Derek: I think the other thing is commitment is a two‑way street. It’s not just the developer who’s committed. The idea is that I’m saying, “I will do this if you don’t bring in anything else to me to do during this period.”
Jade: Like the Scrum?
Derek: Yeah. I mean, I think it’s part of the whole contract. So when people say, “Like we do Scrum, but we don’t do this and we don’t do any of this stuff.” It’s like, “Well, how can you even live up to the basic premise of Scrum, which was we’re going to agree to do X, Y, Z, you agree to leave us alone?”
One of the things I’ll add is any developer out there that thinks that estimates, commitments, everything else are horse crap, come work for me and let’s talk about how we pay you. Is every week I’ll decide what we pay you?
I’m not going to tell you what you get paid until after you’ve done the work and it’s entirely negotiable up to me whether I think you deserve the money or not. You may get money. You many not get money and you’re going to be happy about it.
That’s what you do to every damn product owner you work with when you have no ability to say, “This is what you’re getting.” They’re spending money on you. They are giving money to you to do a job.
If you don’t do what you say you can do, and you continue to extend…this is why so many companies have problems is contractors or independent third‑party companies where they get to the point where they’ve not delivered what they said they were going to deliver and everybody ends up pissed off and everybody gets sued.
This is why this happens. I think it’s almost juvenile or naive to think, “Why can’t we just meander and do whatever we want and you just pay us?”
Jade: This state of affairs would be totally unacceptable in just about every other industry.
Derek: Sure, it would be.
Jade: What is it about software development that allows people to think that that’s OK?
Derek: It’s creative. It’s an art. It’s an unknown magic. I give money to this group of people that have weird social habits. That I do not understand and I have never experienced them before. They do some magic.
The type of the keyboard and magic happens. Then, they have this thing that I cannot possibly understand how it works. I could never possibly do it myself. I couldn’t learn how to do it.
So, I just have to keep appeasing the magic over here.
Jade: But this happens to people that do understand that world as well.
Derek: That goes back to the hope thing, then, right? If people are hoping that…at the beginning of this, you could have the worst possible sprint and have a retrospective where you’re talking about all these terrible things.
A lot of times when the sprint planning starts the next time, it’s like, “OK, we have a clean slate. Everything’s in the air for this time. Everyone is very hopeful.”
Because people want to be hopeful, right? They want to think that this time’s going to be different. So they repeat the same mistakes.
Jade: Robo Roy did you have something to say?
Roy: If I hold this is in, maybe it’ll get better. It’s getting better.
I think that’s one of our things is we don’t see ourselves as developers. Often times, it’s somebody delivering a service of some kind and having an output. I think failure is OK.
I think it’s entirely OK, but the failure shouldn’t be that we aren’t able to deliver something. It’s whether what we deliver or not necessarily is usable or meaningful, right?
We should be able to deliver something that somebody can learn from. The business should get something at the end that they can put into practice and say like, “Oh, this is right or this is wrong.”
Derek: Do y’all know the [inaudible] you’re saying?
Roy: Yeah.
Derek: I’m just going to sell it now.
Roy: I think ultimately we just…as practitioners if we could do what we say we’re going to do, that would go so much further than where we currently are today, it’s not even funny.
Jade: So how do we get there? We’ve got two minutes to solve this problem.
Derek: Hey, I didn’t commit to anything. I would say the best thing that I think works for teams if they want to improve commitment is basically really take a deep dive in look at what it means to do what you say you’re going to do and also, understand that you can say you’re going to do smaller things than other people want you to do.
I can commit to less work than people want me to commit to and if I can do that and have success and build and learn and inspect it to death and improve, I think that is a better long‑term outcome than basically lying every time and not ever fulfilling my promises.
Jade: Is that part of the major problem?
Roy: Yes.
Jade: Is that people can’t reconcile that fact?
Jade: Yes.
Derek: They don’t feel empowered to say no to those things. Either by themselves or by some other constraint.
Roy: I think they are stupid on purpose, too. Most teams I see are still doing two week sprints, still doing like…I mean, if you’re not able to do what you say you’re going to do, go to a smaller block of something and say like, “If I say I’m going to do this in the next two hours, can I really do it.”
You’re much better off at failing at doing something in two hours, then you are failing in doing something in 10 days or 15 days.
Derek: I was working with a team and I ripped down the board and said, “Show me what you can do in one hour.” They couldn’t do it.
Roy: I think that’s a big problem. I don’t think it’s a matter of not allowing people to be creative or not giving them license to do something.
I think in teams that are high‑performing, they are not doing a bunch of planning. They are not doing a bunch of estimating, but they don’t need to because if they say, “Hey, we can deliver you something kick‑ass in four weeks.”
There’s trust that they’re going to do it in four weeks. I don’t have to think twice about it, right? Where you have to get into the legalism of things are when there is absolutely no trust.
The problem is the only way to build trust is to do what you say you’re going to do. Until you can do that, you’re screwed.
Jade: Tell us what you guys think about commitments. Any experiences that you’ve had with teams or yourself, failures to commit, all of these things.
You can find us on Twitter @Agileweekly, and on Facebook, facebook.com/agileweekly. Talk to you next week.
Clayton Lengel-Zigich: Welcome to another episode of the Agile weekly podcast. I am Clayton Lengel-Zigich.
Roy VandeWater: I’m Roy VandeWater.
Clayton: Today we’re going to be talking about a very rare thing that we’ve heard about from certain people. It’s called, “What happens when you fail your sprint.”
Roy: I’ve never experienced this personally.
Clayton: Me either. Of course not.
Roy: Right. Hypothetically, if it did happen, what do you do?
Clayton: I guess we should define it first. Roy and I were talking about this topic earlier today and I was thinking, “I wonder if we think the same thing ‑‑ what it means if we say ‘fail a sprint’”? Is failing a Sprint the same thing as, you committed to do five stories, and you only got four done? Are we calling that a failure?
Roy: Yeah.
Clayton: OK, I think so, too. What if you committed to doing five stories and then, you also had a sprint goal and you fulfilled the sprint goal, but you didn’t do one of the stories? Is that a failure?
Roy: That’s interesting. I haven’t really made sprint goals all that often, which is probably a bigger problem, but that’s an interesting point. If the value of the sprint is to achieve your sprint goal and your stories are almost an implementation to try to achieve that goal, then maybe achieving the sprint goal is all you need.
Clayton: For example, I always like to use the travel website. If our sprint goal is to make it easier for people to book a rental car when they book a cruise vacation, and we fulfill our sprint goal, but we didn’t do one of the stories, does it really matter?
Roy: I think that one is a little bit in our sync, because making it easier is like a slighter scale. You can make it a teeny, teeny little bit easier by doing a text change. I think the important part…I think what I really consider a failure is when you promise to deliver something and you fail to keep your promise. When essentially, you lose trust with the people that you have promised to, because you didn’t do what you said you were going to do.
Clayton: Like maybe, the product owner. You say, “Hey product owner, leave me alone for the next week and I promise you that I will get this thing done.” Then, in a week, you don’t get it done. So now the product owner trusts you less.
Roy: Right, exactly.
Clayton: OK. I think that makes sense. If we define failure as making a promise and then not…basically, we’re saying you aren’t doing what you said you were going to do. We talk about that, we use that phrase a lot internally. If you say that sprint failure is not doing what you said you were going to do, a lot of people I know don’t like to talk about sprint failure because they don’t like to talk about failing.
Roy: Well, it’s confrontational, of a sort.
Clayton: I see a lot of people, a lot of teams that will try to find all kinds of ways to explain why they didn’t really fail. Whether it’s, “Well we were working on these five things, but then something happened and we didn’t have to this anymore, so we didn’t really technically fail because we still did the important stuff.”
Roy: Or “We worked on all of these things, but then this major interruption happened or this outside dependency caused us to fail our sprint because we were waiting to get something back from them. We thought we’d get it this week and we didn’t.”
Clayton: One thing I’ve always noticed or thought, personally, is that if you don’t view failure as that big of a deal, if you view it as a learning moment, or a way that you can improve, then it doesn’t really matter if you failed because who cares, you don’t have to try to explain it away.
Roy: As long as you’re honest about it, you try to fix it for the next time.
Clayton: Let’s describe that then. I think there was a team that you were working with or we were talking about that had failed their sprint, or they weren’t going to get it done on time. So they cancelled their demo.
Roy: They actually postponed their demo about three or four days under the idea of, “We don’t have anything to demo right now because we didn’t do the stories we said we were going to do, but we should have them done in three days so we’re going to go ahead and do the demo then.
Clayton: In the entire sprint review we include the demo and the retrospective. Did they do the retrospective or did they skip that part too?
Roy: No, as far as I know the iteration was essentially extended for an additional three days.
Clayton: In that case we would call that a failure because they didn’t get it done when they said they’d get it done. What advice would you give to a team that doesn’t get things done? Maybe they got 80 percent of their stories done. Let’s say that rather than being really bad and getting 80 percent of everything done, they actually got eight out of ten stories done. Would you suggest that they show something in the demo? How would they handle that in the demo? What would the team do?
Roy: I would say that if you actually complete something, then show it off because it’s going to go into production, but if you haven’t finished it don’t show it because when you’re demoing, you’re demoing to not just a product owner who knows what’s going on within the team and was probably made aware way before this that not everything was going to get done, but you’re also demoing to the stakeholders, potentially even users of the system and so I feel it’s important to actually show them what they are now able to have.
Clayton: So those are the things you only demo what you’ve actually shipped.
Roy: Exactly.
Clayton: I have always gone back and forth on showing things that aren’t done‑done or unaccepted, only for the sake of maybe really valuing extra feedback. I guess there are probably more bad behaviors that come from demoing half done things or not done things then you’d get a benefit from the feedback.
Roy: I’m on the fence on that too. On one hand I think you shouldn’t demo anything that isn’t done because you are setting this expectation that features part of the product when you are starting a new moderation and it may not be prioritized anymore because something may have come up. The specific details on how to post a function may completely change. Essentially you are demonstrating something that may never happen so you are setting expectations that you don’t have the power to meet.
However, gaining additional feedback totally makes sense ‑‑ that may be what drives the actual change so it’s really dangerous I feel, but if you were to be extremely explicit about the fact that this is not finished, there is no promise, you are doing it purely to receive feedback, I could see that it might be OK.
Clayton: So probably don’t ever do that because most people are not going to listen to you when you say you are not going to get this.
Roy: I could see tens of people attending the meeting and be, “Wow”! And then selling to all the customers and then it gets put on the back and it’s never going to get done. Then you are taking power away from the product all of a sudden cause now they have to finish it because all the customers are demanding it.
Clayton: In a crucial demo part of this review, some people from the team might actually get up and showcase their features and show them on a projector screen. How do you think the team should address the sprint itself ‑‑ should they address the fact that they didn’t get it all done or should they skip over that?
Roy: It is important to be as transparent as possible. If a team has failed a sprint, totally own up to it. Explain why but be really careful that you are explaining why and not making excuses. I would recommend verbalizing all reasons things specifically the team did wrong. The example I made earlier where you are depending on an outside source and they weren’t able to get you the stuff you needed on time and you thought they would. I would word that as “We made a promise for things that we did not have direct control over and the way we would mitigate that in future is by only promising things we know we can deliver.”
Clayton: I was watching a video from Dan North speaking in the conference about high performing teams. One of the things I thought was really interesting was he was talking about the team he was working on ‑‑ which was really high performing. They had a component of their showcase, they were doing scrum, but the component of the demo where they talked about things they learned. I thought that was a better way where you can pretty much convey the same information but it’s not presented as, “We would have had that stuff done but excuse excuse excuse.”
We didn’t get things done being very afraid of failure and we learn these things that will help us in the future. I feel like that’s a much easier way to go about it even though its sugar coating the fact that you failed. I’m not necessarily advocating that but for teams that are transitioning, that aren’t as comfortable with conflict or perceived conflict involved with saying, “We failed.” ‑‑ technically what you learn might be easier.
Roy: There might be some difficulty with how you structure your retrospective with respect to your demo. You may not have identified a good way, you may not have learned what you are going to learn by your demo time because you might your retrospective afterwards.
Clayton: That’s a good point. What would you suggest is positive or healthy behavior that someone in a Scrum Master role might take to a team that failed a sprint?
Roy: I would absolutely orient a retrospect around it ‑‑ start out a notion like, “Hey we failed, how can we do better about it”? I have seen many retrospectives where it’s completely shoved under the rug or brushed over.
Clayton: There were some colossal failures but…
[cross talk]
Roy: Nobody wants to talk about it, it’s really painful and it’s conflict and probably there is going to be some finger pointing and yelling and pent‑up emotions. I would expect a high performing team, as much as you say it, failure shouldn’t be that big a deal so you can learn from it. On the other hand, neither should failure be a total non‑issue, right?
You shouldn’t ignore a failure and be, “Oh, whatever. We failed. We’ll fail again next week. We don’t really care about hitting our commitment anyway.” You have to find a balance and hopefully, the team cares enough to at least get somewhat passionate about making sure it doesn’t happen again.
Clayton: It gives them a really concrete thing to use for inspect and adapt, I think. I’ve always felt that as a Scrum Master, if there was a sprint failure, depending on what the circumstances are, as a facilitator you’re not going to go and force them down some path.
As the Scrum Master, there may be a responsibility ‑‑ you have to bring things to light, to really call out the 100 pound gorilla in the room and say, “Hey, I think we’re not talking about all the issues,” or maybe format the exercise or facilitate in a certain way, so that some of those things can come to light.
Roy: That is interesting, though, because I found that most teams don’t even believe that consistent success is possible. I know I didn’t believe that myself back when we were doing contracting work with Integrum. I always thought that Derek and Jade kept pushing us to try to hit our sprints continually.
I was like, “You know, that’s a nice ideal, but that’s not actually reality.” It wasn’t until I was on a team where we consistently hit our sprint week after week for months at a time and we had one failure and it was a big deal, but then we were right back on track again. It’s truly possible, but I know that until that happened to me, I did not believe it.
Clayton: One of the interesting things about that specific example was the answer to “The sprints are failing,” was not, “Work harder.” It was, “Do less until you start succeeding.”
That’s one thing that a lot of teams…I’ve seen teams that will fail weeks at a time, but then, they consistently commit to big chunks of work. Rather than saying, “Hey, maybe we need to slow down to go fast, so let’s do less and less until we are successful.”
Roy: Well, product owners, especially are really, really touchy about that. “Wow, these guys have $100 of capacity and they are committing to only 50 percent of that. All this wasted money and time. What do I do about that”? Then, the reality is they probably were only going to get 50 percent of the capacity done anyway.
Clayton: Right. If they’re failing they might.
Roy: They commit to a whole bunch, but they only hit a percentage of that. Maybe it makes sense to…Maybe what they’re doing is not committing to less, but committing to exactly what they are capable of.
Clayton: If I’m the product owner and I’m working with a Scrum team or on the Scrum team, I would prefer for my purposes to have something that was a little more consistent. So rather than be lied to every week ‑‑ and not maliciously lied to, but rather than have some rosy optimistic outlook of what this sprint’s, “Everything should be great this time around.” ‑‑ I’d rather have the realistic thing. If that means going slower and…
Roy: But, you’re not really going slower, right? You’re just not promising to go as fast.
Clayton: It appears that I’m going slower.
Roy: Sure.
Clayton: If that’s the case, I’d rather have reality that makes my prediction stuff much easier. Then, I think, that’s another place where inspect and adapt comes in, where you can find ways or with the Scrum Master and whatever the team can improve, so that they can go faster hopefully. But whatever their pace is, that’s all I’m going to get. I would much rather know what the reality is.
Roy: I agree ‑‑ it makes it a lot easier to improve over time because if you commit to your full capacity, then you have to go from zero to 100 percent immediately, right?
You either fail your sprint or you hit your sprint. But, if you can slide that capacity down to what you can actually hit, then you can slowly move that up and you have much more opportunity for incremental growth, rather than an all or nothing thing. Then you can slowly work your way up to 100 percent.
Clayton: One more bonus question before we go. If a Scrum team has committed to 10 stories and it’s the last day of their sprint and they realize they are not going to get the last two things done, and they say, “Oh, Mr. Product Owner, we’re not going to get these three, two things done, can we take that out of the sprint”? If they took them out, will you count that as a success or failure?
Roy: I would count that as a failure because at the beginning of the iteration, they promised to get those things done. It’s a bit of a gray area, so if they realize on day one of the iteration that those two things weren’t going to get done, that would be totally different than if they realized 10 minutes before the demo.
Clayton: I’ve never seen that street go two ways. I’ve only seen it where the team asks if they can have things removed, but when they finish, I don’t ever think I’ve seen a team that says, “Bring it on. Give me more stuff. We can’t wait to get more things.”
Roy: I’ve seen both, but it definitely never happens at the beginning of the iteration that they say, “OK, give us more stuff.” Sometimes, towards the end, I’ve seen teams finish the iteration in half the time and then, pull in a little bit additional work…
Clayton: OK. That’s good.
Roy: …and demo that as well. Now, if they didn’t manage to accomplish all of the additional work before the demo, I would not consider that a failure.
Clayton: To me, that says topic for another episode. All right. Thanks.
Clayton Lengel‑Zigich: Welcome to another episode of the “Agile Weekly Podcast.” I’m Clayton Lengel‑Zigich.
Roy vandeWater: And I’m Roy vandeWater.
Clayton: Today we’re talking about an article that we came across, it was this week. It’s called the “High Costs and Negative Value of Pair Programming” Original Taken DownHacker News Thread. It’s by Capers Jones at the Namcook Analytics blog, we’ll put that in the iTune net.
Basically, it’s, like a white paper almost, about why pair programming is harmful, and it’s not really a good idea, and you shouldn’t do it, or at least, you shouldn’t do it yet, until you do lots of research about it. It struck a chord, I guess. We came across the post on Twitter, and it kind of generated some buzz on there. Then, we talked about it internally, so we were hoping to share our ideas.
The first point that I thought was, that resonated with me was the author makes mention that pair programming is something that came out of the non‑scientific. It wasn’t measured very well in the Agile community. I would probably give him that, that the Agile community has lots of things that we do that are not necessarily based on hard scientific evidence, a lot of its just anecdotal experience. That’s probably a fair statement.
Roy: It becomes very difficult, too, though. I think we’ve had something that we’ve run into in the past, right? Where it becomes, because of the nature of every team being different, different projects being different, the codes bases being different, like a lot of the pair programming and not just pair programming, a lot of the types of practices that teams are experiencing with are very difficult to measure in a scientific way. It’s very difficult to have a control group that’s identical except for this one variable.
Clayton: The thing that was…while I agree with that general idea that the Agile community is very unscientific about how they measure things, I felt the way that they went on about, goes without measuring things in the article was kind of lame because they just made up a bunch of stuff and put it in Excel it seems like. I don’t know. My guess is you have to take a healthy grain of salt.
Roy: The thing that I thought was most interesting in the beginning is that the author tries to make the point that there are a lot of different scenarios about pair programming that were not considered in most cases. He goes through all these different examples of single programmers using static analysis versus expert single programmers compared to average pairs and novice pairs compared to all these ten different permutations of all these different things.
Which, I guess, there are probably not many organizations that have all of these things and they are only going to have two or three at most. I thought it was odd that you go so far out of your way to make a big point of not comparing all these things, especially when there probably isn’t a whole lot of opportunity to compare them all?
Clayton: I thought the static analysis bit was interesting because he specifically talks about the number of defects that a single programmer using static analysis produces versus two pair of programming produce. I think the ratio is something like a single programmer using static analysis develops one defect for every 15 that the pair programmers develop? I guess maybe I don’t understand what static analysis is, because I don’t understand. Do you mind explaining real quick?
Roy: The idea that static analysis is going to evaluate your code and find defects for you? I have written plenty of defects that static analysis wouldn’t have caught. There’re plenty of things that static analysis would tell you that wouldn’t be defect that you could spend a bunch of time fixing. That seems like it’s just a silly thing to even bring up.
Static analysis can be important and it can hint you in the right direction and help you find different things with your code. The idea that it’s like this great tool for finding defects or even a tool for finding defects seems like a stretch.
Moving on, another downside the author states for pair programming is that it won’t scale. The example that he gives is a huge software project with 500 engineers. How could you get them to pair? How could you hire another 500 more people? Which seems odd, because any software project that had 500 people working on the same thing that sounds like a nightmare, no matter what you’re doing.
Clayton: Right. Exactly. You are going to have so many people doing many random things and wasting a ton of time, even pair programming at that point when you have a project that big, it becomes unmanageable.
Roy: If it’s 500 people across an entire organization all working on different things, then you could still pair. There’s nothing that says you couldn’t, the idea that it wouldn’t scale? That seems kind of silly.
Clayton: That’s the mindset difference, right? Because he’s thinking from the perspective of “I have 500 people and I need to maintain my current productivity level, which means I have to hire 500 more.” Instead of saying, “I have 500 people and that means I have 250 pairs.”
Roy: That’s a good point. Kind of the next thing that is the problem with pair programming is why hasn’t this been tried with other business functions or other job functions? They talk about architects and BAs and testers and all these other things which, if you talk to those who are actually doing pair programming, they have tried to do some form of pairing with people who are not just software developers.
This one stuck out to me as someone that has kind of betrayed the experience the author has with pair programming and the idea that no one has tried that before.
Clayton: In fact, in my experience, the biggest gains from pair programming come when you have the most different types of experiences combining. Say, you have a graphic designer and a programmer, or something like…as different as possible.
Because, if you put two people that are almost identical in front of a computer, the most you’re going to get out of it is maybe a slightly lower defect rate, because one of them is proofreading what the other one is writing.
But, if you have two people that have totally different ways of approaching the problem that gives the pair a greater diversity of options to choose from, and it makes it more likely that they might pick the right one.
Roy: The thing that struck me as the biggest bullshit indicator of the whole article was that one of the measurements that’s used in this calculation is lines of code. The measurement is how fast is an expert single programmer, based on how many lines of code they write?
That’s what is used in all the economic calculations. I wouldn’t doubt that pair programming is probably more expensive, and probably slower, than single people working on things, but that’s entirely ignoring all the other benefits that you can get.
If you’re just doing lines of code, if you’re working on a software project that all that matters is that you’re just pumping out lines of code, then just hire a bunch of monkeys and they can just pound on the keyboard. You don’t need pair programming at that point.
It seemed like an odd comparison. I would even say that if your software project is so simple that you can just crank out lines of code, then you probably don’t get any benefit from pairing as far as collaboration, or redundancy or anything.
Clayton: You probably don’t get any benefit from collaboration of any form. You should probably just outsource, and try to get your code written as cheap as possible.
Roy: Right, because if all it really takes is that you just are pumping out code, then you can just replace that person with someone else, and it doesn’t matter. But, that’s not the case, I think, in most software organizations.
Clayton: I was going to say, how many projects are actually out there where you can just put anybody in front of it and pump out code?
Roy: A lot of people try and do that, especially, I would say, shops that are doing outsourced software development, where they’re solving the same problem multiple times. They probably do just have a set way of doing things, where they could get pretty close to just pumping things out, and it doesn’t really matter who’s working on it.
But, for most organizations that are developing either products for customers or developing products for internal customers, where there is a need for that collaboration and giving some creativity, and having that redundancy, so that you don’t have the single point of failure with the one person who knows everything…
Clayton: That’s true. That’s one thing that’s not really acknowledged all that much. I believe one of the lines in that article states something about like, “If you look at the data in Table three, you can clearly see that the most efficient course of action is to hire a bunch of individual expert programmers.”
If you’ve followed many of our podcasts in the past, then you’ll know that that does not really fly very well with the way we like to work, and that that sets organizations up for failure, because you end up with all of these single point of failure where if any one of them…Each one is a link in the chain, and if anyone is gone, then the organization falls apart.
Roy: The single expert programmer is usually a hero and a cowboy. They are the ones that are going to stay up until 3:00 AM heroing some solution for some problem, and then they’re going to cowboy‑code their way…
Clayton: They’re pumping out lots of lines of code.
Roy: Yeah, exactly, and they’re going to cowboy‑code their way through everything else.
If you ask any IT hiring manager, the idea that you can just go pluck expert programmers off the street…which, to the author’s credit, he does make the point that that probably only makes up about 10 percent of the hiring pool that’s available, the programming talent.
I feel like that advice is…”You should only hire expert programmers” is like telling your little sister, “You should only date guys that are really nice to you, and that are financially secure, and that treat you with respect.” That’s not going to be everybody in the world. That’s probably not very good advice, right?
Clayton: I don’t want my sister dating everybody in the world, though.
Roy: I agree, but the idea that a hiring manager is just going to go out there and find some expert programmer and say, “Hey, we can solve all of our problems by hiring three of you, instead of having a few pairs.” That seems silly.
Clayton: It’s short‑sighted, too, to think of things in terms of moving faster because you have a pair, because it’s a single person moving faster. If you have a single person making poor decisions, and maybe moving very quickly but creating this monstrosity that’s going to be impossible to maintain, sure, you’re moving faster for now, for the next few weeks.
But then, all of a sudden, when defects come in or change requirements come in or whatever, and you start needing to adapt the system to meet the new demand, that’s all of a sudden when things start to slow down, because you didn’t slow down to begin with.
Roy: Yeah. The way that the example is set up in the article, it’s very tipped in favor of the single programmer, and not in favor of a more, I would say, real‑world scenario, or at least a scenario that we see with our clients that have a dynamic application or a legacy system, or they’re trying to build a new product.
They need lots of creativity, and they need that collaboration, so that they can get lots of different ideas, and so that there’s the redundancy. Those are the things they need. They don’t need people just pumping out code.
Clayton: That’s, I think, we see in almost every organization that I’ve ever worked with. The biggest problem has always been with figuring out what to build. Not building something quickly. Building something as fast as possible has never been the issue.
Roy: I would say the other thing, I think, that we see a lot is there are scenarios where saving money is a beneficial thing. I think this article comes from the standpoint, the fact that they bring it up in the very beginning, that Agile is sort of not very good with economics.
Or at least, that’s the claim they’re making. Drives to the point, I think, where all they really care about is the bottom line. Which, you know, I think if you spend enough time in the community you realize that going faster and more better, faster, cheaper. That line, which is, I think, how a lot of people view Agile, maybe Scrum especially.
Clayton: And Lean as well.
Roy: Especially with Scrum, if we can do Scrum, then our teams will be faster. They’ll be cheaper. They’ll be better or whatever. If that’s the only thing you’re driving for then I think this article is appealing to you. If all you care about are dollars and cents.
Clayton: Maybe Agile isn’t for you if you’re doing that.
Roy: Right, and that’s why I would say that you probably don’t even have the culture in your organization to support pair programming if all you care about is the bottom line. Because there’s no way you could look at a pair versus a single person and determine that, “Oh, the pair is more expensive, but that’s OK.”
That’s not going to be your mindset. You’re going to think of them as, “This pair is more expensive,” and you’re not going to see the benefits that you get from pair programming. So you’re just going to ignore out of hand which is who this article appeals to.
Clayton: Actually, it’s a huge disparity between thinking of these things as just a set of processes and tips and tricks to try to make things more efficient or to make things better, rather than looking at it as a value system, where you are completely changing the way that the human beings within your organization interact.
Roy: You’re changing the way that people will write that software.
Clayton: Right.
Roy: The closing point about divided work. I thought this was just another one to seem kind of ridiculous out of hand as well. I don’t think there’s anything that you could compare between pair programming, two people sitting down writing software like a software feature. I don’t think that’s comparable to military command whatsoever other than the fact that there are two people.
The idea that you would say, “Divided work can be harmful because look at these examples of things that don’t work.” They’re not the same thing. It’s apples and oranges at that point.
Clayton: Let’s look at it from the perspective of decision making ability, right? Where if you have two people sitting in front of a computer and they have to make a decision? They could potentially argue about it for half an hour to an hour. In the software development world, like arguing about something for half an hour to an hour is not big deal. But, I could understand in the military engagement that might be a huge problem.
Roy: Right. [indecipherable 13:04] means software is malleable, right?
Clayton: Right.
Roy: You and I could sit down and pair program and we could come up with some solution. Then, maybe we go away for the weekend, we talk to some friend and they mention something that triggers an idea. We can come back and change that. There’s nothing. You can’t change sending your tanks into battle, and you can’t just do over. There’s no undo.
Clayton: But, it is pretty common to see, especially large groups get crippled by shared indecision. It’s like everybody wants to go in a different direction.
I can definitely see that extending all the way down to pairs as well, where two people with fundamentally different mindsets want to go in different directions. But, I think that ends up being a much large organizational problem in that probably speaks towards a lack of shared vision for the project.
Because of everybody is on the same page where their project’s headed, then the implementation details of going one direction or another, if they’re both headed in the same way, it doesn’t become as much of an argument.
Roy: I’ve seen that on teams where pairs will have very…especially, if you get two people that are very strong willed. They will have very different ideas of how the system should be architected or whatever the case may be.
But, when the team doesn’t have trust and they don’t have collective code ownership with standards, that’s when you get people who say, “We should use this library.” Then, the other person says, “No, we should use that one,” when really it’s the team that should basically be figuring out, “When we have to solve this kind of problem, we’re going to do it this way.”
[crosstalk]
Roy: Once you get over that problem, and you say, I think a great example that we always have with the old Integrum was authentication stuff. There are 50 different ways you could do authentication and rails. We picked one and that was how we did authentication. That solved the problem of two people pairing and saying, “Well, my pet library that I think is really great is this one.”
Then, the other person saying, “No, no, no. We should do this way.” Then, it was you had two different ways in this project that were inconsistent with what the team thought was the standard, if you can get over those kinds of things. That’s how you can solve some of those problems that they might seem like problems with pairing, but I don’t think they really are.
Clayton: That’s true. I think every single one of the items you listed really speaks towards larger organizational problems that have absolutely nothing to do with pairing. Like if these are the things, if these are reasons why you don’t want to do pairing, then maybe you shouldn’t be doing pairing yet because your organization is not ready and your organization needs some significant changes before you do.
Roy: If you’re totally swayed by the economic argument, then you’re missing all the other benefits that you get. If that’s where you are then you’re not ready to be awesome. If I put my Derek hat on for a second, I would say, “It’s expensive and it’s difficult to be awesome and if you’re going to fall back on some excuse about how it’s too expensive with all these kind of bullshit calculators that you wrote in excel, then too bad. You don’t get a taste of the awesome.”
Clayton: Fair enough.
Roy: Thanks. See you next time.
Clayton: Bye‑bye.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich.
Derek Neighbors: I’m Derek Neighbors.
Roy vandeWater: I’m Roy vandeWater.
Clayton: Today, we will be talking about the much talked about Seven Agile Best Practices That You Don’t Necessarily Need To Do article. If you haven’t read it, it’s on the Agile DZone. It’s called Seven Agile Best Practices That You Don’t Need To Follow by Jim Bird.
We’re going to talk a few minutes on each of these. First one is test‑driven development. That’s one that somehow became synonymous with Agile teams, that Agile teams do TDD. What do you guys think? Do you have to do TDD?
Derek: No.
Roy: Yeah, I’m going to say that.
Clayton: [laughs] Next. Let’s explore a little bit why that became so pervasive. Why does everyone thing that you have to do TDD if you’re doing Agile?
Derek: Because there is a difference between Agile and good. So it’s like if you want to be good, you have to do TDD. If you just want to be Agile, like, “Hey, you don’t need to do TDD.”
Roy: Also, there’s a huge feedback component to Agile, right? It’s all about quick iterations and getting feedback early. I think test driven development is the programming embodiment of that. It’s the idea of asking for feedback before you even start coding and then, gaining feedback as you code towards the failing test.
Clayton: Do you think it would be fair to say that you would have to do TDD if you were doing extreme programming?
Roy: Yeah.
Derek: Yes. I would say you would. I don’t remember his full arguments on this, but I think it comes down to studies say TDD is not as good. If you know what you’re doing, then TDD is good, but if you don’t know. The only time that I really say that TDD should be super optional would be if your start‑up, you’ve got a limited amount of money and you have to meet the next date and slow at TDD because you don’t know how to do it.
If you are competent with TDD, there is no reason not to do it. If you are going to be long‑term with a project, then there’s no reason not to do it.
Roy: So part of the argument also talks about that statistically there’s an increase in complexity with TDD, oftentimes in terms of design, which I’d have to make assumptions, but I’m assuming it’s based off of probably not knowing how to do TDD properly, like abusing the crap out of mocks and spies and all of those patterns, and creating tests that are really brutally coupled to the specific implementation.
Derek: It doubles the lines of code, so therefore, it’s got to be twice as complex.
Roy: Right, when people, when teams get…
Clayton: Speaking of doubling, pair programming. Do you have to have two people working, do you have to do pairing if you’re on an Agile team?
Roy: No. I feel like you have to be doing some form of pairing, like it may not necessarily be pair programming. But like people working by themselves, that’s not a team. Like leave Agile alone. Like I feel like a bunch of people working by themselves in isolation is not a team. So I almost feel like there has to be a pairing component in terms of like pair‑planning or pair design or pair…
[crosstalk]
Clayton: So the only way you can do that is by pairing?
Roy: No. I suppose not. And I suppose they very specifically mean pair programming.
Derek: Yeah, because I go to a whole lot of planning meetings that aren’t paired but I think that the people there are co‑creating solutions together.
Roy: Sure.
Derek: Again that’s one to me just like TDDing. If you want to be good, you probably should pair. If you want to be Agile, you don’t have to pair.
Roy: Right. Some of the arguments are for the idea like, that some people don’t like to pair and some people will be slowed down by other people like that.
If I’m really good and Clayton sucks, [sarcastic] using a realistic example, [laughing] then what we would have is like Clayton would be slowing me down all of the time, which I think is kind of the wrong way to think of that, it’s like I’d be teaching Clayton some awesome new stuff that he doesn’t know yet… [crosstalk] …and that’s more important in the long run.
Clayton: They hit on or he hits on some of other common arguments about introverts versus extroverts and like smashing creativity and you won’t have time to be innovative and all that kind of thing.
Roy: Like you won’t have the opportunity to go heads down and really solve complex problems but arguably, if you’re pairing properly, you’re turning all your complex problems into simple ones and you don’t end up with those types of huge complex Rube Goldberg solutions.
Derek: I keep saying that you know the problem with exercising for me is that it leaves less time for eating ice cream and clearly this is a problem.
Clayton: OK the next one is emerging design and metaphor. One thing I don’t think a lot of people especially kind of the new Agile crowd I don’t think they really have embraced metaphor at all. I don’t ever hear people talking about the importance of metaphor not now at least.
Derek: So I can’t speak without using metaphors, like I think you have to have metaphors to be Agile.
[crosstalk]
Roy: They have to be sports metaphors.
Derek: Not always but usually, just because sexual ones aren’t very you know reasonable to do at work. I will remember a conversation with Chet, I believe about this, and I think they kind of said that XP dropped the metaphor at some point, and I want to say that the reason they dropped it is because it’s too fucking hard to do. Which speaks volumes for the shit that’s really good is hard to do. I think that people throw away the stuff that’s hard to do first.
Clayton: Like BDD. If you look at that, and you talk about “Let’s have ubiquitous language, and let’s have a shared language.” That’s really difficult. And there are a lot of times where people can’t even think of a way to describe some part of the system, so they just throw it away. [crosstalk] They give it up.
Roy: Exactly. You almost put it in the box of the metaphor: “Well this doesn’t fit our metaphor, so I guess we can’t do it.”
Clayton: Right. One thing that he talks about in the article is changing the metaphor, or having to get rid of it, or being pigeonholed by it. If the metaphor is meaningful, I think you can make it work most of the time. If you need to change it, I think you can have a good reason to change it.
Roy: It’s interesting to pair this up with emergent design because I don’t necessarily put those two in the same box in my head. Emergent design, the idea being “I’m not going to design this entire thing up front. I’m going to be able to build on top of it as it goes on.”
Clayton: Then that’s some of the fallacy that in Agile you never talk about design. This is, in practice, not true. I think if you go to high‑performing Agile teams, they’re talking a lot about design. They just don’t do the huge design up front stuff. But, they don’t not talk about it.
Roy: And, it stays flexible the entire time, so nobody’s totally stuck on a particular interpretation…
Derek: [sarcastically] How are you going to grow your architecture e‑peen if you have emergent design? Now, come on.
Clayton: There you go.
[crosstalk]
Derek: I want to back on this one a little bit. Look at some of the most prolific onboarding applications of computer history. If you look at Twitter, if you look at Facebook, if you look at some of these companies that have gone from zero users to several hundred million users in a very short period of time, all of their architecture was created using emergent design from a standpoint of they didn’t know what they didn’t know.
I believe there’s an article on this. We’ll try to see if we can get it in the show notes. Twitter had done a ton of performance testing. They had done a ton of load. They had done a ton of stuff where they could deal with literally hundreds of thousands of follows per second happening on the system. What do you know? Ashton Kutcher goes on “David Letterman” and says, “I want to be the first person to a million followers. Everybody go follow me right now.”
Total edge case in, “Yes, we support a hundred thousand users following another user, but we don’t support a hundred thousand people following the same user in a one second time frame.”
How do you deal with those things that come up? You can’t cover every edge case, and I think continuous deployment has moved us to a point where what you’re really doing is saying, “We discover by the feedback the system gets us.” And, we’re able to adapt and deploy so continuously and so quickly, that it doesn’t feel like we have architecture problems. I think this is something that the old‑school, old guard just can’t deal with. It’s like, “No, but we have to get it right the first time!”
Roy: I kind of feel like if you don’t have some form of emergent design you are, by definition, not doing Agile.
Derek: You’re screwed!
Roy: Right? Because, other than the human relationship and that component of it, I feel like the ability to pivot and change your mind as you gain new information is the fundamental core.
Clayton: What about daily stand‑ups? Roy, you just mentioned the human component. Getting together and talking to other people on the team on a daily basis. Is that something you have to do?
Derek: Is that what they said? I don’t know the wording. To me, if they said “daily stand‑ups,” no, I don’t think daily stand‑ups are mandatory. Do I think the people on the team need to talk to each other at least one time throughout the day? Yes. I think that is necessary.
Clayton: To really nit‑pick, I think what they’re really getting at is, “Does everyone have to stand up?”
Roy: We didn’t. We did an entire episode on whether or not you should stand up during a stand‑up. We came to determine that yes, you should.
Derek: I think it goes back to “Do you want to be good, or do you want to be Agile?” I think you could be totally Agile without doing any kind of formal stand‑up. I think if you want to be good, it’s just like using a white board versus using a tool. Can you do things without using white board? Sure. But, you get some benefits from the other one that you don’t.
Roy: I’m guessing that part of this is driven through experiencing bad stand‑ups that are a waste of your time. Because just like any other meeting, you can screw this one up, and make it a total waste of everyone’s time. Where it’s just like a status report, and I go, “Yesterday, I did X, today I’m going to do Y, no blockers.” Nobody is listening to each other. You’re totally defeating the purpose.
Derek: I see another one too with a lot of teams that are co‑located and within the zone proximity. “We sit next to each other all day long and we pair, so why do we need a stand up? We’ve got a physical board. We sit next to each other. We talk to each other every day. Everybody already knows what everybody is doing. Why the hell do we need to do a stand up every day?”
Clayton: I think what’s funny is that most the time those people don’t actually know what is happening.
Derek: No, they don’t. I see that too.
Clayton: Speaking of everybody knowing everything, what about collective code ownership? Is the idea that everyone can work on any part of the system and everybody knows the system to some degree? Is that a reasonable thing? Or should you say, “It’s OK that Derek doesn’t know how to do this right.”
Derek: Some people are too dumb to work on parts of the system.
Roy: Right, they shouldn’t be allowed to work on parts of the system.
Derek: People won’t say that, but that’s what they’re saying when they say that. “Not everybody is as knowledgeable, not everybody is a god like me.”
Roy: Actually this article does say something specifically along those lines and not everybody should be allowed to modify parts of the system.
Clayton: I think what they’re getting at is it’s not realistic that that is the case. It isn’t realistic that everybody on the team can work on any part of the system. To me that sounds like, why is your system so complex?
Derek: What it sounds to me is why do you hire stupid fucking people? If you have people that you hired to code and you don’t let them go to certain parts of the code because they’re not competent to go to the code, why are they employed by you?
Clayton: That’s a good point.
Roy: Or if you don’t let them go into the code because the person that owns that code is extremely territorial over it, then why do you have that territorial person employed, and why are you letting them boss you around?
Derek: I don’t know if you could be Agile without having collective code ownership. The first time you have to say, “Sorry, Clayton is on vacation, I can’t really deal with this problem.” By default, you are not able to respond.
Clayton: That’s true. You couldn’t respond to that change right?
We’ve heard that user stories are a representation of a conversation. Why wouldn’t you write every requirement as a user story? Is it un‑Agile to have a requirement on the system that isn’t a user story?
Derek: This one I think they’re pretty in line with. I think that the multiple formulas that exist out there are really good. I think they help people write good, small parts of the system. I think somebody could go write one or two sentences on a board and still get stuff done just fine, if you have the conversation. I think the actual card and the conversation are far more important than the stories themselves.
Roy: One of the values of a user story is that it can’t give you enough information to substitute for a conversation. I can’t write a user story that tells you everything you need to know, so you have to come talk to me.
Clayton: They talk about using a use case, or a test case, or a wire frame, or something which they are great examples of things you can add on to a user story as you have that conversation, but I don’t think it’s an and/or. If you were to say that you didn’t write everything in user stories, I could see somebody getting a little crazy with writing too many use cases, and then you go off the deep end in that regard.
Roy: Right, and then before you know it you have a full spec outline ahead of time so that we don’t have to spend this entire time arguing with the developers and negotiating someone’s criteria.
Derek: You get off the rails pretty quick, right? If you don’t keep it nice and short then we start assume, “Oh Roy, you’ve got 80 pages of Cucumber specs for me.” So I don’t need to actually ask anything about the system.
Roy: It’s all here.
Derek: Clearly you’ve thought of everything, right?
Clayton: The last one talks about relying a product owner. The single ringable neck and having one person that is supposed to be the gateway to the customer. If most Agile shops are doing some form of Agile are probably doing Scrum and they probably have a product owner. How did all the Agile people miss the boat on this one?
Roy: I kind of think it would be OK if there was more than one product owner. It doesn’t necessarily have to be a product owner as long as there is just one backlog. You still get into the problem of if you have this one backlog and you have two different people that are both your boss.
They’re arguing over what a specific story is supposed to be like. I can still see a ton of problems there. You have to have somebody that makes the final call. Somebody at the top of your organization has the authority to say this and not that.
Clayton: I think there’s a distinction between being the voice, the single point of contact with a customer and the person that makes decisions. Should the only person that ever talks to customers be one person and the product owner?
Probably not, and you should probably find lots of different ways to have that interaction and get that feedback. If you had more people talking to the customer and more people making decisions, I don’t think that’s what you would want.
Derek: This one is really odd for me in the sense of I’m starting to find that actually in some ways I believe that having a product owner is non Agile. Part of it is, I think that if a team, when I look at small startups and I see them do things with no product owner.
They really are doing things by committee. They really are doing things by unanimous decision. I think it’s because they have got strong vision, and they’re aligned. To me the need of having a product owner who is the one all that says, “I’m going to make the decisions so we can move forward.”
I think that’s almost a crutch that says that you’re not providing enough vision that the team is actually aligned behind the product, because if they were, you could get to a unanimous decision fairly quickly. You could be biased towards that action.
Roy: That’s a really interesting point. I hadn’t thought about it like that. The reason why we always think that you need a product owner is because you have dissenting viewpoints on which way to go.
That’s because tradition decision making is made by majority vote, in which case you have a bunch of people that aren’t happy. If you’re always unanimous, then you have a team that is acting as one anyway so it’s like it’s one single [inaudible 00:16:15] .
Derek: You probably have a much better product. To be clear, I think product ownership is very necessary is most organizations because they’re having to deal with them as a dysfunction to how they currently work. I think you could absolutely be on a highly Agile, adaptive, high performing team, and deliver great product, and not have a product owner.
Clayton: I think we’re out of time. Thanks guys!
Roy vandeWater: Hello, and welcome to another episode of the Agile Weekly Podcast. I’m Roy vandeWater.
Derek Neighbors: I’m Derek Neighbors.
Clayton Lengel‑Zigich: I am Clayton Lengel‑Zigich.
Roy: Today we are talking about establishing a growth path within an Agile organization. The general idea that you have a bunch of employees within the organization that all want to improve themselves, or maybe don’t want to improve themselves. How do you show them what they can do to get better, and incentivize them to want to do those things?
Clayton: Do you mean like get a raise?
Roy: Sure, I think that’s the classic management 1.0 way of incentivizing people to get better.
Clayton: “I want to climb the ladder, so I can make more money.”
Roy: You start out as junior developer, you go to senior developer, then you become manager, then you eventually become a [indecipherable 00:52] level officer. Each one of those titles is associated with a salary band. I think that’s…
Clayton: Standard corporate stuff?
Roy: Very conventional. Then you have less people at the top, so it’s a standard pyramid structure. What else can you do?
Clayton: I guess we should talk about money as a motivator. I think there’s some literature out there, and some studies that show for knowledge work, money is not a great motivator. There are probably some people who still associate money as a status thing, or titles as a status thing, so they want that thing.
Roy: That’s still the way that most businesses do it today, so I would definitely say the majority of people think that way.
Clayton: Would an Agile organization be somewhere that people are so engaged in the work that giving them a bump in their pay is not “Make it or break it” territory?
Roy: There are definitely studies that show that once you get beyond a certain salary range, I think I heard you talking about it, Clayton. I think you said 80K or so.
Clayton: I think that’s what is in Drive.
Roy: I’m sure that number may be different, it’s probably different for every person. But that beyond a certain salary range, people are much more motivated by the work they do, and the people they are surrounded with, and the environment in which they work, than they are by the actual salary.
If you look on the list of things that they look at, as far as making a decision to switch to a new job, it’s very low on the list. They need to make enough to survive, but other than living comfortably, they don’t really need all that much money. Most people aren’t choosing a new job to get rich. The people that do that become entrepreneurs.
Derek: I think some of the things you potentially limit is if you have good people somewhere else that you are trying to attract, the problem is if you say 60K or 70K, or whatever that number is, the number you care about, then as long as you provide meaningful awesome work, that’s great.
What if there’s this really great person but they’re making 130,000, and their mortgage and their car payments and everything total up to that? In order to attract that really good person now, that person has to sell their home, sell their house.
I think that if everybody was level set starting at zero, I absolutely think that that works. But how do you be competitive, and luring good talent, when other companies aren’t following that same suit? What happens? How do you deal with that?
Roy: I can understand what you’re saying there, but I think there’s a difference between trying to lure people over with your culture and then dropping the salary down, and matching their existing salary but then luring them over with the culture. What I’m saying what wouldn’t work is having a crappy culture but having an awesome salary, that’s better then what their making now.
Derek: Yes, I agree with that. But I think one of the things that you start to do is, do managers start to have a conversation where they really talk about, “Hey let’s level set, and it’s really not about money, and let’s make the culture really awesome.” You make the culture really awesome and you start to set this baseline.
What happens when there’s an incredible employee that everybody wants on the team. Everything’s great, but now you’re going to pay that person twice what the current people are there because they can’t do it? There starts to become some issues.
I absolutely agree that throwing money at the problem to make existing employees more happy is not a path to being good.
If you’re paying someone 80K, and you’re giving them crappy work and they’re not doing what you want, and they’re not learning, and they’re not growing, giving them 90K is not going to make them happy, is not going to make them grow. It might bump them for a few months or a year, but then they’re going to be right back to where they were at.
But I think it’s sticky if you just start to say, “Oh we don’t need to pay anybody more than the base that Dan says, and then life is good from there.” I don’t think that’s a very realistic approach either.
Clayton: Getting back to your original question about growth, or career growth. I think you had talked about how do people advance, and we were talking about the corporate ladder.
What I’m wondering is, what could a manger or management team do to outline some things, like a better path? What could they do to set expectations so that people knew, “Hey, in order to level up, these are the things I’d have to do”?
Roy: I feel like those expectations and those things to level up need to come from the team, or need to be based in the reality of that organization. Just saying “I need you to work twice as much,” if there is no demand for that, that may not be realistic.
I feel like it needs to be very applicable to an individual team. Certain teams may value a certain type of behavior more than others.
Derek: Let’s say that, as an organization, that you decide that technical excellence is very important. Would it be fair for someone to say, “Hey, if you want to level up, and be viewed as the next level in the organization,” that you would always demand technical excellence? Here are some different ways that you could show that that’s happening. Is that the kind of expectation or metric you could use?
Roy: I kind of agree with that, but like I said, I feel like if people feel they are holding themselves accountable to the team…I am a part of a team of so many people. As a team, we run into this problem, and as part of solving that problem, I need to get better technical excellence.
Let’s say we are a team that’s having huge problems with technical debt. Because I am passionate about the team, and I demand that my team does great work, I am going to have to become passionate about technical debt in order to make my team great. But if it’s not a problem, if technical debt’s not a problem, for whatever reason, then maybe I don’t need to be awesome at technical excellence.
That’s kind of where I am coming from. It’s applicable to the individual team, and the problems that they are facing.
Derek: I think there’s a couple of problems, potentially, with that. One is you are saying that “I can impose on you that you have to grow, you don’t get a choice about that, but then it is your choice on what you can grow on.”
I’d say, “If it’s so important that I get to make all the choices, why do you get to make the choice whether I grow or not? What if I think I am really great, and I don’t care, and I don’t think that I need to grow to deliver this product? STFU.”
The only reason I bring it back to that is I think that what we’re really talking about is, “How do you encourage people to learn?” My answer to that largely is, “I don’t think you can.”
What I mean is, I think that you got growth‑minded people and you’ve got fixed‑mindset people. I think that the first thing that continuous learning organizations have to do is starting to say “We’re not going to waste our time with people who don’t want to learn.”
Roy: But you can convert people from fixed mindset into a growth mindset. I think that the best way to do that would be through the team, and have a team really be pushing for that type of behavior.
As a manager, I wouldn’t be encouraging people to learn. As a manager, I would be demanding greatness from a team, and the team would figure out a way to help Clayton learn whatever.
Derek: But wouldn’t it be fair for the team and say, “I don’t want to fart around with trying to make Clayton learn. I want to do this other really magnificent thing”?
Roy: Yeah, after they have tried to make Clayton learn.
Derek: But why? If you are going to totally give them the power to do what they want as a team, why can’t they just say “Because we don’t want Clayton on our team?”
Roy: It’s too easy to cast away people that could potentially be great, just because nobody gives him a chance. It’s really easy to make the easy call of, “Oh, we just don’t want this person, because it’s really difficult dealing with their problems.”
Derek: I guess where I’m getting is, I think that what you’re saying is that there is a difference between self‑direction and self‑organization.
I think it’s totally OK for an organization to say, “We think, for our organization to be successful, people need to have these type of skills, or need to have these type of abilities, and that we’re going to chart your success how you’re getting to those.”
Earlier you were saying, “I don’t think you should chart what I should be growing towards, you should let me totally define that.”
Roy: I don’t think that’s what I intended to say. Maybe that’s what I communicated, but I think I failed to communicate, if that’s the case.
Derek: I think if you’re going to say you’re stuck with certain people, potentially, on your team, and you are stuck with that there is an expectation to learn, I think it’s OK to say “This is the expectation of what we expect you to learn, and that we can chart, do you have growth towards that?”
I think in a perfect world you’d say “Hey, you work with the people that you want to work with. If people are dragging you down, don’t work with them. You define how you want to grow, and what the best skill set is.” I just don’t think most organizations are mature, and have teams that are mature enough, to fully operate in that capacity.
Roy: That’s true. Most organizations aren’t even working in a capacity where any of the individuals of the team have the emotional maturity, or interactive tools, to deal with giving people feedback.
If I had a problem with somebody on the team I wouldn’t even know how to address that. Maybe the best thing I would know how to do is go to my manager and complain, and that’s it. Or maybe complain about it behind their back at the water cooler. But I don’t know how to actually deal with a problem.
Derek: I think we even did this at Integrum at one time, maybe if we can find it, we’ll post it. We listed out like, “Hey, to be a good Agile coach, what are all the skill sets that you need? What are the things you need to grow in?” and then like, “Hey, can we self‑assess ourselves to say, ‘Hey, if we’re looking at this, where am I deficient, where could I grow the most, and can I be deliberate?’ Can I do deliberate practice on how could I be better at coaching somebody?”
Roy: Even in that, I remember when we did that exercise, we ran into some specific technical issues, implementation details that didn’t work out for us.
Derek: I guess that’s part of [indecipherable 10:55] . I think this is really difficult stuff to do.
Clayton: Derek, you’d mentioned the concept of simple rules. I think it was from…What’s that podcast?
Derek: “Partnerships and possibilities.”
Clayton: You mentioned simple rules, the idea of having very simple things. I like the idea of saying, “To be a certain level of senior software developer,” maybe, “You value openness,” or something.
I think there’s a lot of different Agile frameworks and different things out there that would list, say five, six values that are pretty easy to adopt. Something like openness seems very simple, and there’s probably a lot of different ways that most people do not practice being open or transparent.
I think that’s a very easy indicator, where you could say, “What behaviors have you changed, or what behaviors have you adopted, that show that you value openness?” Those are the kind of things that you would want to drive towards.
As far as growing on the team or in the organization, if you had a list of those kind of things, it seems like it would be fairly easy for individuals to pick those things, and decide which ones they think. Maybe they would need some help with the self‑assessment part, or becoming self‑aware about how good or bad they are at those things.
Roy: It’s funny you should mention that as a specific example, because actually I had a discussion earlier today about openness. The problem that the team was having was, they have individuals on the team that are braided by the rest of the team whenever they make a mistake, and that those types of mistakes are never forgotten or let go, it’s constantly being brought up.
In this case, estimating for example, they estimated higher than everybody else. It’s like, “Oh, look at this person who doesn’t have any experience and estimated higher than everybody else.” Now, they’re afraid to make any estimates at all unless they look at the team to see what the team has done first.
Making fun of that didn’t allow for the openness, but I don’t think the team is even in this point where they realize that their behavior caused this non‑opened culture. They probably think, “We totally criticized him, and that was nice and open, and we know how he feels about it.” They didn’t realize that they shut down the very thing that they claimed to probably have tried to create.
Clayton: Derek, in your example where the team would decide, “Hey, I don’t want to help this person try and learn anymore, I don’t want to make them learn anymore.” In a situation like that, how much effort would they have to put in before they said, “This person just doesn’t want to learn, so I’m not going to waste my time.”
Derek: I think that’s the organization’s call. I think it’s either you give people the power to say who’s on and off their team, or you give people and say, “Hey, here’s your team, and you guys need to learn how to work together as a team.”
I don’t think there is a right or wrong to that. I think there’s pitfalls to both sides, and if you’ve got somewhat immature people on teams, it gets really petty that you are just swapping people from team to team.
You’ve got somebody who doesn’t have skills, who doesn’t want to learn, so they go from one team to the next team, to the next team. Maybe they are a reasonable potential talent, but nobody’s mentoring them, or giving the time. I think there is some danger in there unless you’ve got some mature organizational pieces, but I think it could go either way.
Roy: I think we’re about out of time, so thank you for joining us. If you have any opinions, please join us on the Facebook page, at facebook.com/agileweekly. We’d love to hear what you think about this. Thanks, bye bye.
Clayton Lengel‑Zigich: Welcome to another episode of the “Agile Weekly Podcast”, I’m Clayton Lengel‑Zigich.
Jade Meskill: I’m Jade Meskill.
Roy vandeWater: I’m Roy vandeWater.
Clayton: Joining us today is David Foster. Say, “Hi, David.”
David Foster: Hi.
Jade: No, say, “Hi David.”
Roy: Hi, David.
Clayton: All right, good job.
[laughter]
Clayton: As usual, it’s guest choice for the topic. We wanted to talk a little bit about what it means to be a senior developer, and maybe even more specifically from a manager’s point of view. How do you define those things, and what’s the whole process?
David, this is something that you’ve been working with for a little bit now. Can you explain where you are, and what struggles you’ve had so far?
David: There’s three development managers in our organization, and we’ve been working on this for the last several months.
We recently transitioned from an organization that was definitely more hierarchically driven. We wanted to be able to move into more of a management stance where we’re actually empowering the teams, and letting the teams make decisions on their own. Which of course calls into question, what is our role as managers?
We look at it as if the teams’ products are the software that they’re actually building and delivering for the product owners, then our product is actually the teams themselves. What would be our responsibility in helping the teams to be better teams?
We decided that one of the things that we could do was try and set a vision for what we saw as being the kind of characteristics that a senior developer should have on a team. A “Senior” being defined as somebody that would help with the growth of the team, help with the creation of the team, and making sure that the team is running well, as a team. They would be a lead, in that respect.
Clayton: I think some people would say, “Titles are stupid,” and, “Why do you need a senior developer role?” What do you say to that?
David: I would probably agree with that, from the perspective of having an organization that is completely run by titles, where you’re just pigeonholing people into some position and role, based on what you’ve hired them for.
We definitely want to have teams where the teams can organize themselves, according to whatever the context is that they find themselves. What is the problem that they are trying to solve?
In order to distill that into what we’re looking for, the criteria we came up with were really more along the lines of the kinds of things that we would expect to see from an Agile team member.
Not so much somebody who’s just a senior developer, as defined by typical enterprise cultures these days, where it’s defined by the kinds of things that they do from a skill perspective, and the kinds of things that they do from the coding perspective. These are really more of the kinds of skills that we would see in an Agile team.
Roy: What about loyalty? I feel like the title of “Senior” is oftentimes a reward for loyalty. Like, “I’ve been with this company five years. Shouldn’t I get some recognition for that?”
David: Yeah, that’s basically what we find ourselves with in the company structure, because the company definitely has that, from an HR perspective. They definitely have that, where the actual salary is banded to a specific kind of a title.
There’s a senior‑level band, and that has a salary range that’s associated with it. If you want to actually progress according to the company’s HR department, then you have to be able to fit within these bands. That’s kind of a constraint that we had as a management team.
We want to be able to have a fairly flat hierarchy, where we’re not really telling the teams what to do. We’re not really acting in the traditional role of a manager, the teams can decide for themselves. But we still have to be able to help them along with a career path within this organization that is still hierarchical.
Clayton: Jade, I was going to ask you. We’ve never really had a big hierarchical situation, or really big on titles at all. Do you think that ever had a negative impact with Integrum?
Jade: It’s something that we’d discussed a lot when we were first starting the company. We tried really hard to map people into all these different levels. It just got so confusing and so hard that we decided to throw it out the window and say, “Who needs this crap? We’re going to do this totally differently.”
As far as did it cause any problems with the organization? I think it caused problems with individuals who are looking for that recognition. Either they wanted it on their resume or for their ego, or whatever it is, they wanted to be called a “Senior Developer.”
As from the actual organization standpoint, I don’t think it caused us any problems. You guys were there. What do you think?
Roy: I remember interacting with a few people while I was still in the intern, and that I was at first somewhat treated a little bit as an intern, and then there was somebody else who considered themselves a “Junior Developer.” I don’t think anybody in the organization would have said, “Oh, this title is ‘Junior Developer.’”
I remember that being kind of interesting, because I remember acting not like an intern, and it very quickly stopped. I was no longer treated like an intern. I still had the lack of knowledge. I had the amount of knowledge as an intern, I just acted a little bit more confidently.
I think that was interesting to see, that he was still stuck in the “Junior Developer” role, and couldn’t get himself out of that, to step out. I don’t know, Jade. I think you know who I’m talking about. Did he actually have…
Jade: Is this the person that became our senior intern?
Roy: Yes, that’s right.
Jade: [laughs]
Roy: Was that a self‑assigned title?
Jade: Yeah, very much so. I think he mentally assumed the role of intern, instead of imagining himself as coequal with the rest of his team.
Roy: Because I see that as one of the big problems with titles, is you put yourself in the box. David, we’ve had this interaction with a few different people, where somebody says “This is my title. I shouldn’t be doing this other stuff. Even though I am passionate about it, and I think it should be done, that’s not me, that’s not my title. I shouldn’t be doing that.”
David: Yes, we were definitely running into that. We know that by actually going this route, which is a complete change from what existed before, that there’s going to definitely be a major friction created by this.
We expect that we’re going to have people that are going to just be completely uncomfortable by this, because when we actually show these criteria that we would expect from one of these developers, they’re not oriented along the ways that they’re used to. “I just want a check list.” It’s not going to be like that.
It’s really going to be “These are the kinds of things we’re looking for out of a senior‑level developer, and we expect you to figure out, and set your own goals, for how you’re actually going to achieve these things that you may be lacking.” That is definitely different.
We don’t really know what that means, in terms of how many people are going to be uncomfortable with that. But just like you said, Roy, we’ve had some people that have already butted up against that.
“We’re empowering you to make decisions, we’re empowering you to find solutions for yourself,” and there are people that are really uncomfortable with stepping out of their box, their prescribed box that they’ve been given. It’s definitely going to create some friction.
David: I’ve worked in jobs that have a traditional hierarchical organization, and one thing that was nice about having all those hierarchies was that you knew what was expected to go to the next thing.
Sometimes it was very cut and dried, and I think that’s one thing that’s difficult if you have a very flat structure. It’s hard to know what you need to do to improve. Most people I don’t think have the self‑awareness to realize where they’re deficient, or where they maybe could be more valuable, if they were to do certain things.
I think that’s something, at least the stuff that you’ve been talking about so far, that I’ve liked about the way you guys are trying to define what it means to be a senior developer. It’s that those things are very tangible things that I think you could grow towards.
If you looked at one of the requirements and said “I don’t really understand what it means to do X, Y, Z,” I think you and the rest of the management team could say, “Here are some more fine‑grained details about what it means to do those things.” I think that could be very helpful for people who want to actually grow in their career.
Roy: I think it’s important, though, that there aren’t step‑by‑step instructions. Because if you have step‑by‑step instructions, anybody could follow it. At first that sounds like a good thing, but part of what you’re looking for, as somebody who is in a lead position, or whatever, is a mindset and a self‑awareness that you can’t get.
If you tell somebody, “Just do the grind. Follow these steps. Kill 300 boars in the forest and you’ll be level 12, then we’ll give you your salary increase.” That shows that somebody’s willing to throw themselves against a wall for however long, but that doesn’t necessarily show that they have self‑awareness, and leadership ability, and an understanding of what’s going on.
That insight to be able to figure out how to personally improve themselves towards these values is very important.
Jade: How is personal improvement tied to compensation?
David: Difficultly. At a very high level, what we’re looking at is…We don’t really have any junior developers, we really have senior‑level developers and then we have mid‑level and then we have what are called “Principals,” which are above a senior‑level developer.
Roy: When you’re talking about these titles, you’re talking about people who have these titles, or people who actually fit these roles?
David: I would say that people that are in those titles, that are in those job bands. I would not say that these are people that are actually necessarily in those roles, as we’re trying to define them now.
A mid‑level would be somebody who’s…In general it’s somebody who’s a really good member of the team. They’re definitely a contributing member of the team, they definitely work well with the team, and they’re learning how to be a more productive member of a team environment.
The senior would be somebody who’s actually able to help the team grow. They’re helping to nurture the team, they’re helping to grow the team, working with the product management, or the product owner, to really help make the team be more productive.
Then they’re able to, perhaps even go and create a new team, start a new team. We take an individual that is actually operating at a senior level and actually say “OK, we’re going to build a new team around you, because you definitely understand those principles.”
A principal would be somebody who would be helping to foster the creation of maybe multiple teams. That’s kind of how we’re looking at that. Compensation would be tied probably more towards those levels of activities.
Jade: So what happens if you come across someone who’s really great at getting the team to be cohesive, to be effective, but they’re not strong technically?
David: That is a team problem, and we would expect a team to try and figure that out. How they figure that out we’re not really sure, because we haven’t had a team empowered yet enough to actually address that.
We definitely have that problem with some of the teams, but the teams have to be able to ferret out what that means to them. Do they want to just shelter somebody and keep them going along, or do they want to actually confront the issue and actually make some changes?
Jade: What if it’s not important that they’re strong technically, the team’s good enough to take care of that? They’re really great at getting people to work together and assemble and do all the things that you need to do?
Roy: That sounds valuable me. It sounds to me like if the team feels that this person is contributing a ton of value, maybe they don’t have that much technical experience, maybe they should be made aware and know that that’s an area of improvement.
David: I think the personal performance, and performance reviews and all that stuff, there are people that are maybe exploring, self‑organizing teams, or doing things differently, or having a flatter organizational structure.
It’s the same thing with facilities. You’re trying to do all this new stuff, and then you go to HR and they are operating in a much different capacity. For as much as I think the Agile community tries to shoehorn Agile stuff into HR, maybe it just doesn’t fit.
This example you’re giving, Jade, think that is a totally reasonable thing. Why wouldn’t you be able to set the compensation or to have the person on the team? I think the answer is because they don’t fit into “Software developer level one, tier three” category, so you don’t know how much to pay them.
You are trying to use this antiquated system to figure all this stuff out, and maybe you should just not worry about that, but that’s hard to do. You can’t just tell facilities, “I’m going to kick down the cube walls,” because someone’s going to freak out. That’s not how they operate.
Jade: I think it’s a big challenge. Especially as we look at compensation, individual compensation has direct repercussions on your behavior on a team. It gets very complicated very quickly, as you start to muddle those things together.
Roy: It gets really weird too, because sometimes you think you are rewarding a good behavior. You’re rewarding a good outcome, that can lead to some really bad behaviors.
David: The most radical example of fixing that problem would be where the team has some salary budget, and you basically just tell the team “Here’s you’re budget, and you divide it amongst yourselves.”
Jade: Yeah, there’s people that do that.
David: Which is a very scary thing. Even for smaller organizations, that usually doesn’t fly. I think when it comes to payroll and compensation, those things are so stuck in the old way of doing things.
Roy: Very taboo.
David: Yeah exactly, it’s taboo. Can you imagine if you took the average kind of corporate Scrum team, even if they were a pretty good self‑organizing team, and you said, “Here’s everyone’s salary, and feel free to move everyone up and down the slider, according to where the team thinks they are.” I can’t even imagine doing that.
Jade: We’re pretty progressive and pretty crazy, and we have not even touched that issue.
Roy: Every time we talked about bringing it up, we keep switching over to something else. It’s crazy too, because from a logical perspective it doesn’t even make sense.
The idea, and I don’t know if it’s an American culture thing or a world culture thing, but you are never supposed to talk about how much you make, and you are never supposed to bring that up with other people. You’re not supposed to know how much other people make, and if you do find out, you keep it to…Why is that such a cultural thing?
Jade: That sounds like another topic. [laughs]
Roy: Fair enough.
Clayton: It underscores the fact that some of this stuff gets int territory where we don’t act super‑rationally about things, which makes it even harder.
I think we are about out of time. David, did you have any parting thoughts, or anything you’d like to leave behind? If there’s another person in your position who’s considering doing something, did you have any advice for that person?
David: The simplest advice I could give is just figure out a way to get yourself out of the mix with the teams. It’s a really hard thing, as a manager, to want to go in and mess with things and to toy with things. The sooner you can get yourself out of that, the better off the teams will be, and being able to perform.
Clayton: Great, thanks.
Roy: Thanks.
David: Thank you.
Clayton Lengel-Zigich: Welcome to another episode of the Agile weekly podcast I am Clayton Lengel-Zigich.
Roy vandeWater: And I am Roy vandeWater.
Clayton: Today we are going to be talking about the churn of revisiting decisions. I guess by that, what do we really mean, Roy?
We mean a team makes a decision about maybe how to implement something or some approach of solving some problem. Then maybe even after the fact it gets, I guess, revisited or gets talked about again and kind of the impacts…Does that sound about right?
Roy: Yeah.
Clayton: An example that we actually both saw this week was a story got demoed to the product owner kind of informally and it got accepted. After the story got accepted, and actually on the board physically moved over to done, with the green pin, and the whole nine yards, someone on the team kind of started objecting about “well we really should have done it this way, and I wasn’t involved, and something, something, something.” What was that impact of that on the team, do you think?
Roy: It felt really odd, because the team had made the decision to move forward in a particular way, and I think we kind of have agreed, probably not explicitly, but kind of agreed as a team, implicitly, that if you’re not there, then you’re going to kind of abide by the teams decisions.
It sounded like this person wasn’t present when some decision was made, and when they got back, the story had gotten accepted and they’re like “well we could have it this other way,” and the team’s like “OK, yeah it could have gotten done this other way, but it’s done now, so why would we spend more time on it.” We delivered a value we set out to deliver and if it becomes a problem, we can revisit that decision.
Clayton: I see people revisit those kinds of choices when they make a decision based on the information they have at a certain time, and then they get more information later, and then they want to re‑hash it again. I think maybe what you’re getting at is: hey, we finished it, it’s done, we delivered some value, let’s just move on. Do you think there’s still room for learning new information, and fixing it, or making it better?
Roy: There’s absolutely room for learning new information. Learning new information is always better, because it allows you to make better decisions moving forward. That’s the whole reason why we have retrospectives.
I definitely think that, like in this type of situation where if it becomes a problem, we’ll totally revisit it and we might choose to solve it in a totally different way, since we now have newer information. Just because you have newer information, you have to be careful about whether or not the cost is worth the value that you’re going to get out of it. In this case, some features delivered that provide some value x.
That feature could be rebuilt in a way that either reduces technical debt or whatever, but if rebuilding it, still only allows it to deliver value x, you have two choices. One that has zero cost, which his leave it like it is. One that has a significant cost.
It’s going to take some amount of time in order to build it, but delivers the same value. If you look at it from that perspective, it makes sense to go with one that’s got zero cost.
Clayton: Do you think that an argument could be made that “It really doesn’t have zero cost because now we know something new. Now that we know this new thing that changes how we would’ve done it and we would do it so much better this time”? Is that the motivation you think that a lot of times decisions get revisited?
Roy: I can understand why that would be a motivation for a why a decision gets revisited. But I would say like, “Great! You learned a whole bunch of new stuff. That’s going to be awesome. The feature’s that we’re building moving forward. Let’s build those because we don’t have a shortage of work to do.”
Nobody has that problem. People who have that problem don’t have jobs anymore.
Clayton: [laughs] Do you think that some of this conversation comes back to the simplest possible solution where you’re trying to do just the simplest thing you can do, which is often times very difficult to do the simplest, to deliver whatever that value is?
Because that sometimes when you’re making those choices about what the simplest thing to do is, you maybe make trade‑offs or maybe you don’t get a lot of consensus?
Roy: I think Derek’s actually been…I don’t know if he said it on the podcast before but I know that he’s definitely said to me in conversations before as saying like, ” A team that is not creating any technical debt while they’re moving forward is probably not a high‑performing team.
A high‑performing team would be moving quickly and making the trade‑off of sometimes accruing some technical debt that they know they’ll have to pay off later in exchange for increased performance.”
Clayton: That would be more calculated debt, not the big bottle of mess that…
Roy: Right, exactly. It’s the type of debt that an investor goes into. Not the type of debt that a…
Clayton: You get from running up your credit card buying stuff.
Roy: Right. Exactly. Right.
Clayton: One of things that’s in the protocols that we like a lot. We like to use decider to make decisions as a team. If you have new information later, you basically support the best idea that exists at the time.
You have to have the faith in your team that they’re going to support the best idea. You can always come back and make a new proposal to change things but you would never revisit something. You would always be doing it in the spirit of moving forward.
Roy: Well, the commitments, you are to support the best idea at the time, right? Regardless of where it came from or what it is, but while that’s the case, you will also always continue to seek to improve that idea or find a better one.
Clayton: If you find a better idea, great, but your situation changes as well. You are no longer in the same green field state at the end of the course of the decision, right? Like in our example, you’re no longer at that same state where you haven’t built this feature yet. You now have something.
That changes the scope of your decision. You can’t think of it in the exact same mindset as before you started it.
Roy: Do you think if you’re using the decider because of the format for the decider protocol and the way that it is basically so structured to deliver that consensus, you never really are revisiting things because you are always making a new proposal to improve? Is that kind of what you’re getting at, I guess?
Clayton: Yes, it is, but I have definitely found myself, in certain cases, with the decider feeling myself a little bit conflicted, because I felt like I had a better idea that completely against the previous Decider and as part of accepting, thumbs‑upping or glad‑handing a decider, you promise not to sabotage the decision.
Sometimes, I feel like I’m sabotaging the decision when in reality I’m actually proposing a better one. Like I’m not really sabotaging it because everybody else on the team has the opportunity to thumbs‑down it, right?
I’m just presenting the time with an alternative choice.
Roy: I think, everyone can probably think of somebody that they work with on their team that has a tendency to maybe revisit things or revisit decisions, especially ones that they were not part of. Do you think that’s something that a team should really be concerned about?
If there are people on the team that are always bringing kind of the old, decided stuff, should they go out of their way to avoid making decisions until that person is there?
Clayton: No. I think if you’re, see I’ve been thinking about this because I’ve been experiencing something very similar, and I think what is important is that if you are not present at the time the decision is made and you come back and you have some additional information, you have the responsibility to disclose what you know.
Then, it is up to the team to choose whether or not to revisit that decision. I would say it would be good for like you to make a decision, me not to know about it, come back, find out and then, say like, “Oh Clayton, by the way, were you aware of this?” Give you some information.
What would not be acceptable, though, is me pushing the agenda and the opinion I have. I wouldn’t be like, “Clayton, you are doing it wrong. We need to do it this other way. Let’s undo your decision and do it my way instead.”
That’s a totally different message than, “Here’s some new information, what would you like to do with it?”
Roy: I guess, I feel like the reason that people, there is turnaround like revisiting decisions, or at least the intent, most of the time is the people who will want to revisit things aren’t doing it just for the sake of conversation or they’re genuinely curious about why the decision was made.
A lot of times, I think, they think that there are some drastic, like the train’s going to go off the tracks if I don’t step in and tell them this new information. A lot of times, I think, that’s why it’s so difficult to have those conversations because it’s not from necessarily like a rational, “Let’s move things forward.”
It’s from a, “Everything’s going to fall apart, unless you listen to me and we talk about all the reasons why you made that decision all over again.”
Clayton: Yeah, it’s a difficult situation to be in. I can understand that emotional need and sometimes I think I may even be a legitimate thing, right? Like you might actually have mission critical information where you know the train is going to get derailed, but it’s really tricky on a personal level to make that determination.
Roy: Do you think in a situation where there was something that was kind of extreme like that, would it be appropriate for a team member to come back and say, “Hey, I know you guys decided that without me and even we decided that we were going to do this way, but I know this new information, X, Y, Z, I think we need to re‑decide. We need to revisit it”?
Clayton: I don’t know if it’s like a revisiting decider or it’s like a, “Hey, here’s some new information. I propose we revisit this decision. One, two, three and then, you can just throw it aside on whether or not to.”
Roy: Even if they weren’t, the team wasn’t trying to use the core protocols. you were just making a proposal. But, for us teams that aren’t using the core protocols, it seems maybe it’s a fine line between when it’s appropriate to revisit it and when it isn’t.
Clayton: I think if you have mission critical information and you bring it up and the rest of the team hears it and they don’t say, “Oh, you’re absolutely right. We did not consider that. Let’s revisit this decision,” then it’s not important enough to revisit the decision.
However important you think it might be, right? I think you’re going to have to lean on the knowledge of the team. Where if the entire team hears this piece of information and decides it’s not important, it’s not important.
Roy: I think another aspect of this whole thing is the feedback loops like how long or short they are. In a situation where maybe there’s like a more senior developer on the team that has more experience using some technology.
The team gets a story about doing something with that technology and nobody really knows how it works, and maybe they don’t implement it correctly or they make some bad choices about that. I think the tendency of this more senior person is to come back and say, “Hey, you guys did it wrong. You really should have done it this way.”
But if you had a shorter feedback cycle, maybe if you’re doing it at a one‑week iteration, would it be OK if you said, “Hey, you know what, I wasn’t here. The decision was made to do it this way. It would be too much work to go back and totally change it. It’s already almost done. Let’s finish it up and then, we can maybe next week or the next iteration, we could revisit it”?
Clayton: I don’t even think that’s necessary. I think that’s more like, “Hey, I just want you guys to know like this is how I would have done it. I totally understand why you guys did it, but in the future when it’s this type of thing, I have some vast experience. Try to include me in the decision. I’ll do what I can to be available for that.”
Roy: You’re saying that you’d…trying to include yourself in the future decisions about that thing, but not really worry about, “Hey, what’s done is done.” You’re not going to worry about it.
Clayton: It’s kind of like a signaling thing. I am offering myself as a repositor of information on the subject, right? Like whether or not I actually know anything about it.
Then, giving those people the choice to use it.
Roy: As far as like minimizing that type of turn or I guess on decisions that are being revisited, is that just a matter of stopping that behavior? Should the team just not accept the fact or they shouldn’t accept anyone revisiting things?
Or does it make sense to have more of a formal structure for making decisions? Everyone has a framework for coming back to the team with information.
Clayton: I think, as far as making decisions, decider is a great way to go, so there’s your structure framework right there. It provides, like you mentioned, avenues for revisiting the decisions because you through out a new proposal.
If you want a framework, it’s there. I think the deep root of the problem is if you have people that are continually not there. That, to me, signifies a huge problem.
If you have a team that’s working together on a commitment, they should be continually working together on a commitment, right? They should all be present and engaged most of the time.
I understand that there are some exceptions. I think that most teams that think they are ‑‑ the ‑‑ exception, really are just making excuses and probably should be together more often.
Roy: Component would be just like the presence of everybody on the team…
Clayton: Right.
Roy: …with each other.
Clayton: If everybody is there, then you don’t have to worry about revisiting a decision. You might still gain new information, right? That still needs to be brought up, but new information is based off a decision that the entire team made, right?
It’s a little bit different. Then, it’s not a, “Hey, I wasn’t included and I want a part of this, too.” It’s a, “I was included. We made the best decision as a team. I was part of that. I take as much responsibility as you guys for this decision, but we just found out something that forces us to revisit it.”
Roy: Do you think that a team that is working on like a Scrum format or that have the dedicated planning meeting in the beginning of the sprint, do you think that they could avoid some of this stuff if they spent more time trying to decide exactly how the implementation would work during the planning period versus being a little more vague at that time and then letting people figure it out as they go?
Clayton: I think that’s totally up to the team and it has to do with trust levels on the team. I think that a team that’s initially forming needs to be very specific about how they actually implement different things.
But that specificity is going to start building the trust and start building the idea of, “This is the way our team does things.” The team gathers around this culture. “This is the way we solve problems.”
Then, over time as the trust builds, you can start back off on the specificness because now everybody knows the way the team does things. Like if I’m working with somebody I’ve worked with for two years, I can something vague, “Like we need to make a log‑in page,” right?
But if I’m working, whatever the job is…but if I’m working with somebody that is I’ve just met for the first time yesterday, we’re going to have to get a lot more specific.
Roy: Coming to a conclusion, maybe revisiting things isn’t always bad. You should always disclose new information you have to team. Using a decider is a good way to make decisions so that you have a framework for making changes to those decisions, I guess.
Clayton: Right.
Roy: Maybe spending the appropriate amount of planning, based on how much the team has standards, I guess, for the work that they’re doing. Sounded all right?
Clayton: Yep. I think that’s it. Thanks for it.
Roy: Thank you.
Jade Meskill: Hello, and welcome to another episode of The Agile Weekly Podcast, I’m Jade Meskill.
Derek Neighbors: I’m Derek Neighbors.
Clayton Lengel‑Zigich: I’m Clayton Lengel‑Zigich.
Roy VanDeWater: And I’m Roy VanDeWater.
Jade: Guys, we wanted to talk about what happens when you find yourself in the less than ideal situation.
Roy: That’s never happened to me.
Jade: You’re always in the ideal situation?
Roy: Yeah.
Jade: That’s good for you. For the rest of you, who aren’t as awesome as Roy, let’s start with a hypothetical situation, in that you’re working with a team where the facilities prevents them from actually sitting and working together. Just the way it’s set up, the way people are distributed, everything. They just can’t physically be together. They’re in the same building, but they can’t physically sit together.
Derek: Is that when it’s time to work from the library or at a local coffee shop? It seems to me you can take a non‑ideal situation and make it into an ideal one. I feel a self‑organizing team shouldn’t let facilities get in their way. If a team is producing results and making it difficult for facilities, I don’t think any management out there is going to be, “No, no. We really got to break up this team. Even though they’re performing, facilities is more important.”
Clayton: I think that’s the interesting thing about facilities. You have the entire org structure that the team is under. Then there is always somebody else that’s entirely separate that is almost never in that building that is in charge of the facilities people.
The idea that there’s this bigger group working together to solve some goal of, “Our teams need a place to work together. They need to be able to sit together.” You’d be able to go talk to the facilities people and say, “How can we make this work?” That never happens.
The teams complain about not being able to sit together. The facilities people say, “Hey, man, I’m just doing my job. I got to keep track of all these desks and cubes.” It always seems to get in the way.
Derek: I think there’s a couple of things. One, is you can hack your way through. I think that’s what you’re talking about, Roy. We can’t figure it out, let’s go steal a conference room. Let’s go somewhere else. We’re not going to let somebody stop what we’re doing.
I think that’s pretty practical most of the time. Except for when you have to be on the network. You can’t go to the library because you don’t have VPN access, or something to the network.
Jade: Or you’re doing something highly confidential.
Derek: Or you don’t have conference rooms, or you don’t have laptops, or other things. Some of it goes to, can you do baby steps to get there? “Hey, Can we pair? Can we both squish in one cube?” We can’t all be in the same spot, but instead of me being totally siloed, can I be near two other people or, can we move to some part of the area where at least more of us are close…?
Roy: Proximity. Maybe work for the corporate cafeteria or something?
Derek: Right. So, I think there are some things that you can do that are kind of “Hey, can we baby step to get there to explore the benefits, or, start to show the benefits which then might help accelerate facilities’ issues or other pieces that are there.” But, I think it’s tough. I think Clayton put it well, “Facilities don’t give a shit about your team”.
Jade: Let’s imagine it’s not the person, right? It’s the environment not conducive to working together. So, what are some other situations that you guys have found yourself in where you’ve had to work around something that’s preventing your team from being as performer as they could be?
Clayton: I think one thing I’ve seen is you get teams that have big, kind of old legacy nasty projects, and they want to maybe try and improve their technical practices. And so, I think right now if you were to go out and start, kind of Googling around for maybe TDD or BDD things, a lot of the things you run into are either technology stacks that are newer, or they’re using what seem like contrived examples.
And so, I think a lot of people get turned off where if I say, I heard about this BDD thing, and I go Google for it and I stumble upon Cucumber, which is in Ruby, and, I get upset that it’s not in Java or, whatever my language is. And, yeah, you can go find those things have been ported, or exist in your language. But, it doesn’t feel the same because it kind of takes the new and shiny off of it.
And so, I think in those cases, having to take the stuff that’s new and exciting but, kind of having to map it back to your like, the daily grind, I think turns a lot of people off. It’s difficult to do.
Derek: I think one of the ones I see a ton is a local development environment doesn’t exist. A team development environment exists and a test environment doesn’t exist that actually mimics production in any way, shape or form.
It’s so impossible to get to that because we don’t have access to our local machines to install things, or, our machines are so crappy and old, we can’t install them. Or, we don’t have licenses to the software to install it. Or, the list goes on and on and on about why teams can’t do that. They lose so much time.
Hey, we’re working together, and, we’re doing something, and, we have to wait 15 minutes for something to compile on the test server so that somebody from test can look at it instead of just coming in coding, and, letting them run on their local machine. Various things like that tend to be these prisons that are non‑optimal. It’s not our fault, we have to talk to ops and deal with that or somebody has to order hardware or something completely out of our control.
Jade: So what are some simple tricks that you’ve used to at least help alleviate some of those problems.
Derek: Usually one of the things that can alleviate it is usually you can get the local stuff done. So it’s like, if you can at least get the point where everybody’s got the full stack running locally in the same way that cuts a lot of the problems out.
At least you never have to wait for a server to be able to look at or do something. I think the other things that we see all the time are go get rogue hardware. Find any empty cube that’s still got a machine in it that is slated for somebody who is not currently working there, pull it over to your thing and ask for forgiveness.
Later when you turn it into your CI box or into your dev bill box, the chances are nine out of ten times nobody even notices it’s gone, and when they do it’s like wow. OK, maybe yell that for 20 minutes…
Clayton: That’s why facilities hates everybody.
Derek: Right
Roy: Another one that I’ve seen a few times is when the development teams wanted to play really often because they see deployment as a painful something, and by deploying often they’re hoping that they’ll force themselves to making it better.
But that marketing or sales or product owners, whoever, are not comfortable with deploying that frequently, either out of fear of the deployment process isn’t rock solid or because they can’t market in that way where they release regularly or it doesn’t fit their business model.
One of the tricks I’ve seen to solving that is when they set up an internal fake customer box where they deploy to every commit to practice the deployment that replicates production as close as possible. So that when they actually do deploy to production it’s something that they have done every day for the last however many days instead of something they haven’t done since last year.
Clayton: I think a big part of it is just believing that it’s possible. Having a local environment I think you can hear so many excuses, like the self prison stuff. I think a lot of it is that people are wanting to ask permission first for a lot of things.
But a lot of times you tell them about a story like GitHub or something where they hire a new person, get a laptop and 30 minutes later they’re committing to production. I think to them that seems impossible. Obviously it is possible for some people and it’s all just computers and stuff and you know that you can automate it and you know you can make it work, and you probably aren’t a special snowflake.
So you can kind of get over that hump of thinking that it’s impossible to do those things, I think that goes a long way.
Derek: It’s true, it’s like that typical, “Yeah, we like to do that in the perfect world but we have this limitation. OK well maybe the limitation is a problem which you can solve, and you can be in this perfect world with the rest of us.”
Clayton: I think another big example of the non‑ideal state is I would guess a lot of people would go get their CSM and they’re in their training and they talk about the different roles, and here’s what the team does, and here’s what the product does, and they go back to their office and the product owner really doesn’t spend all of their time with the team.
They used to be a product manager so they have all these other tendencies. Half the team came from some other team and sometimes the other manager comes over and asks them to do work on this other project. There’s all these things that don’t fit into the roles at all. I feel like that’s got to be a huge problem for a lot of…
Jade: That would never happen. [sarcastically]
Clayton: Right. [laughs]
Derek: Right, and they come back and try to adapt everything to fit into their existing business, their existing corporate structure, right? So, a kid like, “OK, I understand that scrum is supposed to have a product owner that is present all the time but we can’t have that. So we’re going to adapt it to meet our company’s needs, and that will make it better.”
Clayton: I think in a lot of those cases you just have to, to some degree, just buck up and say, “Hey, in order to have a successful scrum team we need to have a product owner that has authority and has presence and can be with the team.” That’s just how it has to be.
So we’re not really going to find some way to weasel around that. As far as the kind of hacks and stuff go I don’t know that there’s a whole lot you can do other than basically just being real honest about what you have to do to be successful in that role.
Jade: As our role as coaches, Clayton you talked a bit about just believing that it’s possible. Let’s step back from the specifics and let’s talk about our philosophy. How would we approach this? You show up and you walk into an environment that is so complicated, so convoluted that there are no simple, obvious ways to start to make these type of improvements to work a little more towards the ideal. How would we start to approach and unpack that problem?
Clayton: For me I think that comes down to looking back to looking at some values and principles. You’re not going to be able to go in and necessarily find a list of 15 things that they’re “doing wrong,” and if you fix those things, then they’d be better.
But if you stick to the values and principles and you start observing some of their interactions in the existing processes. You say, “Hey, I think one is kind of misaligned with the values that we’re trying to go for.” At least, get into that baby step of just exploring that possibility. That’s probably a good first step. You can start finding real small things to break things down. You have to take those trivial problems and break them down into smaller chunks.
Roy: I think, something that’s important, though, is getting the team that you’re working with to actually believe that something like this is possible. I think, you alluded to that earlier, Jade, where there are bunch of people working these types of environments, these oppressive environments, their entire life.
They think that something like 10 minute build or an easy deploy or testing before you develop quota or anything of those things are just impossible. That really is unachievable fantasy land of perfection, rather than a real practical thing that you can actually do. I’m not quite sure how you could convince them that that reality can be true.
Derek: I think, for me, the way that I’ve been framing this lately, is it’s permission versus policy. Most of these organizations are really strong policy oriented and don’t trust their people. For me, the first thing, is whoever is asking me to be the coach, do they really believe in what they’re doing? If the answer is yes, I ask them for permission to give me latitude to really push the bounds of things.
I think, that’s the only you can show teams that the culture is changing, that the system is changing and that they aren’t allowed to have permission. Because, more often than not, they’ve been slapped down so many times, they are not going to believe it by default.
Then, it’s a matter of taking every opportunity to deal with those civil disobedience issues, where it’s, “You know what? There’s a server that’s been sitting on that for the last five days. Nobody has touched it. Nobody can tell me what it’s for. I’m picking it up. I’m making it the CI box. I will do that and I will take all the heat for that as a coach. I’m willing to go tell the executive sponsor that I’m doing it.”
If they say, “No, can’t do that.” I say, “OK, great. We’re done with this coaching engagement. You are not serious about the change.” I’m giving you an out that you can blame me. You don’t even have to say you know about this. I find that executive sponsors are serious and say, “OK,” stuff tends to start to happen and unfold.
They need that catalyst or the change agent to stand up for teams and stand up for change. I think, you have to know how hard to push, right? I’m not suggesting you go in, you just start tearing everything apart.
Jade: I formatted this machine. I hope that was all right.
Derek: Yeah, I think…
Jade: That was our production change.
Derek: …you have to pick the battles and see where you get the most lead for the team. The team starts to push harder and then, pretty soon, you really do have a civil disobedience going where it’s get harder and harder for shitty managers to push back against empowered teams. That’s part of the goal is to get people to say, “Hey, we do have the power to make good decisions. If we don’t, hey, we’ll be let go. If we’re making decisions…”
Clayton: I think I’ve seen teams where they knew based on the Scrum rules that they were supposed to be able to dictate to some degree how the stand‑up meeting went, but they would laugh about it every time. They hated the stand‑up meeting because there was a controlling manager that made them do it a certain way.
To them, it was impossible. There was no possibility of any change, whatsoever, because that one little example. If they couldn’t change this in that meeting, they couldn’t do anything, so what’s the point? That was their big barrier to even believing. You could convince them that there are teams that have a 10 minute build and do CI and all this other stuff but, “Not in our world. It just doesn’t exist.”
Jade: I think, that’s it for this week’s episode. Thanks for listening. Check us out on Facebook, facebook.com/agileweekly. We’ll talk to you soon. Good‑bye.
Clayton: Thank you.
Roy vandeWater: Hello, welcome to Agile Weekly Podcast. I’m Roy vandeWater.
Alan Dayley: I’m Alan Dayley.
Derek Neighbors: I’m Derek Neighbors.
Jade Meskill: I’m Jade Meskill.
Roy: Today we’re going to be talking about “Why is Agile Faster”? Alan brought this to our attention. Do you want to give a quick intro?
Alan: This is something you see all the time online and that I encounter with clients and so on. People say, “We want to do Agile because we want to be faster, because faster is better and Agile will be so much faster.”
I recently did a blog post about this and thought it would be fun to bring up here to talk about the perception of Agile being faster ‑‑ is it really faster or not? Why would it seem to be if it is or isn’t ‑‑ all those kinds of issues.
I proposed in my blog post that Agile isn’t necessarily faster. Just because you’re doing Agile or you’ve done it for three sprints or iterations, that doesn’t mean people are coding faster or the testers are testing faster.
Roy: Does it mean you’re delivering value faster?
Alan: Well, I’d rather you use the term sooner than faster in that case.
Jade: I think a lot of it is biased towards action. If you look at the core of what the Agile principles and values get you doing as a team, you’re looking at moving towards some goal sooner.
Alan: That can be one of the factors right there.
Derek: I guess, for me, when I look at the Agile manifesto and corresponding artifacts, I don’t know if I’ve ever seen anything talk about faster, sooner. I’ve seen “better.”
“Better” could include faster or sooner. I don’t want to call them illusions, because I think ultimately, over time Agile teams do tend to perform better. I’m not discounting that that’s the case, but I think some of it is the illusion of speed ‑‑ how quick you get feedback.
I like metaphors, so maybe I can explain with a metaphor. If you are in a car and you are going 70 miles an hour and you look out the front window, it very often does not feel like you’re going 70 miles an hour.
If you’re in the same car going 70 miles an hour and you hang your head out the window and you look at the little striped lines and you see how fast they’re going by, it feels a lot faster than when you’re looking out the window.
You’re going the same speed. The difference is you’ve got some indicator that is giving you perception that you have movement.
I think one of the things that Agile methodologies tend to do is make things visible. They make movement visible where you didn’t see movement before. Even if you’re in a long iteration, if you’ve got burn‑down charts, if you’ve got card walls and other things that are showing movement it feels like “Man, we’re really getting a lot done,” or “We’re really going fast” because we’re seeing lots of movement.
Where before it’s “Hey let’s go do this stuff and we’ll come back in X number of weeks when the project manager comes by and says “Are we on track for this”? And nobody on the team is really seeing any movement except maybe the person doing the individual silo‑ed work.
Alan: One of the interesting things that I point out many times in these discussions is the retrospective and the focus on improvement. Most teams traditionally are not spending any time trying to improve. The reality is that you are going to end up spending less time coding because you are going to spend time trying to improve.
The payoff is in the long term ‑‑ some iterations down, some months down ‑‑ the team will actually have more efficient processes and better ways of communicating, et cetera, because they have taken the time in the early iterations to build some of that. I think that really does help improve actual higher production, or more output.
Roy: So they will eventually be faster? That’s what I’m buying if I’m converting my company over to Agile?
Derek: I don’t think you will necessarily be faster. You’ve made an investment in being able to respond better and you’re hopefully focusing on doing the right things. If we’re doing the wrong things really fast, we haven’t actually made any progress.
Alan: Yeah, that’s kind of the input side which we can address here in a little bit.
Derek: Iterating to nowhere. I think it was Carlos Segura or some fairly famous designer I thought put it really well. You see a lot of design firms that get paid millions of dollars to make a logo and other designers say “Well that’s crap, how dare you get paid a million dollars to make the Nike swoosh logo? Come on, that’s just drawing a little flip of the wrist. That’s so easy.”
I think Carlos put it as “It’s not that I drew a little “fwoop”, it’s that I knew what “fwoop” to draw that was worth a million dollars.” I think that Agile teams start to become the same thing because they are collaborating with the customer, because they are iterating with things, because they are putting working software, they are getting feedback.
They learn what the right things to be doing are. It’s not that they are able to do more things. It’s they’re able to do the things that have bigger impact. Again it gives that illusion of, “Man, this team is really fast.” No, maybe they’re just really good at saying no to stuff that doesn’t matter to anybody.
Alan: That, again, drives to the input side of things. One of the powerful things about many of the Agile frameworks is the collaboration with the customer and having somebody that’s picking the right thing to work on and the right target to shoot for.
Of course, in many organizations, that is still a very neglected part, and most organizations are focused on output ‑‑ make sure the programmers are shipping and sending stuff.
But eventually, you have to address that other end that says, “Are we working on the right thing”? How do you help the product owner and the infrastructure around that whole management of portfolio and feature ideas, to pick the right ones that’ll have the most impact?
Jade: I’ve met a lot of organizations who have an amazing tolerance for wasting everybody’s time. It just blows me away every time.
Derek: There are some organizations that I’ve been in, they introduced me when I started there by saying, “Oh yes, this project is really cool. It only took three months of discovery.”
I said, “OK, so what did that produce”? They said, “Well, here’s this document.” I said, “Well, where’s the backlog”?
“Well, we don’t have one yet. That’s going to take another month.”
Roy: Well, wait until you see the product. It’s going to be [sarcastically] so cool and awesome…in five years.
If I’m trying to justify it to a superior, I’m trying to sell somebody on it, what I’m hearing is I can’t really go, “We’ve got to use Agile because it will make us faster and it will make us more efficient.”
I’m hearing…
Derek: [jokingly] Use Kanban for that!
Roy: We need to use Agile so that our teams will tell us “No,” when we want stupid things. It totally makes sense, but I feel like that’s going to be difficult to sell.
Derek: If I were to try to sell an executive who was on the fence on Agile, I would start with a couple of things. “How engaged are your employees in your teams towards the work that they’re doing”?
If their answer is, [unenthusiastically] “Yeah, I got a bunch of eight to five people. They don’t really care.”
You’re probably going to do a better job solving that problem if you really start to become Agile, than you are going to solve the “going faster” problem.
You can come in and you can do Agile wrong and implement Agile. As part of that, you might get teams to go way faster, but they might completely disengage and I like to call it “iterating to nowhere”.
“Your velocity is just climbing like a beast, but you’re not shipping any software.” Or, “You’re shipping software, but nobody likes it. Everybody thinks it’s horrible. It’s not selling better. You’re not…”
The big thing is I can tell what an executive is looking for by how they want to measure Agile. If they want to measure Agile like, “I’m doing Agile this year and I want 100 percent of my teams to be using Rally and have increased velocity. That’s how I’ll know I’m successful.”
It’s like, “You don’t really care about agility, right”?
If it’s, “My problem is we’re only shipping our software every six months and I want to be able to give features to customers every week and get feedback. I want to be able to have really high net promoter scores and have my customers love our product.”
To me, it’s, “What are you trying to do by being Agile”?
I think the thing that we’ve done in this community that has been a travesty is we have sold Agile as more quality, faster, and…better. The problem is we did that because everybody wants that. That is good to the bottom line…
Roy: It’s easy to sell.
Derek: …in some ways. It’s easy to sell and we can produce that fairly quick with XP and Scrum and Kanban and these things. We can see those things pretty quick.
The problem is that going faster without meaning, without purpose and without collaborating with the customer doesn’t mean crap.
Roy: That’s perhaps another good benefit, too ‑‑ the using it to entice people. If you believe in the principles that are in the Agile manifesto and you want to attract people, then that might be like trying to create a culture that attracts more of it, so you can get the people that you want on‑board.
Derek: This would be a great litmus test for me. Those of you that are sitting in the audience, if you think you’re Agile and it takes you more than two minutes to deploy your software, and more than two minutes to undeploy your software, you are not Agile.
It’s all about responding to change. I don’t know how many teams I talk to that say, “Oh, yeah, we’re doing ComBomb. We’re doing Scrum. We’re doing whatever and we are totally Agile.”
They have a [slowly and dramatically] 64 hour deployment process.
Jade: You mean deployment sprint.
Derek: Right. I mean, how on earth can you respond to change…
Jade: Deployment epic.
Derek: …when it takes you 64 man hours to get something? Can you imagine going to Walmart to buy a block of cheese and them going, “We’ll check you out in 64 hours, if you can just stand in line and wait there, we’ll gladly ring you up in 64 hours.”
Jade: They’ve got to grow that cheese.
Alan: Well 64 hours…
Jade: Cheese tree.
Alan: …in some environments is very, very fast, by the way!
Jade: Not Agile ones.
Alan: Not Agile ones, no. The other part of this that we touched on earlier that I think we could address is the talk about collaboration and communication, right?
Over time, an Agile team, I think, does lose a significant amount of the overhead that it takes to collaborate and communicate and that can help make them work faster. If you’re spending less time in meetings, reading documents, arguing about what it really means we’re really fully collaborating.
That’s another place that it looks and can feel much faster. Overall, the real benefit there though isn’t speed. The real benefit there, again, is focusing on delivering the right thing. That’s where that’s valuable and has nothing to do with being faster.
Roy: That makes it difficult from a measuring standpoint because the feeling that I get from it is, “It’s going to be really hard to measure, but if it’s done right, you’ll know,” type of thing. “You won’t have to measure anymore at that point to see if you are Agile.” That’s difficult to sell at first, but it kind of…
Derek: I think it goes back to people instantly wanting to say, “Well, OK, how do we know we’re getting better?” You’re selling me this.
Roy: I think that is a good quality in general.
Derek: Most people say, “You should do Agile because it allows you to do more, better, faster.” Then people say, “OK, how do I measure that I’m doing more, doing it better, and doing it faster?”
We get into the increased velocity point, reduced defects. You get to all kinds of weird things. To me unless you’re in the business of selling agility to people, why on earth would you use any of those metrics to tell if you’re successful?
If I’m making hot dogs and I want to become an Agile hot dog vendor, do I really care that I’m making more hot dogs if I don’t have more people buying the hot dogs? Do I really care that the hot dogs are better quality if nobody is buying more hot dogs? Do I really care that the hot dogs are 20 percent bigger if nobody is buying the hot dogs? I should care, “Am I selling more hot dogs? Are my customers happier with the experience of the hot dog”? Those should be the measurements that I use for success.
Alan: You don’t want to measure saying, “Well, it only takes me 30 seconds to cook a hot dog, instead of a minute and a half.” Therefore, I must be better.
Derek: I might want to measure that if I’ve got so many…
Jade: If you’re trying to sell…
Derek: …customers queuing up that they’re leaving me because I can’t serve them hot dogs fast enough, right? But, I mean, it should be around those things, right?
If part of we’re not responding to change or we’re not adding the features at a rate to be competitive with whoever our nearest competitor, like, “OK, those are great,” but usually that’s not the case.
People are saying, “Well, I don’t know how to measure a software development team, so these outputs tend to be what I should measure them on.” They don’t look at the system, they look at the team.
Roy: The role to figure out who works on what, what is being worked on and what provides a lot of value has traditionally been more of a management decision than an individual developer decision.
Derek: That’s a huge shift in Agile and why if what you’re looking for is more, better, faster for your team, you’re not really ready for Agile, because Agile requires that you look at the whole stack. The team, the product owner and the management team, all the way to the CEO have to really be having discussions about “How are we getting better at what we’re doing”?
If we’re the hot dog vendor, how do we sell a better product to more people, make more money doing it? That conversation involves everybody from how we market the hot dog to the customer experience…
Alan: To where do we buy them from…
Derek: The whole thing. You can’t do that if you’re just talking more, better, faster.
Jade: The challenge is that’s so convoluted in most companies to understand that whole picture, that it’s hard to even have the discussion.
Alan: There are multiple layers on both ends, from collecting the requirements, there are 14 layers…
[crosstalk]
Derek: You get to the point where when you’re at a big company, you might have a sales team that is 2,000 miles away doing something totally different from the marketing team, doing something different from the development team. It’s not that they don’t collaborate, it’s like they don’t even know each other exist. That’s how removed they are.
Roy: Thank you for joining us today. Alan, thank you for joining us.
Alan: Thanks for having me.
Roy: Please join the discussion at facebook.com/agileweekly and give us your thoughts as well. Good‑bye.
Alan: Bye.
Derek Neighbors: Hello and welcome to another episode of the Agile Weekly Podcast. I’m Derek Neighbors.
Roy vandeWater: I’m Roy vandeWater.
Jade Meskill: I’m Jade Meskill.
Clayton Lengel‑Zigich: I’m Clayton Lengel‑Zigich.
Derek: Today, fresh from Twitter, we have Mike Vizdos.
Mike Vizdos: Hello.
Derek: A custom that we want to do with our special guests is we’re going to allow them to pick the topic of their choice. You get to hear what we’re passionate about all the time. We want to hear what some of our listeners are passionate about. Mike, what’s got your interest today?
Mike: Let’s see. We won’t talk about estimation and planning or certification. Let’s see what are some other hot topics that we don’t want to talk about.
Jade: Can I get certified in estimation?
Mike: Certified estimation planning. Although, Mike Cohn might have a copyright on that one, too, right?
[laughter]
Derek: Anything’s possible.
Mike: He’s planning poker, I think. I’ve got to send him a two cent royalty just for saying that on here. OK, you’ve got to check.
Derek: There you go.
Mike: I don’t know. What are you guys doing with the Lean Startup role? Anything there or what’s going on with that for you?
Clayton: We were just talking about Lean Startup the other day at lunch. I had shared a blog post that I had read about some people that had tried to create a start‑up. I can’t remember what space it was in.
But they tried to create a start‑up and they tried to use Lean Startup.
Jade: It was in the non‑profit space.
Clayton: OK. It sounds like they were 37signals devotees, so they read a bunch of 37signals blog posts and their books and everything. They tried it and it didn’t work. It was the fault of Lean Startup.
Then, if you read the blog, it didn’t look they were very “Lean Startuppie.” I’m curious, how many other people are in that same boat where they read the book, they try it and it fails and they blame Lean Startup?
Jade: I used a Lean Canvas, why didn’t this work?
Derek: I think you’re going to have a lot of Agile adoption, horror stories. The early people that are doing Lean Startup actually have experience and spent decades figuring out how to be successful in bringing product to market fast.
So they started a document in it. They wrote books about it. They are doing conferences about it.
Now, as you start to get into a little past the early adopters on the curve, you’re going to have people that read a book, but have no experience doing anything. Then, go out and basically say, “Look, I followed all the rules, but it didn’t work. I’m not making a million dollars, what is wrong with this”?
In the same way that people go out and read a user’s storybook and they will still go out and write bad users story or go to a Scrum certification and still do all sorts of horrific things to their teams.
Jade: But, we did it iteratively. [laughs]
Derek: There you go.
[laughter]
Clayton: That’s right. We failed fast.
Roy: I think that’s exactly the problem though especially with this Lean Startup one is a fear of failing. The entire idea, at least for me, the big motivation of Lean Startup is to try to fail as early as possible, so you can eliminate a possibility and I think that’s really difficult for people when they get passionate about something is to all of a sudden find evidence that it’s not worth your effort. You would claim the term I think “Fat Startup” at some point.
Jade: That’s the name of their book that you can buy.
Roy: That seems like if you try and develop the entire product and wait until the end to release it to find out that it doesn’t actually meet any customer demands.
Derek: Yeah. What I’m seeing a lot in the places where we’re doing a lot of this stuff at, people are really, really bad in breaking functionality down into small bits and I’m not talking developers I’m talking product owners. They don’t know how to ask any of the right questions. They say, “I want to do Lean Startup,” awesome, great “What experiment are you going to run”? “What do you mean”?
What needle are you trying to move, especially when they have got an existing product were this thing is existed from a year to 10 years and they have never ever done anything other than a customer service satisfaction survey before. It’s like, “Our biggest problem is that we’re trying to reduce churn.” OK. Awesome. ”Do you know what’s causing the churn”? “No.” Do you know what could possibly be causing it”? “No.”
“Is there anything you could potentially measure to try to change, that might affect it”? “Oh, maybe.” “OK great so how are you going to measure that”? “I don’t know.” I mean it’s so difficult for people to figure out how to ask questions, how to do experiments, how to make the hypothesis…the other thing that I’m seeing is that development teams are not high‑performing enough to actually do Lean Startup work.
Meaning, even if you have a product owner come in and say, “Hey I want this.” It’s like “Oh you want that piece of data, that’s going to be 3 weeks to build that metric so that you can start collecting that data and then that feature you want us to test that’s going to be another 10 weeks to develop.” I think enterprises want to adopt this stuff, but they are just not ready.
Jade: …but that is lean! It took us a year to do it last time! [laughs]
Mike: One of the things I’ve been seeing out there as I go…especially in the larger companies that I’m going ‑‑ the enterprises ‑‑ is I put off this warning that there’s three guys in a shop that I’m calling it, that are just going to get out there and kick your ass. I got this great idea again to just go ahead and start another site, and this one is definitely Lean Startup style.
It’s totally testing the initial hypothesis of “is this even worth it”? If you go to 3guysinashop.com right now, it’s basically very, very Lean Startup style. Let’s get it started and see what happens.
What I want to do with this is start showing the failures, and that failures are good in the Lean Startup world. My hypothesis is there are a lot more failures out there using Lean Startup than there are successes, and I want to use this as showcasing people trying and showing what it’s like to fail and succeed. Don’t know where it’s going to go with that. One of the projects I’m starting out with that, to show is totally non‑software development related.
There’s a company called Leanpub that I’m doing some publishing in it, being pretty well‑used in the agile world too. I know Brian Marick and a couple of other people have got some stuff out there.
I started a children’s book of a kids’ book that I used to, stories that I used to tell my kids. It’s called “The Pirates’ Cavern.” It’s going Lean Startup style to actually show a product being delivered. It’s totally outside of the software delivery world, but I’m going to chronicle what happens along the way with that.
Roy: For example with that book how are you collecting feedback on that? Could you describe one of the experiments you ran while working on that book?
Mike: I literally have just gotten it up there over the weekend and my first request is to have them, the readers read it to their kids. Read it with their kids and see what their kids’ response is. The feedback that I’m been receiving so far has been ranging from “meh” to “holy cow this is awesome”! Now I’ve got to figure out what the “holy cow this is awesome” and what the “meh” is about. That’s what I’m testing right now.
Derek: How are you going about testing that?
Mike: Right now it’s just feedback via email. Leanpub allows you to collect email addresses of people that download your book. It’s amazing too. I’ve got a sliding scale up there of pricing. I’m giving it away for free. It’s like zero to five bucks. People are actually paying more than five dollars for this book. It doesn’t seem like a huge deal but it’s also good for testing pricing models too along the way.
Roy: Is that your measurement for…there’s an improvement because the average price has gone up? Is that kind of the idea?
Mike: No. Right now I’m actually just seeing, “Take it for free really,” I mean I’m surprised that people are paying for it. One of the next tests I’m going to ask about is, “Why? What made you pay even more than what the suggested price was”? Because Leanpub allows you to basically pay whatever you want.
Derek: One of the other things I’m seeing a ton is that…I teach an entrepreneurship course as well at the university. The other thing that is really missing in these big companies are, they are so far‑removed from actual profit and loss of their products that…meaning they have revenue stream coming in from…They don’t know whether it pays their salary.
There’s no like, “Man, if we don’t do something quick to get more users or get more money that we are going to be out of the job.” That just doesn’t exist in the enterprise world for the most part.
The two key things that most real lean start‑ups start to look at is, “How much does it cost just to acquire a new customer or to keep a customer and what is the lifetime value of that customer”?
If the lifetime value is smaller than what it cost to acquire them we should kill the product or figure out new feature sets to increase the price or to get more customers or do something.
When I start to ask those kinds of questions, these bare simple, like, “How are you acquiring your customers”? “I don’t know.” “How much does it cost”? “I don’t know. Marketing does that.”
“You’ve got customer A that uses your system in x, and you’ve got customer B that uses it in y. Which one is more expensive for you to maintain or do they cost the same to maintain”? “What do you mean”? “I mean does one of them require more of your time and attention than the other one”? “Oh yeah, customer A, they call in to support all of the time.” “Do you charge more than you charge customer”? “No.” That makes no sense to me.
Clayton: That’s interesting that you brought that up, in Lean Startup they make a big deal about vanity metrics, and there’s all these startups that go around promoting these metrics that are not especially meaningful. Even in the enterprise they don’t even have the vanity metrics.
Roy: Can you give an example of a vanity metric?
Clayton: Like if you say revenue or something.
Jade: Or number of users.
Clayton: Yeah, number of users.
Derek: Like, “We had 100 new sign ups.” It’s like, “OK.”
Jade: “We lost a hundred million dollars on a million users.”
Derek: “We have the three biggest NBA stars using our product. We pay them each a million dollars a year to use it.”
Clayton: Yeah, I mean if you have amazing revenue, but if you make $100 of revenue for every customer and it costs you $99 to get that customer, you can have a big number but it is not super‑impressive.
Roy: Something you had mentioned, the marketing people are in charge of talking to the users. That seems to be a really common threat too, that the people that are in charge of doing the work and the people doing the work and all of the improvement stuff are really, really far‑removed from the actual users of the system, and most of the time from the customers of the system as well.
Where you have to play this entire game of telephone where somebody over here…like there is a whole body of people here who don’t like something and it goes up through the channels or it goes up to the marketing people. The marketing people bring it around to the CEO and it makes its way back down and trickles back down into eventually the product owner and the developers.
Derek: I think we separate the people doing the work from the outcomes of the work. If the product owner can’t tell you how much it costs to acquire a customer, and they can’t tell you how much revenue they make off a particular customer, and they can’t tell you who’s a good customer versus a bad customer financially, how on earth do you expect the developer or the UI person or whoever on the team to be able to tell you that?
What starts to happen is even at the marketing level, they don’t really know those answers. All they are looking at is their revenue stream. Are our revenues going up? If we do this kind of marketing…or this is all the vanity metrics.
We’ve got 10,000 customers in our system currently. Our quarter four goal is that we have 15,000 customers. If we market and we spend $1,000 per customer to acquire a customer and our product only has $10 ever that we get out of this customer, but if it makes our number go to 15,000 we are totally happy with that as the marketing department because we met our quarterly goal. We got more customers.
So many teams and so many products are not looking holistically at their product. They are looking at one…we want to stop churn, we want to increase revenue, we want to increase numbers of users, we want to get into market X. That’s only one part of the formula.
Clayton: If you talk to a lot of product people, they have a ton of ideas, and then they can’t pick which one or they can’t execute on them. Do you think it would be better served rather than have these big economies of scale where you have these big departments that are all supposed to be doing one main goal?
Would you be better off plugging one person from marketing, one person from sales, one person from this, one person from that, and creating little Lean Startup teams that could work on one idea at a time and just burn through those things?
Mike: Sounds familiar.
Roy: A bunch of little “three guys in a shop.”
Jade: What’s that called, cross‑functional teams?
Derek: I think what’s happening is we are seeing it on the development side, so let’s take a QA person, let’s take a designer, let’s take a whatever and create them as a team. But if you look at the startups that are scaling well, they are the ones who say we are creating products, and our products end up being encapsulated by we have one of everybody on the team, and we don’t have necessarily the global marketing department.
We don’t have the global whatever, each product sort of stands on its own at some level. Any final parting thoughts, Mike, before we let you go back to writing your book?
Mike: Yeah, everybody laughs about it, but they also laughed about that little cartoon site that I run too [laughs] . No, just go ahead and follow along. This is public accountability on my part too for 3guysinashop, let’s see where it goes. Get out to leanpub.com/piratescavern and get me some feedback on that. I appreciate you guys taking the time to have me on here tonight.
Roy: Thanks Mike.
Mike: Cool, thank you.
Derek: For those following along, we’ve got a prior episode where we actually had the founder of Leanpub on, and we had another episode with “Lean Startup in the enterprise”, with David J Bland as well. Go back and brush up on those and we’ll see you next time.
Jade Meskill: Hello, and welcome to the Agile Weekly Podcast. I’m Jade Meskill.
Derek Neighbors: I’m Derek Neighbors.
Roy vandeWater: I’m Roy vandeWater.
Jade: Roy, you wanted to talk about something, but I’ll send you an invite for it. Then maybe we can talk about it.
Roy: Let’s try it this way. Audience members, we have big news about Agile Weekly, but we’re not going to tell you until two weeks from now. It could be either good or bad.
Derek: The surprise in the box, people love surprises, right?
Jade: Quick disclaimer, we have no news. You don’t have to wait two weeks to find out.
Derek: I think that I’ve seen a couple of patterns happen here. It’s the person that really gets off on the big surprise like, “I know something, and I’m going to tell you something. It’s exciting for me…”
Jade: …To withhold the…
Derek: “…To withhold the information, because I’m going to give this big surprise.”
Roy: I’ve caught myself dong that a few times.
Derek: The problem is they don’t understand that the person on the other end does not know if it means they’re getting a shotgun to the forehead, or they’re getting a $30,000 raise, and they always are going to default to shotgun in the face.
Roy: That’s Safer.
Derek: That nice two week pause of anticipation is like waiting for your cancer test results, and they don’t get that. That’s one pattern I see.
The other pattern I see is the, “I just want to tell you that I know important stuff that you don’t know, and it’s really like I just want to flaunt that,” which is another bad pattern. The other one is the, “We don’t know what the hell we’re doing, but we know we’re doing something. When we just unload and say, ‘Hey we did this crazy thing that nobody agrees with, and we didn’t consult anybody about,’ you would criticize the hell out of us that you didn’t even think about that, you just pulled it out of your ass.”
Instead, we tell you, “This big thing is coming that we don’t know what it is, and we’re going to pull it out of our ass, but it’s not going to look like we did, because we told you two weeks beforehand that we we’re going to do something.”
Roy: There’s a fourth option, too, which is we got really, really bad news, and we don’t know how to break it to you, so we’re going to give you two weeks to start some rumors, and see how people react so we can adjust our message accordingly.
Derek: I think a lot of the bad news stuff really comes down to people don’t know how to position their message. Like it’s the whole crucial conversation, fierce conversation type of thing, where instead of just being direct and saying, “Here’s what’s going on, here’s what I know, here’s what I don’t know. These are the potential things I see, these are the potential things I don’t think are going to happen.” Instead it’s like, “Well, until I have all the information I don’t want to go tell somebody, because if they ask me a question and my answer is, ‘I don’t know,’ that’s going to be worse.”
The problem is if they know something’s happening, and you’re not giving them any information at all they will assume the absolute worst case scenario. I’m just telling you, if you’re a manager out there, you need to tell people something, and you don’t have all the information, you are better off giving them the information that you have available, and saying, “I don’t know” to the things you don’t know, then you are trying to hold off for all of the information to be relevant.
Jade: Or don’t tell them that you’re going to tell them.
Derek: Correct.
Jade: Wait till you’re ready to, actually, tell them, and then just tell them.
Roy: Seems simple.
Jade: Must be impossible.
Roy: In a perfect world.
Jade: [laughs] In a perfect world. Speaking of perfect world, what happens if you’re working in a team, and they know that they’re doing the wrong thing? There’s some force that’s causing them to do the wrong thing intentionally, but yet they don’t seem to do anything about it?
Derek: They don’t do anything about it?
Jade: Maybe they feel powerless to refuse to do the thing they know is wrong.
Derek: I think to me it shows the lack of health within the organization as a whole. I think if you’re kind of co‑creating things with a product owner, with management, with your organization. If you see something that looks like is really damaging, or a complete waste of time you should be able to have that open dialogue. There should be trust on both sides to say, “How do we reconcile it?”
Maybe, I think, it’s a waste of time, you don’t. Maybe you can help me see that picture. Maybe I can help you see my picture. But there’s some kind of dialogue or compromise, or something that happens there.
I think when the teams get to the point where they’re like, “Yeah, this is a classic case of you go to no planning meetings, you go through all planning, and everyone is totally complicit.” Nobody says anything bad about what’s happening, and then the minute they all leave as they’re walking down the stairs or down the hallway they’re like, “This is the dumbest thing ever, this is a…” that is a huge sign that there’s something wrong.
The problem is, what it does is it starts to build up to the point where the teams just don’t care about the product. If you’re constantly being told to do things that you don’t believe are the right things to do for the product, pretty soon you don’t care about the product. Then it makes it impossible to do even the right things for the product.
Jade: How do you start to reconcile that? Let’s say you’re working with a team that’s been put in this position where they know that what they’re being asked to do is not the right thing for the product. They’re very resistant to doing whatever is being asked of them, but yet they don’t know how to address that, or how to reconcile it with the organization.
Derek: I think one of the ways that I would start to approach it is if I understood why the team felt that way, it would probably depend on what the reasoning was, and coach to that. More often than not it’s usually like, “We just think this is dumb.”
Roy: Right, they think it’s a waste of time.
Derek: There’s no value in it, it’s a waste of time. What I would generally do is say, like, hey, you might be powerless to do anything, but you can do the exact same thing that you should expect people to do from you, and that’s hold you accountable to your action, or ask you to be responsible for your actions.
What I would do is I would ask the product owner, “Why are we doing this? Can we measure that this is moving our product forward? Are we going to gain new customers if we do this? Are we going to prevent losing customers if we do this? Are we going to be able to up‑sell existing customers that we have? How is this benefiting our product?”
If they’re not able to tell that story with data, then I think you can push back a little be on them and say, “Man, you know, we would feel more passionate about this if we really knew that this was going to solve the problem.” I think that if you do that enough times, what can start to happen is the product owner has to start seeing themselves for what they are, which is hey, I’m just shooting from the hip, just saying, “Do X, do Y, do Z.”
I’m losing credibility with the team, in the same way that if the team just says like, “Oh, we’ll get stuff done, we’re going to get it done, and don’t ask us to look at anything. Don’t ask us to be accountable for our work or be responsible for when things ship,” the product loses respect or loses trust for the team. If I never do what I say I’m going to do, and never produce results as a team, the product owner gives up, in the same way the team gives up if the product owner never produces results.
Roy: But, Derek, what do you do then if you go back to the product owner and say, like, “We don’t really feel comfortable,” and the product owner says “Tough shit, do it anyway?”
Derek: I think you’re in a slightly precarious position. I’ll be honest, if I’m a developer in that situation I’m starting to dust off my resume. If I can’t be passionate and care about the product that I’m developing, and I can’t see where it’s going, I’m wasting my time.
I would be as transparent and open as possible to my manager, to my team, and to the product owner about that, saying, “I’m having a hard time understanding. You are telling me drive faster, drive faster, drive faster, and you refuse to tell me where this car is going. It’s hard for me to want to stay in for the ride. I really want to, but every day I feel like jumping out of the car even though it’s moving, so can you help me get there?”
If the person can’t respond to that, you’re working for a product owner that can’t deliver. If that’s the case, you’re working to nowhere. I think that the best answer that could potentially come out from that ‑‑ or not the best, but the most honest answer ‑‑ is for the product owner to be able to say, “Look, I’m struggling. I don’t know, you know, I don’t know either. I’ve got some other pressure that’s forcing me to do this and I don’t want to do it either.” At least at that point it’s, like, OK, now let’s go ask the person up the food chain what’s going on.
Because a lot of times I think what happens is stuff gets passed down through layers. A CEO, a CTO, somebody, sales, says, like, “This is a huge problem and you have to take care of this right now,” and they’re talking about it in a complete vacuum of information. It just goes right through the food chain all the way down to a product owner who is like, “Hey, I don’t care. My boss’s‑boss’s boss told me that this has to be done.”
It’s like, “Does that person even know anything about the product?” It’s like, “No.” Sometimes if you roll that back up the food chain, and save the large picture, and you say, “We’ve got this huge thing, this giant vision that we’re driving to over here, and we’ve been asked to make a right turn that’s going to make it so we can never get back there. Do you understand that?” The person will be like, “Oh! Well, no, don’t take the right turn, no. We definitely need to go to where we’re going.” But that conversation doesn’t happen.
I think if people don’t try to put on the brakes, and I’m not trying to say be…
Jade: …obstinate.
Derek: …combative or like, “Hey, I’m not willing to work,” but if it really is just wasting everybody’s time, and it’s a consistent thing. It’s one thing if it’s a one off, and you’re just like, “Hey, you know, whatever, we’ll do it, it’s part of our sprint, or a whole sprint.” But, if stuff like this is coming up every single sprint, this is a symptom of a huge problem.
Roy: It’s like the difference, too, if one person feels this way versus a bunch of people feeling that way. If one person disagrees all the time, then maybe that one person has a problem. But if the entire team, each time has gone like, “This is the wrong direction, this adds no value,” or whatever, and they constantly express that, that’s when we start paying attention.
Jade: Why do you think more teams don’t deal with this?
Roy: Because it’s a lot easier to keep your head down. In my experience, when I speak up, I feel like the rest of the team goes ahead and shoots me down preemptively so they won’t be held responsible for my actions.
[laughter]
Derek: Enemy might come in, shoot your own soldier, something like that. Yeah, I think that it’s difficult. Some people, they’ve got a mortgage to pay, they’ve got a family to support. They’re afraid of making waves, makes them not promotable, or, fireable even. I think sometimes they don’t know. It’s in my gut, I feel like we’re just wasting our time. I’m just a little developer on a little team, part of a bigger micro [inaudible 11:32] , and I have no idea if the product owner really says this is the most important thing.
Even though it feels completely not important, maybe there’s some magical information happening out with our customers that I don’t know about, and this is really is the most important thing. Even though it doesn’t feel like it, even if I don’t understand it, even if they can’t articulate it. I think we become subservient to like, the boss said it was important, so, it has to be important. How can you question the boss?
Jade: In which case, if it really is important, a simple question of, “Why are we doing this?” should have a quick answer. But, usually it’s not the case because the problem is much more systemic than that.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich.
Derek Neighbors: I’m Derek Neighbors.
Roy vandeWater: I’m Roy vandeWater.
Clayton: Today, we have a few things we want to talk about. First thing we’re going to talk about is executives in Agile. How do you handle executives in Agile? Is that even a question, a valid question? It presumes that there’s something to handle, right?
Derek: Yeah. To me, when Agile first started, there was no Agile to talk about, so executives were completely not aware of it. If you look at almost everything that exist, that is Agile or has to do with Agile, it largely focused around teams and really, the team level.
From my perspective, I don’t even think you need “executive buy‑in” to do Agile. You could do Agile just within yourself. You could get that to stand to your team.
To get it outside of your team, you probably need some level of support every rung you go up, but I think you’re probably in a losing proposition if you have to “convince” your executive that they should be Agile. They are not going to have the mindset that it’s going to take to do it.
I think it’s a different story if the executives are saying, “We want to be more Agile, and we don’t know how to get there. Can you help us?” Then, I think, there’s a role that you could play in helping guide them through that process.
Clayton: I could see that in a small organizational structure where if you have maybe like an executive only a few levels above the team, where teams start performing up to the limit of what they are currently allowed to do or the limit of their self‑organized ability.
Roy: [laughs] That’s trademark. If they’re up against a limited app, I can totally see the team approaching the executive and being like, “Listen, we really want to get better and right now, you’re behaving in way X that is holding us back. What can we do about that?”
Derek: I think that’s different than trying to sell Agile. I think the problem that people have is that they try to sell executives on Agile opposed to saying like, “Here are the things that aren’t working. We’re not trying to prescribe an answer.” I think that’s a much better sales technique than like when you do this Agile thing. I think we can see it in a difference in our client’s that come to us.
There tends to be two funnels. There tends to be the funnel that says, “I want to be agile, and I want my whole company to be agile, and all I care about is agility.” What the hell does that mean?
You manufacture widgets, so why do you care if your company is “doing Agile.” Then there are the people that come to us and say, “We’re not the best company we can be and we know it’s because we have these problems and this baggage that is holding us back, and we think some of these Agile principles, values, and frameworks could help us get past those problems. I think it’s very rare that we hit the second one, where they’ve been sold Agile.
Roy: I think the first one is much more common. It’s usually that some executive has read a book, talked to a CO or an executive at another company over a game of golf or something like that. Or they have recently been acquired from a company that did “Agile.” They don’t really know what it means themselves, but they have been sold this tale of success that it means more, better, faster, stronger.
Clayton: Speaking of tales of success, what do you guys think of the big rewrite?
Derek: Never, ever do it ever.
Roy: I don’t think I’ve ever seen a tale of big rewrite success.
Derek: I’ve been part of big rewrites.
Clayton: It’s very alluring, right? It seems like it would be a very good idea. You’ve got this big clue with a bunch of technical data that’s causing all kinds of problems, so just get rid of it.
Derek: The thing that I’ll say is that in twenty years of doing this stuff with a ton of different companies I’ve never seen a new rewrite replace the old thing. What you end up doing is having to maintain two things indefinitely. The second thing becomes the ugly thing. Then you end up with the new rewrite which is the third thing. You can never really phase these things out. I think the two approaches that you can take to deal with the big rewrite, meaning there’s definitely technical debt that exists in products, and there’s definitely problems that need to be dealt with.
There are two ways that I have seen people successfully deal with them. One is that you take the product, and start to apply technical excellence to it. You start to say, “Every time we touch the code we’re going to make it even better when we’re inside of there.” The other way is you say, “We’re going to basically create a competing product that’s going to try and kick this products ass. If that product can take the market share from our existing product, then it’s gone.” That’s really hard to do if you’re talking about a payroll system or something bigger.
Clayton: That’s bigger than the big rewrite. That’s an entirely separate thing you’re talking about now.
Roy: I like that, I believe I read somewhere an article from “Thoughtworks” (really Joel on Software) that says like, “Never do the big rewrite,” or something like that that got posted a few weeks ago.
They said something similar where they said like, “Write a competing product, and let it be market driven, and don’t try to replace your existing product. Rather build this product to fill all those holes that your current product doesn’t fill. Let the market drive the features of your new product. Then, eventually, it may or may not replace your old product.”
Derek: Yeah, I think that’s one of the big problems with the rewrite, is it never feature complete to what the other product was.
Roy: Right. The features of the other product usually 60 percent or there’s some large percentage of those features that I never use anyway. Why are you wasting a bunch of time rewriting those features?
Clayton: I heard it described by Llewellyn Falco, actually. I thought it was a good way to describe it. Imagine if you had your family, and you suddenly replaced your husband or wife, your spouse, basically. You replace them, and you want your kids to act like nothing is different.
Roy: It sounds like the American way.
Clayton: Like, “Hey kids, we’ve got a new wife and everything should be just fine.” That’s kind of the big rewrite. Everyone thinks it’s going to be that way. You’re going to get this newer, better thing that solves all the problems, and no one is going to notice, but everyone does notice.
I want to talk about working on one thing or imposing a WIP limit. There’s a lot of scrum teams that have that problem where they work on five things all at once, and they never get anything done. Derek, you and I were talking today about thinking of things, I think it was an article you’d read about like doing an hour class board, where there was this visual limitation of WIP, basically, where you could only work on one thing.
You were talking about maybe splitting that up and making those smaller things so that you can only work on a few stories. Maybe you could explain that a bit more.
Derek: I think one of the things we see in teams all the time, or I see in teams all the time and seems to be, is that you’ll be multiple days into a sprint and there are no points burned down. We’ve got five people on the team, we’ve got 10 stories. Person A is working on one story, person B is working on another story, person C.
You’ve basically got all five people split across all five stories. They get towards five, six days into a sprint or whatever, and none of the stories are done yet. They’re all 80 percent complete, 90 percent complete, opposed to actually getting completion.
I think one of the things that is interesting is I try to encourage teams. Try to get points knocked out as soon as possible, really trying to finish functionality, trying to have swarming type of behavior as much as humanly possible. Usually there’s also the pushback and excuses and reasons.
I think if you’re going to be prescriptive on a team, you could probably do something where you enforce some kind of WIP limit at a story level instead of a task level. You could say like, “We’re a team of five people, and there could be no more than three stories being worked on at any given time.”
When you, physically, pull those three stories down you can’t go get another story until one of those stories is complete.
Roy: That makes sense. I’ve worked on a team where we try to do some forming and at first there was a ton of resistance, because we’d have two to three pairs working on the same story. I felt like we’d be stepping on each other’s toes a whole lot.
Then, with some extreme cases where we had extremely linear tasks where one had to be done before the other or [inaudible 08:42] serial. We’ve noticed that instead of stepping on each other’s toes a whole bunch, it causes us to talk a whole bunch because we now have to. The entire team is in constant communication which helps the entire team stay focused, and everybody is aware of everything that’s going on.
Derek: I like to say that teams that really back against swarming, especially extreme swarming. Usually, it means their design sucks, or their code is extremely monolithic. If everything is all in one giant method, yeah, I believe it is very hard for us to all work in the same code.
Where if we’ve got a much more modular way of thinking, it becomes a lot easier to say like, “Hey I’ll go add the verification stuff while you’re adding this stuff, and while you guys are doing the front end stuff.” Now we can very easily split up, if all that’s lumped into one file, one method that’s much more difficult. Then even on the serial thing, you’re exactly right. The problem is they just don’t want to talk.
If you’re forced to, basically, say like, “Hey we’re going to build a rail road track coming from each direction, and we’re going to meet in the middle.” You need to be calibrating that every step of the way, or you’re going to end up grossly off.
Clayton: In a situation where the team might get five stories almost done. It seems like every time that happens everyone seems surprised at the end.
I’ve seen a team recently who I feel like has been ignoring their information radiators. I noticed that because they had a build monitor that, after a power outage, came back on and was just stuck on the screen saver. It’s been maybe two weeks now and no one has noticed, I don’t think.
I was wondering what is about that where it was a visual thing that played noise, and all that stuff, but it seems like it didn’t take them very long to forget about it. I’ve seen the same thing happen with boards and anything that you would put up on a board. Why do you think that is?
Why do you think people have a short memory for that stuff?
Roy: I think in such instances, there’s sometimes a lack of demand from the information radiator. For example, a CI server is really important if you’re releasing really often because you need to make sure your code is stable at any time.
If you’re not releasing for another nine months, who cares if your code is stable for the next month? There are all sorts of reason you should care, but…
Clayton: That’s the mindset maybe they get in to?
Roy: Right.
Derek: It’s fucking hard to be accountable. I think information radiators help us hold ourselves accountable, because they air our dirty laundry for us.
I think when nobody else talks about it, why would I talk about it? If my room is messy and I know I’m not allowed to go out and play until I clean my room, I’m probably not going to want my mother to come into my room, if I know I want to go out to play.
I’m going to do everything possible to try to get out to play before she looks at my room. I think teams start to have the same behavior around information radiators in a sense of like, “Hey, if one of them shut off or stopped updating, and nobody has said anything, I’m not going to jump up and say something, because that’s just going to mean more pain for me at some point.”
Clayton: I’ve heard people talk about how, like a burn down chart for instance if it looks like maybe after the first few days of the iteration that burn down chart is going, basically, horizontal, I’ve heard people describe that as being useless.
But I feel like that tells a very important story, so I could see that maybe there are some times where the team might see that stuff and say, “Well, we forgot to update it, and it doesn’t really show us anything. It’s not burning down, so it’s a waste of time.” It seems like the waste of time stuff is the first trigger for, “Let’s not look at it.” I feel like that’s always a cover for, “Am I doing it right?”
Roy: When the information radiator is giving information that people feel like a waste of time, or shows something wrong, like it would normally be small, like in your case with a burn down chart that’s level half‑way through the sprint. Or, for example, a combine board that keeps getting stuck with WIP limit three and that seems to be like a bottle neck when things go wrong.
I usually see people try to start ignoring those things, or instead to start making rules around their information radiator to cover up that problem. What I really rarely see is people actually address the problem that the information radiator is trying to indicate.
Clayton: I guess, what you’re saying, Derek, is it’s hard to be good, right?
Derek: It was really funny the other day. One of the teams I’m working with has a retrospective goal to increase some of the test coverage. They are all very committed to it, and they really want that to happen, but they’ve really been going all out trying to do some work that’s really challenging for them to do.
They had put up an information radiator to show their code coverage on a couple of pieces of the code, and it’s been flat. I had updated it for them the first couple of days just to show them how it went, and I haven’t for the last two days.
One of the guys really cares about quality, really cares about what they are doing, come up to me and I said, “Hey, nobody updated the challenge goal. Are you up‑to‑dating it?” He says, “It hasn’t changed at all. We probably shouldn’t even have that chart.” I said, “Didn’t you commit as a team to make improvements to this.” He’s like, “Yeah, but how are we going to do that?” I said, “Well, are you talking about it in stand‑up?” He’s like, “No.”
I’m like, “Why do you have the visibilities?” He’s like, “Man, if we do that, how are we…? That means everybody is going to have to do more testing when they’re doing features.” I’m like, “But, isn’t that what you wanted?” He’s like, “Yeah, but, that’s hard.” I’m like, “Hey, man, not everybody plays in the NBA.” He says, “You’re right.”
I think that is the essence of it. It’s really easy to say, “I want more testing. I want to be a good developer. I want blah, blah, blah.” Then, when the rubber hits the road, it’s like, “Well, that’s hard.”
Clayton: Do you think that’s the case where maybe someone like the Scrum Master can kind of play “Captain Obvious” in that situation? When the team makes a goal to do something? Let’s say they go as far as making an information radiator.
Then, they don’t do anything with it and it’s very obvious that they are avoiding it. Is that the role of the Scrum Master to say, or somebody, the coach or whatever to say, “Hey, you remember about this thing?” Kind of have that conversation.
Derek: I really struggle with, “Can you hold people accountable or not?” Part of me says, “No, you can’t, because everything is going to be after the fact.”
But, I think you can encourage accountability and especially if you do it via culture. I think one of the things you could do, like if I’m a soccer coach, and I see somebody not training hard. I have a conversation, “Hey, Roy, you’re really not training hard. If you want to start this weekend, you are going to need to step up your training.” If that doesn’t happen, then I don’t start Roy, and he doesn’t play.
Yeah, it’s after the fact, meaning I wasn’t able to hold him accountable during the actual practice, but I’ve set something in motion that says like, “Hey, I know coach is watching, and if next week I don’t perform during practice, there is a consequence to it, or there is an action.”
I think you do need somebody out there saying, “Hey, you’re goal, you’re retro‑goal was X, and here’s a chart and it’s not moving. What’s going on?” Can I force you to increase the coverage? No. But, what I can do is say, “I’m instilling in you that somebody is watching this, and we’re having a conversation about it.”
Clayton: With that, we have run out of time. Thank you guys.
Derek: Thank you.
Roy vandeWater: Hi and welcome to another episode of the Agile Weekly Podcast . I’m Roy vandeWater.
Jade Meskill: Jade Meskill.
Clayton Lengel‑Zigich: Clayton Lengel‑Zigich.
Derek Neighbors: I’m Derek Neighbors and today we’re talking about value.
Roy: Clayton you brought this up earlier. What kind of context were you talking about value?
Clayton: I brought it up because Derek and I were talking about it. Derek and Jade and I were talking about it.
Jade: Derek, Jade, and half of twitter, and Clayton were talking about it.
Clayton: I think the core of it is everyone talks about value. It’s like this litmus test. If you go to a Scrum user group and somebody’s talking about something, the way that you can make it seem you know what you are talking about is if you say something like “I just focus on delivering value to the customer.”
Everyone is like “I heard that once in an article, and I read that in a book so this guy knows what he’s talking about.” Then you scratch a little bit and then if you peel back the onion what do you get?
Jade: More value.
Derek: It’s because the quality conversation ran out of gas.
[laughter]
Derek: It used to be quality, and then, once people realized that, “Crap, that ship don’t sail anymore,” they…
[crosstalk]
Derek: …to value.
[crosstalk]
Derek: Quality’s hard.
Derek: I’m actually thinking a lot of this Lean Startup. All the Lean Startup stuff came out, and it was really pushed in from our product perspective value. I think when you’re talking technical excellence, the word that everybody uses is quality.
When you start to talk about product ownership, product management, or the proxy side of things, it’s all about value.
My question was simple, I thought. Apparently questions piss people off. And that is, what is value? I don’t know. I hear it said so much that it’s like that void word that has no real meaning.
Clayton: What if you go with the easy answer, which I think may be…the easy thing to measure is money. Value is when I make more money. if I had a feature that makes more money.
Roy: That’s probably a good starting point.
Derek: The Lean folks probably come from that lineage that really says, value is that which makes you money, that which saves you money, or those things that help you discover how to make or save money.
I think that that’s not a bad definition. What if you’re working in an industry where money is not the end goal? How do you deal with things like customer satisfaction or delight, or some of the other elements that are important? May be you could push those back to; if your customers are happy they refer people enough. If they refer people, that makes you money.
You’re really talking about making more money. I think the problem is…I don’t think people are having those conversations. They just say, “Yeah well, I met my value stream and I’m going to provide a whole lot of value and the user stories have to have a value clause.”
When you say, “OK, what is it that you guys value?” “Value. I’m just talking value. Come on man, value.”
Roy: I guess it’s kind of specific to your vision, right? Because, if your vision is, for example, to make a huge impact in the world, money may be totally irrelevant.
Derek: I think Ron Jefferies, I think kind of put it is…it’s what makes you happy. I think that that’s a fairly reasonable answer from a Zen kind of state, right?
Roy: Who is you in this context?
Derek: Value is what makes people happy, right? If you’re making your customers happy they’re going to give you money or they’re going to do whatever you’re trying to drive them to do. If you’re happy doing what you want, you get the personal satisfaction that what you’re doing is meaningful and has a purpose and everything else.
I think that’s over simplified. can you imagine if people ran around going “Your user stories have to make you happy. Do what makes you happy. Whatever makes you happy.” Right? I think that the problem is, not that people use the word value, but rather that I don’t think people are talking about what it means.
Not a single person that I talked to could respond back with a specific of what value means. Except, I will give Alan Shalloway credit. He gave the lean answer for what value means. Most people couldn’t answer the question. How are we going around professing “Do things that deliver value” when we don’t even know what that means?
Roy: I think happiness is a good place to start. You talked about, obviously can’t go around and always say, “Do what makes you happy.” In the long run, not having a job might not make you happy. If you keep that in the long sight…
Jade: Well, it’s not about making you happy. It’s about making your customer happy. Whoever it is that’s a recipient of what you’re doing.
Roy: I don’t know if I agree with that. Why do we work? Right? I think the end result of why people work in general is to make themselves happy…
Jade: If we start to optimize for our own happiness, we’re not going to build the things that delight our customers.
[ crosstalk ]
Roy: Only if we shallowly make ourselves happy, right?
Clayton: No, but if you’re talking about developing a feature, or if you have a list of features and you’re trying to say like, “I want to do the one that’s most valuable,” and that’s the way people talk, right? “Let’s do the feature that delivers the most value the customer” I don’t think it has anything to do with your meaning…
Roy: Yeah, that’s a good point. It’s too high level to prioritize one thing versus another.
Derek: I think the thing is I think you could say it’s your own happiness as well. The problem is, and this is where I went back with Ron on was, that I think that is potentially non‑sustainable.
If what makes me happy is doing 3D video games and I work for a social media company and therefore, I don’t do any work except for 3D video games. I’m probably either not going to be not employed very long with said company or the company is going to have operative problems to the point where I’m not happy for other reasons.
Roy: Right, that’s what I’m saying. It’s short‑sighted thinking in terms of trying to do what makes you happy, right? I totally agree with you but I guess what I’m saying is in the end result you’re still trying to make yourself happy you’re just taking the long view and saying I can’t do what makes me happiest right now because in the long‑term I won’t be.
Derek: I don’t even know if it’s that. I think this goes back to if you’re talking the Zen conversation, right? One of the things that you’re saying is if I really want to do 3D video game programming, why am I working for a social media company that’s not allowing me to do 3D video game programming?
If you follow that line if it doesn’t line up to my value system, why am I doing the work? Why am I not going and finding another job that makes me happy and makes my customer, however…
The problem is it takes a level of actualization to have that be true for everyone. That’s what I was really asking is “OK, I’m OK with that definition but not everybody is mentally there to make that so what does the path to get there look like?”
Clayton: We were talking about a shared vision, maybe putting it from a company’s perspective. If the organization has a shared vision then we were thinking it might be easier for them to assign value to things based on what achieves that shared vision or what gets them closer to that. I think is more in line with the customer delight stuff and probably further away from necessarily dollars. We realize in some cases that maybe your shared vision is very money‑oriented so that would be a reasonable way to value things.
Roy: Most people tend not to get, especially in larger companies and even the smaller ones, I find that people don’t seem to get that motivated based on visions around money to a point, right? Nobody gets inspired by “We are going to increase sales by 25 percent”.
Clayton: That would be a crappy shared vision. If we’re talking about the Red Cross; the Red Cross has efforts where measuring money would make sense as far as donations are concerned. That’s why I think you could totally have some stuff to say, “Hey if we implement these features, we could increase donations.”
Roy: That’s how your vision, no, no… [crosstalk]
Clayton: No, that would be a money thing but they could also have stuff that could be surrounding. We need to be better at helping other people. That’s like their core right? I don’t know what their mission or vision statement is, but at their core they help people.
There are things they could do to help people that have nothing to do necessarily with money. That’s separate from the donation stuff.
Derek: Most companies don’t have vision. They don’t have vision as a company and they certainly don’t have vision at a product level. If Apple’s vision for the iPhone was to make two billion dollars on their phone sales in two years, they probably would have not had any engineers at Apple really interested in working on their product.
Instead, by saying, “We are going to transform how people think about mobile computing and we’re going to transform how people interact with computers in a substantial way,” I think they get a hell of a lot more buy‑in and by getting that buy‑in, they probably have a product that sells a lot better.
That is so rare in companies. We are in companies all the time where the product vision is either “More customers this quarter”, “Less churn this quarter”, something similar. I’m not saying that those numbers are bad things to have and that you shouldn’t measure those things and that you shouldn’t have targets for those things, but that is where the vision begins and ends.
There is no vision of “We want to radically change whatever marketplace we’re in.” “We want to be the talk of the town” or whatever it is. There is nothing substantial. How, when you get a story in, how do you measure that toward 25 percent increase in customers? That gives…really difficult to aspire to that.
Clayton: Let’s say all you heard about was increasing customers and you heard a bunch of stories that you thought could achieve that goal and you could measure; that was your value…you were saying, this is more valuable because I think I can get more customers, that’s all I care about.
Are we just saying that value is relative in that regard. That might work for a while and it’s OK if you call value whatever gets me more of X. It may be for some people that are really self‑actualized its happiness and for the people that all they can think about is getting more customers It’s just more customers.
Whatever that means to that end I don’t care. That’s what I am calling about you.
Roy: Those people are in the same organization?
Clayton: No, I’m saying, is that fair to just say that value…I think that goes back to value is whatever the hell you want it to be.
Roy: Sure. Whatever makes you feel good!
Clayton: I don’t really think that forwards the conversation.
Roy: I guess step one is that you need to as a company find out what you value and I think most people aren’t doing that.
Derek: I don’t even think they are talking about it. In the sense of …even if we said like it’s to get more customers. We’re implementing all sorts of crap features that have nothing to do with getting us more customers. It’s someone screaming real loud at Customer X or Boss Y or UX person Z is saying I want this and they’re not tying it back to, well this gets us more customers.
Clayton: I think it’s to the detriment of…as long as we are going to talk about value…and the Agile Community, I don’t know that it can be really be this totally abstract concept that’s…make it whatever you want…there is no concrete term, or it doesn’t matter what you call it. Just value.
We’re just back to the point of being able to just talk about value and make yourself sound important or smart. I don’t think that’s helpful at all.
Derek: It’s because you don’t care about quality.
[laughter]
Clayton: If we wait long enough until the value thing gets boring and then can move on to…
Derek: Something else will come up next. I think that this is the ebb and flows in this community, whether it be that people are trying to sell their expertise or whether it’s the…they don’t want to look stupid or whatever.
I think people don’t like to say, “we don’t have a good answer.” I think that’s a scary thing to say is, we’re shooting this word out all over the place like we are experts in value. When it comes down to it, we really can’t pin our fingers…or put our thumbs on what value really means. Be eloquent about how to say that to someone. Maybe there are some people out there that are doing that, right?
Clayton: They are probably not an Agile Community though. I mean that’s how everything in the other community works. The people that think they have the answer for something and it turns out that they are just scratching the surface of some other huge body of knowledge that has existed forever. Then there is some expert over there who knows what he is talking about.
Roy: In the meantime you have a handy tool for building credibility. Just mention your increasing value and you’re good.
Clayton: I think it’s funny if you look at the value of ValueStream. If you look at the hashtag [crosstalk] …and you watch that there is so much stuff that goes on there where it’s totally spammy stuff. You can tell people are picking certain key words and they’re using… they’re talking about things in a certain way.
Especially people who are talking about things like value. They are picking some certain topic and they’re acting like it’s all already figured out, which I feel is at odds with the way we talk having an agile mindset. You aren’t necessarily going to settle on this is the definitive answer for doing this every single time. That’s the way people talk about it.
Derek: I’ve got the solution! Nothing could be better.
Clayton: Right, I mean that doesn’t make sense.
Derek: We like to talk about learning loops, not actually use them.
Clayton: I guess that’s convenient.
Roy: All right, well thank you for joining us. Please come and talk to us on Facebook.
We got some feedback the other day, which is great, except that it was about something that was going wrong, which sucks. It was also because we got to interact with one of our listeners. We’d love for you guys to come and interact with us on Facebook, even when things are going well. So check that out at Facebook.com/agileweekly.
Thank you.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast, I’m Clayton Lengel‑Zigich.
Derek Neighbors: I’m Derek Neighbors.
Roy vandeWater: I’m Roy vandeWater.
Jade Meskill: I’m Jade Meskill.
[laughter]
Clayton: We almost forgot you are here. I want to do Agile, and I want my teams to be awesome, and go faster and be better, and do more better. What metrics can I use to measure how good I am at Agile?
Jade: K‑Locks.
Roy: Velocity.
Derek: Velocity.
Roy: I already used that one.
Derek: For me, this is so difficult because in other question I always ask, “What is your company doing?” What are the goals of your company? If you’re doing the Agile, you’re succeeding at things you weren’t succeeding at before in your company, whether that’s making your customers happier, whether that’s achieving some new functionality, or gaining more users or doing something, moving in the market.
But, to me, unless you are a software consultancy that is getting paid to be more agile, why on earth would use any metrics of agility to measure whether you are successful? Being more agile has no purpose if you’re just more agile‑like.
If I’m a thousand percent more agile, but I don’t know what the hell to build with that new agility, what’s the point of being more agile?
Jade: We are talking about problems for developers here. I’ve got to get these developers in shape. Those are problems that I need to worry about. Everything’s cool there. We’re good. Don’t worry about that stuff. The developers are what’s holding us back.
Derek: One of the things I’ve started to do a little more, at least at the team level is ask that the direct manager for the teams to say, “How would you know that these teams are better? What are some things that you would know?”
I, basically, right off the bat say, “If your answer is more, better, faster, I’m not interested in helping you.” What we generally started to see are things like, “We want the team to be interacting, more co‑creation to happen. We want it to be easier to on‑board new team members. We want the quality of the code or the technical debt to start to recede. We want more automation. We want to be able to deploy more often.”
There’s still shallow, technical things, but they’re not velocity, or story points, or that we’re doing process X or process Y. There’s something more tangible, like, “Hey, it used to take us three days to deploy the software, now it takes us a day. We’re getting better at being able to do the deployment of the software.”
To me, that’s something, and that’s better than velocity. But to me, great, if you can deploy every 30 seconds, but you don’t have anything worth deploying, what’s the point?
Clayton: I had a manager tell me recently that they wanted to do agile, because they wanted people to stop leaving.
Derek: I’ve seen that in a couple of the value sessions, or goal sessions that I’ve done with managers, where some of it is they identify, they want a culture that is more friendly. I’ve got one team that overtime, lot of overtime, and big pushes for major events are a problem. One of the things they really wanted was more of a sustainable pace.
The reason why is because they said, “We want to stop burning people out because we’re losing good people to it.” I think those are good and noble things from a technical and team perspective. If you’ve got this great sustainable pace, but you’re crappy in the marketplace, you’re not going to be sustainable as a company.
Jade: That’s why Steven Denning says, “The only thing that matters is customer’s delight.”
Clayton: If I’m kind of some average manager guy, and maybe I read “Lean Startup,” the takeaway for me is you need data and experiments, the scientific kind of thing. Then I talk to kind of the run of the mill agilist, and they say, “Metrics are kind of wishy‑washy, you don’t really need those.” Do you think that’s some of it? Where people think that they need to measure something, and science is so important. I just need and data crunch numbers and have a yes or no binary answer?
Jade: Look at the success of Frederick Taylor and scientific management. It’s build wonderful companies where people want to work…not.
Derek: I think what happens in organizations, they want “organizational agility.” Organizational agility means everybody is “agile.” If I’m the person that’s, basically, championing that, I have to be able to tell the CEO, “Hey we’re agile now!” He’s going to go, “How do you know that?” “Because all the teams are agile!” “How do you they’re all agile?” Because of…
Jade: We’re all doing Scrum!
Derek: …they’ve all doubled their velocity. I think there’s a lot of that going on. People are trying to measure that binary bit, are we agile or not? Opposed to organizational agility being about, “We’re more competitive in the marketplace and we’re making our customer happy. We’ve got better employees, and we are learning more,” and all of these kind of principles and values behind that door, like nobody wants to top us on.
I am all‑for the majoring stuff. It’s just be careful what you major, because we are going to give what you major, and people are going to focus on what you major. If you focus on velocity you might get some really great stories “done.” But the quality can suck ass, the automation could be horrible, and your customers could be miserable.
You have to be a little bit more holistic in what it is that you are really trying to achieve, and so when I always try to do is say, “Why do you want to be agile”? More, better, faster is not a thing. If you want more, better, faster, give me a whip, and let me fire anybody who does not code up to standard right‑now‑today. I’ll beat the crap out of these people, and you’ll get the best code you’ve ever seen for twelve months, from a speed perspective. The problem is that’s not what people really want.
Clayton: You might be in the checklist for agile, but you are delivering something crappier or whatever. Even from speed, I think a lot of people, ourselves included, would say that releasing frequently, and giving feedback is a good thing, so isn’t that more, better, faster? If I release every four week, or something, or at the end of every sprint?
Jade: I think it comes down to what your intentions are behind doing that right? If you are doing that to make more money, or hit these quarterly deadlines that are being set for you, then that’s not the right thing. If you are doing it because you find that giving your customers more frequent access to new updates to your software provides better feedback that allows you to build a better product. Now you are actually doing more, better, faster, but you are doing it for the right reasons.
Derek: I would say the big push off is, if I just want people to release faster, for the sake of releasing faster, that’s shallow crap, and nobody should do it. If people are releasing faster so that they can get feedback more quickly, and they can learn, and they believe they are getting feedback from a real experience instead of a stimulated experience, is a more valuable learning loop, and that that learning loop can be closed faster and faster allowing them to become more and more nimble.
Then, I don’t think that it’s about going faster, that’s about learning faster. I think that’s totally different. If we say we want faster production, then we are going down the wrong train. If we say we want to learn faster, we want to be more quickly attuned to what our customer needs, that speaks more towards agility. You might not have to even release software to do that. You could do paper prototypes and customer surveys, and you can go out and talk to customers and something else.
But you might say the problem with that is, “That’s not a real experience and I want to give somebody the real thing.” In order to do that, if I can’t produce quicker, it gives me tighter loops. I think if you are going faster just so you can say, “We are a fast team,” you are doing it wrong. If you are saying, “We want to go faster so that we can validate our hypothesis much more quickly, and respond quicker to customer demand to make them happier,” I think you start to win.
Clayton: What is it that makes releasing so hard? Why is it that so many companies seem to have really hard time releasing software frequently?
Derek: Lack of automation. I think that is the number one thing. They do it so infrequently. They do not know how to do it. The other thing is technical, that they are scared to release something, because if something goes wrong, it is really difficult to undo that thing.
Roy: Organizationally, too, a lot of times sales tunes are set up to deal with much larger releases. They do an annual release or whatever, after spending all this time, wrapping up and selling the big new feature, because customers purchase features.
If you are really thinking of service, it’s really obvious to do version increase, just because instead of as your customers they keep subscribing to your service. But if you sell a product, and especially when you want to charge a lot of money for the project, like a lot of companies do, like Adobe, or any other companies.
You purchase Photoshop, and it’s really expensive, so there it has to have a lot of features in there. The inverse business model to release a product like that, does it have to reselling a cheap product really frequently, in order to make some of that money back and that they probably end up making less. You know what I mean?
Clayton: Derek, you’ve mentioned automation, and the pressures of the sales people wanting to sell the big features that you’re able to upgrade kind of thing. Why hasn’t there a focus on the technical practices that a lot of agile people are talking about? When you get back to technical practices, developers have lost their way, and they don’t value that stuff anymore.
Derek: For the automation side?
Clayton: Sure, yeah.
Derek: I think for the automation side, the problem is that people tend to get told they have to go really, really fast, and the pressure is on to ship features, so they don’t ever take the time to slow down to go fast.
If I got to do something a hundred times, and it would take me an hour to automate it or it would take me 10 minutes to do it, which one is better? If somebody’s holding a bat to my head and say, “I need this right now.” I’m going to take the 10‑minute option almost every single time, because I don’t want to get hit in the head with a bat if I take an hour to do it even if it means it’s free every time after this.
I think people are trained to not automate because it takes time to automate. I think a lot of the people in the industry right now are coming from environments, where they’re not very Unix based. They’re not used to toolsets and tool chains that allow for really good quality automation of passing thing from one thing to another, controlling things via command line, and a number of things.
I think some of it is technology has gotten better. It’s, basically, hidden some of what’s underneath the hood to a lot of the current developers that are out there. They don’t even know it’s a possibility to do some automation.
Clayton: How much of not releasing frequently is just bad product management? Like they don’t have anything to release, or they’re afraid to release something, because it’s not good enough, or there’s no innovation.
Would you think a company might release more frequently, or they would push that issue if there was a ton of innovation going on, and they have all these awesome ideas, and all these awesome stuff that they could execute on?
Jade: I think a lot of it is overcoming the legacy of packaged software. The Internet has radically transformed our ability to release often. That didn’t use to be a thing that existed. You go back 15 years, you couldn’t do that.
Derek: It takes a couple of weeks to produce an ISO.
Jade: Yeah, at least, and it costs a lot of money. The upgrade costs were very painful. A lot of people who find themselves in product management situations, they’re still tied to that legacy of thinking that way.
Some of the Web startups, they embrace that right away, because it’s totally possible. They have come to the realization that that world exists, and they can do whatever they want. They can release whenever they want, and their customers won’t even really know. But that’s a relatively new thing that has happened.
Derek: One of the things I’ve seen a ton of happen, and I think this is to me the equivalent of organization, if there’s technical debt, I would call some of these organizational debt. Especially in enterprises one of the things that happens is everything becomes a project. Then all projects become interdependent. Then we can never release because we’re always waiting.
The example I used with somebody today from a metaphor perspective is imagine if you get off the airplane, you go down to catch the shuttle to go get your rental car. The guy pulls up, and you get in, and he sits there for four hours.
You go, “Aren’t you going to take me to the car?” He’s like, “Well, look there’s other people coming off the plane. Until everybody gets off of every plane that comes in tonight, we’re not leaving.” You would be pissed off.
What happens today is you get on that. Two seconds later the door shut, and he takes off. If somebody is running behind the thing and you say, “Hey, there’s somebody waiting,” his response is going to be, “That’s OK. There’s another shuttle in two minutes.”
What happens in the enterprise world because they’re not having these frequent releases and because everything is interdependent, nobody can leave to go get their car until every plane has landed, and everybody is on the shuttle. I think that…
Jade: Forever [laughs] .
Derek: Forever. It just gets to the point where a six‑week contingent becomes a 10‑week contingent becomes a 12‑week contingent because now everybody is scared shitless to release it, because they don’t even remember what’s in it anymore.
Then people starts to say, “We have to release now. We can’t wait anymore. There’s some big ad coming out. We have to do it.” Then people start tearing out half‑done features. Then they’re really nervous, because now they don’t know what they’ve added, and what they’ve removed.
I think this is one of the things that automation and that doing it regularly. If you can get to the point where you say, “Just go ahead and put it into production, the next shuttle is coming in two minutes,” it really changes how you think.
But I think it also requires that people stops thinking in terms of projects from a product management perspective, and think much more in terms of features. “This feature is done, lock and loaded. Go,” and not, “There’s this 60 features, and they all have to be released at the same time.”
Jade: It’s being tied to the legacy of selling versions.
Clayton: You made a point about this a couple of weeks ago, Derek, that you might be wanting to shift more away from that big versions or the release once a year thing. There are some people that might say, “Hey, give me every single update. I want to be bleeding edge,” and there are some existing customers that might say, “You know what, I’m fine with the one big year update.”
For the most part, that would be pretty seamless for them. They’re going to get essentially all the little updates all at once, and to them, it’s going to seem like the same old big release. But the other people, they can just get the new stuff every month or whatever it is.
I thought that was an interesting point, and a good way to think about transitioning from people who are in that, “I have to make a DVD, and mail it to people” mindset to more of the software’s a service but not jumping full shift into that. I think we’re out of time. Thanks guys.
Derek: Thank you.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich.
Derek Neighbors: I’m Derek Neighbors.
Roy van de Water: I’m Roy van de Water.
Jade Meskill: I’m Jade Meskill.
Clayton: I’d like to start out by asking everyone if you could please go to iTunes and rate this podcast if you get it from iTunes. We would appreciate that. We like the feedback. We did see one comment. Someone mentioned that we sound inexperienced. We’re going to take a look at the equipment and see if we can get that fixed.
[laughter]
Derek: What do you mean “sound”?
Clayton: I assume it’s something wrong with the border.
[laughter]
Clayton: We’re going to start talking about “working agreements.” Here’s right off the bat. Roy, you work on a team where you have a working agreement with the team that says, “No production code will be siloed, so you’re going to pair all the time.” But, the rub is that you have an odd number of people.
How does that work?
Jade: …and then odd group of people. [laughs]
Roy: Yeah, we have an odd group of people.
Clayton: It’s the second area of problem. [laughs]
Roy: For us, that currently works by, “If you can’t silo, and we always pair, that means that if we have an odd number of people, we have three people in front of a computer.” We talked about that last time, “stooging”?
[laughter]
Derek: Is that three keyboards? Three mice?
Jade: This isn’t XP, my friend.
Roy: It’s two keyboards and two mice, you can’t really sit all across, because then you’re at too extreme of an angle to the screen, you can’t see anything.
Jade: Let’s talk about what happens when you’re in this “stooging” set up, just to set the stage real quick.
Roy: What happens when I’m in it? Or ideally what happens? Ideally, in this case, usually what happens is, there are two people that are pairing and one person that just sits behind and peers over both of their shoulders.
Jade: Has your team discussed this working agreement and the consequences of it?
Roy: Yeah, we discussed it this morning.
Jade: OK, how’d that go?
Roy: I got shot down with an absolute “no,” when I proposed abolishing it.
Clayton: Was the reason it got shot down was because they feel very strongly about not having silos?
Roy: Yes, the reason I got shot down which is a legitimate reason and a legitimate problem, was they don’t want silos and the reason they don’t want silos is because, if someone is working alone, they can make decisions that the team is not privy to.
They’re really concerned about somebody making some decision by themselves and then the rest of the team has to deal with the consequences. There may be other ways for us to solve that particular problem but that is the group fear that we claim to have.
Clayton: What are some ideas that you had for fixing it? How could you still have that working agreement where you don’t let people silo on production code, but not do this thing where you have to peer over people’s shoulders?
Roy: Did you say still have people silo or don’t have them silo?
Clayton: Not having people silo on production codes is a totally valuable, reasonable thing to have.
Roy: Sure. I agree and I don’t. There’s other ways to mitigate it. For example, what if we switched off pairs really, really frequently?
Then you wouldn’t get the opportunity to silo for long enough to do any real damage. If you were to do a no‑siloing thing, I don’t know. At this point, the way that I feel when we’re stooging is when I’m the odd man out that’s sitting in the back like, “I am just wasting time.” I could be doing anything like answering email, or doing self‑improvement, or something like that.
I feel like that would be a better use of my time.
Jade: To not get distracted with trying to solve that particular problem. On a team, what happens when you end up with a working agreement like this where the team feels very strongly about trying to protect one thing, but they’re actually causing other problems with the working agreement that the team has agreed on? What do you do?
Derek: I don’t really think you can force teams to do things. Sometimes, you could but it’s probably not prudent more often than not. Sometimes, you have to let people be a little bit stupid until they recognize that maybe their stupidity’s holding them back.
It sounds like, in this instance, there’s inklings that people are understanding that what’s happening is problematic, but at this point, they have a value system that says, “We value this so much that, right now, we’re not willing to divest the value of that for something else.”
Roy: It might be legitimate. I have not been with this team very long, but I’ve heard that in the past, they had some major issues with siloed work that caused major harm to the team and put several of our commitments either in danger or actually destroy their ability to commit to stuff. I can understand and relate to that.
Clayton: Is there something about the way that a team might make working agreements where they would have the foresight to avoid some of this stuff or…in my way of asking this, how frequently should the team revisit their working agreements?
Jade: The trick is, a lot of times we want to write them down and carve them into the tablets in the Ten Commandments of the team when, really, they’re a fluid living thing. The intent is that they’re there to help reinforce behaviors that we wish we had.
Once we’ve addressed that, we should get rid of that working agreement. Once it has become habit, let’s move on. They should be very fluid living things.
It’s hard to live with that reality. They can be changing all the time.
Roy: Does it make sense to have a team working agreement to revisit all of your other working agreements on a regular basis to review them?
Should instead, have a working agreement until something comes up that causes us to question it? That’s the time to bring up whether or not we should continue to have it?
Derek: I’m starting to lean more and more in life towards working agreements are evil hell. In the sense of they look like what we call “policy,” elsewhere.
We’d be much better suited as teams if we rooted ourselves in values and principles. We could say, “Behavior X is violating value Y.” Opposed to, “Here’s some hard and rigid rule we have to revisit.”
As we continue to add to them, it doesn’t fit on an index card. Then it doesn’t fit on an “8.5 * 11” sheet of paper. Then it doesn’t fit on a poster board.
Next thing, you have got the 795‑page working agreements book that people are trying to, “Subsection B.593 of the working agreement states…”
In this case, if the team said, “We value working together more than value working independently.” They could say, each one of those things “Is it valuable enough for us to do this first”?
They could weigh values against each other.
Roy: I totally agree. We used to have that problem with Integrum back when we were doing contract development work. We used to come up a smart goal every week. Five weeks in, you totally forget what your smart goal was five weeks ago. Until you break it and it is convenient for somebody else to point it out.
After a while it builds up so much stuff, it’s hard to remember all of it. A base system of values is not hard to remember. You just use logic to figure out the rest.
Derek: Smart goals are a little bit different. It’s important that you set marks for success to say, “If we do X, can we change our behavior Y and measure a change”?
If we have a hypothesis, and then we do something to work against that hypothesis, can we get the thing we are trying to measure to move? That’s a little bit different than a working agreement.
For retrospective goals, they are only as good as that sprint. Unless, the next sprint, they decide to do this again. They are temporal.
Working agreements are a little different. When people put them down, they think of them a lot more like policy. They exist until somebody says we terminate them.
Jade: It really comes down to a fixed mind set versus a learning mind set. If we treat the working agreements as rules ‑‑ which is not their intent ‑‑ but it tends to happen that they become the rules of the team. We’re really missing the point.
We’re probably doing Agile, and not being agile. That’s what we really need to be weary of as a team. Even values and principles ‑‑ if they are being used in such a way that they are a weapon against your fellow team members, you’re missing the point.
Clayton: One thing that’s interesting. If you took a team that wasn’t especially mature from a team perspective. Let’s say they knew about XP. They knew that courage existed.
Courage means a lot of things to a lot of people. Even if they read into what they mean in that context, they might agree to it.
If the team is immature, they might need something that is more of a specific working agreement. As the team matured and grew with that working agreement, they probably would come full circle to, “Hey, we are now at courage again. It means something different to us.”
I wonder if, as the team matures, they can shed some of the weight of those things being rules and can get to the principles. They were always at the principles and values, the entire time. They just didn’t realize it.
Roy: That makes sense. I like that.
Clayton: I don’t know if that’s the case or not. It seems like that’s the way things go.
Roy, you had mentioned the idea of having a working agreement to revisit the working agreements.
Jade, you had mentioned that they are a living document. I don’t even know that a lot teams take working agreements seriously. They treat them more like rules, like what Derek’s getting at.
How much effort should you put into those things? How much meaning should they have on the team?
You mentioned team rules, which sounds bad. Doesn’t the team need something like that?
Roy: As little as possible so that there is as little resistance to change, if you want to change them down the line.
Jade: I have a question real quick. This team that you’re working with, have you guys discussed your principles and values? Are those things that you’ve identified, or did you just jump right into working agreements?
Roy: I want to say yes, but I’m not entirely sure if we ever have. I don’t know, sorry.
Clayton: That’s another thing I’ve seen too.
Roy: I wouldn’t be able to tell you what our values are, principles. Sorry.
Clayton: Where people will have a Scrum team and they’ll say, “Oh it’s a Scrum team, so they use the Scrum values,” and then what are the SCRIM values? “I don’t know.” They never even agreed to these things. I feel like that happens all the time.
Roy: Even at our place, we have the core commitments posted on the wall, but nobody’s committed to them.
Derek: To me, as I lean further away from working agreements, things like the core really appeal to me. Where you’ve got core commitments, which are like working agreements, that are a lot more value‑based than they are rule‑based.
Then you’ve got constraints to work within, to say this is how we can solve problems based on these values. So that every unique situation that comes up, we don’t have to say, “How do we interpret the rule”? We’ve got mechanisms to communicate with each other to navigate how we want to deal with that rule.
Jade: These are the Core Protocols by Jim and Michele McCarthy.
Roy: Trying to avoid getting sued for your GPLv3 stuff?
[laughter]
Clayton: Are we, maybe saying, “You shouldn’t use working agreements”?
Derek: I don’t know if I would go as far as to say, “They’re evil. Stay away from them. They’re horrible.” Like all things, they’re a tool and tools can be easily abused. People tend to…when they get into working agreements they tend to get legalistic really quick.
What happens is either that people don’t take them seriously at all, so they have no value, or people abuse them by using them as a stick to hit people with it, that they disagree with, when they want to disagree with them.
Jade: If they’re done in the right spirit to really support your principles and values by establishing some habits that you really wished you had. They can be effective.
Roy: You mentioned about the legalistic thing, I’ve noticed that a lot in all sorts of teams, and groups, and people that I’ve interacted with, there just seems to be this human nature to always go towards the legalistic. Why do you think that is?
Derek: I don’t know if it’s human nature. It’s because we don’t do well with ambiguity. We all bring personal baggage. There are so many things. When we lack construct, when we lack guidelines, we really crave that. Our natural tendency tends be to crave over doing that.
Where when you look at things like the core, they just give you good operating principles to guide on, so that you can deal with issues as they come. To me, that’s like where we’re evolving from an Agile perspective too.
You had traditional project management PMP that was very, very, very, highly prescriptive, highly rule‑based. Any little thing that comes in as a change order, now has a full change request thing, because it’s just not designed to deal with any new introduction into the system.
Now, we’re getting more and more nimble things. Where we say, there’s less and less structure and there’s more and more values and principles. As things come in, you try to basically do the right thing. That’s a much different. I like to call that “it’s permission versus policy.”
When you start to move more towards that, you have to have much more robust ways of dealing with that. If you’ve got no structure at all. It’s almost like the inverse. When you look at Agile, people think, there’s no structure. It’s actually highly, highly structured just in a very simplistic way. The rules are much more simplistic. They’re much more difficult to understand or nuance.
It gets into the whole whether you call it [inaudible 14:00] , or whatever. People that have been doing it for a long time can’t understand why people that are new to it, struggle so much. It should be so simple. There’s just these few little things, but it takes years and years of experience to understand when and how to apply those things. There’s so much context to them.
Clayton: All right. I think we’re out of time. Thank you, guys.
Jade: Thank you.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile weekly podcast. I’m Clayton Lengel‑Zigich.
Roy vandeWater: I’m Roy vandeWater.
Clayton: Today, we’ve got some topics for you that come straight from the trenches. I’d also like to point out that it’s the 100th episode. Although, if you were to add them all up, we probably missed a few, so this is probably, really, 96 or something.
Roy: That’s true, counting as one of our strong suits, and our special episodes, and then there’s all the other episodes that we recorded but lost.
Clayton: I would encourage you to go back and listen to all of them, and check, and see if we’re right or not. The first we’re going to talk about is kind of an interesting thing where you’ve got a team, and from what I understand, they make a working agreement that no one can work as a silo. They have to be working with someone, everything.
There’s a problem when there’s the odd number of people. How have you guys been solving that?
Roy: Our solutions for the last few months has been to do something that we call trying.
Clayton: I’ve also heard stooging for three people, because it’s the three stooges.
Roy: I was thinking of the third person as a stooge. I don’t really have a high opinion of it, based off of the experience I’ve had with it, because I’ve actually joined in on some of them. I’ve actually been one of the three on the tri. The common pattern of what I see is, there will be two people working and one person watching, because we do the two keyboard pairing.
When you have two people working, and one person watching, the one person watching is not really usually contributing. In some cases they contribute a little bit, because they happen to be the person who has the knowledge but if the primary knowledge holder is the one that’s driving, forget it. The person that’s in the back is going to stay there, and is going to be nodding off before too long.
Clayton: I’ve heard a lot of people that try and defend this sort of thing. They make it sound like it’s really easy for everyone to be engaged, and they can learn a lot just by watching, but I don’t think I’ve ever seen that in practice.
Roy: All I can say is for me, personally, I can’t stay in [inaudible 01:55] . I am not physically capable of it. I tried today. Today I was doing some tri‑pairing, earlier today, and I was peering over the other two shoulders, going like, “Hey guys.”
Clayton: You felt like you were in the back seat?
Roy: Right. I felt like a voyeur, watching two other people code.
Clayton: The thing I always think about when I hear this sort of thing or people suggest this is they haven’t really done pairing. I think if you’ve really done pairing, and you know what it’s like to have that back and forth, you know that it’s impossible to have a third person there.
Roy: I’ve heard of people taking it to extremes, and doing mob programming. I couldn’t imagine having five people. I can’t even do it with three.
Clayton: The thing that’s different about mob programming, at least, is that there’s one person driving and everyone else is participating.
Roy: That’s true, everybody else is just shouting along. That’s true. You’re not the odd man out at that point. You’re the odd man in.
Clayton: Right. I think it makes a difference, at least from the pictures I’ve seen, from mob programming, there’s usually one person in the front, and the other people are behind.
Roy: Maybe, we should switch up our mob programming, or, trying strategy, and, instead of two people behind, one person up front, on the keyboard.
Clayton: I think space is a limitation. Not everyone has the perfect set up for pairing, let alone a set up where you can see over someone. It’s like you have stadium seating.
Roy: That’s true. When I’m in the back way off to the side, I can’t read a thing, even if you turn the font size up.
Clayton: One thing I’ve heard, you’ve mentioned, and I’ve heard other people say this, and I’ve kind of hinted at it, it’s a good way to learn. But that’s not necessarily the team trying to have a culture of learning.
Roy: No. Originally, it was. Originally, the problem was we had silos on particular stories, and we had a problem with cherry picking as well, that nobody would call that on because the team was still in the forming stage. You’d have a story about a particular technology, and somebody would say, “Well, I’m familiar with that. I’m going to go ahead and take that and work by myself.” Then nobody else would have the knowledge to transfer. This was to combat that, and I think it was really effective. Originally, I think, it was probably a necessary step for us at first.
Clayton: Do you think it has helped people that have a skills gap, and close that skills gap? Or, do you still see the same people that started out with a gap, are they still in that same phase?
Roy: That’s a good point. It depends. Some people still have a bit of a skills gap. I think pairing is a really great tool for teaching, and for learning. But only if everybody is actually in it for that. You know what I mean? It can also be a really great tool for, “I just want to coast along. I’m just going to pair with a bunch of people who do all the work, and then I never have to do anything.”
Clayton: Especially, if you’re not driving. If you’re the guy in the back, you can pretty much get by, by just seeming like you’re pairing.
Roy: Especially when you’re driving, it’s actually probably easier to get away with that. You can just blindly stenographer everything somebody else says. You don’t have to understand everything that goes on.
Clayton: That’s a good point. That’s one of those things where I think if you’ve got someone who’s driving that maybe does have that skills gap, as the navigator, you have to find some creative ways to guide them towards the right direction, but not necessarily tell them what to type, right?
Roy: That’s true. It’s difficult and it’s frustrating, because I’ve paired before with people like that where they sit there and look, and like, ” [inaudible 05:13] . Tell me exactly what to type.”
Clayton: Or, they kind of act frustrated. But I always wonder, do they just have a fear of getting it wrong? They’re just afraid to fail, and so they wouldn’t start?
Roy: I’ve been part of a team before, where two people are pairing. One person was a junior developer, and the other person was a senior developer from back when they had titles. I saw the junior developer do something, type something out, make an attempt at it. I don’t even remember the specifications of it. It was pretty basic, he took a stab at it, and took a paradigm from one language which works in that language, but doesn’t work in this one or something.
The other person was like, “Oh, you’re so stupid. I can’t believe you just did that.” Made everybody from the team gather around and look at it and be like, “Look what he just did.” It’s like that person never took any risks anymore after that, like, “I’m not typing anything unless I know for sure it’s correct.”
Clayton: You were talking earlier about the concept of acting stupid so you don’t write dumb. I thought that was interesting. Explain that.
Roy: Yeah, the idea behind that is instead of trying and looking dumb, and everybody makes fun of me for being dumb. I’m instead going to be dumb on purpose that way nobody can really make fun of me, because I’m the first person to do it. You know what I mean?
Clayton: They can’t make a joke about it?
Roy: Right. It’s how you would work with a bully at school. You would be like, “Well, I’m going to make fun of myself first, and then that way the bully can’t make fun of me for it.” That is really effective, and maybe the core problem isn’t the person being bullied, maybe the problem is the bully.
Clayton: I think on that team, if the team chastises someone for getting it wrong, that doesn’t necessarily sound like they have a learning culture.
Roy: Right, but we used to have this culture at Integrum. Remember when we would have fun with that. You, Jade and I all the time, if we catch each other doing something stupid, we’d be like, “Hey, look what you did,” and make a big deal about it, because it was funny, but we’d be OK with it.
Clayton: I guess there was something different about that. Because I think we internalized that. We acknowledged the failure maybe, and so we thought it was OK, and it was kind of a learning experience.
Roy: Yeah, we still do that.
Clayton: That’s true, yeah. What’s different about our team than an average agile team?
Roy: Maybe it’s because we feel like we are on equal footing, and we’re doing it in a sense of camaraderie and to communicate.
Clayton: I don’t think we have that fear of failing. We aren’t afraid of it.
Roy: Also, what I see on some of the teams, or teams before is that it is a way of putting somebody in their place, and maintaining the status quo of ranks. If I’m the senior developer, I’ve got to make fun of the junior developer when they screw up, or else they’re going to be senior developer. If we’re all senior developers how can I be better than everybody else?
Clayton: I think that makes sense. I wonder how pervasive that is. I’m sure there’s a lot of people that self identify with the senior developers, and they would want to hold on to that as much as possible. I could see that.
A lot of the reasons I think I’ve seen that senior people will either take control and drive all the time and they leave the junior people behind is that they want to get stuff done. I know that your team has been experimenting a lot with pushing the boundaries between having fun and getting things done. Is that a hard line to walk or…?
Roy: It’s really difficult, especially when it seems like when we are having the most fun, and feel like the least productive it often times turns out we were pretty productive. Other times we are not productive at all. A good example is that we had a planning ceremony about a week ago, where normally it takes us about an hour and a half to task out a sprint. In this case we were laughing the entire time, and we were throwing index cards around. I got a picture I think I showed it to you.
The entire place was trashed. There were index cards everywhere. Which we all picked up, don’t worry, right before the end. We felt like it was the least productive thing ever, and an hour later we are done with our sprint planning. We were like we can’t have more planning sessions like this, because it is just chaos and un‑maintainable. But then we thought when we stepped back to look at it, but wait we just planned out a sprint’s worth of work in one hour when it normally takes us an hour AND a half, and it was a blast.
Clayton: I think sometimes when you are having fun, time flies. You don’t really notice. It doesn’t really drag. Was anyone on the team kind of frustrated with that, maybe were some people not having fun so they thought it was unproductive?
Roy: I don’t know, I know personally in the back of my mind I was like, “Man, this is fun, but God I’m going to get in trouble later when it turns out we don’t have anything done. We don’t have any sprint work. We are going to get reamed.”
Clayton: Is that your conscience telling you, “Maybe I’m having too much fun?” Or, ” [inaudible 10:16] got to reel it in a bit?”
Roy: Yeah.
Clayton: I think that’s a good point you made about stepping back and reflecting on it. I’m sure in every team there’s varying levels of how much fun they want to have.
Roy: That’s true.
Clayton: Most agile teams, to some degree, value fun, but I think a lot of them don’t value it enough.
Roy: A lot of people are scared of them.
Clayton: Scared to have fun, you mean?
Roy: Scared to have fun or scared to be seen having fun, because then their managers think they’re not doing work.
Clayton: I guess the traditional thing is if you’re having fun at work, then you’re not working.
Roy: Right, exactly.
Clayton: Which is pretty sad?
Roy: I’ve worked with people where we try to have fun. They said, “Hey, we came here to work. We’re here to work. I come here, show up, and do my work and go home. I can have fun at home, but this is not the time and place for it.” How miserable is that? You spend a third of your life here, and you’re not allowed to have fun?
Clayton: I think a lot of agile teams embrace the idea of having fun. But maybe they don’t spend enough time reflecting on how much fun their having, or maybe where that boundary is? The boundary between having fun and being productive is kind of a moving target.
I think if you have a lot of fun and getting a lot of stuff done, then, usually, people don’t seem to notice, right?
Roy: Right. Definitely, there have been times when we have a lot of fun and nothing gets done.
Clayton: That’s true. How does your team compromise? How do they mitigate that?
Roy: On a side note real quick. It’s funny how that perception happens, because you remember today, you walked over to our team. Because you all of a sudden heard us be silent, and said, “Hey, it sounds like you guys are finally starting to get some work done,” because we’ve been screwing around.
The irony part was, the reason we were all silent was because we all turned back to look at our email and stopped working, for that little bit. Exactly when we were not working, was when you thought we were working the hardest.
Clayton: That is interesting. I guess the perception from the outside could be pretty misleading if you don’t know how the team is operating. When you guys are having fun, how much does that play into creating that kind of learning culture? Do you guys try to have fun as a means of learning?
Roy: I don’t know if it’s a means of learning. Learning should definitely be fun. If you make work fun, then you make people passionate outside of work. If your work is dreary, then why would you spend your free time getting better at it?
It’s like, “I hate programming. The last thing I’m going to do at night when I’m sitting at home is program. I’m going to watch TV or read a book,” or whatever it is you do. If your work is fun, then all of a sudden you’re like, “Man, this is great!” Programming is awesome if you have fun at it, and work with good people. It can be a really fun experience.
With Start‑Up Weekend we got together the group just for fun. We programmed for fun. Nobody paid us. We made a product we knew we were going to throw away at the end.
Clayton: That’s true.
Roy: It’s a blast to work that way. If that type of thing is true, and you enjoy what you do, then all of a sudden it’s going to become worth it to you to spend your free time learning it, too. Like, “This was fun at work. I’m going to do this as a hobby. I’m going to get better at it,” which in turn makes your work more fun. It all of a sudden starts feeding back on itself.
Clayton: Fun is definitely underestimated. I think it’s talked a lot about in the agile community, and it’s really gamification and all that kind of stuff. I think as a team value it probably goes under represented. Although I feel like at a human level, everybody wants to have fun. Even the people that say they don’t want to have fun at work, they want to have fun.
Roy: I think most of the time when fun is brought up during a retrospective or something of that nature, it is almost always in my experience, in the context of we are having too much of it, and we need to cut back.
Clayton: That’s true.
Roy: What’s interesting is that the talk isn’t we aren’t productive enough and we need to be more productive or we need to hit our sprint. It’s we are having too much fun. That’s our biggest bottleneck. Clearly, if fun was less, the work would be more.
Clayton: Maybe that’s a knee jerk reaction to some kind of old way of thinking about things? That everyone’s baked in their mind set about how works supposed to be? That’s why they want to dial back the fun?
Roy: Yeah, that makes sense.
Clayton: Interesting. I think we are about out of time.
Jade: Hello, and welcome to another episode of the “Agile Weekly Podcast.” I’m Jade Meskill.
Roy vandeWater: I’m Roy vandeWater.
Derek: I’m Derek Neighbors.
Clayton: I’m Clayton Lengel‑Zigich.
Jade: Today, guys, we wanted to talk about how technical does your Scrum Master need to be?
Roy: Define technical.
Jade: Let’s say that your average software team…At what level of technical detail do you think it’s good for the Scrum Master to be aware of and maybe what’s too much?
If you had someone that used to be a developer on the team and then they got promoted to Scrum Master, theoretically, they are going to have about the same level of technical knowledge.
Roy: They should know how to turn on the computer and know how to use Rally.
[laughter]
Roy: [inaudible 0:00:53] one that’s said Derek optional.
Derek: The second one is optional. OK, so you are talking software, hardware technical, not Scrum technical.
Jade: I’ll give you an example. Let’s say that I’m a Scrum Master on a team and the team is planning and they’re going through some implementation. They’re talking about it and I get the impression that they’re going off the deep end and they’re just going in circles but I don’t know enough about technical stuff to be able to tell if that’s true or not so I just keep my mouth shut.
Roy: I think I’ve heard Derek say this before, where if you can’t, as a non‑technical Scrum Master, if you can’t understand what’s going on, during like a planning meeting for example, or even worse in a story workshop then it’s probably to implementation level for that type of ceremony. It’s something that should be talked about during pairing.
Derek: I guess for me, the way I would look at it is, that the Scrum Master should understand the work that needs to be done. They should not care how that work is done. If you’re talking about a self‑organizing team, I think the Scrum Master needs to understand what the product [inaudible 0:01:56] owner wants so that they can help facilitate the team to get there.
I don’t think they have to know anything about how the team is actually going so in some ways that actually cripples a scrum master because they get way too lost in the technical details instead of just looking at the signals, right?
If I’m an EMT, I don’t need to know how to do heart surgery, but I should be able to read any EKG reading right? I think the same thing…A Scrum Master should be able to take technical readings of what the data is telling them and burn‑downs and other things and stand‑ups and ceremonies and be able to say, “I’m worried”, but they shouldn’t care about the actual technical details.
Roy: In this particular case, you are talking about some kind of ceremony. I can’t remember if you said planning or…
Jade: I said planning yeah.
Roy: A planning session where they’re getting into details as a scrum master can’t understand, and I guess my attitude is, as a non‑technical scrum master if you can’t understand it, then it’s probably too technical to be discussed during planning, and it’s not a matter of the scrum master not having enough technical knowledge.
Jade: You’re right. I’m getting the impression that if I as the scrum master, rather than focusing on learning more about the technical stuff so that I could understand the problem better, which would be the EMT learning more about heart surgery, I should really focus on my facilitation skills and being able to pick up on those cues and triggers, better read the EKG.
Derek: I would say, “Why do you care how technical somebody is in a planning meeting? If people need to get very technical in a planning meeting, why should that be a problem?”. Usually the reason it’s a problem is because they’re taking forever planning because they’re getting into way too much detail.
If I know that, “Hey, we’ve got X amount of work to plan” or we’re going through planning, and people are taking forever to get something done, I could say, “It feels like we’re getting into a lot of detail. We’re taking an awful lot of time discussing implementation, maybe we need to step it up a little.”
I don’t need to know anything about what that implementation is. I just have to facilitate, “Hey, the energy in the room is completely dropping. There’s something wrong. Can we change it?”
Roy: That’s true and you’re right, because I’ve seen people that have absolutely no technical background still be able to tell like , “Hey guys, Isn’t this a little too in the details?”
Derek: I think having a technical background can help, but I think more often than not it tends to hurt more than help, because you try to use that technical knowledge to help your team.
Roy: It’s hard to be impartial when you have knowledge.
Jade: Yeah, you’re your own worst enemy at that point. Let’s talk about work space design, work space layout. How does the work space that you’re in affect the team itself and the work that you’re doing?
Roy: I personally feel like there’s two very important pieces to a good team environment from work space perspective, which is the ability to communicate freely between the team members directly, being able to see each other, and then also having the freedom to communicate loudly without bothering the people around you, if that makes sense.
I can see Clayton and talk to him directly if he’s on my team, but me talking to Clayton will not bother Derek who is on another team or working by himself. That to me, is a good work space.
Jade: I did an exercise with…I guess probably about forty people or so, and I had them draw their ideal work space. They all pretty much were the same, where they had a team area which describes kind of what Roy’s getting to where people could pretty much look at each other, and talk to each other very freely.
There was always a space for some kind of quiet thing, like you could get away from the team if you wanted to. There was some fun aspect where that would be like, you do work over here but then over here is where you have fun. There were some other things sprinkled in but those were the main themes.
I think almost all of them were framed in the concept of a bull pen, which I think was more just. That’s what the people who did the exercise were familiar with. They hadn’t experienced something like a gang plank which had a very open floor plan that was very sprawling. That’s kind of their mind set. They were in that box.
I like the idea of having the free and open communication with the team members and having an open space that you can feel safe talking in.
Derek: I think, I don’t know, probably circa 2006, 2007, Mike Cohn made a really great blog post called “The Ideal At Work Space”. It had nine or ten qualities and I believe our Integrum made a counter video to that.
They added two or three additional ones as well as showed some visual parts of the work space. I think all of those things are still absolutely relevant today. I think you guys hit on two of them. One which was every person on the team should be able to see the other person on the team, which I think, whether it’s a bull pen, whether it’s a wide open space, that you should be within visual contact of everyone on else on your team.
Another one was that there’s a place to have quiet meetings or what not. I think there’s something about visual pieces that the work is visualized somewhere within the space. There’s a number of things. Those are all great points.
The thing that is really difficult when I see a lot of teams struggle or organizations struggle is they say, “OK we’re willing to make the commitment to go to some more kind of open style. “But they have this whole inventory of this really crappy cubical furniture and so there’s this sunk cost of how do we get rid of this and disbelief that you could go to really light weight six foot tables that are upper end Ikea type of tables and put them on wheels.
That is so foreign to facilities like whoa…”but then how do you deal with power and how to you deal with Ethernet?” It cascades this panic within the organization of un‑possible.
Jade: Probably just like their software.
Derek: Yes. This is something we talked about with [inaudible 0:07:52] in Portland at Agile Open Northwest, right? There’s cultural debt in the same way that there’s technical debt. When you build up these giant facilities department who has three hundred change orders who have to fill out to get an Ethernet moved in a day where 90% of people connect through wireless anyways.
It’s like when you can’t move your physical location from one cube to another, that’s an act of God. Imagine if you say, “We’re just going to get rid of all the cubes.” That is full on pandemonium like whoa. How will we track our assets if there’s not cubes that they belong to? Currently we use a Cube ID to track everything that happens.
Roy: For effective management. How do I know if Clayton is even working if he could be sitting and working from anywhere. I got to be able to stop by his cube at several points [inaudible 0:08:42] the day and make sure he actually shows up.
Jade: Let’s go down a tangent here on this one. Marissa Mayer just announced at Yahoo there is no longer a remote work policy.
Roy: What?
[laughter]
Jade: I know, can you believe it? As of June, Yahoo employees either need to move to be physically near their headquarters or they no longer have work from home privileges. What do you guys think about that?
Derek: I think if we go buy those principles of what is a quality as a work space, one of things is you should be able to see all the people on your team.
Jade: I have Skype and I have Google Hangouts.
Derek: Now that said, I think you can do close facsimiles of or proxy’s thereof those things.
Roy: [inaudible 0;09:26] keep with people who use the real thing?
Derek: The problem is that is it really difficult? If everybody is virtual, I think you stand a better chance than if only a few people are virtual.
If you have the choice between interacting with the real thing and a virtual thing, you will probably choose the real thing more often than not and so those people become ostracized as the virtual people.
If you’ve ever been on a phone call with a conference call calling in, and there’s eight people in the room and two people on the phone, it’s amazing how people will end the meeting without even saying goodbye to the people on the phone because they’re not even part of it.
Roy: We even observed this with Integrum when you were working from out of state, Jade.
Jade: Yeah. It was very hard to be part of the team. I’ve seen a lot of reactions to this announcement. The biggest thing I think of, when I see what people are writing is, this really comes down to the type of work that you’re doing.
If you’re doing very individualized work, it really doesn’t matter where you work from. It doesn’t matter, because your work, is your work, is your work, and you can do it wherever, whenever you want.
What I see, is people who value having team based, shared commitments, who are probably doing something that is more on the innovative, creative side than repetitive tasks, individually focused. They really struggle with being distributed. It’s much more difficult for them to do.
Derek: I saw a counter to that, in an article and I don’t know if I’ll be able to find it again. They said, “If you’re doing really raw, simple manufacturing type of tasks, then yeah, everybody should be together.
If you’re doing really complex work, you should be spread out, all over the place, because it requires really specialized people and you can’t find the best, specialized people on the same location.
If you are going to do a really complex thing, you’re going to have to get the best expert in the world, and they might be in Russia and the best expert in the world, on this other thing, is in Brazil, and the other person, is in San Francisco. It’s impossible to build teams that solve complex problems that are co‑collocated, because you can’t get the best people.
Roy: I don’t think I agree with that.
Clayton: Well, that’s always the argument. You see this a lot from programmers, who talk about, “Oh, this company…
Derek: …Ten times…
Clayton: …wants to hire this awesome…Yeah, exactly. “Ten times programmer.” People who think they are. “Oh, this company wants to hire these people that have this awesome resume but, they only want people to work in Nebraska.” Well, that’s bullshit because, I’m so awesome, but I want to live, wherever I want to live.
Personally, I don’t want to work on a team, with a whole bunch of awesome people that are all over the place. Give me the average people that can be a team. I’d rather work in a team environment.
Roy: If people think they’re so awesome, that they should be allowed to work from home, are probably not [inaudible 0:12:06] culture.
Jade: It again goes back to if I am doing something that is highly specialized, individualized, then yeah, that’s probably a true statement. I probably can’t find those people around my local area.
Derek: Well I think…
Roy: How many people are really doing something that’s that specialized?
Derek: I saw somewhere…
Jade: I think a lot people think they are.
[chuckles]
Derek: I saw somewhere that somebody had summarized, well what I think my viewpoint on that in, that is, if you want to be the most efficient, probably work anywhere you want, anytime you want, however you want, is the best place to go.
If I work best from two o’clock in the morning, to six o’clock in the morning, if you want me to be the most efficient, you need to let me work at that time. If I worked the best with headphones, in the dark, in a basement, you should let me work that way, if you want me to be the most efficient.
Roy: I don’t think I agree with it.
Derek: I won’t necessarily be the most creative, and I won’t necessarily have the best solution, so the counter argument to that is, if you want people to be the most collaborative, the most creative, and solve the hardest problems, they actually have to be co‑collocated. You are suffering a little bit of efficiency gain, at the individual level, to have a better systems gain.
Clayton: Possibly a lot of efficiency.
Roy: In terms of efficiency though, that’s a lie too. People lie to themselves when they talk about how efficient they are when they work from home. If I were to not be honest with myself, I’d say, I could work from home, over the weekend.
Did you [inaudible 0:13:29] you turn me down?
[crosstalk]
[laughter]
Jade: Tell us how bad you are working from home.
[laughter]
Roy: I could see myself, I’d work the entire weekend, and I could work the entire time through, but in reality, if I was really honest, I’d probably end up working, maybe, two or three hours out of that, if that, and I’d probably be distracted a few hours. Reality doesn’t quite correlate with what it’s going to be like.
Jade: I think there’s a lot of studies that showed that people are more productive at home but then I always wonder, if you have a BS job, where you are pushing paper around all day, and you just do it from home. You are probably more productive because you don’t get interrupted by your stupid middle manager, who is a total waste of space too.
This whole thing is a foundation of lies. You are doing creative team based work. I just don’t buy it.
Derek: Well, I say this all the time. I am way more effective when I work from home. In doing the stuff that only I need to do. I can bust through my email box, get my to‑do list done, get all sorts of [inaudible 0:14:24] and I am way more effective at home doing that. Even if I only work two hours, opposed to six hours. The problem is, I am not effective at all because I’m not able to leverage the thing that I do best, which is, get people to work together to solve real problems.
Can I be more effective? Sure, in answering email. Can I be more efficient in answering email? Absolutely. Is that the most effective use of my time is answering email? Probably not.
Jade: I think the trouble is, you get distracted. Doing those things at work, with a whole bunch of other people, that you don’t even have time to focus on the creative stuff. We’re not valuing those things in the work that we’re doing.
Alright, well thanks for listening to the Agile weekly Podcast. We’ll catch you next time.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich.
Derek Neighbors: I’m Derek Neighbors.
Roy vandeWater: I’m Roy vandeWater.
Clayton: Today we wanted to start talking about cultural norms or generating the culture of the team. Roy, that’s something you’ve been experiencing lately, so tell us about it.
Roy: I have been working with a team for the last few weeks. We really have started to generate more and more stress…a switch‑over to one‑day iterations. That has started bringing things that were always there to a head.
Now we have to start to deal with them because it’s no longer able…in the past, we get to say, “Hey, we’ll get to it on Friday when it’s an issue.” Now that we’re having this issue every single day, it’s becoming something we have to deal with…it’s pretty cool.
Clayton: What’s it been like with the different personalities on the team? Do you feel like the team is catering to certain people ‑‑ maybe they have more seniority? How’s that shaking out?
Roy: I don’t necessarily think that matters ‑‑ seniority ‑‑ in our case we have some personalities that are cruder and more vulgar, and, in some cases more childish. Myself included.
[laughter]
We have some people that are a little bit more straight‑laced, and that are bothered by some of our antics. In this particular issue, there are other issues that come up. It feels like we’re a team of a bunch of alpha‑people, so we argue a lot.
Clayton: So, lots of alpha‑males or people that want to be alpha‑males that are trying to find their place in the pecking order?
Roy: Mm‑hmm.
Clayton: Derek, you’ve been dealing with a team that’s adopting Scrum, or trying to get a little bit more serious about it, that has some of those personalities. What’s that been like?
Derek: I think that one of the things that is difficult is often times people will say they’re in a team…in reality the team definition is simply a group of people that all have a reporting structure that is shared, or a group of people that all sit in the same area of the office. There is no real team happening. When work gets done it’s independently divvied out and there’s no collaboration happening.
I think that for this particular team there is an alpha personality. An example…this person does all the estimating for the team, all the counter‑views, this person is the only person that is allowed to deploy the software to the target production environment for the team.
As the team is starting to take a little bit more ownership for work, they want to improve. Part of their improvement is they want to talk about “Can we start to swarm on work instead of each one of us take a story for our self for the entire sprint. Can maybe three of us work on the same story and how do we break that up”?
The person that is normally in control of everything, this is a rage‑infilled behavior for them. This is just not acceptable on every single level that they don’t even know how to respond. So much so that they basically throw out all the work of the team and basically say “I’m going to tell you who’s going to do what work.”
What’s interesting to me is this is not a manager, this is just a developer on the team. This is somebody who says what they’re allowed to do and what other people are allowed to do.
It is a dynamic that I think some people are seeing some empowerment, and are able to fight against now, and getting some support from management and external co‑teams to say “No it’s OK for you to do this,” and the person is seeing their world be torn apart and is not happy about it at all.
Roy: I think everyone listening has either worked on a team with someone like that or maybe has been that person themselves or has experience with that. We highlighted that it is a negative behavior, but what can you really do if you have someone like that on your team so that they can be more collaborative and they can be more part of the team and they are not the code police?
Derek: Some of it is figuring out why they are the code police. It might be that for a long time that they were the only ones responsible or ever held accountable when something went wrong. So “If I’m the only one getting slapped when something goes wrong, I’m probably going to make sure that I am going to control everything possible to make something not go wrong.”
Or maybe, “I inherited really crappy architecture when I started this job and it took me two years to clean up the mess from whoever was before me and I’ll be damned if I am going to let a bunch of junior idiots come in and tear my code masterpiece to hell.”
It’s finding out what makes them tick and trying to show them how they have safety in a team and that they can actually do some of those things better without expending that amount of effort. I suspect most of them don’t want to work 70 hours and have to micro‑manage every line of code. They’re doing that because there’s some other thing involved that’s making them do that.
If you can say “Hey, you can get all of the things you currently want, but without having to command and control your teammates,” that’s a win‑win for everybody. I think it’s investigating what that is and trying to show them techniques or ways to basically move around that.
Clayton: Roy, when you’ve ‑‑ in the other team you’re on ‑‑ been experiencing this generation of culture and the culture stuff, have you noticed any of the people that are more senior members on that team having a hard time making decisions or participating in a certain way?
They’re used to acting in a certain way and having veto power, but now that they are on this collaborative team where everyone’s input is supposed to be more equal, have you noticed anything like that that’s been difficult?
Roy: Not really because on our team, everybody has the exact same veto power which is absolute veto power. We used the Core Protocol’s Decider, so all decisions must be unanimous.
There’s been a lot more argument than there probably would have been. In the past, seniors members could have said, “It will be this way. No argument.” They can’t really do that anymore.
Overall that’s a good thing and I think even the senior people would agree that this discussion is driving better ideas and is driving us to…now, a junior member comes up with a crazy idea, and we incorporate that and come up with something that’s way better than any individual could have come up with by themselves.
Clayton: Derek, the example you mentioned where the guy came back in and redid everything and seems like he blew up a little bit, I think for a team or maybe an organization that’s trying to make a cultural shift, those are the cues where someone that is afraid of conflict or has more traditional mindsets is going to put the brakes on and want to hold off. That’s probably the wrong thing to do, right?
Derek: Yeah. I think it was interesting because this team happens to be doing scrum, they believe they’re doing scrum. I would say they’re not really doing scrum, but they do have a scrum master.
Clayton: So they’re doing scrum, right?
Derek: Yeah, I believe that the scrum master knew this behavior was not kosher, was counterproductive, but they had nothing in their toolkit to say, “I’m going to prevent you from going off and doing this crazy thing and redoing the planning meeting all by yourself in the vacuum and delivering a PMP level schedule back for when things are going to be done and who’s going to do them and everything else.”
They knew that was totally wrong, but they didn’t know how to deal with the person. The best that they could do is say, “OK. Well, if you’re going to do that then I’m going to hold you ‑‑ hell or high water ‑‑ to that schedule, and if you’re one minute off from that schedule, this is going to be how I’m going to say, ‘That’s why we don’t do it that way,’” which is not necessarily a good response.
It was nice that they didn’t just dig their feet in and say, “We’re not going to try to improve because somebody on the team has got a problem with it.” At the same time, one of the things that’s difficult about change is if you do not have people around that know how to deal with change and with personalities, you just say, “Hey, yeah we still want to change, but I don’t know how do we tell him no.”
Roy: How can you tell a change is good change or bad change?
Derek: The upper management team, when they heard this was happening, I think their initial thing was, “Do we need to fire the person?” I was like, “Whoa, whoa, whoa.”
That sets all sorts of bad precedents ‑‑ you go against what somebody wants, and that means you get fired. That’s not the culture you want either. At the team level, it’s, “Nobody has ever told this guy no before, so how do we do that?”
Clayton: Do you think that if you were a scrum team that was doing more traditional scrum, and you’re having your retrospectives…I would assume that that’s the kind of thing that would come out in the retrospective about that behavior. What do you think led to this going on for so long?
Roy: Not knowing much about the situation other than what we’ve briefly talked about in this podcast, my guess would be that the retrospectives don’t feel like a very safe environment to bring this type of stuff up.
Either retrospectives aren’t frequent or not happening, or when the retrospectives are happening, nobody feels like they are in a safe environment where they can bring up anything like this without getting totally shot down.
Derek: I suspect that more than anything the retrospectives are probably a little bit shallow. I’ve only seen half of the retrospectives that this team has done, so I can’t really speak to it. But it definitely seemed like a fairly shallow, [sounding bored and disinterested] “Hey, does anybody have anything we want to improve? OK. Do you have anything you want to change? OK.”
Not a whole lot of techniques used to provide safety to people…I don’t think there was necessarily any kind of hostile environment during that, but I don’t think that there were the typical tools that a good facilitator would use to try to deal with some of these problems.
One of the other things is it’s just the way that they work. People don’t think, “Hey, maybe we would change this” or “Hey, this could be different.”
Roy: Instead of abiding and perceiving that there’s a problem.
Derek: A great example is during their planning meeting, this particular individual was not there. They were tasking some stuff out, and it came down to “We can’t task this out because so‑and‑so is not here.” It was great because their manager said, “What do we do?” I said, “Why can only one person do this?”
Ultimately, their manager really pushed them and said, “So you’re not capable, Clayton, of doing a database change?” Clayton said, “No, I am.” He said, “Then why can’t you task it out?” “Well, because Roy says that we’re not allowed to do that. Only he’s allowed to do that.”
Roy: This is true by the way. [laughs]
Derek: The manager says, “Well, I don’t care. If you’re capable of doing that, I trust you to do it. Task it out.” The look on that developer’s face is, [shocked] “Oh, wow! I’m allowed to do that.”
They wouldn’t even think to question it. I think we forget how programmed people get where it’s, “Well, that’s not my job. That’s someone else’s job.” When it comes to retrospective, I’m not thinking, “How can I get Roy’s job so that I can do database work.”
Clayton: Let’s just say that’s the culture. The men go out and hunt, and it’s, “Could a woman go along and hunt too?” Probably, but that’s not what they do. That’s not how the culture works, so that’s crazy to even promote…suggest that idea.
Roy: We see this all the time with QA people. “Man, that QA person touches code like ‘Ooh!’” They might fully know how to do some automation. They might already be doing some code like bud.
Derek: It’s funny when you talk to some people that are in that QA or tester space. There’s a lot of them that on their own or at some other job have some experience with the code.
Whenever they talk about it, you can tell how bad the culture is by how much they diminish their own skills. “Well, I’m a QA person. Yeah, I’ve done some Java stuff. I’m really bad. I really don’t know what I’m doing.”
That speaks to the culture that they’ve got going on, wherever that is. Roy even hinted at people not feeling safe in the retrospective ‑‑ a place where you can feel safe and share your feelings and talk about things.
Roy: Right.
Derek: Are you talking more about people on the team? I might say something in retrospective and some of my team would be upset? Or is it something management would hear about and use it against me?
Roy: I assume that in Derek’s case it would be more of a team‑related thing where I would be the alpha person, and you’d bring something up. Then I would shoot you down and be, [angrily] “Well, that’s because I know more than you, and I have more experience. Can you just shut up and don’t bring that up again”?
The other option you’ve mentioned, I’ve seen happen as well, where something’s been brought up in a retrospective, and a manager finds out about it and one by one interrogates every member on the team to try to figure out who said it, so they can do who knows what.
Clayton: They feel or I guess there was something that they didn’t know.
Roy: If you don’t feel safe inside a retrospective, you’re not going to get anything accomplished. That’s the type of area where everybody should bring up the things that are really bothering them, so you can move forward as quickly as possible. If the team doesn’t feel safe, it’s not going to get brought up, and then you’re not going to make the changes that you need to.
Clayton: Derek, you’ve mentioned these people having “teams” where it’s just a collection of individuals that are loosely grouped together. I think anyone in that situation is going to feel very vulnerable to express some problem they have.
Roy: They don’t even know each other. I talked to a team last week where there were some members of the team that didn’t even know other members of their own team’s names.
Clayton: The “team” right?
Roy: I have seen that quite a bit actually [laughs] .
Derek: It’s really difficult. As a coach, one of the things I really try to do is mimic the things that I’m saying that other people should do. I’m real big on that managers should be highly transparent and open. So one of the things that I do is I tend to keep coaching journals.
In my coaching journals, I’m really wide open ‑‑ I criticize things probably overly a lot of times. I really struggle ‑‑ do I give access to those journals to the management teams that I’m working with? My biggest reason not to, often is I don’t believe they can express the maturity to be able to handle what’s in those in healthy ways.
I think it would be vitally important for them to see what’s happening within their teams and in these ceremonies if they were taking that information and saying, “Hey, can I do some things infrastructure‑wise or organizationally to help deal with that?”
But what they tend to do is look at the personal things and say either, “I’m going to go fix the personal thing” or “Ooh, that really pissed me off. How dare somebody say that about my organization?” and be punitive about it which is just non‑helpful.
Retrospectives to me are the same way ‑‑ do you give that data to people outside of the team? Part of the answer is, “Absolutely! Somebody should be able to, outside of the team, see that data.”
But the problem is we’re human beings, and we act stupid all the time, and if you do that, you lose a lot of the safety involved. I think some managers demand, “I want to see what’s coming out of the retrospective because I want to make sure,” in the guise of, “I want to be able to help the team,” in reality, “I want to see what the team’s talking about, so I can go flip my lid.”
Roy: Ultimately it should be up to the team themselves because a team that is first storming is going to be extremely protective of their opinions and want to keep that to themselves.
As they mature, they will start to grow trust amongst each other. When they say something, even if the rest of the team disagrees with it, they know that the rest of the team will have their back. That’s when they start being more OK with having that type of stuff be open.
If a manager goes out and goes, “What the heck were you doing saying that about me?” the rest of the team is going to back him up and be, “Hey, this is a retrospective. They have the right to say that opinion. Back off of our team member.”
Derek: Yeah, I definitely think it should be up to the team.
In the current engagement I’m on, I’m lucky enough to be doing some pair coaching, so it’s nice I’m able to open that up to my pair coach and be able to get some of that organizational feedback, and have the safety that that person is in the same boat. They’re putting their notes up as well, so we’re able to help each other out, which is really nice.
Clayton: Great. Well, I think we’re about out of time. So thanks guys.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich.
Derek Neighbors: I’m Derek Neighbors.
Roy vandeWater: I’m Roy vandeWater.
Clayton: We’ve got a few topics today. The first one we start out with is Product Owner Availability on a Scrum team. If I’m a product owner, how available should I be to the team? Should I be sitting there, waiting for them to ask me something?
Roy: In my perfect world, yeah. You’ll be sitting with the rest of the team, not necessarily waiting to be asked something but you’re available if something is needing to be asked. In the mean time, there’re some of the other things that you can do, like backlog grooming and communication with stakeholders, that type of thing.
Clayton: You’re saying actually be available…if the team needs something from me, I should be available almost immediate?
Roy: I don’t know about should. If I was a team member, that’s what I would want. I don’t know if that’s realistic to set an expectation like that. I don’t know if I can say, “You need to be available within two minutes of me having a question”. That might be a bit excessive.
Derek: I would say as close to immediate as possible, is desired. What is doable is an entirely different story, probably for every team, every organization.
Roy: Every product owner.
Derek: Every product owner. Part of availability is…we were talking about Jim McCarthy before we came in here, and the Core Protocols. One of them is presence. Physical presence of a product owner is key to availability because its not just about being able to ask questions, but there’s also a fear of how do we talk about product.
There’re so many times as a developer where you’re working on something, and you’re really talking not about code, but you’re talking about experience or you’re talking about a functionality or interpretation of conditions of satisfaction or acceptance criteria, whatever you want to call them. Where if there is that kind of physical proximity or presence, it allows for a product owner to say, “Hey, that doesn’t really matter, don’t bother arguing about it. Just go ahead and implement it.”
Or, it allows them to basically jump into the conversation almost immediately. One of the things that developers tend to do is not talk the product because they think they’re not allowed. When we come from this world of requirements, once a product owner tells us A or B, like we are incompetent if we have to go back for clarification. I think that availability to clarify is monumentally important.
Clayton: What are some maybe dysfunctions? A lot of product owners probably are not that dedicated to the team and they probably spend a lot of time in meetings or on the phone or doing whatever. What are some problems you might encounter if you don’t have that presence of the product owner?
Roy: What I usually see is it really screws up the planning meeting for multiple different reasons. The first being, is that because the product owner wasn’t available throughout the week, I’ve seen a lot of teams wait until the planning meeting to get acceptance.
Clayton: Is that like wait until the retrospective to talk about things?
Roy: Right, because it’s the last minute that you could technically get acceptance before the next thing. Obviously, you should be doing it as soon as you finish feature, like as close to that as possible. I’ve seen a lot of teams wait until they are in planning.
The other thing that happens during planning is because the team is so fearful of needing to ask the product owner questions throughout the week and knowing that the product owner is going to be available, they’re going to want to like squeeze the product owner dry during the planning session which makes it really arduous. They try to think of everything that could possibly go wrong ever because when it does happen, if it does happen, they might not have that product owner there to ask.
Derek: I definitely think that you get a sense of people get fearful when they’re making commitments, if they don’t think they have all the information, if they think they’re only getting one chance to get the information. If you have a lot of uncertainty in product ownership during a sprint, teams tend to be more fearful to actually committing to work.
Where I think if you’ve got the higher certainty, teams tend to be a little more willing to commit to things knowing that they’re not going to be blocked by something out of their control, in essence.
Clayton: We have been talking about product ownership. Kind of related to that are stories. I was asking Derek today about that the new moniker for “INVEST” about stories. The V in there is for value. We talked a lot about delivering value to the customer.
What do you guys think about stories that might deliver value in the future but if it were shipped tomorrow no one would use it. No one would get any value out of it. Is that even worth doing? Even if it’s maybe a building block to something?
Roy: That sounds dangerous. Usually, when I hear of somebody think of a story as a building block, they’re slicing the cake the wrong way. You know what I mean? That would be my primary concern. If it’s not really adding value to the user now, then why are we building it now?
Derek: For me, I hate this whole value discussion more than anything in so many ways, because nobody can really define value. I’ve gotten into Twitter arguments over this that made me want to pound my face into the concrete.
For me the question becomes like, “What are the goals?” What are you trying to do with this product? Are you trying to make money with the product? Are you trying to influence people with the product? Are you trying to get more users with the product? Are you trying to not lose users with the product?
What is it you’re trying to do? For me, where’s the data that backs up that this particular story helps you get closer to that goal? If it’s a building block, “Hey, we need to do this so that we can do that,” I’m OK with that.
I get worried if it’s a technical building block like, “Hey, we need this technical building block in order to do this.” If it’s not really a technical building block but rather, “Hey, we need to implement this so that we can track this or so that we can add this additional feature, and that’s what we really want, and we believe that’s what we get there,” I’m OK with some of that.
To me, most product owners can’t tell you shit. “We’re just doing this because it feels good or because the users are screaming about it or because it’s what we pulled out of our rear end before we came into this planning meeting,” which is probably not delivering value.
If people came in and said, “We’re doing this because we’re losing users, and we really need this functionality in order to keep those users,” or “Hey, we’re trying to get into this new market or this new piece, and we need to add this functionality to compete with so and so, so we don’t lose market share of that,” then we’re having a different discussion.
I’d say if product owners aren’t talking in that kind of language, they’re probably not doing due diligence around value delivery.
Clayton: Do you think there’s some amount of…maybe fear is not the right word, but if you got a bunch of stuff in your backlog, and maybe you’re not thinking on those terms about that way of thinking about value. If you were to actually do that, it might mean that you would have to throw away almost everything.
You might have to get rid of a lot of stuff, which is scary. Is it better to keep prodding along and hopefully you can find a few things here and there that actually do deliver value, and then it’s OK that you did some stuff that maybe wasn’t so important?
Roy: So you’re getting value out of having a large backlog? That’s what it sounds like to me.
Clayton: It lets you fly under the radar to someplace…
[crosstalk]
Roy: Right, because you can say, “Hey, we need to extend the budget for this team because look how much work is left.”
Derek: Some of it is, a lot of teams or a lot of product owners get fearful of “if the backlog’s not really big, then the product’s not important.” There is something to say that there is value in being biased towards action.
Sometimes maybe if you don’t know what’s valuable, not doing anything could be detrimental in the sense that you’re not moving forward at all. However, if you’re moving forward and saying, “Hey! Action, we’re delivering stories,” you fall in the potential of iterating to nowhere where the product is just spinning its wheels.
It’s very similar to developers in the sense of, developers really get nervous about measurements. If you talk about velocity or estimating or anything, most developers freak out on that and want nothing to do with it because they think it’s going to be used against them or that they might be seen as failures. You name it.
Product owners are the same way. If you start to say, “Hey, this feature should drive revenue by X,” and it doesn’t. “I was wrong. I failed.” Or, “Hey, this is going to land us a new customer,” and it doesn’t. “Shit! I failed.”
There’s that same mental block of, “I don’t want to do the research and make predictions about what functionality is going to do for this product because what happens if I’m wrong?”
Roy: Regarding the idea of having that big backlog just to keep the big backlog around, there can also be a difference between having a cluttered backlog and a large backlog because what I’ve seen is… and what you described, keeping a bunch of random stories thrown in there that may or may not actually add value.
Derek: That would be moved to the bottom every week.
Roy: Right, exactly. You can still have a large backlog and still say, “We have a year’s worth of work or whatever in the backlog,” but have really large epics.
Let’s say you want to build out a whole new component. Instead of breaking that down early, don’t waste your time on that, just say, “We’re going to have this gigantic new component at some point or deliver that giant piece of value.”
If you get to it and it becomes a priority, then you start to break it down as it gets closer and closer to when you actually work on it. That allows you to keep a really clean backlog because most of your really far out stuff are abstract ideas that haven’t been worked out.
Clayton: If we agreed that things that are further out time‑wise are maybe not worth spending a lot of time breaking down, world changes kind of thing, do you think that the frequency of your delivery or your deployment makes a big difference?
If I only deploy once every four months, does it even make sense for me to worry about defining things that I want to do in 9 months or 12 months because I’m only really ever going to deploy four times a year? Maybe…
Derek: I could see that.
Clayton: Does that make a difference at all?
Roy: There are companies that do budgeting on an annual basis. You might need it for that, to be able to justify your budget for an entire year’s worth of work. I could see a product owner needing to do that.
Derek: For me, it’s probably less about when you release and more about what are release plans. There are a lot of people that do release plans, but don’t really release.
When you start to do more continuous delivery, it starts to make your release plan, a hell of a lot more real. You are actually owning what you’re releasing because you’re releasing consistently.
Where when you release infrequently or you deploy infrequently, you can constantly move your release date around. You can start to say, “Oh, it was supposed to be six weeks, but now, it’s going to be 8 weeks or it’s going to be 10 weeks or it’s going to be 12.”
You can keep moving that stick and have that perpetual, “Let’s just add more shit into the product before the next release.” Where if you have that continuous deployment happening, you don’t get the ability to say, “Let’s keep dicking around with our release date. It’s going to our customers at the end of the week, at the end of the…,” whatever…
[crosstalk]
Roy: With or without this feature.
Derek: No matter what.
Clayton: You mentioned continuous delivery or deployment, there was a good infographic that was going on that simplified those two terms. I believe that continuous delivery was, everything’s automated from my checking the code, and the tests run on the CI server and maybe it gets deployed to some staging place and acceptance tests run.
The action of actually deploying that to the customer is a manual step. Whereas, continuous delivery was more of…
Roy: Continuous deployment.
Clayton: …the whole thing was all automated. Sorry, deployment, yeah.
Derek: Integration versus deployment, right?
Clayton: The idea, and you had mentioned maybe Twitter and Facebook have a model that’s like this, where I make some code changes and it goes out. It doesn’t necessarily go out to facebook.com, but maybe, it goes out to some subset of the server so that some part of the user base might get that, and that kind of thing.
Roy: Roll that out to everybody outside, and know that it is completely automated.
Clayton: No, I would guess most people, especially if you consider yourself an enterprise kind of company, the idea of pricing commit and your search control and having that go out..
Roy: So any developer could commit a code directly to our users?
Clayton: Yeah, and the idea that everything is green, we ship, is probably pretty scary. Do you think a lot of people could gain from having a system like that?
Roy: Man, talking about having to own your work. Talk about pride in the work.
Clayton: That’s true.
Roy: I mean, seriously. One of the early stories that had came from Twitter and had impressed me is they had gone online live with Oprah. Biz, or one of them, was on…maybe with Ev was on Oprah and they were doing deploys during the airing of that show.
That would be normally completely crazy if I’m some big company, if I’m Ford or something, and we have this big Super Bowl ad running, I probably am going to tell everybody, “No deployments for the next two weeks because we have to deal with all this traffic where…”
Clayton: Feature freeze.
Roy: With a company, like Twitter, the problem is they had to. They didn’t have a choice. Their system was growing so dynamically that adding an extra million users during an Oprah show had a real effect to the performance of their system to where, “OK, yeah, we could wait until the west coast showing views,” and then, start screwing around with things.
But then, the experience is crappy for everybody. Or “We could go in and see this performance bottleneck that we see right this minute, make the change, deploy it to a small subset of users, make sure that nothing is coming back failing. Then, let it propagate into the entire base.”
Which is a worse move? Looking bad performance‑wise or trying to fix those on the fly and then, if something goes wrong, having to recover.
Part of it is when you got to continuous deployment, you are a whole lot less afraid of doing those things because you do it all the time. If you’re deploying every commit, your process is probably pretty damn solid if something goes wrong, being able to roll back.
If you only release once a year, your process is probably so crappy, that if something goes wrong, it is like…
Clayton: A week‑long thing.
Roy: …catastrophe for months to clean it up. That plays a lot into it as well.
Clayton: One of the things I really like about continuous integration is the idea of having the code, basically, be able to compile and run all the tests. All the benefit you get from that is so far beyond the fact that you have a good CI server, but all the work that goes into making that actually happen, I think the same thing is true for continuous deployment.
Although, at a much larger scale. If you only deliver once a year, it’s OK if everyone spends two weeks doing a bunch of manual stuff because it doesn’t seem that painful.
If you’re doing it every two weeks or something, that subsequently going to get automated real quick and you’re going to fix a whole bunch of stuff. Especially, the roll back stuff, the fear just goes out the window at that point.
Roy: If you’re doing continuous deployment where it’s going out as a constant stream, then it becomes even more so. Then, if you check‑in some bad code that breaks a build and I need my feature to go live now, we need to have that conversation now because it needs to be out by the end of the day, so none of that stuff gets postponed.
Clayton: Probably, the chances of people breaking the build as casually as they would, otherwise, is probably much lower.
I think that wraps it up. We’re at our 15 minutes here. Thanks you guys.
Derek: Thanks.
Roy: Bye‑bye.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich…
Derek Neighbors: I’m Derek Neighbors.
Roy vandeWater: I’m Roy vandeWater.
Clayton: We’ve got a backlog of items today that we wanted to talk about. The first one is Sprint Zero.
Derek: Sprint zero.
Clayton: Derek, tell us your thoughts on Sprint Zero.
Derek: One of our regular contributors to Agile weekly, Brainslink, had posted something about Sprint Zero and the value of Sprint Zero. That those in scrum or in Agile tend to devalue Scrum Zero. In an enterprise environment, it is really necessary oftentimes to have a Sprint Zero.
Roy: Cowards, stop having enterprise environments.
[laughs]
Derek: [laughter] My general response back was pretty similar to cowards and stop having enterprise environments. Which was that I think his argument and the article tended to go around, it is irresponsible to have no architecture, to have no kind of plan going in.
Clayton: Right.
Derek: What happens is if you just hit the ground running Sprint One and do the quickest thing to get working come sprint four, five, six, something down the road, you realize that you’ve made this really horrible choice because you didn’t really think out the bigger picture and how it interfaces with other things. You end up having to undo a bunch of work and so it actually causes more problems then if you just violated these Scrum principles and did a Scrum zero.
My response back was I think that the danger in that is that it gives us false sense of security and that if we only spent an additional sprint before we did work to plan it then we won’t have any problems and everything’s going to be right. What I tend to find is when I’ve seen sprint zeros that all of the same problems happen in four or six weeks in, all of the decisions you made you…
Clayton: That’s true.
Derek: You found better decisions for them and you want to undo things so why bother with the first sprint zero to begin with.
Roy: I think that the thing that unifies them that the thing you find out in week four that causes you to regret the decisions you’ve made in week one are things you don’t know in week one.
Derek: Correct.
Roy: If you spend a week in week zero trying to set stuff up, you still don’t know what’s in week four no matter how much time you spend on sprint zero. If you have five sprint zeros you are still not going to discover what’s in sprint four until sprint four.
Clayton: There’s a concept in the book “Guided Object‑Oriented Software by Tests” that talks about having a walking skeleton which is kind of the idea of build something that you can deploy that actual exists. You can press deploy and it goes to production and it works.
So, would you recommend that if a team wanted to avoid a sprint zero and they actually wanted to deliver a value in the first sprint, would it be OK if they started with maybe bigger sprint than ‑ ‑ maybe they thought they would do two week sprints, but if we look at the work to get this whole entire thing working it has to be three weeks.
How should they handle that?
Roy: It shouldn’t take you that long to deliver that sense of value. [crosstalk]
Clayton: Say it does. Say it does.
Roy: No, that’s bullshit. No, that’s your root problem. Assuming that you have one leg, how are you going to run this one meter sprint?
I think that is the bigger issue at hand, is that I think when you believe that you couldn’t put a bare skeleton out in under ‑ ‑ and so, it brings links, kind of, comment his thing was, I would never advocate a thirty day sprint zero, but I think a week or two sprint zero makes sense.
I think what they’re saying is, well we need this time to do this research. I don’t think they’re talking skeleton. I think they’re talking to do the research to even do the work.
I would argue that if you can’t do a skeleton within a sprint, a two week sprint, you have something wrong with your tool set, or your skill set, that probably needs adjusting much more than a Sprint Zero is ever going to fix you.
Derek: It’s going to hurt you in every single sprint. Not just the first sprint.
Roy: That is correct.
Clayton: Alright, so we gotta move on. The next topic that I want to talk about, is performance testing. I think you should also call this a waste of time, because pretty much everyone seems to waste time when they do this.
Have you guys ever seen anyone do performance testing where it has been valuable?
Derek: Yes and no.
I’ve never seen anybody do performance testing beforehand be valuable. Meaning, usually when people do performance testing they don’t do it on their real environment. So, you know, all of these little things that are really the performance bottlenecks are never seen. It’s, you know, “We are worried about data reading rights so we are going to test the crap out of that.”
But its late in the latency that really kicks their ass and so know that because their local network has no latency, but when they put it up in the cloud, the cloud has latency, or vice versa. You know, things like that.
I think the Lean Startup methodology has really started to push towards ‑ get it in customer’s hands as soon as humanly possible.
If you are worried about scaling limited number of users that are allowed to use it and open it up as you go until you hit a bottleneck, and then go in and start to test around some of that. I think you can do some things ahead of time to potentially give you some best practices, whether that’s tools like New Relic that or like Jamie standard things that you can run that will give you once of it. But I think going hog wild and creating all sorts of harnessing and everything else, is just a waste.
Roy: If you are talking to your communicating effectively with your users, they are going to tell you really early on, two things you should be doing is talking to your users and be able to deploy really quickly, and so you get feedback really quick if your performance is going to be an issue.
I’ve had a project I’ve worked on in the past where we had reports from users saying ‘When we perform this action it is taken unacceptable at that time and we are not going to be able to use this tool because of it.’ and what we are able to do is go run a performance test which is exercise a particular punctuality that wasn’t working right, and then had it hit it 5,000 times in a second and see how long the response was, and we’re able to do a binary search for the problem. It was based off of replicating actual production environment. We knew exactly what was going on.
Clayton: Is there a place for non‑functional requirements where if you were a product interviewer you could say that ‘These actions should support this much thru‑put and this much latency’
Derek: I think that it’s totally OK to do constraints like that. I think that you have to realize if that is not your current customer standard you run the risk of doing a lot of waste. If you say ‘I’ve got this app that’s got a thousand users’ I’m going to make the constraints, but say that it’s going to do with two million concurrent users or I’m not going to accept the story. The truth is, if you don’t really have two million concurrent users on a regular bases, you’re probably wasting your time trying to write stories that have that as a constraint.
Clayton: Even if your constraint needs to be able to handle a thousand concurrent users and you’re a product owner, often times I’m hoping that most of the time the product owner is looking at the story before it goes into production. That means you have to write a performance test on every single feature that you write?
Derek: My thing would be that if you really had two million concurrent users on a regular bases you probably have testing frameworks in place to test that stuff already. You’re not having to go build all this…
[crosstalk]
Derek: I think the problem is when you’re going to release a feature right away and you have no idea how many people are going to use it, you go and spend all of the time doing performance testing, I think that’s foolish. I think when you hit performance constraints you start to build those tools and then you can continue to use those tools as your software evolves and as your base evolves.
Clayton: Moving on to working agreements. This is something that can be very powerful to teams, but we had a situation recently where a team made a working agreement around how other teams interacted with them. Is that really fair to call that a working agreement?
Derek: I think it’s fair to make a working agreement on how that team reacts to other people interacting with them. For example, if I have a team that is constantly getting interrupted by… [crosstalk] …sure, and we had a problem where some of our team members will give in to it, and we’ll go and help them out, and hurt our sprint because of it, I could totally see us having a working agreement within the team saying ‘If we get interrupted, you need to bring it up with the entire team, you can’t just make the call on your own to go and spend the time helping that stake holder.’ The fact that it needs to be discussed with the entire team, I think that’s a totally fair working agreement. That would affect how you interact with outside people.
Roy: To me this is largely about how things are communicated. If the three of us are all on a team and we agree that we all don’t like interruptions, we want to do xyz, do little flags, or do something that we’re busy, and if somebody comes in‑ If we’re going about our work, we put our flag up, and somebody comes in, and I say ‘I’m sorry, we’re going to have to tell you in 15 minutes that we will deal with your problem, but right now we need to stay focused on this.’ then we have a working agreement. What we’re doing is signaling to somebody else ‘ We can’t help you right now’ and if they question it ‘ We’ve got this internal working agreement that we’ve agreed up on this’ that would be really great when the three of us say ‘We’re going to have a working agreement that works like this.’ and we’re going to send it out to everyone in the company and say ‘By the way, when you work with us, this is exactly what you’re going to do, and you’re going to like it. This is our new working agreement.’ Us collectively, that’s bullshit.
The reason it’s bullshit is because you didn’t ask of the other people that are coming to interrupt you to say that ‘When you interrupt us it really bothers us, and we would like to come up with a way to do that‑ how would it work best for you?’ I don’t think that the internal working agreement is a bad thing, but if you go out and you sell it as ‘This is how we’re now doing business, here’s the memo, read it, and abide by it by law.’ and then call it a shared working agreement among everybody, that’s bullshit. If you say ‘This is our working agreement that we’ve agreed upon, and we ask that you please respect that with us.’ I think that’s a little bit different.
Clayton: Next up, back log gardening. Backlog grooming. Is this something that is avoided, or people don’t do enough and you do a certain workshop and generate a whole bunch of stories and you sit there and think you’re just going to work on them?
Derek: Grooming on backlog is done in the middle of planning, right? While you’re trying to give your team stories.
Clayton: Typically by the book, it’s more done before hand where you’re going through making sure things are prioritized, and…
Derek: So you’re saying you shouldn’t spend the first hand on planning or reorganizing everything.
Clayton: That’s probably a sign that you’re not doing any kind of gardening, right?
Roy: That means you’re Advil, if you do that.
Derek: That’s true.
Clayton: That’s right. At the drop of a hat, you can reorganize everything.
Roy: The reason I said gardening instead of grooming is, when I look at grooming, that’s cutting the hair, that’s picking the nits out of…the lice off of your head, et cetera. I think that that’s how most people view backlog grooming, which is most people have the problem of I’ve got an enormous amount of crap or features that I want to deliver, and most of my effort is trying to pull stuff out that they don’t really want to do or to get more details to clean up and prettify and get it ready.
But I think that a lot of organizations on existing products, they have a much different problem. Their problem is one of we don’t know what features to actually be adding. We don’t know how to talk to our customers.
We’re just adding crap that doesn’t matter, so what happens is this is like, “Oh, I’m not really sure,” it’s like, “Who called this last? What were they pissed off about? Let’s throw that into the product,” instead of actually saying, “Hmm, have we already plowed that field before, and is it going to fallow if we keep planting on it? What kind of vegetables do we think people are going to…”
If you take more of the gardener’s approach of, “Hey, let’s be strategic about what we’re planting and the cycles of it,” I think it’s a little bit deeper than just saying, “Hey, we’ve got more stuff in the backlog than we can see. Let’s trim the fat.” I think it’s about really doing…it is about trimming the fat, but it is also about what you’re planting, what you’re putting in, all of that tending to it. It’s hard work.
Clayton: Interesting. I think, from a perspective of…if it’s a new product, you obviously you’re going to have the problem of you buy up a bunch of stuff, and then you have to change things, like you said. I do like the idea of saying there are different cycles, different seasons. You might plant different things.
Is it maybe that it takes too long to sow the seeds for things to sprout before you realize them, and those are the things that get crushed in the garden? Some new feature the next person yells a lot, so you say, “Oh, we need to dig that stuff up,” even though it’s barely even got started.
Roy: I think some of it too is, if you look at maintenance, maintenance on existing products are like weeds. They start to choke out new growth. People get totally bogged down in the maintenance of things instead of being able to do things. But I think a lot of it is really hard work, and most product owners are not dedicated 100 percent, full‑time, to their project, or they’ve got other duties that they’ve got to do beyond that.
It’s very difficult for them to work with the team as well as work with the customer to do demands, as well as work with the business to say, financially, how are these things working.
So, usually, what we’ll see is somebody does one of those things really well ‑‑ either they work really fabulously with the teams, but they’re falling down on listening to customer demand or doing the business side, or they do really fabulously with the business, but the team hates their guts and they’re not listening to the customer, or they listen to the customer, but they don’t understand the financial decisions that they’re making, and they don’t get along with the team because they’re never present.
I think it’s very difficult to manage all three of those hats as a product owner, so, usually, whatever is my strong suit, I’m going to gravitate to it, and I’m going to throw the other ones by the wayside unless somebody forces me to deal with them.
Clayton: All right. Next step: cross‑functional teams. It seems like something that people started saying a while ago and that’s stuck, but I don’t know that everyone really agrees on this or knows what it really means.
Roy: I think that the question that most people have is, what does it mean? Some people, cross‑functional team means anybody on the team can do absolutely anything. Usually, the detractors that are against cross‑functional teams say, “Oh, that’s the fastest way to mediocrity. You can’t be a jack‑of‑all‑trades and master of none.
“You get a bunch of people that know everything, but they only know that at surface level, so you never get the awesome gain of the super specialized stud muffin of a team member.”
Derek: Those guys write the best code, by the way.
Clayton: Yeah.
Roy: I think more pragmatic viewpoints of what cross‑functional are, are the people are going to have things that they are better at than they’re not better at. If I’m on a team, it’s not seen as I can do absolutely everything at the same levels everybody else on the team.
But, if push came to shove, if we said we had to push this feature, I wouldn’t throw my hands up in the air and go, “Not my job. I don’t know how to do it. We have to wait for Stevie to come back in order to do it.” I might say, “This is going to take me 100 times longer than Stevie, but I’m full‑bore willing to get in.”
I think it’s a lot more about collective code ownership, and, if you took that beyond to product, its collective product ownership, is what I think you’re really saying when your cross‑functional team is we’re all contributors to this team, we all succeed or fail together. I don’t think it’s somebody can be better at database and somebody be better at design, or whatever. I think that that’s a trap that people fall into when they get too into cross‑functional.
Clayton: Yeah. I guess you don’t want silos, but you wouldn’t want to stump out the specialization. You would benefit from having someone who knows a lot about SQL, maybe, or your team, but you wouldn’t necessarily structure the work or the product in “these are the SQL stories.”
Roy: “I can’t do the work because I’m not the SQL guy.” I don’t think you’d want that. You’d say, “I’ll gladly take this story or this work, but I might go see Clayton, because he’s the SQL guy. This is really complex stuff, and I would really like to pair with him so that it’s faster and it’s done better and then we’re spreading the knowledge of how this stuff works.”
Clayton: I think collective code ownership is a big part of that, everyone having to share responsibility for the entire thing.
Derek: Right, and being able to deal with the full stack. You and I were talking about that yesterday. It was like debugging a problem that went all over to client to server to the database, involved everything. In the past, I don’t know how…because the team we were working with then used to be cross‑functional.
You used to have segregated responsibilities, so you have a SQL guy, a front‑end guy, a back‑end guy, and all of that. I can’t imagine how you would have solved this problem. You would have had to have all three people working together, which I know they didn’t do, so how would that problem have ever gotten solved? And that happens all the time.
Clayton: Very slowly. [laughs]
Roy: Yeah. I think we see this a lot in silo teams, where it’s like a problem comes in, it looks like it’s a visual problem, so the front‑end guy gets it. He pushes the pixels around a little bit and goes, “This is not a front‑end problem. This is a back‑end problem. I’m making all the right calls, doing all the right everything. The back‑end’s got to be the problem.”
When the back‑end guy gets it, he pushes some things around and says, “Oh yeah, they’re sending me the right thing, but then we’re sending it off to the database and the database thing.” So we call her up, and she says, “Nope. All the SQL things are handed back, but we handed to this other third‑party vendor, and they must be screwing up. “What happens is you get this chain, where this thing takes six weeks to deal with, because it’s going…
Clayton: Right. And it’s going to cascade back and forth. “I’ll fix it.” “I’ll fix it.” “I’ll fix it.” and all the way back.
Roy: Right. It ultimately goes to the whole cycle, and it’s really nobody’s fault. But, in reality, it’s a little bit of everybody’s fault, because…
Clayton: No one cares whose fault it is, right?
Roy: No, but it’s easy to bunch it up and say, “This isn’t my problem. Hand it to the next guy,” because it’s a really hard, complicated thing that’s hard to shoot, so it’s easier for me to go like, “Nope. I’m accepting the connections, so it’s not my fault. It’s somebody else’s fault.”
Then that person gets it and goes, “Yeah, but you have given me the wrong thing,” so you play the hot‑potato game, whereas, if you are a cross‑functional team, it’s like, “Hey, I’ve got to deal with this no matter what. We’re going to deal with it.”
Clayton: All right. That wraps it up for today. Thanks guys.
Roy: Thanks.
Derek: Bye‑bye.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich.
Isaac: I’m Isaac.
Deepa: I’m Deepa.
Ryan: I’m Ryan.
Roy vandeWater: I’m Roy van de Water.
Clayton: Joining us today, we’ve got three people who actually work on two separate Scrum teams. You guys have recently, as of probably two months now maybe, three months, have moved into the bullpen, a shared team space. I was curious what you guys thought about going from working in cubicles to working in more of a team room environment.
Isaac: I love it. I like the collaboration and working with other people, and being able to hear other conversations, and have quick meetings without having to go anywhere else.
Clayton: Do you ever think it’s too noisy? That’s always the complaint that we heard before. Before everyone moved in there, it was always, “It’ll be too loud, I won’t get any work done.” Have you had that experience at all?
Isaac: I think maybe at first, just a little bit, but you quickly learn how to ignore that and work through it, so it’s not so bad.
Deepa: I didn’t like the idea at first. I thought there would be no privacy, that I wouldn’t concentrate, and it would be too noisy. But I think I gelled into how the whole group works, and started to learn how to concentrate even with the noise around me. I think I like it.
Clayton: One of the other things that has happened since you guys have moved into these team rooms is that you’ve become more self‑organizing in lots of different ways. Like the way you do the work, and all kinds of things.
One example of that I thought of with Isaac and Deepa, in your team. You’re using a physical board, which is something that you guys hadn’t used in the past. What’s your experience been with trying to do something totally different?
Isaac: Moving to the board, I thought it was actually kind of cool, because I think…Not just our team, but I think everybody hated Rally, which is the tool that we used online to track our task. We’ve never really kept it up to date, and for me at least, it felt like I never knew what people were working on.
Moving to the board I thought was really cool, because you can actually see who has what task, and you can see where it’s at. I liked it a lot.
Deepa: Yeah, it was more open to see who was working on what, and what the status was. Probably the morning and also check in the evening what was on it. That was very helpful.
Clayton: Is there anything you’ve experienced, Roy, as far as things you’ve observed? The teams have been more self‑organizing, or doing more team activities that maybe we’re a little more used to?
Roy: The team that I’ve been a part of recently switched to using a physical board as well. We’re only two days in, but to me it already feels like it’s making a huge difference from “What tasks people are working on” awareness, and actual looking at the tasks.
You mentioned Rally’s a pain in the ass, so we threw all these tasks in there. In the past I’ve always worked on the environment where I grab a task off the board, and work on it in front of my desk, and I don’t work on anything without a task.
It was such a pain to go in and find my tasks in Rally that I wouldn’t ever look. I started working the same way as everybody else, not looking at tasks at all. Which really made tasking during planning feel really irrelevant, other than as a way to get more accurate estimates.
Ryan: It’s funny, because when we use electronic tools we think that’s for better communication. But we’ve found that the communication has actually been faster and better by having having the physical thing there. If we have a magical touch board with everything totally digitally up there all the time, maybe we would get a similar experience.
Isaac: Until we have a power outage.
[laughter]
Ryan: The fact that it’s abstracted away on some web page that someone keeps on a tab that’s hidden behind other windows, and then you gotta go in there. Updating, we would always have problems with people updating their hours. “What did you work on?” “Is it in progress?” “Is it complete?” With a physical card it’s so fast and simple.
Roy: I think the idea, too, that we’ve been doing, where we actually have the card hanging over our desks. Makes it really easy to point in the general direction of a task. Like if two of the guys were around one task and working another task, we can be like, “That task,” and wave at that side of the room. Which is a really general but quick way to reference something, that in a digital tool would be like “Just in task T‑436.”
Isaac: I also liked that we used the color‑coded pens, too. It’s really easy to identify when things are in progress. Before, you’d have to go into Rally and actually make sure you double‑clicked the little “P,” or whatever, a lot of times.
Roy: You guys have all the pen, so we just have random colored pens now. I’ll have to steal some.
[crosstalk]
Isaac: Yeah we have pens that we can block things, show them in progress, show the ones that are still available, and which ones are complete.
Clayton: Do you guys think that way of organizing the work would have been possible, or easy to do, when you were still in cubicles? Do you think the team room has had a big impact on that?
Isaac: I definitely think the team room made a big impact on that, it’s a lot easier.
Deepa: It’s a lot easier, and I think we save a lot of time, just interacting with each other. Because we are all in the same room, checking on things.
Ryan: How many times in a cubicle did you get up to go and talk to somebody and they weren’t there?
Deepa: Well it’s [indecipherable 05:03] messenger first. Then the mail, and then…
Isaac: Waiting for a response. Then you get up, then they’re not there.
Roy: Something cool happened in our team a few weeks ago too. Which is that somebody from a non‑software engineering team, that generates content that we interfaced with a lot, or were supposed to interface with a lot, joined our team and sits with us as well.
That’s been huge, because even though it’s really difficult for us to pair and help each other directly with the work that we do, the fact that we’re sitting in the same space, and overhear each other talking, and are just naturally communicating more, I feel has improved our ability to help each other by leaps and bounds.
Ryan: He’s noticed a major difference.
Roy: That too, yeah.
Ryan: He loves sitting in there. Even when the dialogue isn’t directly related to what he is doing, he likes to be around to be involved in the discussion.
Clayton: One thing that a lot of things teams struggle with is, they’re trying to become a team, or have some feeling of a team. Generating working agreements always seems kind of difficult for a lot of teams. You guys seem like every retrospective you come up with some new goal and a new thing, a new working agreement, and it seems like everyone pretty much sticks to them.
I’m curious why before, when you guys were sitting in cubicles, it didn’t really feel that way? It wasn’t so easy to make working agreements. Is it easier to hold people accountable, just because you are together all the time? It’s easier to notice when someone’s maybe going off‑track?
Isaac: I think so, I think the visibility’s there. I think before, when you’re sitting in your cube, you’re so isolated sometimes you don’t even think about the team. When you are sitting there it kind of forces…
Deepa: The smartboard was not that prominent sitting in your [indecipherable 06:42] queue. Now we have it on a common board, so everybody reads it and you see it all the time, so it’s always part of your [indecipherable 06:49] .
Roy: The other thing too, is a [indecipherable 06:50] just isn’t that relevant when you’re working primarily by yourself. You’re working in isolation, it doesn’t really matter if you’re upholding the team, those issues don’t come up. You have your own issues, and someone else has their own issues, you’re not going to observe shared issues between everybody.
Clayton: Has there been anything that you guys haven’t liked about the team room so far?
Roy: Ryan and I had an argument earlier today, about an hour or two ago actually, that we haven’t resolved yet, about…
Isaac: Another podcast.
Ryan: I’m about to punch him right now.
Roy: About the constant interrupting each other with questions. Ryan and I were pairing on something, and I felt like we were building up some steam, some inertia, doing test room development, switching back and forth a lot.
Somebody came in and asked Ryan a question on something that he had expertise on, and he got pulled off into a discussion. Our working agreement is that you don’t do silent work, but I kept working anyways. Now all of a sudden it was either violate a work agreement or stop working, and it became kind of an issue.
It almost feels like retrospectives aren’t frequent enough for us to deal with those type of issues, because they creep up too frequent. When stuff like that happens too quickly, I can’t afford to wait until Friday for us to deal with that.
Ryan: I didn’t like the toe nails I found under my spot when I moved into the bullpen, but I think that’s been resolved for the most part.
[laughter]
Isaac: Personal hygiene’s kind of a big one with…That was a different team though.
Isaac: Those were there before us.
[laughter]
Clayton: What about you, Deepa ? Anything that you haven’t liked?
Deepa: I didn’t like that we didn’t have a common…What’s the presentation board?
Isaac: Oh, the white board?
Clayton: The white board.
Deepa: Yeah, the white board. That was an issue [indecipherable 08:31] planning. What else did we have?
[crosstalk]
Deepa: But now we have it, so I feel comfortable.
Roy: It’s interesting too, you guys do planning in your team room, in your bullpen, but we choose to do it in a separate conference room. I’m wondering, why do you guys chose to do it in your team room? I guess we’re the ones that are doing it weirdly, so maybe we have to excuse our behavior.
Deepa: You don’t have to move out?
Isaac: Yeah, we don’t have to move. I think we like the fact that we have the team room, that we pretty much use it for everything. We do the retro, planning, everything in there.
Clayton: I’d say everyone feels more comfortable in the team room, just in general. When we go into a conference room, that’s when it gets lifeless. There is usually just one person driving the computer that is showing stuff on the screen, and you can check out. In the team room it’s a little more intimate environment. Everyone’s usually sitting around the small little table, and people are having more fun.
Deepa: It’s your own place, so you’re familiar with it. I was first against having demos in the bullpen, because I thought it would not be very serious, people wouldn’t be responsible. After the first demo in our bullpen, I think I was very comfortable in the same place that I work and do the demo. It didn’t feel odd to talk about [inaudible 09:46] .
Roy: I feel like if I were to do planning inside of the bullpen, that it would be really hard for me to resist the temptation to turn to my computer and start working on something when the planning gets tedious.
The other thing that I feel is, moving into a different room is, the room is associated with the planning mindset. When I’m in this room I’m in planning mode, and when I’m in this room I’m in developing mode. I feel like I make that mental switch when I walk through the doorway.
Ryan: One thing I did like about watching them plan is how they gather around a center table. It does pull you away from the computer a little bit. It also gets you face to face with the people that you’re planning with, which I think we don’t still do very well on our stand‑ups. We all stand back against our machines.
Getting closer, and getting interpersonal with people, I think generates a better feel as a team.
Roy: Our planning, too, involves us looking in a “U” shape at a common screen. I wonder what it would be like if we got rid of the projector and didn’t have that at all, and instead just sat in a circle and talked? We probably don’t need to see that.
Isaac: I’ve noticed that since we are gathered around that smaller table, it seems like everybody’s closer. When we used to be in a conference room, some people would sit way at one end, other people at the other end.
Roy: Yeah, we have the same thing.
Isaac: Breaking out tasks on index cards wasn’t very productive then, because it was too far away to see what was going on and the interaction just wasn’t there.
Ryan: That’s the thing I like the most about sitting in the team room, if we’re talking about a story and Deepa starts talking about something, it’s so easy for someone to just grab a Sharpie and put it in front of her and basically say, “OK, start writing task.” In the conference room, when everyone’s so spread out, it’s like, “OK, who’s going to write this down” Then, it turns into, not an argument, but…
[crosstalk]
Roy: Usually there’s a dedicated…
[crosstalk]
Ryan: Hot potato. [laughs]
Isaac: Yeah, hot potato.
Deepa: You sit all across the room, and then you are not together when you do the tasks. All that is very…
[crosstalk]
Roy: Maybe we should seriously reconsider how we do our planning, because ours feel pretty lifeless, and energy‑less.
Clayton: I always like to ask the practical questions. If you had a friend that was a software developer, who had a similar role that you have, working in another company, and maybe their boss was thinking about moving their team into a team room, what kind of advice would you give them? What kind of tips and tricks would you give them, now that you’ve done it for a while?
Ryan: I would say, first off, that it requires a mind shift, that programming is a collaborative effort. I’ve been used to, in my career, it being a silent‑type thing. You get your little assignment, you go into your cave, and you come out of the cave every once in a while, and you slip your code under the door, kind of thing.
The mindset has to change, where you’re working together as a group and it’s collective ownership of the code. That’s really, I think, a key shift in my mind, to accepting this style of interaction.
Isaac: I’d say definitely be open to it, just go for it. Because I know some people really weren’t excited about it at all, but see a complete 360 when they just go for it and try it.
Deepa: It’s more like teamwork that dominates, and that should dominate. That’s what I feel. The mutual thinking there, you should probably juggle with your group.
Clayton: A flip side for you, Roy, since you have more experience working in a collaborative environment, when you first started, when we were doing more siloed stuff, what were the big downfalls that you saw, the problems that you saw with the old way of doing it?
Roy: Back when we were siloing, back in Integrum?
Clayton: No, no. I think when you started here we hadn’t really make that whole mindset change that Ryan had mentioned.
Roy: What we had at first is, we had different types of developers. We had a flash developer, and a back end developer, and a whatever developer. We had all these specialized rules. Then, as we started pairing and working in a team room, it became impossible to maintain those roles. As a Flash developer, there may not necessarily be a Flash story.
One of the things we were doing was randomized pairing, based off of names from a hat. It becomes impossible, because you’re pulled off of flash tasks as often as you’re pulled onto other stuff, so you don’t get to maintain your own fiefdom, and you don’t get to stick their own code.
That was one of the negative things I saw in the past. If I’m a Flash developer, I would interact only with my Flash code, and then Ryan is a back‑end developer, and he’d only interact with the back‑end code, we never even saw each other’s codes. We never got to learn from each other.
Ryan: I’ll add another one. Issac and I, in our roles, originally were kind of outside the team. I found that when I sat with the team and I was a participant in the tasks, that I had more influence with the team. I kind of had street cred, or I was in the trenches.
When I had an opinion on something and wanted to influence the direction that the code was going…We make “Ivory tower” jokes, but it wasn’t like issuing edicts from some place in the distance. I was there every day, working on the same stuff they were working on, and so my opinion, I think, carried more validity just because of that, and not because of any title or position.
Roy: Maybe it’s more of an “Ivory steeple” now, then.
Ryan: Yeah.
[laughter]
Clayton: On that note, I think we’ll wrap it up. Thanks guys, for joining us today, and we appreciate it.
Ryan: No problem.
Deepa: Thank you.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich.
Jade Meskill: I’m Jade Meskill.
Clayton: Joining us today we’ve got Kevin Goldman from 29th Drive. Hi there, Kevin. Can you tell us a little bit about what 29th Drive does?
Kevin Goldman: Sure. We design and sometimes develop software.
Clayton: We’ve actually done a little bit of work with you in the past. We wanted to talk to you today about design, and you mentioned design a little bit of software, and the Agile framework. What’s your experience with that?
Kevin: Jumping right into it.
Clayton: Yes, right away. It’s a 15 minute podcast. We’ve got to get going.
Kevin: Oh! Its 15 minutes. That’s good to keep in mind.
[laughter]
Kevin: Yeah, I was thinking about some things we could talk about today in terms of how we use some Agile processes in our design work. I think the thing that we’ve been using most, a process that we’ve been using most lately, is sketching.
When people talk about Agile UX, oftentimes they’re talking about getting away from deliverables, from traditional deliverables based on predetermined milestone schedules in a waterfall process. What we’ve been doing more and more, is really embracing the idea of rapid ideation, and using pen sketches to replace a lot of what we used to do, around flushing out our ideas in digital form.
Clayton: Like a Photoshop comp. kind of thing? Is that something that would maybe be the old way?
Kevin: Yeah. Let me describe it that way. Old way might be having an idea, wire framing it, iterating on the wire frames. Then taking the wire frames into visual design, iterating on the visual design in Photoshop. Then taking those visual designs, and then throwing that over the wall to the development team, and them developing.
Now what we’re doing is ‑‑ we have an idea. We’ll do a lot of pen sketches. We’ll bring in development right away, and actually do pen sketching with them, and start talking about the idea from end to end; talking about implementation, and all these development issues early in the process with design.
Instead of moving from the pen sketches into Photoshop, or the pen sketches into digital wire frames like an omnigraffle, we’ll move right from the pen sketches into prototype. The prototype might be built in Twitter Bootstrap. It might be built if it’s IOS, a prototyping tool for IOS or it might even be prototype to nextcode.
Clayton: Yeah one thing I’ve always, I have a background in doing what you described as the old way of the designer creates kind of stuff in Photoshop that’s very flushed out and very like final basically.
Throwing it over the wall and then slicing it all up and turning it into a website and I’ve always thought it was interesting that when you got to that low fidelity like pin sketches kind of thing where you could really sketch something out and the crumple up the piece of paper and start all over again.
That was so freeing and it made it so much easier to collaborate with the people that were editing, the traditional kind of design developer barrier like the mis‑communication that always happened, that seemed like it went away.
Kevin: It’s so true so that idea of collaboration I think is a big part of what development teams think about when they think about agile development. And the same thing with UX so you don’t have to be an artist to pen sketch.
Any of the stakeholders in the project can sketch an idea on paper. Customers, business, stakeholders, marketing analyst, anybody can sketch on a piece of paper. And so by making that the medium it allows the design process to be a little bit more inclusive.
Clayton: Can’t lower the very so you don’t have to be a designer or artist or something.
Kevin: Yeah and we’ve gone so far as to work with new customers or even existing customers and encourage them to bust out the pen and get their ideas out on paper and send them to us or a lot of times we work remotely with our customers so they’re not here in town so we don’t have the ability to just sit next to the person and flush out ideas but we’ll use sketch cameras.
There’re these great little IP Vogue cameras that sit on your desk, they’re only $79 and if we’re using a Google hang out or a go to meeting it allows us to show what we’re sketching on the screen and through the go to meeting or Google hang out. So we’ll send those cameras o our customers so they can do those same things back and it creates the concept of having a white board, but doing it remotely.
Clayton: That’s pretty neat. Have you found that your customers are embracing the idea, are they resistant to it? Do they not want to jump into what they consider your domain, the design territory?
Kevin: Yeah, there’s a lot of, there is a. For people who aren’t designers, there’s a feeling that their sketches aren’t going to be pretty. There’re a lot of disclaimers. I’m not an artist, I’m not a designer. That’s OK. We’ve gotten some really great ideas and sketches from non‑visual people.
Jade: What’s it been like working with the designers like the people that maybe used to do it a certain way and having to adapt into this, even like you said, using Twitter which drafted current prototype, I’ve worked with a lot of designers who were very comfortable creating things in Photoshop, but when you get more clear towards the front‑end, they’re actually writing something that actually works and you can look at, they didn’t want to do that necessarily. What’s your experience with that?
Kevin: I can only speak from my experience in the team, the people that I’ve worked with, and all of us have some degree of understanding the front‑end code, some more than others.
In some cases, a designer of the team might be able to create an entire prototype by themselves and they’re very familiar with all the latest CSS3 and familiar enough with Java script to get some of the basic interactions working, and at other times, we just have to collaborate.
If the designer on that particular project isn’t as comfortable, then we just pair them up with one of our front‑end developers so that they can really work day‑to‑day throughout the day on this task of creating the prototype.
Jade: What’s like transition period been for you guys in making this change? Is it something that you were able to pick up pretty quickly or has it been a few months that you’ve been learning as you go or what’s that been like?
Kevin: It’s been a constant evolution. In some ways, I want to say going back 15 years when I started doing design work because you’re always in the process of designing the design process, if that makes any sense.
Jade: Sure, yeah.
Kevin: I say with pen sketching, we’ve really been getting back into it. It was really a part of my early training coming out of industrial design. There’s a culture of sketching in industrial design, and then of course, there’s whole lot of years where I used only digital tools and now with the team that we built at [indecipherable 07:47] drive, which is relatively new, we’re really looking for new ways to collaborate when we started to pen sketch more, it really gelled and it was very quick.
Clayton: What do you think is the biggest contrast that you see between moving towards this new maybe more agile direction versus the old way that you did things, the more waterfall, lot more hand‑off, and more formality around that?
Kevin: The contrast between them?
Clayton: Yeah.
Kevin: Without sounding like a bunch of hype, I think the more agile processes in pen sketching in this collaboration that we’re talking about creates better ideas quicker. It really allows you to generate a lot more ideas, so therefore find the bad ideas more quickly and invest your time into the good ideas more quickly.
Jade: Why do you think it allows you to do that?
Kevin: The pen sketches, no matter what, specifically looks sketchy. It’s just so fast, you can’t get bogged down in pixel pushing, even if you’re doing what we call Greybox wireframes, which are very low fidelity wireframes. If you’re in OmniGraffle you inevitably just end up spending a lot of time trying to figure out how to invert an object, you have to search in through help and menus.
If it’s a pen sketch, you’re going to just sketch that in a few seconds and be done with it.
Clayton: You’re not as tied to the concreteness that a digital tool might give you.
Kevin: Yeah.
Clayton: Some of that formality of presenting it to your customer and having them review it, all that stuff tends to add overhead and really changes the interaction that you have.
Kevin: Totally changes the interaction. With pen sketches, they never confuse the sketch with something that might be final and that happens a lot in design where if we present a wireframe, we know in the industry what a wireframe is and what to expect out of a wireframe, but sometimes a customer, they might just wonder why everything’s grey. We’ve actually heard that.
Jade: I don’t actually like this color palate.
Kevin: Why is every button grey or why is that font not consistent? They get caught up on those things. But a pen sketch is so far removed from the final that whole confusion or misinterpretation of what you’re trying to communicate is not an issue.
Jade: I always try to ask like practical questions, maybe I’m a project manager or I’ve got a team that has some developers and some designers and we’re doing it the old way, what advice would you give to someone like that, who wanted to try and do something that was a little more collaborative?
Is pen sketching the first steps? You just jump into doing that or what would you suggest that person do?
Kevin: Yeah, pen sketching is the first step. The sooner you can knock down that first hurdle of that first person drawing their first line and feel it, that they don’t have to be an artist, the better. It’s very quickly that people, I think, get over that. The other thing I would recommend is we do something called a design studio, which is an old concept that also comes out industrial design.
The idea is that you get a bunch of stakeholders, designers, developers, whoever is on the team together for a half a day. Let’s say two to six hours and you have either a whole product concept or part of a product that you’re trying to develop and you work together collaboratively to flush out the idea for that section of the product.
What we do, the way that we’ve structured a lot of the design studios is we’ll have an introduction and that’s lead by, usually it’s a lead designer on the project, who will give the context and constraints for what we’re trying to solve.
Then, we’ll do, let’s say a half hour where everybody goes away and pen sketches their ideas for how to solve that problem. Then, you come back and each person gets five minutes to present their idea to the team.
Then, you repeat that process sometimes two, three times and what happens in two or three hours, you get 40 ideas of how to solve a particular problem. Even more importantly, you get everybody on the team on the same page about what that process was. What worked, what didn’t and you get this building of ideas on top of each other. You have an idea, triggers an idea in my mind and then, we build on that.
Jade: Agile talks a lot about continuous improvement, so I’m curious, what’s something that you think you might try in the future to improve on this process?
Kevin: Oh, man.
[laughter]
Jade: I didn’t mean to put you on the spot.
Kevin: Just about everything so down to how we can communicate better in the sketches with call‑outs and interactivity and how we can communicate those ideas, more of a how we can…Sometimes, we do need to have a snapshot of what happened in that design studio, so we can refer back to it.
Often times in the design studio, there’s a lot of hand waving that goes along with the pen sketches, so we’re trying to figure out to capture that. I think there’s a lot of room for improvement there. Working remotely with customers is just how it’s done these days. I think there are just a lot of places where we can improve in our work with people remotely.
Estimating projects is always very difficult, probably on the development side as much as it is on the design side. We can definitely try to improve how we set out expectations for how we bill something, how we structure timelines in advance of actually doing the work.
That’s a big shift. One of the biggest, especially for service companies who are in‑house. If you’re basing your bids and your timelines off of waterfall deliverables, it’s very easy to say, “This milestone is this much and this much and this much. It happens on this day, this day and this day.” When you follow a more collaborative approach, it’s not as clear cut at the onset of a project.
Jade: You have to go into more value based fees…
Kevin: Exactly.
Jade: …and it’s a lot more difficult to sell.
Kevin: Exactly.
Jade: Kevin, we really appreciate you coming down. To be fair, just so everyone knows, we asked Kevin yesterday if he could… If you’d like to record a podcast and you said, “Sure.” So we said, “Come tomorrow.” It was a little short notice, but we appreciate you making it out here.
Kevin: Yeah, thanks for having me.
Clayton Lengel-Zigich, Jade Meskill, John Miller and Roy van de Water discuss:
Agile in Education
Scrum in the classroom
How software developers are like pre-k children
The post Episode #93 – Education and Agile with John Miller appeared first on Integrum.
Jade Meskill: Hello and welcome to another episode of the Agile Weekly Podcast. I’m Jade Meskill.
Clayton Lengel‑Zigich: I’m Clayton Lengel‑Zigich.
Roy vandeWater: And I’m Roy vandeWater.
Jade: Guys, we wanted to talk about adding new people to an existing Agile team. I’m using air quotes here, so my quote unquote Agile team, if I hypothetically had one.
Clayton: If that’s possible.
Jade: If that’s possible, yes.
Roy: How agile would you say they are? On a scale from zero to very agile?
[laughter]
Jade: Fourty‑two.
Roy: That’s pretty agile.
[laughter]
Jade: Depends on what the scale is.
[laughter]
Jade: Let’s just say we have an existing team, they have some existing culture and ceremonies, and virtues, and vices, and all of those things. The organization believes it’s time to add new people to the team. Now what?
Roy: Hire somebody and put them on the team.
[laughter]
Jade: That’s easy.
Clayton: The first thing I think that comes to mind is the storming, forming, norming, performing stuff, right? So, maybe you get this Agile team that’s either in the maybe norming stage or performing stage and things are going smoothly, like you’ve mentioned.
They have their set of working agreements or they’ve all agreed to certain things, and, there’s certain processes and they have this team culture. And, then you drop some new person on, and, you tip over the apple cart, they have to start all over again basically.
Roy: So, maybe it’s ideal then, to do it as early as possible so you can start over as early as possible, and, get them performing again as quickly as possible?
Jade: I don’t think any organization really optimizes for not disrupting the teams, right? Someone at some level decides that they need to hire new people, whether that’s, we need to get rid of this budget that we have, or, the team isn’t going fast enough. So, if we just had more people, they’ll go faster. That mapping makes sense in their mind. They’re never going to really…they don’t necessarily care about the teams, the gel of the team.
Clayton: Let’s face it, there’s probably a problem, right? There’s a reason that’s driving the organization to want to hire people, and, it’s probably not because we have so much money that we just need to hire more people.
[laughter]
Jade: Sure. [jokingly] We just have to get rid of all these piles of cash.
Roy: Problems I wish I had.
Jade: I would assume that the team is not performing to somebody’s standard, right? Now, there’s going to be some subtle, or not, pressure to enhance the team’s performance by adding someone.
Roy: I’ve seen this on a team where the team was consulted, so the management went to the team and said, “Hey, we want you to go faster. We want to get you another person and we’re willing to pay for this person. What do you think”?
In our case, we had the team unanimously go, “No. We’ve got enough troubles as it is. We think that adding a new person to the mix right now isn’t going to really make us faster. It’s just going to make things more complicated and, actually, potentially slow us down, while costing you more money at the same time.”
Clayton: I think, that was a sign of maturity on a team with a similar situation. They all realized that, if you add another person, that’s going to probably cause more problems. Even though, maybe, the team as it is now, from the skills perspective is lacking in certain skills and you could find someone that could fill that gap.
I think the team realized that the overhead it would take and the time it would take to get that person up to speed, just from like a human cultural perspective, was a bigger deal than filling that skills gap in the short‑term.
Jade: What about the team’s response to the assumed short‑fall in their performance? Did they think about it from that side as well?
Clayton: The one thing that’s interesting when you take the average corporate team, even if it’s an Agile team or Scrum team or whatever it is, if they have lived the traditional corporate life with the traditional corporate managers, then I don’t think they’d make that connection basically. I don’t think they realize that wanting to add a new person means that someone thinks they’re going slow.
Roy: Even if they did, like the team I was on, when they said, “We don’t think that adding this person will make things go faster.” Even if somebody feels they’re under‑performing, “Yes, there’s now pressure to perform better.” But if the team being realistic about, “Even if we add this person, we won’t go faster.” It’s like it doesn’t matter, right?
Clayton: Well, yeah, and the team in whether it’s performance or if it’s skills gap thing, if the team realizes, “Whatever you’re trying to solve, Mr. Manager, by adding this new person, based on what we think, it’s not going to solve the problem.” I don’t know really what the manager can say, other than, at some point, if they really have to do it, they’re just going to assert their authority and just put a person on the team..
Roy: If you need more people for whatever reason, the right thing at that point might be to form a new team. The only problem is, if you have teams working on different products, what do you do? Split off on the products, give to the new team and how do you deal with the main knowledge transfer? If you don’t have enough products, do you spin up a new product? That doesn’t make your old product go any faster, right?
Jade: So what happens if I’m Mr. Manager and I decide that, you know what…You’re getting a new person. What’s going to happen to that team?
Roy: I think part of what Clayton said about them going through the whole forming, storming thing is pretty accurate. It’s probably going to be even worsened by the fact that the team feels betrayed by management, because their opinion didn’t count and now they have this new person that was pushed onto the team that they’re already resentful about, right?
Jade: But I’m doing it for their own good.
Roy: It’s like the control podcast that we talked about last week, right? Even if you tell people what to do for their own good, there’s an automatic resentment that happens, where if you let people discover that for themselves, they’re a lot more likely to buy in.
Clayton: But I think that if you were to add that person to the team. If you take a team that is performing to some degree, or they’ve kind of gelled together, a lot of times, I think you’ll see that they all have some certain amount of respect for everyone. So if someone says “Hey we should start… we should pair on every task.” If it’s a reasonable team that has gelled to some degree, they’re not going to just throw that out of hand and think that this person’s crazy.
It’s like, “OK, I’m going to take that as a valid point and we’re going to talk about it as a team and that’s totally acceptable.” Then you throw the new person on and they might have totally different opinions about all the working agreements and all the norms that this team has established already. In reality the team wants to treat them like a normal person, the same as everyone else, but they almost can’t because they’re a newbie right?
So you can’t really treat them with the same amount of respect and you can’t really take their input at face value because they’re this new person, what do they know? They haven’t been around with us this whole time. They haven’t been in the trenches.
Roy: But I think you have that problem regardless of whether or not the team chose to add that person, to bring on that person, right? I think you might have more resentment if they were forced that person by management. But if they chose to hire a new person, you’re still going to run into the same thing at first. I think that’s part of the forming and storming process.
Jade: Yea, to some degree. So, let’s say that the team did choose to bring someone on. They went to the management and said “We want more people.” or “We need this thing.” I could see that even going wrong if the interview process was a traditional interview that had nothing to do with the culture and nothing to do with the team and it was all about technical aptitude and, “Do you answer these five…”
Clayton: So they went through the HR process.
Jade: Yea, they went through the HR process. I would imagine that the team, even though said we want someone, they’re going to get some crappy person they don’t actually want.
Roy: I’ve had that personal experience where I was brought into a team with a fairly progressive interview process, not the centered HR thing and there was still that initial forming storming…
Jade: Oh sure.
Roy: …and all that stuff that was going on…
Clayton: The Tuckman Model says that every time you change a team they will go through that.
Roy: Right, right.
Clayton: The difference is in a mature team. They might go through it quicker, and less painfully. But they will always go through that process. Every time you change that team dynamic.
Jade: To get to maybe another part of this topic…
[crosstalk]
Jade: If I wanted to hire someone else, if the team said that they wanted someone, the team was open to it. What would be a reasonable interviewing process to make sure the team could go through those stages as fast as possible?
Roy: First, I think the team should be as heavily involved in the interview process as possible. I could see HR or management or whatever doing some high level filtering to get the obvious idiots out, but before anybody comes onto the team, every member of the team should have a say in it, I feel.
Jade: In terms of, should it be like a unanimous decision basically? If someone comes in, the team should interview them and they only get hired if everybody says yes?
Roy: Well I don’t even mean just a unanimous decision. I mean, it should be, everybody on the team should have interaction with the candidate too. You can have a unanimous decision where, “Clayton’s the only one that actually talked to this potential hire, but I trust Clayton’s judgment so I’m going to thumbs‑up it.”
But I feel that if somebody’s going to get added to the team, everybody on the existing team should interact with that person and have an opportunity to assess them in their own way.
Jade: So doesn’t that make hiring really expensive?
[laughter]
Roy: Well, how expensive is it when you hire the wrong person and you’ve got them on salary and you can’t fire them? That sounds way more expensive in the long run.
Clayton: That’s a problem for future us though.
[laughter]
Roy: Yeah future us will…
Clayton: For now us, that costs us a lot of money.
Roy: And that’s totally discounting the idea of introducing this bad apple into the team and completely poisoning their chemistry and now you don’t just have the cost of the person you just hired that doesn’t fit, but also the cost of paying everybody on the team now that’s not performing because they all hate their lives.
Jade: So what are you trying to say?
Roy: I’m trying to say that one bad person can totally ruin everything on that team.
Clayton: So hire slow?
Roy: Yeah.
Jade: Well, and I think what’s interesting though is if you take that as the perfect advice and say I going to hire slow. I would guess that most people that are development managers, probably the channels they’re using to find people are the wrong channels in the first place.
So this is like a very painful lesson to learn of I want to hire people that are going to be a good fit for the team, that are going to fit culturally, that all these other things, all the check‑boxes that are not the traditional HR check‑boxes, but when I get the recruiter people, I get the wrong people every single time.
Roy: So maybe you should start looking at the local bar.
[laughter]
Jade: Well, where would I go, right? How would I know a better place to find people? The only thing I have is, I submit something that goes through HR and they do something with it and I get people back. What am I supposed to do?
Roy: Yeah.
Jade: You would never hire anyone it seems, right?
Clayton: What happens sometimes, if a team becomes self‑aware and empowered to make that decision and now they don’t ever want to hire anybody ever again.
Jade: I can imagine that would happen, right?
Clayton: Yeah, we’ve seen it happen in places that we’ve worked where it’s become almost impossible for them to hire people.
Roy: I don’t know if that’s necessarily always a bad thing, though. It can be, because it reduces the potential for growth, but maybe…
[crosstalk]
Jade: We’re successful. Our product’s doing well and we need to grow. How do we do it well?
Roy: Well, there’s…
Clayton: I can tell you all the things not to do because I’ve done them all.
Roy: We’ve talked about the two pizza rule, right? A team of seven, plus or minus two, once you get beyond nine people becomes really hard for the people within that team to really know the other people they work with. So once you get to that point and you have to grow, I think that’s the time to spin up a new team.
I think that’s difficult, especially from a domain knowledge perspective, but at a certain point, you have to split off into a new team.
Jade: How does that fix the problem?
Roy: Fix which problem? Which one are you…
Jade: If we’re trying to add people to the company, right, even if we split into new teams…
Roy: That’s tough. I would try to take the existing team, like if you have a team of nine, try to split that into a team of five and four or something like that.
Jade: Now we need to hire four more people.
Roy: If the team says that we don’t want to split, we like working with each other too much that we don’t want to split up, that’s really tough. I don’t have an answer for that.
Jade: Well, and I think that’s just the reality of if you want good teams that are going to gel, then it’s going to take time for that to happen and if you need to change that, then there’s going to be a penalty. In your example if the product is growing and you need to hire more people and you need to expand and do more stuff, whatever that is, then that’s a price you have to pay, right?
Roy: I guess if you really have good people on the team that are high performers and want to learn and change and all that, at a certain point once they’ve been working with each other long enough, they are going to reach an equilibrium in which they stop gaining as much advantage from each other because they’ve already learned most of what they can from each other. If they’re really high performers, they’re going to want new blood into the system that they can learn from.
They’re going to want to bring in people that are better than themselves so that they can gain new skills and gain new insights from. So if you have the right people, at a certain point, they will no longer be content with the people they currently work with and will insist on bringing in new people.
Clayton: Yeah, I guess you could say that. It’d be a smell If you didn’t ever want to hire anyone else.
Jade: So let’s take the other side of that coin and say that I’m a manager of some sort and I’ve realized that this is what’s going on. For the health of the organization, we need to grow but my team doesn’t want to do it. How do I help them understand the need and the appropriateness of this growth?
Clayton: So, part of it is being fully transparent. I think it sounds dead simple, but the idea of sitting down with the team and explaining to them, hey, this is where I see the company heading and I really feel like we need more people to solve this particular problem where I want to start up this product or I want to scale this or whatever, I think the first step is being totally transparent with the team about why you need to grow.
Jade: Yeah and I think you could let the team be self‑organizing and then explain that you want this to happen and the company’s growing and we need to expand, so how would you guys like to address this? I think that’s probably the safest way.
Obviously people are not going to like that to some degree, but that’s much better than just coming in and saying hey we’ve decided that we’re going to get bigger and we’re hiring two new people and you three are on this time and you four are on this other team and we’ll let you know how it goes, you know? Like that would be way worse than just saying we have this problem, we want you guys to solve it somehow by reorganizing yourselves.
Clayton: So self‑organization.
Jade: Yeah, why not live that up the chain, basically.
Roy: You do run the risk of the team saying we don’t want to change and we don’t care, why do we even need to grow? But I think at a certain point if they are really a good team, they’re going to be respectful of the organization’s needs and find a good solution. Just like they did whenever you had some impossible story for them to do.
Jade: Yeah, that’s good. On that note, we’ll wrap it up here. Thanks for listening. We’ll talk to you guys next week.
Clayton Lengel‑Zigich: Welcome to another episode of the “Agile Weekly Podcast”. I’m Clayton Lengel‑Zigich.
Jade Meskill: I’m Jade Meskill.
Derek Neighbors: I’m Derek Neighbors.
Roy vandeWater: And I’m Roy vandeWater.
Clayton: And today we are talking about Soul‑Crushing Technical Debt.
[groan of disgust]
Clayton: [laughs] Yes. Times a thousand.
[laughter]
Clayton: Roy, you coined that phrase, moments ago. Can you explain that a little bit more?
Roy: I’m just thinking of the technical debt where it feels like it’s so intimidating that you don’t even know where to begin. Every effort feels like you’re blowing into the wind, or trying to push a mountain with your pinky toe, or something.
Clayton: Yes. I was looking at some code with someone today, pairing, and trying to work through some stuff. There was some code where no one really knew how this thing worked. If you changed the seventh constructor argument, there were 10 total, if you changed the seventh constructor argument from an empty string to null, then it did something totally different, and it blew up everywhere.
I kind of was feeling the same way. There’s this core part of the application that nobody understands how to use it, and unless you’re sitting there with Eclipse open where you can actually look, and it will tell you all the different crazy details, you would have no idea how anything works.
[laughter]
Derek: That’s OK. I’m winning [inaudible 00:01:21] grudging technical [inaudible 00:01:23] GOTO statement in Java, so there.
[laughter]
Clayton: We didn’t see that.
Roy: That was pretty intense, but it makes you want to do the big rewrite, but some of these applications are so gigantic. First off, the big rewrite is always a mistake. I’ve never seen that go well. But, even a tiny, it feels so big that I don’t know where to start. I feel like anything I do just does nothing.
Clayton: I think also this is when you get into the habit, or where people mistakenly call it refactoring.
[laughter]
Clayton: They say, “Oh, we just [crosstalk] need to refactor that,” which is “We need to rewrite that.” Especially even if they have a test suite, I don’t think you’re refactoring. Even if you have a test suite, if you just go through and just rewrite a big swath of the code.
Derek: We’d have to rewrite every test. I refactored it and now it works better!
Roy: Red, green, wait a decade, refactor.
[laughter]
Roy: Is that how it works?
Clayton: I guess the thing I’m concerned, or I’m curious about, is it a reasonable strategy to say we don’t want to do the rewrite, but we know that there’s parts of this application that we don’t like. Can I take Boy Scout rule and when I’m in some part of the code just try and make it a little bit better?
If, for instance I’m trying to use some PC application that doesn’t really work very well, can I just make some new endpoint or some new interface. And I can just use that thing and I can slowly piece it together. And if I do that over and over and at the end of the day, I would have this natural thing that one can use. But it doesn’t feel like a rewrite.
Derek: No! Even that feel like is marginally better. I feel like it will take years and years before even, be able to notice the changes.
Jade: Sometimes it does, right.
Roy: That’s the author of a lot of technical debt.
Derek: That is so crash‑y.
Roy: I can say that, we have to take that strategy before, or we make small incremental improvements as we go. What I tried to do in later days as I realized how bad things were is do the strategic rewrite. Rewrite small pieces at a time, try to make them a Modular. It still have to fit into the overall mess or nightmare. But those pieces will be nice and clean.
It was really more of a mindset than necessarily a whole bunch of Codes that we had to rewrite. We have to start thinking about things in different ways in order to overcome not so crushing technical debt. We have to get a whole new religion to get over our depression from what we have before.
Jade: Such really tough too. I can hear a whole bunch of people never seen any Code other than this, one project. They don’t any other way, they don’t even understand that there is a better way.
Derek: To me, is really most technical that people have created monsters. And they keep adding more, and adding more, and adding more. And I think what Jade might be talking a little bit more about is when you start to take a more unique approach instead of saying, let’s have a big monolithic Operating System that does just everything.
We have this things that have series of tools that we can change the tools altogether. We can [inaudible 00:04:23] and we can do so really complicated things but by using some very really simple things.
A lot of time, you have to take these big giant monolithic applications that nobody really understands from cradle of the grave and start to say, “Can we take a little bitty piece of it, this little component out of it?” And we pull that out and make it an API or a Library or something that is more independent and everybody can understand what that thing does. You kind of do that one at a time, one at time, until pretty soon, you’ve now got several smaller applications or some applications or some Libraries. So different things.
But now it’s much more testable, much more readable, much less interdependent on everything. That’s where technical debt kills, where everybody is afraid to touch it because they have no idea what actually been impacted by.
Roy: Like we had that GOTO today that we were arguing about like why even sit and make fun of it, why don’t we just fix it. It’s like, everybody is too scare to touch because who knows what the hell they were thinking when they did that.
Clayton: Well and that’s like the big thing that Bob Martin goes over is, you get code rot and you get all these bad practices because people are afraid. That’s like the fear of changing that code is probably the worst that you can have in your [inaudible 00:05:32] .
Jade: I agree.
Derek: Well and I think that is the smell of technical debt, right.
Clayton: Right.
Derek: The minute that you are afraid to change your code; you probably have some form of technical debt. The more afraid you are, the more soul sucking, soul crashing that, that has become.
Clayton: How much technical debt or maybe how bad does it have to be or do you think before the average team is realizing that that’s inhibiting them from either being more successful or having more “progress” and how you will you measure that? Maybe shipping more features or being able to deploy more frequently or having a 10 minute [inaudible 00:06:07] or whatever it is?
Roy: I don’t know but a month ago my opinion would have been way different than today.
Clayton: I think it’s right about the time you got a business.
[laughter]
Clayton: That’s probably realistic.
Roy: I’m willing the team whatever realize it on their own because they’ve been boiled into it slowly.
Derek: The only time I ever see teams come to that realization is if they have somebody new added to the team that says, “Oh my goodness, what are you doing?” Or if they get to a point where they keep adding crap on and somebody asks…You think of a Christmas tree and it goes up to a point and then somebody says, “I’ve got a 7,000 pound star I want to put it on top of the tree,” and they go “Ugh! We need to rewrite this so that it can support a seven…”
And that’s usually what it comes down to is, “Yes, we can do the 7000 pound star but we’re going to need three years to rewrite the application to accommodate that.” If it really is a 7000 pound star very often the business says, “It’s worth a whole lot of money, so I guess we’re going to give you three years to rewrite it.”
Clayton: And then it doesn’t support the star and it takes six years.
Derek: Right.
Jade: [inaudible 00:07:13] deal with a 100 pound star.
Clayton: Well and then we just build up a whole other set of technical debt, right.
Derek: Correct, because we didn’t learn anything from [crosstalk] . We never had to deal with fixing the problem; we just got to start it from scratch.
Clayton: How do you get enlightenment?
[silence]
Jade: That’s a tough question.
Clayton: I was just waiting for that to be totally silent there for a second.
Jade: [laughs] Good thing we have all the answers on this podcast.
Derek: I know.
Clayton: I think some it…
Roy: I needed the answer out.
[laughter]
Jade: It’s a secret.
Derek: For a mere $3000 dollars for a minute we can tell you things…
Jade: Get out of technical debt.
Clayton: I think there’s two kind of elements to it, one is I think that people have to be ready to hear it, have to be ready recognize it. Sometimes I think people are in kind of that mind set or that thing of, “Who are you to tell me that I’m potentially doing something wrong.” If I’m not ready to be there it doesn’t matter.
Roy: It’s a 12 step program?
Derek: You have to be able to make you have a problem.
Roy: There’s a higher power and the higher power has control over the code.
Derek: I think the other thing is until you kind of get a little promiscuous in other code bases, I don’t think you understand the deficiencies that you have. I know from myself the big thing we’re starting to participate in open source and free software, that really gave me an introduction to a whole bunch of developers working with them and hearing their opinions and hearing how they thought this was damn or that was great or this was…
Clayton: They reject your patch?
Derek: They reject your patch. I think that that opened up a whole new world outside of the limited scope. Even though I might have been in a company that had 100 other programmers, there’s a bunch of group think within that group of 100 programmers.
The minute I started to step out and deal with different platforms and different countries and different ages and all sorts of different demographics about they viewed things, it started to open me up to like, “Wow, maybe I’m doing some things that are really stupid, maybe I’m doing some great things, maybe I’m doing some bad things.” It was the first time that I actually reflected and said, “Wow, maybe I should look at what I’m doing.”
Jade: I had a similar more experience, I came mostly from a self taught, but a kind of isolated path right to development and once I really started getting into supporting free software and kind of drinking the kool aid there, that really opened my eyes to another whole other world of doing things and really an intolerance for crappy code.
Roy: I think pairing helps a ton with that too, but even with pairing somebody in the group of people that are pairing need to know some different practices.
Jade: If we both don’t care…
Roy: Right, we both don’t care or we both…even if we care but we both only ever worked on the same code base and we don’t know any other way like, “We’re never going to be able to teach other good things.”
Derek: I think a lot of it is getting out the same technology. If I program in .NET all the time and I have no concept of what UNIX is, there are some huge paradigm differences between those two operating systems and platforms. There are good things and bad things about both of them, but if I only know one of them, I am totally ignorant of the other.
Same with languages. If I’ve never used a dynamic language or a statically typed language or a compiled language aversion, interpreted language, I have no idea how the other half lives. I think you can take so many things back, even if you just go play around with the project or with some code for a couple of days and figure out how some things work.
You can take that experience back to what you’re currently doing and I think that is the thing that is really difficult. Until you’re doing that, I think you have no self‑awareness. I think you have to actively seek to be self‑aware about how you write software.
Clayton: So how do you go about paying off the debt? Is that something that you do?
Derek: Add more people.
[laughter]
Clayton: Assuming you added infinity people…
Roy: [laughs]
Clayton: …and your project is good.
Derek: I would rewrite it then, because now you’ve got lots of people to rewrite it.
Jade: Skunk or a kitten?
Clayton: Do you try and just take the incremental approach and do it? Maybe you inflate everything, like every new feature you inflate because you’re going to try and tackle with the debt. You kind of, “Hush, hush.” You don’t tell anybody you’re doing it, but you do it anyway.
Jade: How do you pay down normal debt? No, I’m really asking. I need to know.
[laughter]
Clayton: You don’t normally share a normal debt amongst a bunch of people, like you share it amongst your family.
Roy: That’s why my wife [inaudible 00:11:46] .
Clayton: But, with a team, many teams don’t even see themselves as that much of a team, so they don’t even think of the debt as a team ownership thing. They think of like their own specific screw‑ups a maybe a small part of their debt, but they don’t own the code base because, “I didn’t touch your part of it. That’s your problem.”
Roy: I think that’s a good point. I don’t think you want to lie about it because what’s going to happen is I’m just going to end up trading all sorts of other problems and team dynamic issues and trust issues and everything else. But if you were to look at normal debt, you would say, “The first thing we have to know is, “How bad is it? How much do we owe?”
Then, you have to know, “How much do we make?” Then, you have to know, “What’s an acceptable timeline to pay it back?” Based on that you’re going to have to make all sorts of decisions. So if you say, “I’m X‑thousands of dollars in debt. I make X‑amount and it needs to be paid in the next 12 months.” I know how much I need to cut my spending or increase my revenue in order to pay that in that time.
Derek: What happens if you can’t? What happens if your income is not enough to cover the debt in that timeline?
Clayton: If you’re listening to this podcast and you have a manager who treats it like, “Man, if you have technical debt, you screwed that up. That’s your bad. You’re going to have to figure that out on your own because you still need to make up. You need to deliver all these features. You need to have 20 velocity.”
Derek: That’s what I put on my resume. At some point, you have to be realistic. There are some projects that are so far in the technical debt that it would probably be beneficial for people to say, “We’re going to ride this product out to its death and we’re not going to add more code to it.”
Jade: Adjust the partner.
Derek: We call it end‑of‑life in a product for a reason. There are times where a product has run its course. Meaning if the product is not able to boost revenue enough to pay to remove the technical debt, it’s probably not a product worth continuing to operate.
Roy: That’s a good point.
Jade: Sometimes the cost benefit ratio is so out‑sized because it takes so much effort to add the smallest feature because of all of this technical debt.
Roy: Right.
Jade: I think that becomes your compelling selling point. If you’re trying to maybe turn the corner before it’s too late. You really need to look at and measure, “How hard is it to add a feature? How many defects get generated every time we add a new feature because of intended consequences? How do we start to mitigate those things?” But you need some metrics around that.
Clayton: I think it’s really difficult to measure how the technical debt and the coupling of the code and all that other stuff impacts the feature adding. I think that’s a difficult skill to acquire and a lot of teams really don’t have that.
Derek: It’s not teams, it’s poor product ownership. This is a classic case of I’ve got a product that’s making $10 million a year and it’s been making the same $10 million a year for the last three years, i.e. it’s got no growth. But, I’ve got a team of 10 people that I’m paying to add new features to it.
If I’m paying three teams worth of people to add features and I’m not getting any additional revenue, I have to ask myself, “Why am I not having two or three people maintain this program and let it ride itself out for the next two, three years making $10 million, take those other three teams and go build something new. Not rewrite this out again, but go build something new that could be a potential new revenue generator.” I think people are just afraid to admit those kinds of things.
Clayton: I think we are out of time. I hope we have adequately addressed the soul crushing technical debt.
Roy: My soul feels kind of crushed and under pressure.
[background noise]
Clayton: We’ll leave like 11 hours of silence on the podcast.
[laughter]
Clayton: Somewhere in there, we’ll answer the question about how you solve this problem.
Roy: We’ll come back in with it.
Clayton: So keep listening.
[laughter]
Derek: I’ll end at 17.
Clayton: Thank you.
[silence]
[background noise]
Clayton: My soul still feels kind of crushed.
Recording: The answer is 42.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich.
Roy vandeWater: I’m Roy vandeWater.
Derek Neighbors: I’m Derek Neighbors.
Clayton: Today, we’ve got a smattering of topics for you. Actually, I think we have three or four things.
Derek: It’s like a turkey buffet, the day before turkey day.
Clayton: Yeah, it’s like a podcast potluck sampler.
Derek: In two weeks, which will be when you’re listening to this now. Right now, remember what Thanksgiving dinner was like two weeks ago, which is tomorrow.
Clayton: We’ll see if this puts you to sleep more than the turkey.
The first topic that we wanted to talk about was, oh, geez, I forgot. We have a team that we’ve been doing some work with that they were doing two week sprints, then they went down to doing one week sprints. They’re doing Monday to Friday. The topic came up of, it’s really hard for us to get all the work done in that one week, and we keep failing our sprints. Maybe we should shrink it down even more.
Derek: Wait a minute. The first answer was maybe we should make them three‑week sprints.
Clayton: Oh, that’s true. We shot that idea down. But we said, “Hey, maybe we should shrink it down and have an even smaller time box, and get feedback even faster, so let’s try and do one‑day sprints. Let’s meet in the morning, do a quick little planning thing to figure out what’s going on, organize the work, and then let’s do the work and let’s check…”
Roy: …But we’ll spend all day planning.
Clayton: What happened? Did we end up spending all day planning?
Roy: I was not there.
Derek: No, I don’t think so. I think a number of people on the team, their biggest concern was it seems that we spend all day planning, regardless of what iteration size that we seem to have. If we went to one‑day planning, we would have to make planning happen a little quicker.
Those of you that don’t know the Core Protocols, they use the Core Protocol Decider. The only way they could get the entire team to agree to a one‑day sprint was to time box planning to 30 minutes.
Clayton: When the team decided to do that, I think the very first planning meeting, they were still doing capacity planning where they would put their hours on the board, how much time they actually had during the day, and then they would commit to whatever work they could get done.
I think for the week or so that we did that, it turned out to be that it wasn’t really like a one‑day sprint, because we weren’t doing a sprint demo necessarily at the end. It felt to me more like the team was really thinking about who was going to do the work. They were really organizing how the work was going to be done in the morning, which I feel like is something that is beyond what we were calling one‑day sprints.
How did you think that went, Derek?
Derek: I think that the few fundamental differences that I saw were ‑ one, they were actually very concerned about how they were going to do the work, because they knew they only had a day to do it. When they were doing a longer sprint people would tend to kind of check out during planning and like, “Oh, Clayton’s got this, he knows what’s going on so I’m not paying any attention” to the tasking that’s kind of at hand, where I think they were much more focused.
The other thing is they knew they really couldn’t take in more than a story or two, and because of that, you got a team of six or seven people, you got one or two stories by default there’s some swarming behavior, and there’s pairing opportunities that really came in. Two things that that team was not doing well at all before was swarming and pairing, and so they’d have seven stories, seven people, seven stories all happening in isolation.
Everything looks great and they come to the last day of the one week sprint, and I’ll be darned that all seven stories are five percent of the way from being done. They’re a spectacular failure at the end of that. I think that it kind of reframed how they thought about breaking down work, and they realized I think for the first time that three or four people could all be in the same story, and it could still be effective, but it required them to talk multiple times throughout the day.
Roy: Were you guys, actually, able to break the stories up small enough so they all fit within one iteration?
Clayton: I think in that case they didn’t have any stories that took longer. They actually were a little more aggressive about negotiating scope, which I think they normally wouldn’t have done. They would have been able to say, “Well we got a week to do all this stuff, so it will all fit.” But when they really got down to like, “Hey, let’s talk about what we have to do to get this done,” then I think they uncovered some of those unknowns they would have found out about on Thursday, otherwise.
Roy: Did you find this made you really susceptible to people being late? If the first thing you’re doing every morning is planning, and do you want to figure out your capacity, and somebody shows up half an hour late, and they miss planning, how does that effect you?
Derek: I think it actually had the opposite effect. I think people were, actually, more mindful of being on time because one of the problems before is they didn’t think the stand up was very valuable. There was no need to be on time to this stand up that you didn’t get any value of, where they knew if they missed a day of planning that they would be significantly out of touch with what was going on for the entire day. I think it actually made people value the start of the day much more than they did before.
Roy: What point does it start breaking down, one day sprints sounds like you got some value out of it, like what if you did one hour sprints or one minute sprints or one second sprints? Like at where does it become unreasonable?
Derek: I think the breakdown that I saw that was huge was ‑‑ it’s very difficult for the product owner who is in charge of multiple teams or not in charge of them, but has multiple teams on this particular product. It’s very hard for them to commit every single day with their workload at the same time.
Since the team is totally dependent on having new work to start every day, if she was late or not able to be there, that could seriously impact the entire day for the team, so that was a major hurdle to overcome.
Then, of course, the other one is if you start to get bigger stories that don’t decompose well to less than a day’s worth of time for the entire team, or if you got stories that rely on feedback from somebody else that might take a day or two for those to go, it becomes difficult for how do you deal with those.
Clayton: Just to shift gears a little bit, Roy, you recently have an experience using the Checkout Protocol during the retrospective. I was wondering if you could maybe share that story.
Roy: Sure. We were having a retrospective. I think it had been going on for about an hour and a half, and I think a little bit in we decided to come up with a smart goal. The smart goal is actually suggested by the scrum master, so it’s a little odd from that perspective.
In general, the retrospective was going around in circles, and we were lost to what was going on. It didn’t seem like it was moving forward at all, like it suddenly repeat back on itself, and it just go for some iterations.
The rest of the team that I was working with was all familiar with the Decider Protocol. I ask them if they’re familiar with Core Protocols, and I ask them if they knew what the Checkout Protocol was, and they said, “No.” I explained to them how it works.
If you feel that you are able to provide more value somewhere else or if you feel like you are ‑‑ I believe the word Jim uses is ‑‑ emitting random emotional signals, or something like that, the idea of you’re just firing off random emotional stuff and you can’t deal rationally with the situation. I explained to them that if that type of thing happens, you can say, “I check out,” and walk away.
You are able to get out of whatever the thing that you are participating in. I explained to them how that protocol work, and then checked out, which I think shocked quite a few of them because they were not quite used to that type of thing.
Clayton: The retrospective is like a meeting, and you can never really leave it. But in your case, maybe you felt like your time is better used elsewhere, or you couldn’t rationally participate at that point.
Roy: For me, I definitely felt like my time could better be used elsewhere. I was probably misusing the Checkout Protocol in that I was trying to use it to send a message that I didn’t feel I could send in any other way, which is, “This is a waste of my time, and I should do something else.”
It wasn’t so much that there was something more important for me to do as much as it was a, “This is something that’s not important at all.”
Clayton: I was wondering when using the Core Protocols, if you have a team that is familiar with them, and especially if they’re familiar with the Core Commitments, I think using them can be the super powerful tool. If you get a group of people or team that is only tangentially familiar with them, and doesn’t really know the Core Protocols, I wonder if it’s like playing with fire.
Roy: Yeah, I definitely stepped on a few toes, and I did that. I think some people were probably rightfully offended or at least hurt by it.
Clayton: Do you think you’ll see someone use the Checkout Protocol in the future?
Roy: I don’t know. I hope so. I think I talked to Derek about it afterwards, and he was present at the retrospective as well. He feels like if you were to ask anybody at the time if they want to leave, they probably would have said yes, because I don’t think it was a secret that the retrospective didn’t feel like it was adding value. I don’t think I was the only one who had that impression.
Clayton: Speaking of adding value, you guys have been working with a team that has been trying to adopt pair programming or promiscuous pairing, and doing a lot of pairing with different people on the team.
I think that you guys are facing that common criticism of pair programming that, “If I’m an expert or I think of myself as an expert, I can’t pair with novices because they’re too slow. They slow me down. I’ll be so much faster on my own.” Is that an [inaudible 09:43] ? Have you guys been seeing something like that?
Roy: Mm‑hmm.
Derek: Yeah, I think it’s a little bit odd. It’s not probably different than you’d see in any other organization, but one of the things that this particular team has a little bit of a challenge with right now is they got a really significant skills gap between some of the people on the team.
They were not a cross‑functional team before. They are now a cross‑functional team, and that has created a significance skills gap in both knowledge and domain as well as technical skills. Early on, the senior developers, for a lack of a better term, really didn’t want to pair with some of the people that had a skills gap, because they felt that it was really slowing them down.
At some point, during retrospectives, the folks that feel like they’re slowing people down admit that they are slowing people down, but they came to the conclusion, “If you don’t pair with us, how are we ever going to close the skills gap?” They came up with one of the retrospectives goals that the senior people were not allowed to touch the keyboard at all.
Their mindset there is if they are not allowed to drive, they are forced to teach us. Of course, this frustrates the developers to go a whole sprint without being able to touch a keyboard.
Roy: That would frustrate me.
Derek: The retaliation back was that, “We need to have those with the lowest level of skill, pair a fair amount of time together, so that we don’t have to pair with them, and slow it down.” Some of that comes with, I do believe there is a matrix out there, where if you say, two people of a high skill level pair together they will probably go really fast, but they will not probably learn a ton from each other.
They’ll learn something, but not a lot. If you have two low level people, or low skill people, pair together, they will go really, really slow, but they will learn a ton, because they’re both so out of water. They have no choice but to totally lean on each other to get anything done.
Any combination outside of that, whether that is two medium skilled people or high skill and a low skilled, you’re going to get some variation of somewhat fast and some learning. What happens if you’ve got a high skill and a low skill? You’re probably going to have a fair amount of knowledge transfer, but you’re going to slow down significantly.
Teams really struggle with what’s the balance, and they seem to shift from one polar to the other polar, to where it’s like, “No senior developers can drive. We have to go really slow so that we think we’re learning.” Then, it switches the other way, “No senior people develop with low skill people so that they have to learn more, and we can go fast.”
What we’re seeing them start to understand a little bit more is that when they’re actually more promiscuous and switch up, at least once a day that they get both met. They feel like they’re able to go faster when they are with one person, and they feel like they’re learning more when they’re with another person.
We’re finding that balance is striking pretty well for them.
Roy: One important thing about that though is that you’re talking about this matrix as being applied to the same body of work ‑‑ two low knowledge people working on the same thing that two high knowledge people would.
What we’ve started to see is it’s really uncomfortable for two low knowledge people to work on something that’s difficult or something that, maybe, requires a little bit more knowledge, because of the fact that they don’t have anything.
That is exactly what is required in order for them to gain that knowledge. What we’ve started to see happen is that when two people with low knowledge start pairing, they would shy away from the difficult stuff, and grab the low hanging fruit that they already knew how to do.
We ended up with these two, it was one pair which was essentially, idealistically high performing, but not really gaining much knowledge, and they were doing all the difficult stuff. Then you have one pair that would catch one of the lower hanging fruit and cleaning up after everybody else, but not really learning.
Now you had, essentially, two silos, where it was a silo with two people that keep to themselves who, maybe, were moving fast, but the two low knowledge people weren’t actually learning anything.
Clayton: I feel like from what I see more and more is when I’ve paired with people that are very novice or entry‑level, I try to make it very clear about asking questions. I think most people are open to that.
They ask me all kinds of questions that I feel like when they’re pairing with the people that are “senior developers”, they ask some question about, “Why do we do it this way?” A lot of times, the senior developer person doesn’t really know, but that’s just the way it’s done.
If they were pairing with another senior developer person, they have both already determined that this is the way we do things and there is no reason to ask that question. A lot of people, “experts”, get frustrated because it’s like, “I want to try and get this work done, but now you’re making me think about every little nuance, or whatever, every detail in this code base that I really don’t know myself.”
It’s just aggravating. I keep seeing that more and more.
Derek: For those listening at home or at work or in the car, the moral of this story…
Roy: Or on a plane.
Derek: …or the plane, or boat…
Clayton: Hot air balloon.
Derek: …the moral of this story, in my opinion, is that one of the key drivers and benefits of pairing is learning. If you are not learning when you’re pairing, you’re probably pairing wrong.
The rate of learning is going to be dependent, but, I would say, even if you’re an expert with a novice, when that novice asks those questions that you don’t know, that’s an opportunity for you to know that you need to learn the material better. When they say, “Why do we use this plug‑in, or why do we accentuate the class this way?”
When your gut reaction is, “Well, that’s just how we do it around here,” and you don’t really know, that’s a learning moment for you, that maybe you’re not as expert as you think you are.
Roy: It’s really difficult for a lot of senior people to say that, or to even admit not knowing something.
Derek: It’s hard to admit you suck for sure.
Clayton: [laughs] Someone gave me this title and I’m not giving it away. You have to pry it from my cold dead hands.
That wraps it up for our Thanksgiving edition of the Agile Weekly Podcast. Make sure to check us out on Facebook at facebook.com/agileweekly. You can talk about this episode and others. You can “Like” the page and get us some reach so other people can find out about us.
Derek: Gobble. Gobble. Gobble.
Clayton: Thanks. Bye‑bye.
Roy: Bye.
Jade Meskill: Hello, and welcome to another episode of the Agile Weekly Podcast. I’m Jade Meskill.
Drew LeSueur: I’m Drew LeSueur.
Derek Neighbors: I’m Derek Neighbors.
Roy vandeWater: I’m Roy van de Water.
Jade: Guys, I wanted to talk about a hypothetical situation where what if the team that you’re working in has lost its motivation? You find yourself in a coaching role, a mentoring role, and the people that you’re working with just seem to have lost all their energy, really not making any forward progress. What would you do if faced with that situation?
Drew: I’m thinking maybe something, an activity, or something to spark the joy that they maybe once had in that. I don’t know what that would be, but try to get them to remember the joy that they had at one time.
Derek: To me, I think it depends. Do I know what’s causing it? Is it that they’re just working a ton of hours? Is it that they’re only working on defects? Is it that they don’t understand the product and the market? Is it that nobody is adopting the product?
Roy: They hate the people they’re working with?
Drew: They hate their coach?
Derek: What are some of the symptoms or potential causes?
Jade: Let’s say that they’re working at a sustainable pace. Nobody is burning the midnight oil, or anything like that. They have a reasonable idea of where they’re supposed to be going, they just don’t seem to be real excited about going there.
Derek: I think motivation is this kind of tricky thing, that you have to really buy into it. If they’re not motivated in going there, I’m assuming that it’s one of two reasons. Either that where they’re being asked to go really doesn’t have a lot of meaning, and they actually know that, and their way of actualizing that is by disengagement.
The other possibility is that where they’re going is meaningful, but whoever is asking them to go there hasn’t done a good job of providing that meaning in enough detail to get them excited about the journey.
I think if people aren’t excited about the direction that something is going, or where it’s going, the barrier that it creates for them to actually be engaged can become to the point where it’s significant enough you can’t overcome it.
Some of that depends on the people. Some people are fairly excitable. It doesn’t take a whole lot to get them excited about going somewhere. Some people are real sticks‑in‑the‑mud and you really have to fight, maybe even on a daily basis, to keep them going in a direction.
I would probably say, if that was the case, I would start with asking myself, “Does this team really have a compelling vision and reason for going where they’re going?” If the answer is “Yes,” start doing something to get them down the path of realizing the impact of the work they’re doing.
Until I could do that, there is probably not a lot of tricks I could do that would last more than a week or so. I might be able to temporarily engage them in something, but the truth is, “Let’s work on this fun new thing for a little bit!” As soon as the fun‑ness wears off then we’re right back to where we started. I think it’s always got to be the root of, they’ve got to believe where they are going.
Roy: Now is it my turn? Is that why you guys are staring at me?
Derek: [laughs] I don’t know.
Roy: I don’t know. I don’t have any opinions, not in this case.
Jade: [laughs] That’s a lie!
Let’s imagine that we’ve tried a few of the things to boost the energy, and like Derek said, it’s had a short‑term positive effect but its kind of worn down and now we’re out of tricks.
This team still says that they still want to go in the direction that they’re heading, at least that’s what they say on the surface. Is it OK to have a season where you’re not making a whole lot of progress?
Derek: I would say that if the team was not making forward momentum, the answer is “No,” but I think it’s OK to say, maybe for this particular thing, “Hey, if we’re not making progress in this, we’re not moving forward with this particular thing, and none of us can be energized to get behind it, maybe we say, ‘For right now, yeah, we believe that’s a good direction to be going in, something that’s worth doing.’
“But if we can’t find the motivation to do it maybe we need to move into, ‘What does motivate us? Where is somewhere we want to go?’ Maybe we go through that until we get out of whatever that funk is.” Meaning, sometimes maybe you need a distraction. Maybe it’s a week, maybe it’s a day, maybe it’s a month, to basically be re‑energized back to level set.
Jade: Do you run the risk of chasing the new shiny?
Derek: Yeah, I think that most teams, that’s their problem. that they don’t really understand where and why they’re going somewhere.
They think they do, but they don’t actually know, so when the rubber hits the road, and you get to what I’d call “The grind,” or “The hard part,” or “The Dip,” as Seth Godin would say, I think it becomes like, “This isn’t so great. It’s not so shiny, it’s not so fun. I know I really want it, but I don’t really want it bad enough to push forward.”
I think that, at that point, you either have to decide, “Hey, am I going to go a different direction?” but you run the risk of, do you constantly just run the other direction when you hit the dip? Or do you say, “I’m going to have to push through. I’m going to have to do that.”
I think sometimes, to me I think maybe that’s where a coach…Maybe that’s where external factor, maybe it’s a jerk on the team, somebody who pushes that issue and says, “One or the other, go.”
I can talk a little bit from an analogy perspective. I’ve got a daughter that plays pretty high‑level competitive soccer, and I think she lost, I won’t say “Her interest.” I think if I asked her, “Yeah, I still want to play in the US women’s national team, but you know what? It’s a lot of work.
“I’m spending four hours a night, four nights a week doing this, playing on the weekends. I’m getting screamed at, and it’s emotionally difficult, and everything else.” I told her, “Why don’t you just quit? Why don’t you take a break for a while, you just play high school soccer, and don’t do that?”
She was like, “No, I really don’t want to.” I’m like, “Well, you know you’re not performing, you’re not having this.” She got a new coach, and this particular coach is a role model for her, played on the US women’s national team. Can speak her language, and was really hard on her, and pulled her aside and said, “Look, if you really, truly, want this, what you’re currently putting in, you will never get there.””
“You’re telling me you want this. I’m going to sit you on the bench, and I will not play you until you show me that that’s what you really want.” It took her about two weeks of a lot of weeping and gnashing of teeth, and now she is more committed than ever.
I think sometimes you have to look into the the fire and say, “Is this what I really want? If it is, how do I dig into that deeper level to get there?” The problem is that that’s deeply personal. It’s very difficult to do that at a team level.
Jade: But is that part of the problem of a team who’s lost their motivation? That at a personal level, they haven’t dealt with those things?
Especially if many of the people on the team are in that same situation, it’s a lot easier to just avoid it and focus on some of the surface level things that are going on. Instead of really, really digging down and saying, “OK, is this really what I want? Am I willing to cry about this, and get really upset, and finally work my way through it at a personal level, and now I can deal with it at a team level”?
Derek: I think a lot of it too is, usually what I see happening in those aspects are there’s some level of sacrifice involved.
In my daughter’s case, “I can’t spend a night in anybody’s house on Friday and Saturday, because I’ve got games all weekend. I get no sleep, because by the time I get home from soccer practice it’s eight or nine o’clock at night. By the time I eat and I do my homework, it’s 11 o’clock at night, and I have to be back up at 5 o’clock in the morning.
All of these things are like, “Look, I’m missing all this other stuff, and so every day, it’s a decision, ‘Do I do this or do I do that?’ and the ‘This’ isn’t immediate. Spending the night with my friends is immediate satisfaction, and I had a great time spending that with my friends. Training and going to the game does not have immediate satisfaction.
“Whether I win that game or I lose that game, I’m not going to try out for the women’s national team for four more years. I have to learn how to delay my gratification on what I’m putting a sacrifice for, for a significant amount of time.”
I think as individuals and especially teams, that’s usually where it’s at. It’s like, “I have to make this decision of, ‘Do I piss this person off?’, or, ‘Do I miss out on this thing?’, or ‘Do I do this right now, today?’ for something that I don’t even know if it’s actually attainable. I don’t even know if I can actually get there.”
I think that yeah, that’s deeply personal stuff. Then I think it cascades and complicates, because you can’t do any of those things by yourself. In my daughter’s case, it’s pretty much on her, probably, to be able to make the national team or not.
But if you’re talking a company, you’re talking a team, or you’re talking a product, one person can’t deliver a product. One person can’t deliver whatever. Now you’re lying faith in other people to push through whatever they’re going through as well.
Jade: What could we recommend for a team that’s maybe facing this crisis of faith in wherever it is that they’re heading? What is it that we could encourage them to try to do to work through a lot of the personal issues before they can even bring it to the team?
They’ll probably have to rework through the forming, storming, norming again after you’ve dealt with this internal issue.
Derek: Just chase the new shiny. It’s a lot easier than when you go to work.
Jade: [laughs]
Derek: It’s more fun too.
On a personal level, I think each person on a team has to take assessment of where they’re at, where they want to be. Do they really want to go whatever direction the team is looking to do with their product or whatnot, and say, “Is this something I can get in alignment on?”
If the answer is “Yes”, then I think that they have to look back to everybody else on the team that is in the same boat and then say, “How do we help each other get there? How do we hold ourselves to be accountable?”
I see this a lot of times. I like my sports analogies. You see this a lot of times on teams too. One of the premier teams that I coached for a long time, they really had this whole concept of “Be excellent.”
What they would do is they would really hold each other to that standard. If somebody passed somebody a ball that wasn’t a great ball, they would say, “I demand excellence.” It wasn’t a rude thing, it was, “We’re all going to remind each other that if we really want to win a state championship, we’re only as good as our weakest pass.
“It only takes one failure in defense to give up a goal. It only takes missing one shot to not score a goal. In this sport it’s a difference of one goal when you’re at that level, so we have to demand that of each other.”
It’s making that internal commitment to each other. To say, “If we’re all making the personal commitment to this, now we need to make the team commitment to that same thing, whatever that level is.” Not only so you have accountability, but so that you have the ability to help each other to that level.
Jade: If you’re not in alignment on those things, it’s going to be very difficult to do that. If a few people on the team are pushing in that direction, I think it’s going to be very abrasive to the rest of the people who aren’t on board with that.
What happens if people don’t want to get on board or go through that trial?
Derek: If nobody on the team wants to do that, then obviously the team needs to find what they do want, something that aligns to their personal piece. If you’ve got part of a team does, part of a team doesn’t, do you split into two teams? If it’s one or two people, does it make sense?
I’ve seen this happen. Going back to the sports analogies, LeBron James would be a great example of this. “Cleveland Cavaliers, we’re not going to win a national championship. I want a national championship. I’m willing to take less money to go somewhere where I can win a national championship, because for me, that’s what’s the most important thing.
“Being the superstar, or the highest paid or whatever, that’s not what I’m looking for. I’m looking for a ring, because that’s what I’m getting criticized for. That’s what I’m interested in, and I make that move.”
That’s not saying that necessarily the other people on the Cavaliers didn’t want it, but their general office wasn’t willing…
Jade: They weren’t willing to leave to do it?
Derek: Their general management wasn’t willing to spend the money to get the other supporting cast members to do it.
I think that that’s part of it too, when you’re dealing with skills gaps or other things. Sometimes you have to say, “If we really want to get to here, we’re trying to achieve this, you have to be realistic.” What does that mean for each person on the team? What do they have to do to be able to help the team get there?
At that point they might say, “I’m not good enough to be on this team. I need to be on another team and make do with that, or I need to step up my game, or I need to get a personal trainer.” Whatever that thing is.
I want to be on a team that travels more. That’s what’s important to me. I don’t care if we win games. Maybe I’m just trying to get recruited for college, so I want to be on a team. I don’t care if they’re any good or not, from that standpoint. I don’t care if they win a state championship, I just want to be seen by college coaches.
Whatever your goal is, if you don’t have personal alignment it’s impossible to be on a team that has team alignment.
Jade: That’s the re‑occurring theme that I keep hearing through this whole discussion. If you don’t know what you want, it’s going to be impossible to work together as a collective to get what you want.
You out there in listener land, if you’ve been through some of a similar journey please share with us on our Facebook page. We’d love to hear some of the experiences that you have, or techniques you used to work through an issue like this.
Thanks for listening to the podcast. We’ll catch you next time.
Drew LeSueur: Hi! Welcome to another episode of the “Agile Weekly Podcast.” I’m Drew LeSueur.
Roy vandeWater: I’m Roy vandeWater.
Clayton Lengel‑Zigich: And I’m Clayton Lengel‑Zigich.
Drew: Today, we want to talk about Class Systems within Organizations.
Clayton: Do you mean like Java classes?
Roy: Yes.
Clayton: Jars?
Drew: Jars, class hierarchies, entity inheritance. What have you guys seen? How do class systems within organizations affect…?
Roy: You mean classer developers, like second class citizens?
Drew: Yes, like first class citizens and second class citizens, and it’s, “Oh, I’m better than you,” “Oh, they’re way better than me.”
Clayton: I think the most obvious one is usually the division between developers and QA.
Roy: Developers and senior developers?
Clayton: Yes, that’s another good one, too.
Roy: Developers and architects?
Clayton: Yes. I guess the hierarchy is usually architect, and then senior developer, and then regular developer, and then maybe junior developer, if they have that, then the QA people.
Roy: Then manual regression.
Clayton: Manual regression people. Yes, you are paid to click a mouse and smash on a keyboard thing.
Drew: Have you seen it where the people who are maybe higher‑up looked down upon the people who are supposedly lower?
Roy: There you have it. That’s how being higher up works.
Clayton: Yes. I think that’s just inherent in the definition. When you get promoted to be senior developer, or whatever, can you have that job title? Then that somehow means that you have more authority, or better you have more experience.
Roy: And a higher paycheck?
Clayton: Meaning more pay, more benefits.
Roy: It’s probably even at an expectation that you treat the people that are below you with at least a certain amount of disrespect, in order to make your position more substantial, and in order to fit in with other people that are at the same level as you.
Clayton: Other part, it depends on the on the manager. I don’t know anyone who would explicitly say that, but I could certainly see there’s management styles that are very hierarchical like that, that would really reinforce that thing. I could see a manager saying to someone like, “Hey, man, you’re a senior developer now. You can’t do XYZ, or whatever.”
Roy: You can’t be hanging out with those lowly developer types. If they see you talking to those QA people, nobody’s going to take you seriously in this business.
Clayton: I could see something like that.
Drew: I really like the word “empower.” People should be empowered to do great things. If you have this system setup, it seems like it forwards that empowering of the people. What are some ways that you can go against that, this class system?
Clayton: One thing that I think that you’re saying is that if you look at some people that are talking about agile stuff these days, they don’t like the word empower. They get like, maybe this is like second level thinking kind of stuff, super nuanced. But I think the gist of it is if you say that you’re going to empower people, it’s like you’re acknowledging that you work in a hierarchical structure, and so then people have to be empowered to do something.
I think that one way you can kind of get away from some of the hierarchical stuff is like self‑organized teams that are cross functional, like some of the scrambling prescribe.
Roy: I think it’s easiest to come back from the higher up you are. If you are, let’s say, a senior level developer or an architect, and you have your own corner office, and perhaps your secretary and whatever it is that you got, because you got your fancy‑pants promotion. If you want to make a difference on the team, and you value the idea of everybody being equals, and being able to contribute equally into a project, then the best thing you can do is to give that up, and say, “OK, I’m just like you guys. I’m going to give these things up. I’m going to make my office available as a breakout room. My secretary if I have one can go work for somebody else.” You showed that you really mean it with your own actions.
Drew: But you still make twice as much as they do.
Roy: Come on.
[laughter]
Clayton: Like Robin Hood and [inaudible 04:03] .
Roy: I don’t know, I think that’s a really good question. In an ideal world, it should.
Clayton: I don’t think there’s anything wrong with people in organizations, necessarily, being compensated differently. There’s a whole bunch of factors that go into that. But one thing that I’ve seen a lot is people will get a senior developer title, because they worked at the same place for a really long time.
Roy: That’s what you need to be a senior. You only have to turn 65, and then you get a discount.
Clayton: I think it’s funny, though, because I can see that someone might say, “Hey, I’ve worked at three different companies in my career, and three totally different industries, and three different sized companies, and so I have a bunch of experience using a whole bunch of different things, in different teams, and all this other stuff.” Let’s say that it was over a fifteen‑year period.
But if I worked for the same company for 15 years, doing the same job, every single day, am I really a senior developer, because I’ve just been there for a long time? That seems kind of silly. But that’s how most people are considered senior developers.
Roy: In that context, senior implies loyalty more than it implies experience.
Clayton: Yeah, I would think that’s probably a fair way to put that.
Roy: There’s still something to be said about rewarding that type of loyalty.
Clayton: Sure, but I think the one thing that always gets missed, though, that reinforces the class system stuff is you might have someone on the team that excels as a developer, and then they get this job as a senior developer.
Then they get treated differently in the sense of, “You used to have to work on this crappy part of the system that no one really likes, and you used to just have to do the boring work. But now that you’re a senior developer, and you know all this stuff we’re going to let you go prototype this new thing that’s in a new cool technology, and you get to do new cool stuff.”
I rarely see where the expectation of a senior developer is that they make the people that are below them better. I think everyone thinks “I am a total rock star,” “JAVA ninja,” “I’m so bad‑ass,” but then they can’t make the people that are the junior developers better.
Roy: Just to clarify, I think I speak for all of us in that the idea of having different classes of developers on the team is a bad idea. Having everybody act as an entire team where there are certain people on the team who may have some weaknesses, and some people that have certain strengths, and the team values to bring out the strengths in everybody, and try to help each other better our weaknesses, and that that’s an idea situation.
Clayton: I think if you think about it from a tribal aspect ‑‑ if I’m a member of the tribe, and I’m the one who’s trying new ways, new fishing techniques. I’m the one who gives you some of my food because your crops died, and I do all of those things, I’m going to gain your influence and you’re going to view me as a leader versus the chief just coming down and saying he’s the senior tribesman. That’s a totally different thing.
Teams can be the same way. You have these cross‑functional teams, where everyone can do everything and there is no real distinction in the job title perspective. Some people are going to rise to the top, because they do certain things that the team buys into, and people on the team will follow them.
Roy: One of the huge problems I have with this type of class system, where there are multiple levels is that oftentimes it’s self‑sustaining in that the people that are at the bottom class are treated like crap, and given shitty assignments. They are given crappy, hard work and that type of thing. It’s almost like it’s really hard to overcome the handicaps forced down on you by the upper class developers.
“We’re going have riots with the 99 percent…”
[laughter]
Roy: “…complaining about the one percent…”
[crosstalk]
Clayton: I think that’s totally fair. It’s a culture thing. If the organizational culture is that there are different levels of people, and if it just so happens ‑‑ which is probably the majority of the time ‑‑ that the different levels of people are picked improperly or poorly.
Everything that happens to the people on the bottom of the totem pole reinforces the fact that they’re on the bottom of the totem pole, and every day you remind them they’re on the bottom of the totem pole. That’s where they’re going to be. You’re never giving them a pathway or any means to move up. They’re just going to leave.
Roy: Even if the expectation is if you work here long enough, that’s how you move up, I think even that is a bad idea. Even the idea of a meritocracy where if you do really well you move up is kind of a bad idea, because it should be the entire team that’s moving themselves up.
If it’s a meritocracy where my success is causing me to go up, that incentivizes me to sabotage everyone else on my level to make myself look better.
Clayton: If you don’t buy into team‑based work, and you don’t buy into the value you get out of team‑based work, it becomes pretty obvious. People are very smart about cheating the system, knowing who they have to influence or be influenced by…
Roy: Or sleep with.
Clayton: …In extreme cases, I suppose, to move up in the organization. I still think it all goes back to a culture thing. I think if you take the traditional software development organization, where you’ve got developers who are treated in some degree badly, but they are treated better than QA people, because they just lob their code over the wall and the QA people have to test it.
Roy: Is it that shit flows downhill syndrome a little bit too? I got crapped on by the senior developer so I’m going to take it out on the QA people?
Clayton: I think there’s something like that, too. I always remember that talk that Uncle Bob Martin gives about testing. He talks about how it’s basically immoral to have people do manual testing. The idea that someone would have a big binder and they go to some page in the application and they look at the binder and it says, “Step one ‑‑ enter x, y, z, colon, bracket, space and then click this button, then click this button. You do fourteen steps and then hit enter. Verify that the screen says this.”
How does any organization think that’s OK?
Roy: It’s totally demeaning to the people that work in those positions, too, especially if they are more qualified.
Clayton: The people never give a pathway to become better.
Roy: I’ve actually heard of organizations where they’re like, “Oh, we can’t have those people do that. They’re just testers. There’s no way they could ever be developers.”
Clayton: Exactly. I think there’s a bunch of testers who probably think, “I’m not interested in being a programmer. I don’t want to learn engineering stuff. That’s not what I’m interested in.” There’s still a bunch of things that, if you take more of a test automation approach, there’s a lot of things that you could have a testing background or a testing mindset, and still contribute just as equally to the overall value of what’s being built.
Roy: Those types of people could be invaluable in a planning meeting, and would be a very good compliment to a regular developer in a pairing environment. You would start to see the lines blur between the two, because I think, as with anything, the QA people that don’t like to learn coding is probably because it’s uncomfortable and new to them.
Clayton: That’s true. To give an example I was giving a presentation at this QA conference, this local QA conference recently, and I was describing some scenario. One of the people in the room had talked about how they could have avoided this big problem that they had if they had done better planning.
I asked them if they foresaw that before the event. They basically said, “Yeah, I saw that this was going to be a problem.” I asked them, “Why didn’t you say something?”
The idea that the tester ‑‑ or the QA person ‑‑ would interject in planning and contradict the developer, or tell them that they were wrong was so unheard of that she looked at me like I was from outer space. “That’s just crazy. How could you even suggest that?”
Roy: “You can’t do that. Those are developers. I want to be one of those one day.”
Clayton: You have that scenario in your organization. Look at all the stuff you’re going to miss out on. All the resentment you create and all these other horrible things.
Drew: I’m thinking, sometimes you get these cowboy coders. It’s easy if you’re a good developer to have the mentality, “The work I do is so special. Nobody can do it. I am actually super gifted, super talented that I’ve been able to figure all this stuff out, and these people can’t learn it, or if they try they’ll screw it up.”
I think that’s a very dangerous attitude to have. It helps reinforce the classes that you could have. The truth is anybody can do this stuff. Anybody who wants to, has a desire, they can do that. If the team adopts that mentality, I like that movie Ratatouille, “Anyone can cook.” It’s the same idea.
Anyone can be a developer or can be whatever the job is. That mentality should be reinforced, so that we’re in the attitude of helping each other out. Get better as opposed to isolating ourselves, saying we’re the best.
Roy: In that vein of, “Anybody can do it,” I totally agree in that anybody can be a developer as long as our heart is in it. I think we have worked with people where we see the potential, but they aren’t capable of reaching because they don’t want to work for it. Likewise, we have seen people that don’t know anything but were able to jump in it no problem, because they have the desire to learn. Which is why I think it is so important to hire for that quality over any technical experience.
Clayton: I think that gets into learning organizations. Rather than being, “Oh, we’re going to strive to be agile,” or whatever that means, strive to be a learning organization where you have that. You don’t have the fixed mindset of some people are good at this, and some people can never be good at this.
Roy: You brought the concept of cowboy coders are like rock stars. I agree that’s a dangerous thing. There’s times when organizations revere that type of behavior. That’s highly encouraged. You even see that amongst the major organizations like Microsoft and Google, where they’re rock stars. They love the idea of having rock star developers.
Clayton: I think that’s a tortoise and a hare kind of thing. A lot of times when the rock star people or the cowboy coders go off, especially when they do the hero coding thing at night, they will deliver some super sexy looking that’s so awesome. In that moment it seems like the best thing ever.
No one takes the time to take a step back, and look at all the things that happened coming up to that. No one ever keeps that in their mind going forward, to think about what is the impact of this thing over time.
Three months later, when there’s some bug that comes in, and the team can’t fix it because the super hero coder has pulled another all‑nighter and hasn’t come in, is not going to come in until 11:30, and there’s no one there to fix it. No one ever connects those two dots and says, “Hey, gee. We wouldn’t have this problem if the team had worked on it.” Maybe the team wouldn’t have been so sexy, but at least we wouldn’t be in this bind. Everyone just gets mad like, “You stupid non‑rock stars. Why can’t you fix this thing?”
Roy: They’re like, “Look at this rock star. He was working until 3:00 in the morning. That’s why he’s not here until 11:00. Why aren’t you guys working until 3:00 in the morning?”
Clayton: Very management 1.5 or 1.0.
Roy: 1.23.
Clayton: We were talking about Seinfeld earlier, it’s like George Costanza gets lock out of his car and his boss thinks he’s there before everyone, and he doesn’t leave until after everyone. If you can just trick your crappy development manager into thinking that you really work super hard then…
Roy: Working hard is related to how many hours you put in.
Clayton: Working hard outside the team makes you great. I think you can play the hierarchy system. You can gain that system.
Drew: Thanks for joining us. To join in on the conversation please visit facebook.com/agileweekly. Thank you.
Clayton: Thanks.
Roy: Bye bye.
Roy vandeWater: Hello, and welcome to the Agile weekly Podcast. My name is Roy vandeWater.
Clayton Lengel‑Zigich: I’m Clayton Lengel‑Zigich.
Drew LeSueur: I’m Drew LeSueur.
Roy: Today, we’ll be talking about the traditional Scrum roles, and how you know that you have gone out of the bounds of them. Clayton, you brought this topic to our attention. What drove you to do that?
Clayton: Just to clarify the three rules we are talking about are the Scrum Master, the Product Owner, and the Developers, or the Development team. I can’t remember what the new Scrum guide calls them. Those people comprise the overall Scrum team.
I was wondering, if you go by the “book” Scrum, there’s a lot of things like, that the Scrum Master should do, but one thing I have noticed, no‑one really talks a whole lot about things they shouldn’t do. It’s the same thing with the Product Owner. I had a Product Owner ask me the other day, what they could do to help the team with the broken build. Doesn’t that seem odd?
From the standpoint of technical excellence or something maybe you could say that the team is having some eXtreme Programming (XP) practice where they’re using continuous integration and their build is broken. In a perfect world, there would care about that and then want to get it fixed, but for some reason the build is broken. It was causing a problem and was impacting the Product Owner in some way, so they wanted to know what they should do to change that.
Roy: Is the question then is the state of build underneath the Product Owner’s authority? Can the Product Owner dictate that the build must pass and make that a requirement?
Clayton: Yeah, that was the thing of like, “Hey, how much say should the Product Owner have in how the team organizes its technical practices?” In this case, the fact that the build was broken was causing an issue with being able to deploy something. That’s why the Product Owner was concerned about it. Until the build was fixed, you couldn’t deploy and if you couldn’t deploy, then the Product Owner couldn’t show progress or whatever the case was.
Roy: That hails pretty fair for that. Then it would fall underneath their responsibility all of sudden, because it’s seems to be like the Product Owner’s to drive value and if something like the build coincidentally happened, not coincidentally, but like blocks the delivery of value. That seems like a very big problem that the Product Owner should absolutely be able to talk about.
Clayton: Yeah, other than maybe just talking about it though, is there anything the Product Owner can really to do? Like they’re not going to get it in and like fix the code?
Roy: That’s, that’s true. Like I think that would definitely be over. The Product Owner would definitely be over‑stepping his or her bounds if they started doing something like that.
Clayton: Beyond just going and telling the team, the strategy of the time was like, “Hey, the build is broken so I can’t deploy this thing that I needed to deploy so is it OK”? The question was really asking me, is it OK if I go basically yell at them, or like tell them that they need to get this fixed as soon as possible. You know.
Roy: I would say that’s totally OK.
Drew: Yeah, I think so too. Like, hey, I need to be able to deploy this whenever I want. You know, it should be able to be deployed at anytime. So the build’s got to be passing.
Roy: That probably should already be part of their negotiated definition of done. Like a future should be deploy‑able. And if their futures aren’t deploy‑able then that means that pretty much none of the sprint work can be done because they can’t deliver any value.
Clayton: Do you think that your opinion would change if you took out of the equation the fact that the deployment and the builds were linked? The Product Owners were just mad because the builds were broken. You know. Like this is the middle of the sprint, basically.
Middle of the sprint, the builds are broken, should the Product Owner really care about that? Or is that like, that’s the technical realm of the team? And, the, you know, they have their problems so they can go fix it.
Roy: It all of the sudden changes. Think that’s a huge difference. All of the sudden the development team should be passionate about it and should really care that the build doesn’t work. But then all of the sudden it’s no longer blocking the Product Owner directly.
If the development team insists on, you know, um, deploying code that isn’t tested or with a failing build. If that’s not part of the negotiated definition of done then I would say that it is not really the Product Owner’s authority to dictate that. The Product Owner may want to renegotiate their definition of done. But unless that’s the case, they can’t. I don’t really think that it’s their place to say anything.
Drew: Also, like this issue, maybe why, the question is maybe why is it coming up? Like, are they building their master branch as, like, a check to see if it works? Or should there be another system in place to where they can build it off their computer somewhere else and then push it to master if it all passes?
Like sometimes I say that because sometimes we’ll let our build system run our build just because we don’t want to run it all locally. And we can just kick it off and not think about it until it comes back. And it’s just an extra check so if it fails, no big deal we’ll get it to pass.
Roy: One big distinction that not everybody uses is that when we’re all talking about the build, we include all of the tests passing in the build. Is that what you are talking about as well Clayton?
Clayton: In this case it is a situation where if you take the entire test suite, there’s a series of builds all broken out. So in order to say that all the tests are passing and all the code’s compiling together and to say, “This doesn’t build,” it all have to be green. If two of them are red, then that’s where the situation comes up.
If these two things are red, that means we can’t progress because in order to deploy, you have to go through steps 1 through 12, and we can’t get through steps six and seven, so that means you can’t deploy.
Roy: In a build environment in which you have to compile something, that’s a little bit different because…A lot of my experience has been with Rails apps or Python app or something like that where it’s scripted and there’s no compilation and linking and all of that type of stuff.
But as soon as you have to start doing that, I’d almost say that it’s a good idea to decouple running your tests and building everything and to separate those two ideas. But as a practice, if you’re on a team, I would say ideally a team shouldn’t allow themselves to deploy something that isn’t passing.
They should have the self‑respect to say, “We care about quality, and we built these tests for a reason, so we’re not going to deploy this until we know that everything is passing.” If that means that maybe they’re old tests and we got to delete them or whatever, everything has to be green before it goes live. That’s a good quality for a team to have.
Clayton: To try to jump to another Scrum role, what are some examples or some different indicators that a Scrum Master might be stepping out of their role, like doing too much?
Roy: When a Scrum Master starts dictating tasks to the team or assigning stories or tasks to individual people rather than the team. How about you, Drew?
Drew: I don’t know. I haven’t been on a team where there’s an official Scrum Master set to me, so it’s harder for me to answer that question. It’s rare that I’ve been on a team where there was a Scrum Master.
Clayton: The Scrum Master sometimes acts as a liaison ‑‑ or to some degree ‑‑ between the Product Owner and the development team or outside stakeholders or third party people or whatever. Is there a chance that maybe the Scrum Master would get too involved with one side of that equation?
They’re supposed to be the impartial middleman to some degree. So maybe they got too involved in a technical detail, or they got too involved in the product stuff.
Roy: I can see them talking to the stakeholders which is part of their roles to protect the development team from interruptions from the stakeholders. I could see them talking to the stakeholders and perhaps promising features or something that the team has not been able to deliver or things that the Product Owner doesn’t consider a priority. I would definitely consider that overstepping their bounds.
It’s like a Scrum Master has the authority to say no, but they don’t have the authority to say yes if people are trying to interrupt.
Clayton: One criticism on Scrum is that the roles are very narrowly defined and is not a good practice. Some people even go as far as, it’s immoral to try and box people into a certain role and say, “Well, you’re only allowed to do this, and you’re only allowed to do that.” How do you guys feel about that?
Drew: I can see that. One thing that I sometimes see is people treating the Product Owner as like, “We won’t do anything unless the Product Owner says it. We’re not going to come up with any good ideas on our own.” That’s troublesome.
The whole team as a team can come up with good ideas and not just implementation ideas on how to implement what the Product Owners says but even good ideas for the product. I don’t think it’s outside of the developer’s realm to pursue good ideas as part of the team.
Roy: It’s definitely within their realm to come up with good ideas and suggest them, but I absolutely think it’s outside their realm to pursue them without checking with the Product Owner because the Product Owner ultimately figures out where the priorities lie.
We’ve all been on teams where somebody wanted to work on some feature X that probably wasn’t very important, but they went ahead and insert it in the backlog, made it a top priority, and started working on it. We’ve all been part of bad Scrum implementations where that’s happened, and that’s a huge smell.
There’s a good reason why there’s a single person who determines all of the priorities and if you are going to pursue something that it should go through the Product Owner first. With that said, I totally agree that the developer should be free to come up with their own ideas and contribute them. Not just free, but encouraged to.
Clayton: What about developers that are stuck in their bounds? What’s a good example of that?
Roy: You guys hinder that with the backlog stuff. One thing you see a lot is when the expectation maybe of the team or the visibility of the team’s progress is low or nonexistent. I actually know a lot of developers that will take on some pet peeves like some technical desk is a perfect example. Like something in system that they don’t like and they want to make it better. Maybe they’ll get a story done or some task done early or something.
Or they’ll come to the conclusion of like, “Oh, I’m blocked on this task and I can’t work on it until I hear from X, Y, Z person.” So in the meantime, rather than go and like help someone else with something else in the sprint or further along the progress of the sprint, they go off and go and do some little pet peeve thing.
“I’m going to go rewrite this part of the test suite,” or, “I’m going to go experiment with replacing this library that we have now that we know works with this new one that personally is better.” That’s one example of it, the team getting outside of their bounds and just doing whatever they want without…as not part of the overall Scrum team, like not have the same goal.
Clayton: What about refusing to implement a feature or something like that? I felt that a few times, where I thought a feature was just the dumbest idea and I felt like we’ve got to come up with a better solution. Is it within the developer’s authority to say, “No, I’m not going to do that, because that’s stupid.”?
Roy: That’s like a two‑way street, because there are some times where developers will negotiate ‑‑ I don’t want to say worse implementation, but they’ll negotiate a less than ideal and maybe a more simplistic solution. The rationality that they would use is like, “Hey, don’t worry about it, Product Owner, because we’ll just do this and then, we’ll ship it and we’ll get feedback. So, it’s OK.”
It’s like the same thing is probably true the other way. Maybe you think it’s a really dumb feature, but the Product Owner could say, “Why don’t you guys just do it and we’ll ship it and if it’s really that dumb, then we’ll find out about it, so you can fix it.”
Drew: With the first one that you were talking about with the like, “Hey, let’s do it the simple way and get feedback.” The way you said it, put a negative connotation on it, where I’ve always viewed that as a positive thing.
Roy: Yeah, I’m saying though like a Product Owner, I think, all the times, the Product Owner unless they are especially savvy or nuance, they hear that as, “We don’t really want to do the big hard thing, but if you let us do the easier thing and then, get feedback.” Some Product Owners will just relent to that, “Oh OK, fine. I can buy that.”
Drew: It goes back to…
Roy: I’ve totally worked on teams before where the Product Owner thought that I was unspecific with confronting him about it, too, and said, “OK, you’re just trying to avoid the hard work.”
Where I felt and I don’t know if I was trying to avoid hard work, so consciously, but I felt like, “Hey, let’s spend a very small fraction of total time and implement this feature to implement the core value you’re trying to get and then, we can build off of that and see if we need all the bells and whistles on top of it.”
It was perceived as like I was being lazy and trying to avoid the difficult work.
Drew: That’s totally within the developer’s realm to negotiate, “Hey, this is an awesome idea. How about by this sprint, we only get this much done because that’s all I can get done, or whatever, and let’s work on this part of it first because that’s the most valuable part.”
Roy: Maybe that’s a good way to frame it as developers like, “Hey, why don’t we do it this easy way first? Then, we’ll get feedback and that means we can also pull in these additional stories.” Now, it’s not like, “I want to do this, so I get less work.” It’s like, “If we do this, look how much more free time that opens up for you to get more stuff done that you want, right?”
Then everybody benefits because you do the easy implementation, get feedback earlier and you potentially could deliver more value in that time period.
Clayton: More often I don’t really think teams like teams try and jump too far into the other roles. I don’t think there’s anybody on the team that’s trying to be the Scrum Master or trying to make a product decision, not necessarily.
[crosstalk]
Roy: …if I don’t do enough of that.
Drew: We sometimes find that internally like where we take turns being the desk Scrum Master during a retrospective or something. It’s good practice for us to do that.
Roy: Yeah, I mean…
Drew: Good practice as in it is we’re getting good practice out of it, but not that it is a good practice, you what I mean?
Roy: Yeah, I know, and there’s probably a lot of Scrum teams out there where facilitation is such a difficult thing and running a retrospective is so much harder than people think. The Scrum Master probably isn’t even very good at it. Let alone, there’s like some random developer on team. They don’t have all the skills required to effectively do that.
Clayton: Makes sense. I thank you for joining us. If you’d like to continue the conversation you can find us at facebook.com/agileweekly. Good‑bye.
Drew: Thanks.
Roy: Thanks.
Drew LeSueur, Roy van de Water, and Adrian Howard discuss:
Lean UX
Developers and UX designers working closely together
Working Software vs Valuable Software
Finding and doing what the customer wants
Role of the Product Owner
The post Episode #86 – Lean UX with Adrian Howard appeared first on Integrum.
Drew LeSueur: Hi and welcome to another episode of the Agile Weekly podcast. I’m Drew LeSueur.
Roy vandeWater: I’m Roy van de Water.
Drew: Today, we have Raoul Encinas with us. How’s it going Raoul?
Raoul Encinas: Hey, Drew. How you doing? I appreciate the invite.
Drew: No problem. Today, we wanted to talk with Raoul about Agile Outside of Software. It’s something that we are fans of as well. Raoul, can you talk to us a little bit about that?
Raoul: Sure. I think that’s an appropriate qualifier. Also, if you wanted to use the term “accidental Agile,” that would also be a fair way of describing it. The environment was a non‑profit organization where we had about 50 to 60 team members. Very few of whom had any visibility into IT processes, certainly none but the software development. It was an exciting way to use the concepts, and the philosophies, and the principles to a virtual work group.
Just a little brief on that organization. It’s called Southwest Job Network, and what we do here in the Phoenix Valley is provide professionals who are in career transition with career management skills so, networking, interviewing, how to do your resume, LinkedIn, and so forth.
Just a little bit of organizationally the cross section of people in terms of their skills and capabilities was all across the spectrum from HR, to finance, accounting, marketing, and of course there were some IT people there as well.
Roy: One of the important aspects of Agile’s to deliver something that works early, and get feedback on it so you can adjust course. On something where you’re delivering content, or delivering a service, or something like that, how do you deliver part of it? How do you deliver one piece of value, or break it up into small pieces of value?
Raoul: That was certainly one of our challenges, and if you think of the product that we’re trying to overhaul. You could think of it as software, because the product itself is curriculum. It’s an educational system where we use this curriculum in modules to teach people how to manage their careers better. We had an existing 1.0 version of that curriculum that was when we passed a need for overhaul.
During the course of applying Agile concepts to get our curriculum up to 2.0 we used two‑week sprints. We had existing product. The perfect scenario was that our customers for this product were actually the ones to helping to overhaul it. There was close customer collaboration as you could ever hope for because they literally helped re‑engineer it as we had new deliverables, new content, new terms, new output.
Drew: Awesome. I liked the phrase that you used “accidental Agile.” The team that you were working with on this project and service ‑‑ did they know that they were doing Agile? How did that come about to work in these iterations? Did you encourage that or how did it happen?
Raoul: I think we all appreciate the elegant design but sometimes you stump on elegance and just to back up a little bit around the situation or the context. What we had was a workforce of volunteers and you have to put yourself in that mindset of these are not employees. These are not virtual around the world. These are all people here physically who want to contribute.
The challenge with volunteers is that if you’ve ever had to manage a project that lasted more than a couple weeks it’s a very fluid workforce. Imagine taking in a large piece of software ‑‑ in this case our curriculum ‑‑ and having to re‑engineer that with a transient workforce.
We did compartmentalize and break down all of the pieces into as small of a chunk as possible and those are all concepts that you don’t need to understand software development or [inaudible 04:30] management to know that you break things down as digestible as possible.
We had virtual team segmented to different parts of the curriculum but what we were struggling with was continuity from team to team and having some type of reasonable pace of development and progress. Where the teams would be motivated by what other teams were doing. I can’t take any credit for bringing the Agile concepts. I was already doing some things that were around collaboration and self‑directed work teams and those were the things that I brought to bear.
I really have to credit Jim Brodie who is our local [inaudible 05:08] executive. He was with Hypercom for a while. An expert in Lean and Six Sigma and all the different approaches. He walked 50 of us through the “Idiot’s Guide to Agile,” and Scrum, and sprints, and so forth. It was a perfect match between what we already had in terms of scoping out the work and breaking out virtual teams and the need to have quick increments and quick cycles on the actual deliverable.
Once he brought that knowledge of how to execute the work, how to organize people, coupled with what we already had, it just was fantastic. In the process of six weeks we had 50 people who basically overhauled an entire adult learning curriculum. If you have familiarity with the complexity of that you would not believe that that was possible in a period of six weeks. Again, with volunteer labor, not subject matter experts.
Roy: You had mentioned that you guys were working in…I think you called them “virtual teams”? Was that an actual team? Were those virtual teams actual teams with people in them?
Raoul: They’re virtual in the sense that somebody could be a member of more than one team and they didn’t necessarily meet and collaborate in person.
Roy: You had mentioned that, because of the nature of volunteer work, that was very transient. We’ve noticed before that it sometimes takes teams a while to really form, and get through their problems, and start to mesh.
How does that work if people are constantly leaving and joining the team?
Raoul: It was an incredible leap of faith. One of the things, the unique nature of these volunteers are ‑‑ these are professionals. They have a lot of pride in the work that they’ve done, but they’re currently out of work.
You’re talking about, these are not recent college graduates, these are people who have experienced being in the workforce. They’re used to working on teams. They’re used to working towards a common challenge.
Being out of work and displaced they had a very high motivation to do something, and to collaborate. We were able to tap into that desire for collaboration and the desire to actually boost your own ego and pride by just getting some work done. There was a very natural desire to attack a common problem.
One of the things we did, I will say, all modesty aside, from a governance standpoint and from a centralized standpoint, is we did a really good job of defining the boundaries and the framework, or the sandbox, in which these professionals can play. We trusted them as adults, as professionals, to say, “None of us are going to make any money off of this. It’s for the greater good.”
People were able to check their egos at the door and really focus on a good design and a good work product. It may have been a fluke or a one‑off but it really was a phenomenal achievement by this team of 50 people.
Drew: You gave the members of the team a little freedom to do what they want with their project within the certain greater bounds that you put.
Raoul: Yeah, and I’ll give you an example. Our originally curriculum had been split into maybe eight modules, or chapters. We started with eight teams, just because you have to start somewhere.
What happened is ‑‑ I wouldn’t say after the first two‑week sprint ‑‑ but maybe after the second one, it was pretty clear that some of those breaks, for example between chapters six and seven, were just artificial. There was just no logic or reason for there to be a break there.
As we were getting more product back and the teams were collaborating, what happened is teams six and seven naturally wanted to collaborate. They were in the midst, in the details, in the muck, and they realized, “Hey, this is an artificial break. Just because the legacy content was split this way doesn’t mean that this is what we have to continue to do.”
It seems commonsense now, in retrospect but, as you know, when you’re in the middle of team meeting and work product with people you never worked before it’s not that easy, necessarily to call out the obvious. They called out the obvious.
They collaborated with each other. They broke away that artificial break point and merged those two modules for some better seamlessness. Those kinds of things.
There were all kinds of very interesting breakthroughs, a series of small to medium breakthroughs that just made the overall product phenomenal. Mostly our job was to get out of the way of the teams.
Drew: That’s awesome. I like what you said earlier about working directly with the customers, the people who are actually going to be using the service, as you developed it.
Can you talk a little bit more on that?
Interviewee: Sure. Each team had at least three and as many as maybe seven or eight people. One of the framework elements that I pushed for, and we were fortunate enough to have enough of, were we had enough professionals with a background in training, or HR, instructional design, or adult learning, or something. [laughs]
It was a little bit of a stretch sometimes but we were able to have each team populated with at least one, for lack of a better term “process person.” And the process in this case was adult learning, or education.
We were able to have enough of a cross‑section of maybe, an accounting and a salesperson, or an IT and a marketing person, on other teams, where people bringing this cross‑domain knowledge was quite powerful, quite impactful. The process person provided that framework and kept reminding people to stick to learning objectives, which is an element of adult learning, and making sure that certain things were phrased with very precise verbs. There’s some rules around design in that space.
But, within that sandbox, these [laughs] marketing person and IT person collaborating was pretty powerful, in terms of their ability to just share domain knowledge and even cross‑train on some components. Those parts were pretty exciting, again, to see people who had never really worked together before to figure out a way to make it work.
Drew: Did you guys, just curious to any sort of retrospectives after your iterations or anything like that? I know one thing that we value as a team is after we’re done with our sprint, which is usually a week long, we’ll get together as a team and talk about what went well and what didn’t go so well as kind of a formal small ceremony. Did you guys do anything like that?
Raoul: Certainly not as formal as we could have. We were better around celebrating successes overall, amongst the larger group. There was a core group of maybe just six or seven of us who were more of the governance point. We did that among that group, a little bit more around lessons learned, and what do we need to do, and how are the teams progressing, as different teams would go at different speeds.
We did that, I know for certain, around that core group. Given to do it over again, I think it would have been terrific to be able to spread that level of maturity to the further teams, but I think that would have been overreaching a little bit. Especially, since it was in essence a one‑time gig.
Drew: It sounded like it was a fun project. What would you say was your biggest take‑away? If you could take away one thing from the experience, what would you say that would be?
Raoul: Even thinking about it now, and it’s been a bit of a time since we’ve done this, to a very large extent, and it sounds silly, but you have to trust that it’s going to work.
It’s incredibly risky to stand in front of a group of 50 or 60 professionals, very seasoned people with 10 to 20 years of business experience across all these domains, and convey with confidence that this structure and this way of working, which may be very foreign to [laughs] many of you. This style of project management, and this approach to collaboration, to stand up there and have the confidence that it’s going to work.
I think we were able to convey that energy and that confidence, and we showed that we trusted each of these work teams through our actions. We didn’t override the decisions that they made. We weren’t looking over their shoulders.
To a very large extent, this was a peer‑driven group, and having that trust and taking that leap of faith, basically taking your intellectual property, sharing it with this public group and trusting that it’s going to be protected, and taken care of, and curated, and all these important things, that was an inspiring, emotional, and a rewarding, the most rewarding element, I think, of the entire effort.
Drew: Awesome, great take‑away. Raoul, thanks a lot for having us on the podcast, or thanks for joining us on the podcast. If you have anything you’d like to promote, or share with the audience?
Raoul: Just since we’re on the non‑profit theme, to the extent that people want to contribute their professional skills in a voluntary capacity, a terrific organization local here in the valley is called Hands‑On Phoenix, and you can use your favorite search engine to find them.
Hands‑On Phoenix is a non‑profit organization that brings together volunteers, functions as a broker for other non‑profits, and puts those teams of people to work in a variety of different capacities for the greater good of the community. If you’re looking for a way to contribute and give back, and want to use your professional skills, that’s a great place to start. Certainly, you frequently get back more than what you give in that regard.
Thanks for having me guys. I appreciate it.
Drew: Thanks a lot, Raoul.
Raoul: Cheers.
Derek Neighbors: Hello, and welcome to an episode of the Agile Weekly podcast. I’m Derek Neighbors.
Clayton Lengel‑Zigich: And I’m Clayton Lengel‑Zigich.
Derek: This week we’ve got Clayton out in sunny Philadelphia, Pennsylvania at the Culture Conference. Clayton, I wasn’t able to make it and I’m really jealous, so tell me about all the awesome fun you had today at the Culture Conference.
Clayton: It was a fun event today. It’s a mixed format. The first part of it was some speakers, like normal tracks, like a regular conference. After lunch when we came back we had an open space, which was nice. We were able to have a few sessions there as well. That was the general format.
The first few speakers in there…basically, a whole lot of people with different backgrounds. Some of the interesting thing is that now that the [inaudible 01:08] is getting cast a little wider beyond just the Agile, more of the Pronto stuff and talking about the cultures and organizational cultures and changing culture and all that stuff.
There is some people there who are not necessarily a part of the Agile community. They don’t have a software background or IT background. It’s pretty interesting to see their perspectives and take on some things.
Derek: Which one of the keynote speakers, for lack a better term or common keynotes, which of the scheduled speakers was your favorite speaker and what was their topic?
Clayton: The favorite one I have would probably be Jim McCarthy. The performance he gave, I guess I’d say it’s more about a performance than a talk. Certainly, it wasn’t traditional talk. There is an interesting book I’ve got that describes ten different…is for doing some public speaking.
It’s called “Speak Like Churchill, Stand Like Lincoln,” something to that effect. It goes over some certain techniques that you would do for addressing a crowd.
I notice right off the bat, there were a few that things that Jim did, so I thought that was not only to share some experience on his part, but he jumps to his topic which was basically, “We have this thing at the tip of our fingertips, and we’re controlling the future, and we can make something of this. It’s something that’s really special that we have. If we chose to squander it, then that would be a terrible mistake.” From a motivational or call‑to‑action perspective, it was pretty inspiring.
Also the fact that there were ‑‑ it wasn’t half I would say ‑‑ but maybe 20 percent of the people in the room looked like they had no idea what was going on or they totally disagreed. I felt like that was meaningful that some people were fully taken aback and didn’t really understand what was happening, that it was a provocative talk, I guess.
Derek: Yeah, just knowing Jim, one of the things is difficult is his call‑to‑action is so powerful and asks you to do much more than where you are or even when you are already on the edge. Then I can only imagine if you’re not already close to the edge, it seems so monumentally difficult or far‑stretching that it seems almost absurd. That’s certainly one of things I love about the way he speaks is, is he is looking a lot further than a year down the road.
Clayton: Especially since when it comes down to…one of the things he said was, you can be the person he wants to be the giant or you can have the mentality of you’re being OK with midgetry.
Derek: [laughs]
Clayton: It is really powerful thing and it sounds like you really have to go all crazy, but then when he talks about, “What’s good? Good’s getting what you want.” Then it’s like, “That seems like a simple concept.” There’s some people that seemed a little confused. It sounds like I should be really doing all these crazy things but at the core of it, it sounds pretty simple, so I’m not sure what to make of it.
Derek: Right. I saw on the Twitter streams that Eric Raymond was there as well. I know that a lot of what Jim and Dan have talked about, or I have talked about with them, is that they really see this as being culture hacking. ESR is seen along with RMS, Richard Stallman is one of the original hacker ethos, so to speak on the hacker side ‑‑ may be not on the culture side, but on the hacker side.
I was wondering, what were some of the things that maybe resonated or you did or didn’t agree with, with what ESR had to say today?
Clayton: The thing I thought that was interesting was, as far as he’s concerned, I certainly wasn’t involved in that community when he was. I was only tangentially involved even at all in that I enjoyed reading “2600 Magazine,” and I listen to “2600 Radio,” and I went to a couple meet‑ups. I feel like that I had in that, some understanding of that community from a hacker mentality.
There was a guy in the audience who asked a question about the anonymous group, LulzSec, saying, “What do you think about them”? He had to make the distinction that, that’s not the same group. That’s a different culture, that’s a different group of people.
That gets me thinking that while the word “culture hacking,” or the phrase, “cultural hacking,” might be meaningful to people in this community, or meaningful to people that have some history in that community, for anyone outside that doesn’t understand that history, that’s a very confusing term, because it sounds more like, “we’re going to come in and break your stuff.”
That’s maybe the conventional understanding of the word “hacker.” “You’re going to come in and disrupt my culture and break it,” which is true, but that might be a misleading phrase.
Derek: Absolutely. When people think of hacking, they think of hack and slash, tearing things apart, which is very much part of the hacker ethos. But, I don’t think a whole lot of people think about tearing things apart so that they can make them better or circumvent something bad to make it better. People just think of the disassembly part, the negative side.
Clayton: Right. He was quick to point out that the hacker ethos is about building things, useful things and making something, which is an important distinction, but probably lost on most people.
Derek: Absolutely. Did you attend any of the open space sessions? And, maybe tell me a little bit about like, what did you see? Did you see any themes about topics, or the topics that you did attend, what were things that stood out for you in those?
Clayton: There was a lot of talk of the Core Protocols and Software For Your Head and that had some degree to do with the fact that Jim and Michele McCarthy were actually in attendance at the conference, although they didn’t participate in those topics. But, there was a lot of talk about that. I thought that was interesting.
There were a number of people who had either never heard of the core protocols or had only heard of them at that conference or the “week before” kind of thing. There were a few people who were familiar with some of the ideas, but I was surprised that there were a lot of people who had adopted one or two protocols, specifically “check‑in,” and that was pretty much all they knew and they really hadn’t looked more into it and they were surprised at how helpful that one protocol could be.
That was a popular one. Other than that, there were a lot of people who were talking about culture as a competitive advantage or culture as some new thing and, now that we’re all doing creative work and we’re not working in factories, culture is the most important thing now.
The one thing that was missing was…although there was one session that I did attend about, “OK, if we acknowledge that culture is super important, how do we get there? How do we transform organizations”?
That might have been the part that was missing was there was a lot of acknowledgment that culture is very important, but, not a whole lot of talk about how do I get the right culture and how do I know if I’m ahead or behind the curve on culture and those kinds of things.
Derek: Yes. That’s interesting that there’s not a whole lot…There’s an awareness that culture may be important and that some of the issues are maybe deeper than what process can help. But, there’s not a whole lot of talk or conversation, even in the Agile community that really addresses, how do you identify what kind of culture you have, where do you see your deficiencies, how do you move towards building stronger culture, what are the right types of cultures for what you’re doing.
People want to follow the formula. Building culture, you just can’t do that. Steam has this handbook, and it’s a really great thing, and we need to go do that. Or we just need to use that. Or, Tony Hsieh’s got this really great book “Delivering Happiness,” and we need to just do that.
The problem is that unless you’re Tony Hsieh and in Tony Hsieh’s environment doing the business that Zappos is in, that culture might not be the best fit for you. It’ll be interesting to see if there’s any continued talk or discussion that starts to elevate about the variations of culture and what’s important and how do you move the bar forward.
Clayton: Right. Everyone is very quick to name the handful of companies that they have heard of that have good cultures. Every single discussion that I heard about Morningstar, and W.L.Gore, and Zappos, and whatever other handful of companies there are that have what “good culture” is, everyone’s quick to acknowledge those and throw those out there.
But in terms of what that actually is or if that’s the right thing for now or the right thing just for that industry or how that’s going to change or how do you even get there, I think that’s probably still missing, like you mentioned.
Derek: Who’s the most interesting person you met today?
Clayton: The most interesting person ‑‑ It was ‑‑ I believe her last name is Gray. I think it was Vickie Gray. She’s someone that I’ve seen in the Facebook Booted group for discussing the Core Protocols. I’d seen her pop up a lot doing check‑in and things like that.
I had a chance to talk to her a little bit about some more technical things about the Core Protocols but got to hear her story about how she got into actually booting people and how she first came in to understand the Core Protocols.
It was nice to be able to talk to someone who had also been using them, and obviously more than I have, and talk about the nuance of a few different things. I thought that was very interesting and especially useful for me personally at least.
Derek: Sounds like a good future guest.
Clayton: Yeah, for sure.
Derek: I’m trying to think here, how are you going to apply what you learned maybe today when you get back into the real world? What are some takeaways, maybe some “aha” moments or insights, that you had?
Clayton: One of the thoughts I had, I guess the prevailing thing, one of the things I was suspicious about before I came to the conference, and one of the things that was really reaffirmed, was the fact that there are more and more people acknowledging that culture is important, but no one seems to understand how to get there or what it would take.
Just having that insight, for me at least, taking that back to my real work and being able to say, “What can I do to start uncovering the pieces to that puzzle, what are some of the patterns or some observations that I can make in my daily coaching environment to understand what influences certain parts of the organization or certain people have on the culture, which parts of the culture are very ingrained or maybe hard to change”?
It helped further answer that question of, “If you are going to make some culture change, what’s really required”?
Derek: It’s funny. I’m at a client doing some of this work now. They understand that they’ve got some culture difficulties, and they’re working through them, but what I’m really finding is that, to me, there’s no such thing as culture in the sense of there is no magic animal of culture and you change culture.
Culture is just the aggregate of the behavior of the people in a system, and so really the only way to change culture is for the people in the system to change. Because it’s an aggregate, you have to have a majority of the people in the organization actually change, in order to see that manifest as a change in culture.
It’s difficult because you need a small number of people to act as catalysts, or instigators, or models, or disruptors, to basically hack that culture and to get it to start to understand it needs to change, but it really takes the people to change.
What I’m finding now is that there’s this awareness, that there’s a problem, and the problem’s more of a system problem, but what I find people doing is defaulting to their normal pattern of behavior.
They acknowledge the problem, they understand there’s this big problem, but then they understand that they can’t fix it themselves and so then they very quickly start to default back into a pattern of “Well, I’m just going to do what I’ve always done.” I don’t think we’ve got that hack done yet. I don’t know what that hack is to basically get it to where we can accelerate that process for people.
Clayton: Your comment about how it’s the culture of an organization is the sum of all the people and various attributes of those people. It’s really easy to talk about how great culture is and it’s a really great competitive advantage, but when it gets down to if you want to change the culture, and that means changing the people, then you feel like all the people are going to find that they’re back at square one.
They’re trying to circumvent the hard work of having to change people, which is difficult, and it’s not that simple.
Derek: Yeah, if you start to say, “Hey, our culture’s X,” and maybe you’ve got a bunch of people on the bus or onboard at your company that are strongly opposed to X, the only way you’re going to get your culture to actually change to X is to either convince those people to get onboard with that or to get those people off‑board.
Clayton: For sure.
Derek: To me, when you start to see culture shift when you start to see people get uncomfortable that are fighting against the culture and realizing that they might not fit where they’re at. That’s usually when people default back. “Well, so and so’s a really great person. We could never consider losing him.” We’ve got to placate and default back to whatever behavior we currently have is just so that they’re not upset.
Then there’s all this frustration, “Well, we did that but we can’t move forward with culture.”
Clayton: Right, exactly. Yeah.
Derek: All right, maybe we’ll do another one of these later this week or next week and get a recap. I know you and Jade are hopping on a bus I hear, and heading to Boston, so maybe we’ll get the second half of this to hear how the bus trip in Boston went.
Clayton: Yeah, for sure. That would be a good idea.
Derek: All right. Thanks for joining us.
Clayton: Yep, thank you.
Derek Neighbors: Hello and welcome to another episode of Agile Weekly Podcast. I’m Derek Neighbors. Today I’ve got a guest, original signatory of the Agile Manifesto James Grenning with us.
How is it going James?
James Grenning: Good Derek! How are you?
Derek: Good! You know one of the things that always intrigues me when I get the opportunity to talk with someone who’s kind of been with Agile since the beginning is how maybe you see the Agile community, Agile practices.
What do they look like in back in early 2000, 2001 years, a decade later where they are today? Where there were similarities? Where there were differences? Where did things maybe worked out of how you guys intended? Where maybe there some frustrations were you’re pulling your hair out going, that it has been ten years and we still haven’t get this part of it right?
James: Yeah, OK. That’s an interesting thing to talk about. Ten years ago, or actually twelve or thirteen years ago now, when we started to get involved with extreme programming, if the time of the Agile manifesto, I was part of the extreme programming contingent community there with Bob Martin and Cat back in Ron Jeffrey’s.
I don’t mind at all saying that when I went to it it was like, “It’s in Snowbird? Of course I’m going to go.” That should be a good time. All these good people and then some skiing to boot. At the time we were just trying to see what we had in common. It was an interesting thing, we didn’t have any expectations that anyone would care.
Bob Martin, and I believe Alistair, got the whole thing started. Let’s get together and talk about what we have in common. That’s what the Agile manifesto came from. One of the things that was surprising to me at the time, coming through the 90s, a lot of people might not recognize this, but right or wrong, the way we viewed process released kind of the camp that I had been involved in in the 80s and 90s was if we could come up with a better process then the people wouldn’t matter so much.
I think that that was, that permeated a lot in the 90s, and what was really different about the people that I was with at the Agile manifesto meeting was that really they were talking first and foremost about people, and that was kind of surprising because of the Watts Humphreys message sounded like, and the way industry interpreted was if you had a better process you could just plug any person into it. Plug a replaceable programming unit and get the same results. That is one very different thing I saw about Agile. You were wondering how it might relate to today, right?
Derek: Yes, absolutely.
James: I think the engineering practices and such behind extreme programming were what were intriguing to me and to Bob Martin, at Object Mentor. We were really seeing that those are kind of revolutionary. It is really going to help solve a lot of interesting problems. As naive coaches in the early ‘2000s, we thought people would hear them and be enthusiastic about them and what I am still surprised at is that how much resistance some of these what we view as common sense approaches to developing software seem to be still so radical to people.
I think it is pretty interesting and cool that Scrum has taken off so big but it is fairly empty. In some of the engineering practices they have done a lot to spread the idea of iterating but they haven’t spread the idea so much of getting the quality up and really relying on high quality to go fast.
I know that is Schwaber’s and Sutherland’s intention in Scrum but it is not really the way the industry is going or has gone. That is disappointing. Although it makes lots of opportunities for guy when companies finally realize that they need that because that is the sweet spot that I want to get involved in.
Derek: I definitely think it is interesting that I think one of the beautiful pieces that Scrum has allowed is some of the concepts of agility to permeate outside of software development. Where if maybe we just had solely XP, we wouldn’t be able to bring some of the concepts of that is really all about people and working together and collaborating and iterating.
Maybe those wouldn’t make into non‑software pieces but I definitely think that one of the downsides has been there are a lot of people picking up what they really believe is Agile in software development and totally missing the whole essence of technical excellence and all of the pieces that are around that.
They think that they can be successful with just half of it and I think that anybody that has been around the community for a while understands that if you don’t have good core technical competencies and technical excellence that is really hard to iterate fast.
James: You said half and I would say maybe they’re only getting a third of it. I bet we can come up with quarters next. The third is the mechanics of the interim cycle. There are 150,000 “certified” Scrum masters out there that know the mechanics of a day one Scrum.
The other third is being humane, being good to people. This is a thing that was shocking to me in the early 2000s. You just said the better process so people wouldn’t matter thinking, and the people really do matter.
The quality really matters and for that you need to really have sound engineering and people they’re not just programming as a job, but programming as a passion and an art form and a discipline, right.
Derek: Yeah. I think one of the problems that we’ve had is that for the most part a lot of people are still selling Agile as just a better process.
The people that are paying to have it adopted in their company are really taking the very ’90s approach of, “OK, if I spend money and I go get this Agile coach or I get a Scrum master, I implement this thing that I’m going to be able to plug anybody into it and they’re going to go faster and it’s just a better process.”
James: Yeah. The engineer in me still wants to behave that way. If I just show them how these good practices work then they’re going to want to do them and unfortunately it doesn’t work that way.
Derek: Yeah, absolutely. It’s part of that. I think that we’re seeing a lot of influences from other communities as well, certainly Lean and Kanban and other ways of…People are struggling now to hack processes.
They understand that maybe there’s some methodology, maybe there’s some principles. How can they maybe create or roll their own or experiment with different things?
One of the things I’ve seen that’s been pretty popular lately, certainly I’m a fairly big fan of Planning Poker or planning exercises to be able to understand where we might sit a few weeks out and have some decision making process before we go and spend money.
I know that even Ron and Chet to a certain degree, certainly those in the Kanban camp are leaning more away from traditional, estimating upfront and more taking the approach of “Let’s look at the work we’re doing, measure some of that work we’re doing and then see if we can get predictive capabilities based off of work already done.
As some who is maybe the godfather of Planning Poker, what are some of your thoughts about planning now several years later?
James: Well, I won’t disagree with any of the things that you just said there. The idea of thinking that at the beginning of a project we can really lay out a detailed plan that’s going to work is, I’m more and more convinced that that’s crazy.
How do you plan an invention? Just pounding at widgets would be one thing, but there’s really an invention being created there. Pretty much everywhere that software is being invented or whatever you’re applying Agile or Lean to. I suppose maybe fashion.
There’s a disconnect between the flavor of Lean and manufacturing in a flavor of Lean in design. Because one is you need variation in design to come up with creative ideas and then manufacturing you need to be able to do that same thing over and over again with high quality.
What about planning, you’re asking me. I actually tell people not to use Planning Poker because I feel like it’s too slow. At the time of that first meeting when I just dreamed it up out of a pragmatic need to get a meeting that was stalled going again, it really helped speed this up.
Then we discovered other things within the same year that sped us up even more like using affinity grouping and such, so that we could start to see which things are alike, which things are different. Then do a batch mode Planning Poker and piles of stories.
Yeah, we know that those estimates are really wrong and you’re just trying to come up with some guesses to how big something is, so you can know whether or not you should proceed. If you spend two days playing Planning Poker you’re wasting two days. You could do that in two hours using other techniques.
I hear what the Lean people are saying, “Why estimate at all?” But my world, in embedded systems, where there’s hardware and software that have to come together, the business is to have an idea of when things are going to happen. We can’t just live in the ideal world of what’s the most important thing to do next.
Although we do work on the most important thing to do next, we’ve got to try and create some vision of how long it’s going to take.
Derek: I like to tease and say, “We call them estimates for a reason. If they were actuals, we would call them actuals.” But I think I take a very similarly approach in that, really, it’s about estimating as quick as humanly possible and getting something that is accurate, not necessarily as precise as possible.
If we know, going in, that it is an estimate, and that the bigger amount of time we’re trying to measure, the more inaccurate we’re going to be, but we like to use if you’re taking more than a minute per story to come up with an estimate, you’re probably taking more time than it’s worth, unless you really need to be precise.
James: Yeah, unless you’re about to work on it. If you’re about to work on it, OK. But, if you’re just trying to come up with a release plan, for instance, that stretches out to see how insane we are for trying to do what we’re trying to do. It should be very fast.
Derek: Yeah, it’s the litmus test. Is this something we could even remotely fathom to do in this amount of time? If the answer is no, we just keep chunking it down until when we get something that’s won’t be right, but at least it will be somewhere in the neighbor of the ballpark.
I find that most product managers, that’s good enough for them. They don’t want to be told, “You’re going to get everything,” and then you don’t get anything, so, if somebody can chunk it down to a reasonable piece they can either go out and ask for more money, move dates, or do some things upfront, which removes some of the anxiety from them, really, and gives them the ability to say “Is this worth doing?”
I think you talked a little bit about embedded. I think some of the work you’re doing with embedded TDD is pretty fascinating in the sense of, I think, 10 years ago, I don’t think a whole lot of people would have thought that Agility was a place where hardware and software would necessarily all intersect with each other, but I think it’s becoming more and more commonplace in the manufactured or embedded world, especially if move to mobile devices, a number of other things.
What are some kind of trends you’re seeing in the embedded world and adoption of maybe some of the XP practices?
James: Actually, the funny thing about embedded software is, yes, there are some different things about it, but it really doesn’t matter, because all the techniques and principles…for instance, the solid design principles and having rapid feedback, these are all things that are going to be helpful, whether you’re programming on a microcontroller, an Android phone, or an IBM mainframe, if there is such a thing anymore.
The underlying principles are the same. I had this nice advantage of growing up in the embedded world and then spending a bunch of time not in it, and, when I first ran into extreme programming, it just seemed to solve some problems. For instance, one of the challenges of the embedded engineer is that they don’t have hardware usually.
What that used to mean to us is that we would code like crazy with no way of knowing if it works. Then, when we finally got the hardware, really close to the deadline, then we’d have to figure out if it works, and, of course, it didn’t. We’d get these high hopes in all of our documents, and everything we’re going to make it so that we just plug it in and it works, but, no, you had to go back and make sure everyone coded the right thing.
We’re just pretty much back to verifying each line of code, which, when someone objects to TDD, they’re objecting, “You have to verify each line of code?” Yeah, but you do anyway…
[laughter]
James: …so don’t pretend like this is different. I am seeing that there’s more interest in applying TDD in embedded, and it’s not just the TDD part, it’s the iterative cycles, it’s the breaking work into vertical slices. All these things are foreign. Engineers are famous for being chopped into their silo and shoved in a cube, and come out several months later and try to integrate something in the…
Some people are trying to change that. I’ve been working and trying to change that for the last…if I go back and look at history of going and speaking at the embedded systems conferences, it’s probably 11 years now, I started to try to get people thinking about this. I’m going next week, as a matter of fact.
Derek: Do you see a lot of the challenges as being fundamentally the same between embedded teams and non‑embedded teams adopting XP, or are there some challenges that tend to be a little bit different? Typical software teams don’t struggle as much with or they don’t even have the problem where embedded teams maybe do they’re a tool setter, the other outline factors that don’t exist for most teams.
James: If I’m a Java programmer, and I’m building a program for a computer that the Java compiler and virtual machine run on, I’m building and testing on the machine that I work on. A fundamental difference from that is you’re building a PC, a Linux box, or a Mac, and you’re running your code on something else, so there’s a fundamental difference here.
For instance, C is supposed to be portable, so why not write your code in as much as is possible to be portable, so that you could run unit tests and such off the target and then run some of them on the targets. In embedded, they called it the target system, the different processor.
But there’s a fundamental difference here. But then, when I think about the techniques, an embedded engineer might say, “I’m special, because I have to interface with a piece of device.” A business program is going to say, “I’m special, because I have a database or UI.” Now, the techniques for breaking the dependencies on devices or databases or UIs are all the same techniques.
The problem is that, oftentimes, the embedded engineer doesn’t even know they exist, because they don’t relate to software developers outside of embedded many times. I don’t want to make blanket statements, but, generally, they align more with engineering and maybe electronics, so the awareness of techniques that work and would be useful to them that come from Java, Ruby, or whatever, they’re unaware of and don’t know how to apply them.
If they could be aware of them, they could certainly improve aspects of their work. TDD is one of these examples. They wouldn’t know about it if…I don’t want to pat myself on the back too much, but I have been promoting it for over 10 years now. There are people that are starting to do it, and they have been doing it with a lot of success.
Derek: Yeah. I certainly even see that within typical software teams, where maybe you have a lot of experience, say, in the Ruby community, and then you move to a Java community, and a lot of the tools and some of the cutting‑edge things that a dynamic language brings you in some of the thought process, and certainly those that use Smalltalk and other languages going back to C.
When you get these new insights, they become second nature for you, but you don’t realize that another community that has never seen them before don’t understand some of the techniques and the principles and aren’t able to leverage them.
I think some of it is really great to be able to share cross‑discipline, to be able for a Ruby programmer to talk to a Java programmer or talk to a COBOL programmer or to talk to an embedded developer.
James: … or talk to an embedded C programmer.
Derek: Yeah, exactly. Because you can learn something from all sides. I think you’re absolutely right that they’re more similar than they are different, and we just maybe use different language about how we talk about them or how we see the problems.
James: That is exactly true. The kinds of problems people are trying to solve, and maybe the domain languages could bridge both, but the solutions base is very different as far as what things we talk about and how we talk about them in embedded versus other areas.
Derek: We’re at the end of our time box. Is there anything that you’ve got coming up that you’d like to share with people? Any books, events, training, you name it, that you’d like to share?
James: Sure. Well, you could look at my website. I got a root website, JamesGrenning.com, that’s easy to remember if you remember my name. There’s not much there, but it’s got the links to other stuff I’m involved in for instance…My business is coaching and training.
I’ve been quite busy helping embedded developers get started with TDD and deal with their very difficult and challenging legacy code problems. I’ve also got some public training coming up. You can look at my website. Usually, there would be a banner in the corner about that.
There’s one coming up in October. We haven’t scheduled the one for the spring, but we’re going to do another one in the spring with one of my partners. I’ve got the Embedded Systems Conference. If you listen to this podcast right after it was published and maybe not before the Embedded Systems Conference in Boston happens [laughs] , and you’re out there, come and see me.
Derek: Sounds great. Thank you for your time. We really enjoyed having you.
James: Hey Derek, really nice to talk to you.
Derek: All right, thanks.
James: Yup.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich.
Roy vandeWater: I’m Roy vandeWater.
Drew LeSueur: I’m Drew LeSueur.
Clayton: Today, joining us, we’ve got Peg Haustetter. Peg, you wrote an article about, basically the gist of it was getting started with Agile. That’s a real popular topic with people who are interested in Agile, or listen to the podcast, and things like that that we come across a lot. What was the motivation of writing that article?
Peg Haustetter: The company I work for is Systems Evolution. There are a few project managers that were going to clients that had not really been exposed to Agile, and [inaudible 00:46] to do, how to get started.
We developed a team, and in that team, we started putting together some slides that they could present at their customer. One thing led to another, and we decided to write an article that we published in our [indecipherable 01:05] . That article took all those slides, and all of those conference calls and meetings that we had, to try to get a little Agile primer to all of our members, and we came up with the article.
Clayton: I noticed that you mentioned things like sprints and iterations. The stuff that you’re describing is like Scrum, although you leave some parts out. I was curious if that’s something that maybe Scrum is in your background, or if that’s maybe your preferred methodology that you like to use for projects, or if that was even intentional?
Peg: I am a Certified Scrum Master, so those are the types of projects that I have run. We intentionally left it out because we didn’t want to really sell a flavor or a certain methodology [indecipherable 01:58] article, so that people could relate to what they’re currently doing.
Or to realize that not every company is doing something that’s purely Scrum, or purely any kind of methodology that a lot of them are mixing [indecipherable 02:17] some of their worth all on trying to do it all at the same time.
Clayton: Is there anything that…You mentioned the waterfall, transitioning from waterfall or using that as a benchmark. In your experiences there, are most companies that you find that are trying to transition into Agile, are they doing waterfall now or do they not even have a process?
What are those hurdles, the biggest problems that you find that people face when they are trying to make that transition?
Peg: I do find that the clients that I have been at, they’re larger companies, and so they generally do follow the waterfall. I think the biggest hurdle is trying to get the business team [indecipherable 03:05] involved. They are all about defining the project, and agreeing to the requirements, and then throwing it over the wall, and “Call me when it’s done.” [laughs]
To try to keep them engaged and daily [inaudible 03:22] challenging for the [indecipherable 03:25] to get them in a room to do demo, or let them play around with whatever we’re delivering that sprint. That’s a huge hurdle, if I can get two or three of them in the room.
I think that in the end, the team that you’re working with [indecipherable 03:42] happy with the process once they’ve realized how it’s working, but to get them initially engaged is a challenge.
Clayton: I had overheard the conversation from a product manager and the product owner of a Scrum team the other day. The gist of the conversation was, “I really like this whole Agile thing and it’s great, but we really need to balance being Agile with getting things done.”
Peg: [laughs]
Clayton: I thought that was interesting. I was curious if you’ve heard anything like that, or what you’d say to that person?
Peg: [inaudible 04:19] is that maybe they’re not [indecipherable 04:22] their sprints correctly, because the whole idea is that you are getting things done, and you’re getting them done quicker, you’re getting them done so you have eyes on them, catching any issues, [indecipherable 04:34] put in the wrong place, the wrong color, some little small thing.
People are seeing it right now, if they see that the data’s coming out the wrong way in the field, they see it, you can react quickly and correct it, and then move [indecipherable 04:53] hang around with somebody that’s doing Agile. Go to a class, try something!
Clayton: You mentioned in the article that people like taking a hybrid approach, or maybe combining two things together. There is some talk in the Agile community of a “Scrum bond,” or something, trying to combine Scrum and Kanban together.
Have you ever seen anything like that be successful? Or are you more getting that as a way to introduce the organization to Agile, they might need to do more of a hybrid of their traditional technique, plus some more Agile concepts?
Peg: The things that I have experienced [indecipherable 05:42] methodology, a lot of it is because their compliance departments won’t allow…They don’t really understand the documentation. They still require tons of documentation, tons of certain types of testing, depending on what the product is, and then what sector that you’re working in.
I was working in the medical [indecipherable 06:11] sector. Obviously there’s a lot of regulations, a lot of paperwork, a lot of checklists. You still have to do a lot of those types of documentation while your development team is developing in the Agile methodology, but you still have to support all of the traditional [indecipherable 06:35] .
In some of those cases, in my case specifically, the PM had to produce more documentation than my team, probably wrote in code in some of those projects. I think it depends on the organization, and its will to let go of some of that.
The regulations that drive why we do things [indecipherable 07:02] piece of software. I think it’s learning, and I think it’s learning all the way around. It’s not just for the companies, but if they’re regulated, it’s for the regulators. They have to understand. They need to look back and read all those documents again, and see if there is a more streamlined approach.
Clayton: Do you have any opinions on starting Agile at the team level, and then growing it from the team level up to the organization level? Or do you feel that starting at the organization level and trying to get the higher‑ups thinking in more Agile mindset is better? Do you have any opinion on that, or maybe you’re still trying those things?
Peg: I’ve had more [indecipherable 07:57] both the opposite ways. The medical device company I worked at, we were doing it at an organizational level. It came from the top down, and we happened to be the first project, but they were pushing it across the organization.
I think it was six [indecipherable 08:20] everybody was on‑board. There was lots of training. People went to all of the training, the displays, they went to [indecipherable 08:36] reviews and things like that, so they got engaged.
Currently I’m at a client that, first they were trying it more on a project‑by‑project basis, doing an evaluation to see if that project fit into that mold. That was a slow burn. Just a few people would try to do it. Now, they [indecipherable 09:05] organization.
I think that’s more successful, because when the management is on‑board with it, then everybody gets the right communications and training so that they can move forward with it.
Clayton: One thing that we’ve found is that the organizational culture seems to play a very big role.
I was curious if you’ve also noticed that, or if you have any techniques or ways that you’ve tried to guide the organization culturally? Maybe they’re used to this waterfall, or more of hierarchical management style, and that transition to Agile can be upsetting from a cultural perspective. Is that something that you’ve noticed?
Peg: It is something that I’ve noticed, and it is baby steps. You just have to really spend a lot of time guiding, and getting them used to so much interaction. The first couple of projects that I’ve done in Agile, the business, it was just really hard to pull them along.
IT was all for it, we were gung‑ho [indecipherable 10:19] all the meetings, and didn’t want to be involved. It is a big cultural change. You have to just keep guiding them, and showing them all the advantages of being more participatory.
Clayton: The article seems to talk from a…Maybe it’s geared towards a project manager, or someone who has a holistic, or has a higher‑level view of the organization of the project.
If me and a couple of other developers are on a software team, and we’ve been reading a lot about it, and we want to be an empowered, self‑organizing team, is there any different advice you’d have for someone that maybe is at that level of the organization?
Peg: [laughs] Yeah, there is. If I was writing this article, or talking with the development team, I would have taken a totally different approach. They already know the pitfalls, [laughs] they know that it would be better to have a team that plays on your strengths, and really jumps in and helps each other out, so that you’re not so stuck, spend hours [indecipherable 11:38] .
This methodology really does get everybody’s creative juices flowing, and I think developers thrive in this [indecipherable 11:57] . Somebody that you don’t really know how much they’re producing, or how quickly they can produce until they are standing up every day, and telling you everything you’re doing, and it’s contagious.
If I was writing this [indecipherable 12:14] mentally different approach.
Clayton: If there’s one big takeaway that you’d like people to get from the article, the piece of advice that everyone wishes that they knew before they started, what’s the one big takeaway?
Peg: I would recommend that, especially your first few Agile projects, that you would bring someone in‑house that has some experience, that can help your, if you have a PMO, depending on the size of the organization, but that can really give some guidance to the department, or the organization of the department that is [indecipherable 12:55] managed other projects.
Somebody that, if it’s a consultant, bring them in. Somebody with this real‑world experience, that’s already experienced some of the bruises along the way, so that you can have a more successful [indecipherable 03:14] and a more successful experience.
Clayton: We’re getting close to the end of time here. Is there anything you’ve been interested in lately? A book, or a blog, or any conferences or books that you’d like to promote, and let the audience know about?
Peg: I always took my training from Mike Cohn and reading Mountain Goat Software website, his blog. There are lots of books that he recommends, and I do find that all the books that Mike Cohn recommends do really help you in estimation or writing user stories. There’s quite a few tools that he has on his site, so I would recommend people [indecipherable 14:03] probably go to Mountain Goat Software.
Clayton: Peg, we thank you for your time today.
Peg: You’re welcome.
Clayton: As always, we invite the audience to check out the Agile Weekly Facebook fan page, where you can talk about this episode and other episodes as well. I think that’s about it, so thanks again, Peg.
Peg: Thank you.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich.
Roy vandeWater: I’m Roy vandeWater.
Drew LeSueur: I’m Drew LeSueur.
Jade Meskill: I’m Jade Meskill.
Clayton: Today, we’ve got a smattering of topics, a potpourri if you will.
Jade: [laughs]
Clayton: We don’t have a guest. If you’ve been listening to the podcast for a while, you might have noticed that the last 38 episodes we’ve had guests, but not this one. First topic, “Are spike/research stories a smell”?
Drew: Jade, you hate spikes.
Jade: I do. Yes, I think so. I’m not against them entirely, but I’ve seen people take it too far. Basically, have multiple iterations of a spike, which to me, is a project.
Roy: Yeah. That’s just a spike taken to excess. You were telling me earlier about a spike taking six weeks to do. It seems to me that the spike should take maybe one or two hours. But I could totally see the validity of, if you’re going to put up some task and you don’t know if it’s actually possible, you can’t commit to getting it done within your iteration.
So, you set aside some time to go and do the spike. If you have a four‑week iteration that poses a problem, because that means you’re doing your spike now. That means your actual features aren’t getting done until eight weeks from now. A spike might be something that you can’t do if you are doing one‑month iterations.
Jade: I prefer instead of committing to an unknown, creating a research task or something like that, that we can give a time box or an estimate to. And then use that information to now be able to turn that spike into something that is estimable.
Roy: That’s what I was thinking of, when I was thinking of the spike. I guess the spike is supposed to be a prototype that you throw out at the end, right?
Jade: Yeah.
Roy: I was thinking more along the lines of research task. But I don’t like the idea of doing a pure research task either. If you’re going to spend two hours researching it, why not get started on building it, and improve that as possible.
Jade: Yeah. When I say research, that’s what I’m thinking. Let’s prove it out. Let’s make sure it happens. Too many times, I’ve seen the spike become the actual product.
Roy: Right, and then you have a whole bunch of people working on it, who have absolutely no concern for good quality, because we’re throwing this away at the end, anyway. By that time, you’re too attached to it. You can’t invest the time to really build it for real, and it’s already about to market.
Drew: There’s also a danger in, “We’re just going to see if we can do this.” Even doing it in a sprint or especially if it goes beyond more than one sprint, is sometimes what you prototyped and what you did can be the actual product. I know that that was a pretty rigid, but there’s danger in thinking, “Oh, this isn’t real yet. Oh, this isn’t real yet, this is just a prototype,” and then carrying that on.
Roy: Usually to any spike, there’s really one crucial component that you’re wondering like “Is this even possible”?
It’s not like the whole spike is…and usually that one critical component ‑‑ and obviously not in all cases ‑‑ but I mean you can probably knock it out in under a day and just prove that that part is possible and that’s all the information you need to estimate the rest of story. Now, I can commit to it.
Clayton: Let’s say that you are doing sprint planning and a story comes up that you hadn’t really looked up before. Maybe you glanced at it but you don’t know what it tells. You have never done it before and no one on the team has ever done anything like it before, and you have no idea if it works. What do you do?
Roy: OK, there’s a huge difference between “It’s never been done before,” and “I have never done this before and I am not sure if it’s possible.”
I have never driven to New York City but I am positive I can do it.
Clayton: “There’s some piece of technology I have never worked.” “There’s a third‑party API that I have never used before and I don’t feel comfortable coming into the story.”
Roy: Within some limits…I guess it’s up to a comfort level but it’s still reasonable to commit the stuff even if it’s unknown.
Clayton: I can’t commit to it. It’s too much for…
Jade: It’s got freaking laser beams.
Roy: It’s got freaking laser beams. Then I could totally see like pulling in a research story or a research task or whatever, spending an hour to researching it, and building up a prototype of what you actually think it’s going to be with the thought in mind that if this works, this is going into production.
I can totally see that, and then at worst you’re wasting like an hour or two.
Clayton: If it takes me longer than an hour to answer my question?
Roy: Then maybe you should talk to your team and see if you can come up with an alternative solution or something that’s simpler. I don’t know.
Jade: Maybe you’re asking the wrong question.
Roy: Who is asking wrong question, me or…?
Jade: If it takes longer than that to answer your question, maybe you could break that down into some smaller pieces. Maybe you have multiple questions that need to be answered.
Roy: Multiple research tasks, I could say that, especially we have the type of team that has gigantic stories, where they take multiple days to finish each one.
Jade: You mean that prevents you from getting too far down this path and becoming too attached to this thing that was supposed to be a prototype or something that you are going to throw away at the end?
Roy: Right, and the other thing that I would make sure too is with any spike or prototype, I mean that would be specially the stuff that I pair on. Because I could totally see that becoming very quickly into a personal project where, because I am the one who saw the spike through, next week I might just as well be the one that works on it, and I certainly know the most about it.
Jade: …and the laser beam expert.
Roy: Right, exactly. I am the laser beam expert. You guys are afraid as hell of me and can’t fire me because the laser expert gets it by bus, you guys are screwed.
Clayton: When did you just take the approach of saying, “Forget the spike or the research thing, let’s just do the story,” and in part of doing the story, I will do the two hours of research and we’ll just complete it there. We don’t have to wait on the whole other iteration”?
Roy: If you’re really that concerned about waiting on a whole other iteration, then it sounds like your iterations are too long.
Jade: If you’re willing to take it in to your sprint, then you have, implicitly, given it some estimate.
Roy: Yeah, but what if part…
Jade: It can be completed inside of your sprint.
Roy: Yeah, but I could see a product owner brow‑beating the team into taking the story on, “Hey, we need to get this done by Tuesday,” and you’re like, “Well, I don’t even know if I can get it done this sprint.”
“But we need it by Tuesday.”
Jade: By bringing it into your sprint, you’ve implicitly agreed that it can be done by Tuesday.
Roy: That’s a good point. The team members should feel that they are empowered to refuse to bring that stuff in, unless they honestly believe they can get it done.
Jade: You either truly cannot estimate it at all or it’s just hard and you don’t want to estimate it. I’ve ran into very few situations where there is no possible way to estimate the story or whatever it is that we’re faced with.
It happens, but very few. I might give it a very large estimate, because I’m highly uncertain.
Roy: We’ve definitely seen cases in which we think like, “Hey, there might be a really easy way to do this. We’re trying to develop some feature and there’s a library that Mike did 90 percent of it for us. We’re afraid to commit to it because it could take two days or it could take one hour depending on the availability of that library or not.”
I could see that as being a really good case for, “We’re just going to commit to because we know, at most, it’s going to take two days. It’s probably only going to take an hour because a library exists or it probably exists or whatever.”
But, at least, you can commit to it. Now, do you leave that extra…do you commit to the maximum amount of time it would take, so you could potentially be leaving almost two days worth of work on the table that you’re not committing to?
Clayton: If you change the scenario up a bit, and we say that you are doing a planning poker game, and you have this stack of stories that are loosely defined. You’re not talking about the details of the stories to the acceptance criteria and anything like that, but some stories come up and they sound really scary. How often do you just spike them versus maybe giving them a larger estimate?
What do you do?
Jade: I’ve been faced with that. I’ve worked with a team that had to deal with that. What we ended up doing was breaking that unknown down into some still large, but smaller pieces.
We have this huge thing that we just can’t estimate. We have no idea how to do it. Well, could we talk about things that we could estimate and could understand and simplify the equation?
We ended up with some pretty large loose estimates on the things that were pretty big unknowns, but it wasn’t that we could not estimate it at all.
Clayton: How do you know when you are spending too much time estimating and breaking things down just for the sake of getting that estimate versus just trying to take the work in or…?
Roy: Are you suggesting taking the work in without estimating at all?
Clayton: I’m saying, is it worth it if you have some story that everyone on the team says, or maybe there’s one really outspoken person and they want to spike this because they’ve never ‑‑ I’ll go back to the API example ‑ they’ve never worked with a third‑party API, so there is no way they can size it because it could be the most complex thing in the world, so they want to spike it.
Is it worth the time to go through and break the story down so that it can be sized better or it to have a whole separate spike story, to research the API? Are you wasting your time giving an estimate at that point?
Roy: It depends on how quickly you need to get it done. If you need to get it done this iteration, then the only way to reasonably do that is to break it down into estimable chunks that you can be, as a team, confident that you can complete if before the sprint is done.
If the product owner determines that this needs to get done this week or as soon as possible, it’s a top priority story, even if it takes three weeks, “I still need it done as soon as possible,” then you’re going to have to break it down and apply some estimates to it.
Clayton: If research stories and spikes are smells, how often should a team be using them?
Roy: I don’t know. In the teams, it’s something like it will come up only like once every other month or so. In my experience, it’s not that common for a spike to pop up.
Clayton: If it does come more frequently, what does that signal? What could you learn from that?
Roy: That’s probably because you’re not breaking stories down far enough to begin with for pulling it into the sprint.
Jade: Yeah, they’re either way too large or your team is incredibly inexperienced, that could happen.
Roy: Or your team is just really worried that they’re going to be held responsible for their stories. They’ve been burnt in the past by product owners that really pressure them into pulling stories in or pressure them and yell at them afterwards if they don’t…
[crosstalk]
Clayton: They’re fearful for some reason?
Roy: I could see that, yeah.
Clayton: OK.
Roy: It’s like, “I don’t want to commit to anything because I don’t want to be kept to this,” or, “I don’t trust the rest of my team to actually do it.”
Jade: Another thing I could be signaling is that you’re missing a skill on your team. Maybe there’s a team member that you need to have that has the necessary experience or qualifications. There might be something that really they just don’t know how to do.
If for a bunch of developers and we need to illustrate something. Maybe we just can’t do it. That would be another indication that we’re missing it, a critical person on our team.
Clayton: We talked a little bit about estimates, but there are a lot of things out there that are doing story point estimating…basically, that’s part of the planning process. Does that seem like a reasonable thing to do? What are some downsides to that, maybe?
Roy: I don’t know. I’ve been guilty of being on a team where we do that. It feels reasonable at the time, but I can’t really name any benefits we get out of it. I don’t know. Maybe it’s like double‑ledger bookkeeping that we are confident that our tasking matches up to the point estimates to somewhat reasonable.
We’re not pulling in five 13s in one‑week sprint. But, other than that, I don’t really know how much value we’re getting out of it.
Drew: On teams where they’re not doing anything with those points, they’re not using it to do release planning, longer‑term planning, or determining velocity, that sort of thing, then what’s the point? But, if they’re actually using those numbers, then, it’s valuable.
Roy: One huge thing valid that I can see getting out of it is, it very quickly lets everybody on the team that’s part of the estimating process know, that they’re on the same page or not. This is something totally different than you Drew, like, “You threw up a 13 and I threw up a 3, then that means we’re got to talk, because, clearly, we have two hugely different understandings about what this is supposed to take.”
That should probably come up during tasking, anyway.
Jade: Yeah. There’s some value in that ‑‑ knowing that we’re in alignment. I do think that, if you’re not using them for anything, you’re probably wasting your time.
Roy: Yeah. If you’re doing it as part of the planning process, and you’re finding that you’re estimating even one 13, if you’re getting into 8s and 13s, I would seriously consider breaking them down into smaller stories, so they might be useful as an indicator that you need to break stuff down.
Because, if you just start tasking, then is becomes like [inaudible 12:30] slowly where you’re adding task to your story a little bit at a time, and there’s not a clear cut‑off point where, “OK, this is too much. We need to break this into smaller pieces.”
Clayton: If you are doing release planning, you are using the estimates or something somewhat meaningful, does it really make sense to estimate right before the planning? Isn’t it easy to game the system if you do that?
Jade: Yeah. I personally think that estimation should happen in some sort of backlog grooming or something outside of the actual planning meeting. You should come into the planning meeting with all your stories estimated and ready to go, because estimation does affect priority sometimes.
The product owner might make a different decision depending on what the team thinks it will take to implement a certain feature, and trying to do all that right during the planning meeting itself can lead to a lot of waste of time and confusion.
Roy: I agree, but, if you’re just starting to do something with estimates, or you want to start doing with your estimates and tracking the velocity or doing some kind of release planning, at the very least, starting to collect to estimates right before planning allows you to start collecting velocity data, so that, later on, when you are doing backlog grooming and you want that information, you have the data available.
Clayton: I think you can still do the estimates way beforehand and still getting something [inaudible 13:50] .
Roy: I totally agree. But, if you don’t have a backlog grooming session or whatever, and you aren’t willing to invest the time yet, I don’t know. All I’m saying is, you can still get some value out of doing estimates right before planning, but it’s not going to be as meaningful, or as valuable as it would be if you were to do it before.
Jade: It takes the same amount of time, but, mentally separating those concerns is good for a team, to treat estimations separate from planning.
Roy: I agree.
Clayton: One last topic real quick. Here’s the scenario. Let’s say that you’ve got a Scrum team, and, in their spread, they completed every single story, except one story, and, for whatever reason, they decide that they can’t continue on a story, and it’s blocked. They didn’t know something planning, or something came up, and they just can’t continue.
The assumptions they made were wrong. Should the team feel bad about that? Should they feel like they failed their sprint? Is it an exception? They did everything they could, so it’s OK? What do you guys think?
Jade: I need a research spike before I can answer that question.
[laughter]
Roy: It should be considered a failure because that means that something went horribly wrong. They did the best they could at the time, but it doesn’t mean we should ignore this and not learn from experience. We should count it as a sprint failure, and it should probably be the biggest topic in the retrospective.
Clayton: Yeah, it might be.
Jade: Too often, sprint failures are punitive, that we treat them as this thing that we’re going to beat the team up against, like you should never fail. You’re going to fail. It’s going to happen on every team. There will be sprints that you fail for a myriad of reasons.
Roy: But it should be the exception.
Jade: It should be the exception. If you’re failing constantly, you need to be looking at what’s causing these failures, if you’re overcommitting or whatever it may be. I agree with Roy that it should be the big topic of the retrospective, but it shouldn’t be something that is used to punish the team itself.
Drew: Right, like the good and the bad, like, “Hooray, we’ve got all this stuff done! We released this awesome stuff. But, oh, too bad! We didn’t get this one done. In hindsight, what could we have done different”? It’s a success and a failure.
Roy: Yeah, because I’m sure there’s something we could have done different to prevent that. In hindsight, you can see like, “Oh well, we should have done whatever to prevent this.”
Clayton: We’ve asked this question during planning, or maybe we made these assumptions about how this thing was going to work.
Roy: Right. How could we avoid making those assumptions in the future? How could you remind yourself to ask these types of questions that would have caused this particular question to get asked for answers that come forward or something like that?
Jade: Yeah, but if you’re being essentially punished for that, you’re not going to think about that. You’re just going to think about how can we never fail again, instead of being open‑minded about, “OK, how could we have done this differently so that we don’t run into this again.”
Clayton: Yeah. It’s OK to fail if we use it as a means to…
Jade: …a learning opportunity.
Clayton: Yeah, right.
Jade: And we acknowledge and embrace that failure, and say, “OK, we may have not adhered to a commitment, but we learned a whole bunch about what could be done differently next time around.” And that might not work either, but you’ve got to keep trying.
Roy: Right. [inaudible 16:59] twice. They failed two weeks in a row, or two sprints in a row, at what point, you start actually considering it failure.
Clayton: All right. That wraps things up. That’s all the time we’ve got. We invite you to check us out on the Facebook fan page at facebook.com/AgileWeekly, where you can continue the conversation on this podcast or any of the others. We’ll see you soon. Goodbye.
Drew LeSueur: Hi and welcome to another episode of the Agile Weekly Podcast. I’m Drew LeSueur.
Roy vandeWater: I’m Roy vandeWater.
Jade Meskill: I’m Jade Meskill.
**Drew:** And with us today is Declan Whelan. How is it going, Declan?
Declan Whelan: Oh great. How are you guys?
Drew: Doing good. Today, we wanted to talk about demanding technical excellence. I’ll start off with a question for you, Declan. Why is this still relevant? Why are we still talking about this today?
Declan: I think it’s probably more relevant than ever because from my experiences as an Agile coach over the last few years, I’ve seen Scrum become more and more prevalent. Which is great. It’s more like just a framework for project management and as we’ve crossed the chasm in many ways with Agile, I’m seeing a dilution of technical skills.
I think it’s kind of ramped up a little bit, because the people that were most motivated for Agile in the early days, tended to be very technically forward looking, and technically adept. That, I think, is becoming less so as we’re moving into larger organizations, where people aren’t quite so motivated perhaps, to be self learners and so on. I think the demand or the need to promote technical practices is stronger than ever.
Drew: Great. Technical practices, I think a lot of stuff like pair programming, the XP principles and practices, is that the kind of stuff you are talking about as well?
Declan: Yeah, exactly. I remember the podcast you had with Arlo earlier this summer, and a lot of that for sure. In fact, he said it so eloquently in many ways, with his metaphor of the train and Scrum just being the steering wheel and the rest of the engine. Or I guess actually the car, becoming some of the technical practices.
He didn’t mention explicitly, and it was the subject of a talk I did in Dallas last week at Agile 2012. It was simple design. I found that to be kind of very illuminating that in the version one annual survey that they do, they list the technical practices. They barely get over 50 percent on any of them.
They think unit testing might be 70 percent, and then all the rest of the technical practices are maybe 50 percent, but most way down like 12 to 20 percent, but the really strange thing is that simple design does not appear anywhere. It is not even on the list. I find that quite fascinating.
Jade: I came into the whole agile world and ecosystem through Extreme Programming (XP). I’ve always wondered why it didn’t quite get the legs or the following that Scrum ended up really capturing. Why do you think that is?
Declan: I don’t know for sure, but my suspicion is that Scrum is just so much easier for organizations to grok. It can fit on a single page, it doesn’t look too hard. I think just that, and I am sure the Scrum certification models had a part to play in it. I think it was mostly just the simplicity of the model.
Roy: Is it maybe the centralized nature of something like Scrum?
If you get a product owner Scrum Master that is properly trained, they can kind of disseminate that amongst their entire team, but if you want to practice a lot of these technical practices, you have to have an entire development team that is able to do all of them.
Do you think maybe that plays a part?
Declan: I am not so sure. I think you’ve got a good point. This is perhaps a little more specificity in terms of the roles that might make it easier. We’ve got project managers, so we can make them product owners, and we’ve got project managers, we can make them Scrum masters and that’s not too hard.
Whereas with maybe the titles don’t fit quite so cleanly with XP. It disappoints me that XP has not become more popular than it is, but the odd thing is that teams are doing Scrum really well are actually doing all the XP practices anyway.
Jade: Yeah, that’s what we’ve found as well that for teams that we’ve been on or coached that as the maturity of the Scrum implementation came along so did that desire to implement much higher quality technical practices.
Declan: Yeah, that’s great when it happens. I am not so sure that that’s going to happen consistently with some of the newer organizations taking on Scrum. I hope it isn’t, and believe me, I’ve been thinking a lot about what can I do to help make sure that happens? Because, on the flip side, I’ve seen Scrum provide teams with the tools to build huge mounds of technical debt faster than they ever could before.
Jade: Yeah, that’s true.
Declan: My mention of demanding technical excellence came up from a meeting that the signatories of the Agile Manifesto had last September. They, basically, came up with a plan directive. They felt that over the next 10 years, we really need to crank up the technical excellence throughout the industry.
I believe that, too. It’s not that there aren’t other important things, it’s just the thing that really strikes me as having waned since the last five years.
Jade: How does one demand technical excellence?
Declan: [laughs] I don’t know. One thing that I’m really excited about is that in Dallas, I’m the newest member of the board on the Agile Alliance. I feel that that gives me an opportunity to explore that a little more deeply. In terms of pulling from people like you and other passionate people about what it is as a community can we do to perhaps…I would choose the word “foster” technical excellence.
The “demand technical excellence” was just Sutherland’s term. I might choose slightly different terms. Look for ways, certainly, with teams. In terms of what you’ve described.
You’ve been able to demand technical excellence in the sense that fostered teams moving from Scrum into extreme programming practices which is awesome. Some things people have suggested, bringing back the original XP conference.
Certainly, the software craftsmanship movement has something to say about technical excellence. At this point, I’m really just getting tuned into the idea and I’m quite open to how we, as a community, coped.
Jade: I’ve often thought about it in that, I feel like, I can demand technical excellence from myself because I understand what that means. I like your idea of fostering into others. I think those two go hand‑in‑hand.
If I am relentless about demanding it of myself, hopefully, that is creating that desire in other people to want to follow that example.
Declan: Actually, the things I’ve done as an Agile coach, pair programming, certainly, is a great way, in and of itself, is a technical practice, but it, certainly, fosters the spreading of knowledge and skills that deepens the more technical aspects of good design.
Expanding the definition of “done”, having regular retrospectives, promoting learning. There are lots of things that can be done, certainly, at a team level.
I’m thinking, also, that more, on a wider level, how do we do that as a community as well?
Drew: As far as the technical excellence stuff goes, you being an Agile coach, is it ever hard for you that you’re focusing more on team related stuff or on other things that are apart from just maybe sitting down with somebody and pair programming and doing test‑driven development with somebody? Is that ever an issue with you?
Declan: It is. I, certainly, have this stance as an Agile coach that my job is to provide teams the best help that I possibly can. I work hard to be tuned to find out where they pain is and where I can have the most leverage, and I focus there.
As I’ve moved up into larger organizations, less and less of the time do those points of leverage ended up being technical. I’m OK with that as a coach in doing my job and as my role.
But, as a software developer for 25 years, I do find it difficult because I just find if I’m not coding on a regular basis with this…there’s kittens that die…
[laughter]
[crosstalk]
Declan: …my brain, right? As a professional, I don’t have an issue with it. But, personally, yeah. I really want to keep coding on a daily basis.
Drew: In my experience working with teams, I’ll pick one of the XP practices which is pair programming, which I really love, and I do a lot. I’ve been on a team where that’s been hard for some people, where they’ve gone their whole program career not pair programming.
Then, all of sudden, somebody comes in, like a coach or somebody else, who wants them to do that. Transition‑wise do you have any advice or anything you would like to tell us?
Declan: Some of the things that Arlo mentioned are things that I really believe in. Certainly, running it as experiments, making sure that it’s viewed not as a team commitment, but as something to explore, and making sure that the team feels they’re in control.
I’ve sometimes done it the other way, where I just get teams to agree to pair program for a short amount of time. I’ve, perhaps, had a different experience with Arlo. I find I get benefit even if the teams pairing some of the time. That’s quite a bit better than not pairing at all.
Maybe getting them to do full immersion pairing might be too difficult. I certainly have found cases where it’s too difficult. It may not be because people don’t want to.
It can be the culture or the organizations, so it’s actually mostly outside of their control. Certainly, I think going moving with empathy [laughs] and with giving people a choice and putting out offers rather than them trying to force it down anyone’s throat.
Jade: I have to follow that up with a confession. When I first heard of pair programming and some of the XP stuff, I thought it was the dumbest I’ve ever heard of. I was a developer and I was managing other developers. I thought what a waste of time having two people sitting at one computer.
This is the dumbest thing in the world, until I experienced it myself with someone who was very good at actually doing pair programming, and including me in that process, really brought me along. Totally converted the way I viewed that practice.
Now, I’m a huge advocate of it. Love it. But, I was highly skeptical at first.
Declan: I think that happens a lot with a lot of these technical practices. And too, another thing that I’ve become more attuned to as well is using games.
I think Joshua Kowalski came up with a pair‑drawing game, which is a great way to introduce people to the idea without having them commit to it in any way, but experiencing some of the benefits from it.
Jade: That’s cool.
Drew: It’s cool talking about your transition, Jade, right? Seeing when teams start to capture the vision of some of these practices when they’re excited to write tests or when they say, “Oh, let’s write a test for us here,” when maybe they wouldn’t have before.
Or get excited about pairing on something or, “We’re going to pair if we want to get this done faster.” Those types of things are exciting to see with teams.
Declan: What I’ve learned the hard way as well to really look for where the energy on a team is, so if the energy happens to be when I’m doing more testing or refactoring or pair programming and moving, even though as a coach, I might feel that they might get better leverage from pair programming over something else.
I tend now to move towards where their energy is because that’s more likely to be successful. If they’re showing energy before something and it’s not pair programming, I’m OK with that. [laughs]
Drew: Great. Yeah. Good stuff. Thanks a lot for joining us, Declan. Do you have anything you’d like to share with the audience?
Declan: I would. I’ve had a very interesting couple of months, being the newest member of the Agile Alliance Board, which I’m very honored to have. I welcome any insights or suggestions people may have for me in that role, particularly, towards promoting technical lessons.
Another thing that I’ve done the last two months is I’ve co‑founded a start‑up called printchomp.com. Chomp as when you’re chomping on something good.
We’re using Lean Startup and Agile and you can find us at www.printchomp.com. We’re going to be launching in mid‑September, so sign up and we’ll keep you informed of how that goes.
Drew: Awesome. It’s been a pleasure. We appreciate you joining us on the show today.
Declan: Thank you for having me, my fun.
Drew: All right. Talk soon.
Jade: Bye.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich.
Drew LeSueur: I’m Drew LeSueur.
Roy vandeWater: I’m Roy vandeWater.
Clayton: Joining us today, we have Christopher Avery. We’re going to chat a little bit about leadership and specifically, the leadership mindset. When I hear the phrase “leadership mindset,” that to me, I think about getting in the mindset of being a leader. But it sounds like that may be something more specific to you. Can you maybe expand on that a little bit?
Christopher Avery: Sure. Thanks so much. I appreciate being on your podcast. This is fabulous. Leadership mindset to me…Chris Matts in the Agile community is pretty famous for saying “more leadership, less leaders.” That’s been a theme of mine for probably 25 years in the work on collaboration and team‑building.
To me, leadership could be defined as “any behavior that moves a group towards its goal.” Which means, for me it starts with an individual taking ownership, feeling a sense of ownership for some space, some opportunity, some outcome, some needs, some initiative.
Just call it a space ‑‑ taking ownership for some space, and then moving themselves into that space in a way that causes others to want to go with them, to get something done. For me, the leadership mindset is a mindset of personal responsibility, and understanding how powerful we are when we truly sign up to make something happen in some space. Maybe I’ll stop there, and let you tell me where you want to go with that.
Roy: It sounds like it’s not really an assigned position ahead of time. We’ve seen instances in which the leadership role can almost be a floating position, where whoever just seems to take the reins on a particular topic, it becomes the de facto leader until somebody else does. Is that what you’re talking about?
Christopher: Sure, that’s what I’m talking about. Absolutely. The issue is that the words “leader” and “leadership” can mean so many different things. Because we have hierarchy, and we have people with assigned authority and power positions, and people we look up to as called, “our leader,” a President or a boss, whatever.
To me, those people don’t necessarily demonstrate this leadership mindset. I hope they do. But sometimes, even the position of power or authority is an impediment to true leadership. We see that in self organizing.
When there is no one person who seems to have the authority to say right from wrong or prioritization or value, then, there is much greater personal ownership on the part of the whole team in terms of discussing such things. Haven’t you seen that?
Clayton: Yeah, I was going to say that. I felt there is times where, may be, someone is like the senior developer on some team and there is supposed to be this cross‑functional team and people are supposed to look to them and there is the hierarchy of the traditional organization and what it means to be a leader and they take all that stuff.
They maybe not have the personal responsibility, or all the other aspects that you mentioned before and they just assume that whatever I say goes because I am the person who is supposed to be the leader. So, why isn’t everyone following me?
Roy: That sounds like if that person, who was the leader of the group, and if they actually had good leadership qualities, it sounds like that could be a very strong force for the team as a whole. I understand the benefits of self‑organization, but there is also a lot to be said for somebody who has a clear mind on the future vision and keeps everybody focused towards that.
Clayton: Yes, I guess I have to agree with that. I really did like what you said Christopher, but the idea of a leader being someone who takes something, picks it up and then takes the team with them but not necessarily in the context of you have to have a certain role or a title or anything like that.
Those were the things and I guess I like to ask practical questions on this podcast. There are a lot of people out there who are not the leader on a team, would like to have them appointed leader by management and they don’t have the personal hierarchy and they have been there the longest, but they are very passionate about something and they will be willing to take the responsibility.
What would you suggest for someone that’s in that position, how do they demonstrate leadership mindset? Is it something that is just going to happen over a period of time?
Christopher: That’s a great question. What I’d recommend there is, I’d recommend stepping forward, I’d recommend putting your foot in your mouth, I’d recommend trying, I would recommend anything worth doing is worth doing purely at first, I’d recommend going for it and being shut down even but willing to go forward again.
And if you find yourself in an environment where it’s not wanted or needed then, that means, may be its time for you to take your desires to make a better contribution somewhere else.
I’ve had the luxury of doing, actually having an academic background, is studying the science of leadership. There are three paths worth talking about in the science of leadership.
One is worth rejecting. The one worth rejecting is the idea of traits. Every list of the traits of a leader has been debunked. Multiple times, people have done correlation studies where they’ve taken all the various, six traits, eight traits, 10 characteristics, of a leader and cross‑referenced them all and what they’ve found is there’s no correlation.
Saying that a leadership or leader is a certain type of person is debunked. That ought to be great permission for everybody. The three parts of leadership study that are really valuable, first, I would say, is situational leadership.
Situational leadership says that true leadership is, actually, an intersection of a problem or opportunity and someone who seems to have a sense of what’s needed right now for that. What that means is not everybody has the leadership mindset in every situation.
Which is why, I think, in especially Agile and the collaborative approach to things is where we are always willing to pass the ball to somebody who is inspired at the moment or has some clarity at the moment about how to move things forward. I believe in situational leadership at the micro‑level.
What that means is, also, we don’t want to have a scarcity idea about leadership, like we think of leadership or leaders as only some people can do it. This idea of situational leadership and even micro‑situational leadership is an abundance notion.
Everybody can contribute something, some time, in this situation. I’ve got two others that I’ll talk about, but I don’t want to take all the air space here so I’ll shut up for a minute.
Clayton: Let’s go on a tangent real quick. There’s something that you folks had recently called the “integrity police.”
Christopher: Right.
Clayton: The idea of having someone on the team, I like the way you describe them as they remember everything, all the explicit and implicit things that everyone said and did and they can call things up. I guess, they are like the fact check people.
I’m curious to where that idea came from and you’ve got any negative feedback because a lot of people, I could imagine, they would think that’s like the “jerk” person on the team that no one actually likes. I was curious if you had anything negative from that post.
Christopher: Sure, where it came from was, actually, from qualitative research back in the 1990s in supply chain partnering between customers and suppliers in the semi‑conductor industry, when the US tried to regain market share that was sliding overseas. The issue was that in Asia, the supply chain was very tightly integrated and in the US, it was very ragged.
The strategy was to create trusting relationships at the boundaries of customers and suppliers. I did a tremendous amount of work in the arena.
Simply by interviewing people about what was working, this story kept coming up, over and over, about people who would say, “We can’t screw them that way,” or say, “You can’t do that to us.” Somebody called it the “integrity police,” one of our interviewees, so it was simply a phrase that stuck.
One piece of negative feedback about someone, they love the idea, but didn’t like the word “police.”
Clayton: I guess, I could see that having some negative connotations in some realms, so that makes sense.
Drew: Christopher, you talk about one pathway to leadership is somebody having some clarity on a specific thing and taking responsibility and ownership of that. What are those other two paths that you talk about?
Christopher: That path is of situational leadership and it’s one of the extremely promising arenas of leadership study over the last 20 years or so. The other two are state research.
Remember I said, “Traits have been debunked.”
Clayton: Right.
Christopher: …it’s their qualities. State research says that there are more mental states that are more resourceful and mental states that are less resourceful. The state research on leadership says that people that exhibit leadership tend to get into a mental state of the leadership mindset, which I…
Christopher: …responsibility process, which I call taking ownership, getting to that place of feeling a sense of ownership for something that you may not have assigned. It may not be your accountability.
Like you guys…
Christopher: …at least at Gangplank, you guys have taken ownership of changing the way societies or communities support entrepreneurship. Nobody assigned you to do that. Nobody gave you the authority to do that.
It’s a sense of ownership. The state thing is useful. That’s where my responsibility process and what I call the leadership gift comes in. That is that you can actually change your mental state to one of more self‑leadership if you want to.
The third area is servant leadership, which we all know pretty well…
Christopher: The servant leadership research is really quite strong. Those would be three areas that I would recommend thinking about, in terms of developing your own leadership, is situational leadership, is “Where are you drawn in terms of having some clarity about what needs to be done”? Follow that.
Who knows? Follow your intuition. Follow your inspiration. Follow your initiative. Secondly…
Christopher: …learn how to move yourself to a resourceful mental state where you can feel free and powerful and generate choices. Then third, servant leadership is…
Christopher: …notion that there are no more problems in the world. There’s only messes. Today’s opportunity is find some huge mess that you can spend the rest of your life trying to help this world clean up. That’s called servant leadership.
Clayton: It seems like situational leadership is something that occurs naturally in people and the state leadership might be one that’s a little harder.
Roy: Isn’t situational more one of awareness of what the situation is? There’s a great quote by Susan Scott in “Fierce Leadership,” where she says, “The person within a group who is able to stay at the closest version of reality to the truth, often becomes its leader.”
Is it like that where you’re just really aware of what’s going on and are able to generate insights and draw that out of people?
Christopher: Absolutely, and that’s a section of situational leader…
Christopher: …and state leadership…
Christopher: …because…
Christopher: …leadership is somebody gets to that point of clarity. That point of clear thinking. State, the best case of reality, or however you said it, I love that because I agree with that.
Situational leadership is not something that you can design or plan for like, “Well, that guy, Roy, is going to be perfect in that position.” No, it’s an emergent thing. We find out that Roy was perfect in that position, only afterwards.
We thought Roy would be perfect in that position and Clayton…
Christopher: So situational leadership is, actually ‑‑ it’s never predicted. It’s an after‑the‑fact recognition.
Drew: The state one is more something that is predicted or planned for or that you can work on. Is that what you’re saying?
Christopher: Yeah, something you can work on as an individual. I believe that 90, pick a number, but 95, 99 percent of leadership is self‑leadership, where you are getting in touch with our integrity, your own truth, your own authenticity.
That makes you more powerful, more clear, more in touch with reality. That makes other people want to follow you into that for that to work.
I’m really tired of all the focus on leadership about being influence and persuasion and getting people to do what they don’t want to do. I think, that is very industrial‑aged, mechanistic‑aged, kind of stuff.
Clayton: We are about out of time here, but if someone wanted to learn more about all the stuff we’ve been talking about or more about you, where could they go and what would they find?
Christopher: Well, thank you so much. I’m pretty easy to find. My website is christopheravery.com, or just search on my name Christopher Avery and the word “leadership” or the “responsibility,” and my results will fill the page.
I’d like for people to get in on the leadership program, free preview webinar. So just go to my website, find in the resources section the free previous webinar and sign up. You can, also, download a free responsibility process poster.
We’ll be doing a webinar somewhere mid‑September…
Christopher: …and tell people about that program. Thanks very much for allowing me to share that.
Clayton: Sure, and as always, we invite the guests to check us out at the Facebook Fan Page at facebook.com/agileweekly. You can discuss this episode and past ones as well.
We just wanted to say thanks again, Christopher. We really appreciate you coming on the podcast.
Christopher: Well, thank you, Clayton, for what you’re doing at Integrum and, also, at Gangplank. It’s just fabulous, so thank you very much.
Clayton: Thanks.
Drew LeSueur: Hi and welcome to another episode of the Agile Weekly Podcast I’m Drew LeSueur.
Jade Meskill: I’m Jade Meskill.
Roy vandeWater: And I’m Roy vandeWater.
Drew: With us today we have Peter Armstrong co‑founder of Leanpub. Hi Peter.
Peter Armstrong: Hi nice to be here.
Drew: Hi. Peter we’ve read a little bit about you. We like the idea of Leanpub and how it fits in with Agile. Can you tell us a little bit about Leanpub? What it is? Why you started it?
Peter: Sure. I’m the co‑founder of Leanpub. Leanpub is a way to self publish in‑progress eBooks. At Leanpub we believe that the way most books are made today is pretty broken and that Lean and Agile approaches should be applied to the process of writing and self‑publishing an eBook. So that’s why we created Leanpub.
Drew: Great. Reading a little bit about you, you’ve got a software development background. Is that right?
Peter: Yeah, I was a programmer in Silicon Valley for about eight years, and I live in the Vancouver, BC area in Canada.
Drew: How did you catch on to Lean or Agile software practices?
Peter: In terms of Lean for software I sort of, being sympathetic to the Agile, I mean I read the “Agile Manifesto” along with everyone else, you know. As a software developer you realize pretty quickly that lots of the ways you build software Agile makes a lot of sense for.
When I started writing my first book, “Flexible Rails,” I sort of used similar approaches where I’d self‑published it in Progress, and I sort of hacked together my own workflow that made sense for that.
I had a secret URL where you could download it. I had a GOOGLE group for feedback. I self‑published it in Progress, kept updating the book at the URL. I basically cobbled together a workflow that I felt made sense and that let me iterate, let me get feedback from my customers, who are my readers, and do something similar.
Nothing existed like that in the book space when I was writing my first book, so we’re sort of fixing that with Leanpub.
Drew: Cool. Even before Leanpub existed, you wrote your first book in the Leanpub way, is that right?
Peter: Yeah, I did. Leanpub was kind of the tool that I wish had existed when I wrote my first book. Because when you think about it there’s lots of do‑it‑yourself approaches, like even back then or now. I used Lulu because Lulu, obviously everybody knows it for print books, but they also sell pdfs, since I was like it’s 20 percent for a store front, but whatever, I don’t feel like building my own storefront just to sell a download, right. Of course now of course, if you want to sell a download yourself there are services such as Gum Road, you know, E‑junkie and all of the equivalent that do a good job of doing that, right.
But there’s a lot of stuff you have to do if you want to sell an in‑progress book. You have to, provide updates, you have to build a community of readers, you have to do all these things, and you also want to produce a book. Back in 2006, writing a book, the tools were pretty terrible. I used Open Office on a Mac, and I’m not sure, you sort of laughed…
[laughter]
Peter: You can imagine how bad it was in 2006. My book got to about 200 pages and I could maybe edit three pages before it would crash. Then I switched to Word and that was really…I mean, Open Office had the benefit of, you know you could make a table of contents and stuff. When I switched to Word, I could not really, there were all sort of separate files for chapters and the whole things was a mess.
I mean, this is 2012? We’ve had books for about 500 years, we’ve had computers for decades, and like there’s no good way to write a book? It’s pretty terrible. At “Leanpub,” we’re kind of everything…we want to be sort of the offices of the keyboard, but with their laptop, we do everything else, and then there’s a reader. Everything between the author and their words and the reader should just magically happen, right.
For us the best way to write is Markdown, and we’re like why can’t you write a book in Markdown? OK, well one answer is like you want to have lots of files. OK. Have a list of files, call it “book‑dot‑text.” Tada! There’s your book. Right! You should be able to just sit there, write in Markdown, click a button, a book appears and then you click another button and it’s for sale. That’s how easy it should be.
Jade: Awesome.
Peter: You really boil it down to that. We tried, we iterated a lot with “Leanpub.” At one point we were using Git and GitHub, and you’d add us as a deploy at GitHub, and that is a little elitist because if I have to explain that I’ve immediately eliminated 98 percent of humanity.
[laughter]
Peter: The other two percent I’m going to have to support Git? Like, no, sorry we’re a bootstraps start‑up. So, figure out, write in Markdown, sync with DropBox, click a button. It’s like, yeah, that’s the way books should be made.
Drew: Yeah OK, that’s the way books should be made. That’s pretty cool. Have you experienced doing that like developing a book as a team, as well? That seems to me like in the past you’d have to email a word document around.
Peter: I know one of our authors he’s doing a book with a lot of collaborators and he’s doing a new version. Dropbox seems to help him a lot he’s very big in the Agile community. For me, I’m kind of, I don’t like writing in a theme for me, writing is like more individual than coding. Like coding, if you want to do anything meaningful you do it as a team because it very rare that one person can grade something.
But for me, writing I tend to write by myself don’t know it more…yeah. I mean drop box is great for sharing. Some authors have wanted to experiment with collaborative editors like for example using Google docs to collaborate. But then like right now there’s no good way of sort of live editing documents.
I’m not going to claim that Leanpub makes that awesome. Like drop box is OK if like you and I are sharing a document and were kind of taking turns and what not. But if we are all going to be in there you know what was that line from the “Fantastic Mr. Fox?” Cluster cuss? I think would be the right word.
Drew: All right, so I think it is great you’ve taken the Agile principles and applied it to something that traditionally people wouldn’t think of with book publishing. In your life or your experience have you applied it to something else and seen good results.
Peter: Let’s see, well, we researched the company that created Leanpub we’ve used those approaches. We’ve evolved. We’ve used those approaches in our consulting. We like to use Agile approaches which is our client work. In my own life, well in some ways if you think about you know when I went to university I started off, I changed majors a lot.
I was everything from psychology to philosophy to economics before I ended up with a double major in computer science and psych. I sort of…if I did well at it, I tried and sort of pivoted my way through my degree. Like I ended up three elective short of two complete separate degrees. I had so many electives. I took like six years worth of classes in five years, you’re only supposed to take four years.
In my career I found that I’ve never once been able to predict where I’ll be five years from now. If you develop a five year plan of what you’re going to do you sort of lock yourself in. Then you’re going to miss all the opportunities it’s like “pump man” being up‑winded. I think that’s what he called it. So we try to be pretty opportunistic with you know how we’ve grown lean pub and how we’ve if we think something’s the right thing to do, we do it.
If I say something and then a day later I say something that is completely opposite, we change our minds a lot I have to change my mind at lean pub it an idea meritocracy. We do what we think the best thing to do is and if that means that were doing something and then we decide it’s wrong we do something different and that’s OK.
Drew: So how do you think that embracing a Lean thinking and Agile philosophy, how’s that helped you in developing the actual lean pub platform itself?
Peter: One thing I really like is our Google group. We have a community of authors on a Google group and we have a couple of ways people can communicate with us. We have a whole email that goes to everyone at lean pub and we have a Google group for us.
I think I’ve found the Google group has helped us so much. We get a sense of not only what is important to our authors but what you get from whole and lean pub as well. But you see people offering suggestions developing. People come up with all kinds of things like offering coupons to the Leanpub authors like doing like sharing ideas. We found that having a community around your product is so important. We’ve had a couple people ask us, “Hey, can you do one of those web‑based tools that lets you prioritize feedback?”
We’ve said, “Yeah, we understand it,” but we resisted it because you go to a group right now for us. So it gives us I think the sense of what the community wants and where they think the product should go. We have our own sense of where the product should go, and they’re pretty similar. We use Pivotal Tracker internally for our backlog, but we have a gigantic backlog. I don’t think anyone’s solved that problem of backlog management really well.
It’s an icebox. We’re a gigantic icebox. [laughs] Yeah, so trying to figure out what to do next, we have pretty good clarity of what the most important things to do in the next month are. But what will we be doing six months from now? I’m not sure.
Drew: So what would be some advice that you might have for, say, I’m an author and I want to get started writing my wonderful work that I’m going to share with the world? What advice would you give me that falls in line with your manifesto and your Lean thinking?
Peter: The biggest advice is click the publish button. There are some in Leanpub that would sell, that have people queued up waiting to pay and that are really good and should be read right now. They haven’t been published yet. Let’s say you’re writing a programming book. If you have a programming book that you think will save someone who’s relatively good a couple hours, click the button because if it’ll save them a couple hours, it’s worth it right now.
Even if you’re hit by a train tomorrow and you never write another word, right? Because if they bill their time, saving them two hours is worth a book, and in an office you’ll save them 20 hours. Also, if you publish really early, I’m talking when you have two chapters written, then you evolve it in public. You get early adopters for your book because your book will probably go in some directions that you hadn’t planned.
The feedback will help you pretty clearly understand. Are you targeting it right? Is it too advanced? Is it too basic? Are you annoying readers with explanations of stuff they know, right? Are you not explaining something you need to? If you publish it really early and it’ll iterate in public and get feedback, you’ll get a better book out of it.
Also, as you go, Twitter’s a wonderful thing, right? Readers will be tweeting about your book. You’ll get momentum. When you think about when a company open‑sources something that they’ve worked on for a long time and it fell flat, like thud…like “Oh, here’s this big thing,” and you compare that to, say, Linux, right? You think about if you’re going to get a community around it, you need to release it when it’s really early, like before it’s even good.
[laughter]
Drew: I like that. Before it’s even good.
Roy: Yeah. One of the XP guys had a great quote that says, “You should be embarrassed about your first release.”
Drew: [laughs] Yeah.
Peter: Minimum viable product, right?
Drew: Yeah.
Peter: When it’s really early, really rough, but contains the core of…if someone reads this you’re being credited with releasing something that you don’t plan to…you’re not some scammer. You’re not watching a title page. You’re watching something with actual content there and a direction, and you want people on board that will be interested in where you’re going. That’s I think the biggest advice. Launch early.
Roy: Great. I think that’s awesome advice. All right. Well, thanks a lot, Peter, for joining us today. Do you have anything to share with the listeners?
Peter: Well, OK. At Leanpub.com we just put a video up actually. If you just scroll down, we have a bunch of videos. We have a cartoon with cartoon animals talking about making books, and we also have a new video about why Leanpub exists. This has the honor of being the first Leanpub video with any production values at all.
Drew: [laughs]
Peter: Audio for once. So yeah. Check it out. I’d be curious to see any feedback on that. Yet, also just join the Google group. If you’re interested, even if you’re not writing a book, go and sign up. Go to Leanpub, find the Google group, and join. It’s an interesting place.
Roy: Great.
Drew: Awesome, thanks.
Clayton Lengel‑Zigich: Welcome to another edition of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich. Joining me today, we’ve got Gil Zilberfeld. Gil, can you tell us a little bit about yourself?
Gil Zilberfeld: Thank you for having me, first. I’ve been in software for something like almost 20 years now. Currently, I am the Product Manager at Typemock, which is a company that creates tools for unit testing. I’ve been experiencing working in the Agile field for almost seven years, now. Working in a Typemock team, as well, working in Agile and modified Scrum, a lot of experience there, as well.
Clayton: OK, great. You had mentioned that one thing that was interesting to you lately, was the topic of management. I’m guessing management in Agile environment or Agile organization? You specifically mentioned how managers and developers are growing apart. Can you explain that a little bit?
Gil: Yes. You know that managers and developers have for decades been growing apart. There was no trust between the two groups. When the managers asked developers how long it will take to finish the project, whatever the developers told them, they multiplied by three, immediately.
From the developers’ side, managers were always keep exchanging everything and harassing them. Let’s say the developer did the screen and then the product manager’s passing by, looking over his shoulder, saying, “That’s not yellow enough,” and “You need to change that.” So there’s a lot of mistrust.
Agile was supposed to be the great coming together of things…
Clayton: Fix all those problems.
Gil: Yes. Some of it really does it, if it’s done correctly.
But the way I see it, in the last few years we see Scrum taking over as the winning Agile method. I’m not saying there’s a problem with it, but there’s a little bit of a problem. [laughs] And that is, it left developers behind, because Scrum declared that regardless of the Scrum practices which are communication practices the developers should select whatever practices they can do in order to support working software.
This was very acceptable from managers because they understood communication practices this is why Scrum actually won because it was easy to sell to managers. But once they accepted Scrum they didn’t do the next step and let developers pick the right practices for them to make sure that they can produce software.
For example, I was at a conference a year ago, something like that, and some mini conference something like two months ago. Two separate companies ‑‑ very large companies ‑‑ that one of them decided to go with Scrum as its methodology, the other one decided to go Lean. And both of them, at both times, did not even include developers as part of the process.
Again the developers feel that they are left behind and I think we can see the backlash in the way that developers are forming now craftsmanship groups, right?
Clayton: Right, yeah. Taking some of the technical excellence practices, or maybe, I see a lot of teams that have adopted Scrum. Usually because it was sold to management and management made them do it, but then sometimes they’ll adopt some Extreme Programming XP kind of practices, maybe continuous integration or pair programming, something like that. They try to augment it a bit.
Gil: Yeah and this will actually make Agile work because second statement in their Agile manifesto talks about working software. But if companies don’t do that, they just buy into Scrum and they leave the developers outside they won’t get working software. And that’s because in a few years, unfortunately [laughs] people will start blaming Agile for being snake oil because…
Clayton: Scrum, I think they make it clear, if you really read into it that they say you can augment the process with certain things, but there’s so many companies that you’re getting at, that will adopt Scrum and that’s all they do. So, you’re advocating for the developer. If they don’t include the development team, or the people that are doing the work, so to speak, and they don’t have some way to improve their practices then you’re going to end up with non‑working software it sounds like.
Gil: Exactly, and these are the software companies. Almost every company today is a software company because software is such a core part of the business.
The problem is that, we’ll see in a while, people are just being angry, not only at the people who sold them Scrum, but the developers because Scrum was originated by the developers. I hope this will not happen because basically there is a solution for that.
The solution is that companies will understand that Agile is not just Scrum. You need to do all the things you can do in order to develop correctly and get software that works and high‑quality software.
Unfortunately, what happened in a very few years is something, basically, if we wanted to succeed, we should have gone another route because processes like this take awhile to get absorbed into big companies.
Clayton: If I ask you, if I’m a manager and I’m listening to the podcast and I’ve got a Scrum team, by direct reports, I’m a functional manager and I’m realizing as you’re saying all this stuff that the developers aren’t really included and they don’t have any particular practices on their own and they just follow the Scrum rules.
They do the ceremonies and all that stuff and I’m convinced that I need to help them to do more or maybe help them with the technical practices, what’s a good first step? What could I do to help get my team started on the right track?
Gil: The first thing is to start listening to them because the mistrust we have is because both sides don’t listen to the other side. Specifically, for developers to give them some confidence in the other side and that’s just to remember what happened last time when we tried to implement a new practice.
Management needs to take the first step and give enough room to the developers to decide what’s good for them. In terms of practices, XP practices are great, code reviews, pair programming, any testing, everything there is great, but we need to, first, as managers, to make the team, the developer team, feel they’re empowered enough.
I don’t like the “empowered” word really, but they are empowered enough to pick practices ‑‑ not for short‑term ‑‑ long‑term, and to keep practicing and make themselves better. Without it, the developers will just think that the managers have the new flavor of the week working for it.
They will wait for the winter changes to come about. They won’t really go into stuff. They know it’s going to last.
Clayton: I know you’ve got a lot of history and experience with testing, unit testing specifically, CV kind of stuff, but in terms of maybe the bigger picture, a lot of sprint teams or Scrum teams, they will have a QA person, maybe have an embedded QA, sprint tester, whatever they call it. How does that person fit into that structure?
Most Scrum teams that I’ve worked with that have developers and QAs as separate roles, they do these mini‑Waterfall things where the developers do all the work and, then, the QA people do their work. I’m just curious what your take is on that. How do you think those two roles can be cross‑functional?
How can the testers, someone that has more of a QA background, how do they fit into the Scrum team that’s maybe doing TDD that has a very good testing culture on the development side, but maybe not so much on the QA side?
Gil: It’s funny because I was something 10 years ago, the product manager in another company. Without knowing about Agile and roles within the Agile team, I attached testers to develop, in an organisation that there was separation before that.
I did that because it made sense. The [inaudible 10:03] as developers were doing a unit testing, but it was automated. We were doing some kind of manual unit testing. Of course, manual testing by the testers, but putting them together actually they did talk a lot of things.
First, they started talking to each other instead of just blaming each other for “you found my bug” or something like that. They actually sat together, testers and the developers, on the developer’s machine.
So instead of waiting for integration, which obviously was painful without automation, instead of that, as the developers developed the screens and some logic behind it, testers sat with them. They saw what they’re developing, and they could redirect them if there was a need.
Now beforehand, before we did that, there was some notion that there shouldn’t be any discussion between the testers and the developers because the testers will get polluted by knowing how the software is really built. Looking back, it sounds very stupid to me [laughs] .
Clayton: I’ve heard that objection before. I’ve heard that one before.
Gil: I know. Let them work together.
Today, the boundaries between the developers are blurring because testers that fit into an Agile team learn, have some skills in automation, some kind of programming. It doesn’t have to be at the level of the programmer like a C# developer. He’s doing all the tests in C#. Depending on the tools that he’s using, he can do something like Cucumber or any BDD tool or some kind of big automation tools as well.
But the communication between the two sides is the most important thing because, like the developers and managers have their own divide, developers and testers have that too. Once communication channels are open, the goals are aligning and will get a much better product.
Clayton: To go back to the manager‑developer, those two groups, what’s the biggest mistake or something that you think a lot of managers are probably doing today, maybe a manager in Agile team, that if they were to change something about their behavior or something that they did that would make the biggest impact, that would make their team more productive or everyone happier or whatever?
Gil: There are a lot of examples, but I’ll just say that they need to change their language. For example, saying to the developer, “But you estimated it will take two weeks.” Just listening to this sentence just generates an image in the developer’s eyes that is looking into a pointy‑haired manager, and you know that estimations are taken as promises or commitments.
Estimation for example or things like “not enough time to do testing,” these are sentences from the domain of the developer which sounds differently for people with different background. They start, again, seeing the managers as their enemy instead of someone who could help the team reach their goals.
Managers needed to learn ‑‑ that’s the same for developers ‑‑ they need to learn the language of the other side. Developers for, I don’t know, a hundred years…We’ve been developing since the ’40s. I’m coming from a development background. That’s why I always say “I” and “we.” We created our own, built our own little language. What we do is we work some black magic and something appears at the end.
Management has been there for hundreds of years. Management hasn’t changed much. This new thing of software development, it is new, so the domain is different. We always like to talk about domains and language of domains.
Managers need to understand what developers are talking about and what they care about because when the developers talks about quality…Switching back to the developer side, a developer really cares about his craftsmanship so the quality of the code, and the design needs to be very good.
The problem is how that it sounds to the manager. The developers need to think in the domain language of the managers as well. So instead of saying, “I need a good design.” He could say, “I have a design that allows us to change the code quickly” because that what is a good design for.
The two sides need to learn the language of the other side and start talking in that language. We have a whole lexicon of things that we can try to change the sentences or at least try to understand what the other side means when he talks about using these terms.
Clayton: Interesting. I think we’re actually out of time, but I wanted to ask if the listeners wanted to find out more about you or Typemock, where would they go? Also, if there’s anything that you found interesting lately that you would like our listeners to know about.
Gil: First of all, a lot of Agile stuff on my blog, on my site at Gilzilberfeld.com. Go to Typemock and download the tools for unit testing. We have tools for mocking for .NET and C++.
The thing that I’m actually looking at recently is system thinking. I’m trying to get into this new topic and learn more about it because I understand that when I look at those, there’s a lot of same terms like the thing that I brought up with languages or the sentence. There’s a lot more thing we can learn about going into thinking about this kind of systems and the interfaces between them.
Clayton: Great. As always, we invite the listeners to check us out on Facebook at Agileweekly.com. You can join the conversation on the Facebook page. You can chat about this episode or any of the previous ones. I just wanted to say thanks Gil for joining us today. We appreciate it.
Gil: Thank you.
Drew LeSueur: Hi and welcome to another episode of the Agile Weekly Podcast. I’m Drew LeSueur.
Roy vandeWater: I’m Roy vandeWater.
Drew: With us we have Derek Wade, who is a collaboration expert and an organizational change expert as well. Derek, tell us a little bit about yourself.
Derek Wade: I started off in the software world and it really grew from a creative bent. I liked to hacking out with my VIC‑20 and Commodore 64. I love the fact that it was basically like painting ‑‑ but not by numbers but with numbers. I could type some keys and follow a few rules and cause things to come into being.
Many, many years past through many misadventures, failed projects, and succeeded projects, and succeeded projects that were not terribly interesting and failed in a business sense. I am now basically doing the same thing, helping people be creative, except in a large format.
What I like to say is ‑‑ and I just stumbled upon this metaphor a little while back ‑‑ I am really interested in lasers. I am making human lasers by helping groups of people organize, shine their light, their creative light, all in one direction, and get it amplified.
We can really cut through some incredibly hard and complex problems, and we can send that energy for a really long distance. This shows up in software, it shows up in education, it shows up in scientific research, it shows up in some civic problems. I’ve been trying to use some of these tenets of, for example, Scrum, towards these problems and it’s been very rewarding.
Drew: In reading a little bit about you, one big thing that I’ve picked up is teams and collaboration ‑‑ you’re really big on ‑‑ getting teams to work together.
Why such a strong emphasis on that?
Derek: It’s probably some kind of neurosis that I have to find out inside myself some day, but ultimately I think that the problems that are really interesting, things like cosmology, things like finding out the secrets of the universe, things like effective markets, things like poverty, things like civic government, things like making really cool, complex, gnarly systems that almost have a life of their own, are not really individual creations.
I recently saw “Prometheus,” and no matter what your feelings are of on it, I just don’t think it lived up to the ’79 “Alien.” If you look at “Alien,” it’s not just Ridley Scott’s masterpiece. It’s so many people coming together to make it happen.
Einstein and Edison did not work in a vacuum. When people come together and share and align their hopes, and fears, and dreams, and skills, and differences, and arguments, and experiences, and questions, some really magnificent work happens.
That’s the problem that interests me. Something that one person can crack on their own, I’m inclined to let that one person crack on their own.
Roy: Awesome!
Drew: Reading a little bit more, I see that you co‑authored or authored a book having to do with distributed teams.
Derek: Paper! [laughs] We can call it a book, but it’s a very, very thin one.
Drew: OK. So, now you’ve got a huge emphasis on teams and working together. To me, the distributed team model seems a difficult thing to conquer.
Roy: It almost seems like the opposite of a team working closely, and working really well together.
Drew: How do you get all that oomph that you have behind team work, and use it distributively?
Derek: Right. It’s very seductive, isn’t it? Wow! You mean, really, I can get all this cool human‑oriented team stuff with people spread out across the globe?
In one of my former lives, I was a pilot and flight instructor, and we had this saying about the J‑3 Cub, which was a 90 hp airplane, “That it’s the safest airplane in the world. It can just barely kill you.”
Distributed teams are the maybe most effective, barely effective teams that I have run into. That said, people seem to keep doing it. One can sort of take a philosophical stance of, “Don’t do it,” in which case you’re really helping a group of people who are ‑‑ when you’re focusing only on those folks who are willing to put together physically collocated teams ‑‑ you’re really helping them optimize what they already know how to do.
When you can work with people who, for whatever reason, and globalization is real, who want to work together across time zones there are still things that you can do that don’t have to suck and that can get that gestalt, that the team is bigger and better than the sum of its parts.
I would rather see those kind of teams brought into existence to introduce people to the power of teams over a collection of people, because a team is not a collection of people. I would too strictly live in the world of the collocated teams. Still, it is a bit of an evil.
Roy: Have you found any distributed teams that are able to perform as well as a collocated team? It seems to me you run up into a glass ceiling eventually where like…
Derek: Yeah, that’s a really good point. The limits are there. If you histogram the number of effectiveness teams along the vertical axis along the different degrees of distribution along the horizontal axis. What you’ll tend to find is that the distribution for collocated teams is higher and you tend to see this clumping towards greater effectiveness for collocated teams. You tend to see a clumping of less effectiveness for distributed teams.
That said, probably one of the absolute best teams that I have ever worked with ‑‑ not the ‑‑ but one of the absolute best teams that I’ve ever worked with was spread across three countries. One of the, probably, three or five of the most embarrassing “you’re not a team you’re a time‑bomb,” groups I’ve worked with have been collocated. You see a strong correlation between collocation and effectiveness but it’s not cause.
Drew: I’m thinking like, I’ve got a lot of software development experience working with teams that do a lot of pair programming and pair programming is one way to work. When you’re doing a software project and you’re both working on the same project that’s one way to work efficiently and well as a team.
At other levels, in the organizations that you work with, what are other ways that people work as teams well that are not specifically software‑related?
Derek: Distributed or otherwise?
Drew: Either one.
Derek: For the most part what I’ve been, as I’ve moved away from pure software teams, the thing is that Scrum, we focus fairly strongly on Scrum because as a friend of mine David Koontz said, “Agile didn’t work, Scrum worked because it was something people could grab and hold onto.”
As Scrum has taken hold, people really look at it in a narrow sense as it’s a software development methodology, but it’s really a learning framework. If you consider learning as one or many people navigating and creating a map of an unknown domain and gradually mapping it in pursuit of an objective, that describes change.
That describes learning. That describes product development and then finally way down at the smallest subset that also describes software development, but software development alone is a small subset of what we can use for example the Agile framework Scrum for.
When you consider that it’s important for people to go through these cycles of having experience, reflecting upon them, making some concepts in their head, experimenting trying stuff out and continually going round through this thing that’s called the “Kolb’s Learning Cycle,” Scrum sets people up for that magnificently.
When they’re distributed and working on software they’re going through this cycle between planning, experimenting, trying stuff out, sharing information, reflecting, and getting better and better, meanwhile improving their code.
You can bump that up a level, and you can start applying the exact same framework as a means for navigating an unknown domain to problems like organizational change. We are organization X. We would love to become organization Y. We don’t know how. It’s the same kind of problem as we have a list of items in a backlog. We would love the have software. We’re not exactly sure how, but we’ll iterate our way to it.
That’s one area that I worked at. It’s basically in agile adoptions, when people say, “Please come install the Scrum for us.” The first explanation is that people’s minds aren’t buckets to be filled. It’s something that we navigate and learn together. So I set up a management team as a scrum team.
Another area that I’ve just recently had the good fortune to work in, this has been in instructional design for universities. Instructional designers do things where they take, basically, offline courses from faculty and professors and turn them into some online modules. It’s not as straightforward as you might think.
For years, they’ve been treated as a transcription problem. Just like you transcribe software requirements into code, and it’s so easy and anybody should be able to do it, the same sort of myth is present in the instructional design world.
By setting up a team to go through these cycles of experience, observation, conceptualizing, and experimenting round and round as they make their work visible to each other on a Kanban board, they’re actually navigating that same sort of unknown domain to arrive at solutions that are better, maybe, than they could have envisioned.
There’s also some work being done with Scrum in the scientific research field about how scientific research teams can work together. I’ll say a little more about that at the end, but I’m not involved in that. I’m only peripherally aware of it. I hope to become involved in it, but not quite yet.
Roy: We’ve definitely had some experience trying to implement Scrum and some of the agile practices in things outside of the software development world, and with some great successes, but we find that, a lot of times, organizations that are implementing Scrum within a development team just want more, better, faster and don’t really understand that a lot of it is an organizational change.
Especially with a distributed team, how do you deal with that type of feedback cycle? You mentioned having a team that manages your organizational change using a Kanban board, I believe you mentioned. Who are these people? Are these the management? And then, do they bring it to the teams that they must now try these new things? How do you structure that?
Derek: Exactly. Think of it as double reinforcing loops. You’ve got the teams on one hand…ultimately, you need to couple this exploring to reality. There’s way too much abstract conceptualization in our field, in software, designing the perfect architecture before we implement it, designing the perfect process before we implement it.
The bad news, or the good news, really, is that, in the scheme of things, reality bats last. When we can have the teams trying to make the code do what they wanted to, and, as they try to do this, they encounter problems, whether it’s organizational issues, code issues, technical issues, and even interpersonal issues.
Those problems can become almost the input to these people’s managers, to the people who want [inaudible 14:34] , the stakeholders who want the benefits of more, better, faster.
That’s [inaudible 14:37] between their input. When they act on that input, that improves the teams, and they start seeing the more, better, faster. So, on the lowest level, you’ve got the reality of the systems in the organization, the teams trying to wrestle that reality into something valuable, like a website or an iPhone app.
Then, as an extension of that, the management team that really ‑‑ their role is to facilitate this change, using the same sort of cycle to help the teams make that change. You can even go up one level above that and into the organizations, starting to discover what it should be. I’ve only had that happen with two clients, though.
Drew: Great, yeah, a lot of great stuff here. Thanks a lot. Before we wrap it up here, do you have anything you’d like to promote or tell the listeners?
Derek: Yeah. First of all, as I said, Scrum is a learning cycle, and, for a little, tiny bit of information about that, you can feel free to go to a resources site that I set up and I can maybe send this to you later, but it’s kumido.com/resources/scrumbeyond. In there, you can get a little more information about the extensibility of Scrum.
I would invite anybody to contact me with challenges, disagreements, debates. I bet we can do it here, because those are the kinds of things that interest me.
Drew: Great. Thanks a lot. For the listeners, we invite you to join in on more of that at facebook.com/AgileWeekly.
Roy vandeWater: Hello, and welcome to another episode of the Agile Weekly podcast. I’m Roy vandeWater.
Drew LeSueur: I’m Drew LeSueur.
Roy: Joining us today is today is Woody Zuill. How’s it going, Woody?
Woody Zuill: Real good.
Roy: You’re currently at the Agile 2012 conference, right?
Woody: Yeah, I sure am in Grapevine, Texas. It’s really, really nice here.
Roy: Have you seen anything totally awesome there in the last few days?
Woody: Yeah, I’ve gone to a lot of sessions, and they’ve been great. As a matter of fact, it’s really nice to see, in person, some of the people that I’ve read books and followed for so many years. A few of them are old friends now, but some of them I’d never seen before. I think the top thing for me, so far, has been a little one hour session by Robert Martin on clean code. As you can imagine, he’s always good with that stuff.
Mary Poppendieck, who her and her husband, I guess, wrote that Lean software development book, which I’ve put to great use over the years and completely worn out several copies. Eric Meade, I just saw a session by him just a few minutes ago on decision making. It’s a lot of eye opening stuff.
Overall, I think what I’m seeing is that people are really moving forward beyond just the simple Agile ideas, and trying to figure out some bigger problems. I’m enjoying that a lot.
Roy: We had talked to a previous guest, I think that was helping to organize the event, was telling us that there was going to be a much bigger focus on the technical side of things. Have you been seeing that a lot or is it…?
Woody: Yeah, there’s a development stage. I think it’s called development practices stage, and I’ve gone to several of those sessions. But I haven’t been able to go to all of them. They were doing like a code retreat today, and so that’s kind of interesting. I wasn’t able to stop in on that, but those are very code and coding practices focused sessions. That’s sort of my focus. That’s where I think I bring the most value is knowing about that stuff and bringing that to my team and things like that.
Jade: You wanted to talk about Agile success.
Woody: Yes, Agile success.
Jade: What does that mean for you?
Woody: Over the years, I’ve been doing what you might now call Agile since 1998. You add up the years, and when I was first introduced to it the TMI was on. I knew nothing about it except for what I had read, but the TMI was on, what I would consider ultimately successful. They were extremely good at cranking stuff out of extremely high value.
As I watched what they did, I said, “I just want more of this.” Then I went out into the real world, and looked for projects that either people were saying they were doing agile or wanted to do agile. I very rarely found anybody being effective. They were either hoping to do agile or wanting to do agile, but they just hadn’t gotten there. I’ve been through a lot of those things.
Going to these conferences, and these things like the open agile and all the user groups, I’ve talked to a lot of people who are still trying to figure out, “How do I get this working for me?” I put together a little talk just on what I would consider the main things, which is the agile values and principles. It always seemed to surprise people that these things existed, which really bothered me.
That’s sort of where you should start, that’s what you gives you a way to judge, “Is this practice I’m doing helping me? Am I thinking in the right way to get where I want to go?” It’s kind of like something I think I learned when I was a young man, or actually a teenager, and this very, very old guy that I knew, he was in his 80s when I met him, and he was really, really genuinely good. He was good to everybody, he treated everybody nicely.
Then I knew some other old people who were pretty crabby all the time. I started noticing they either leaned towards being crabby or leaned towards being good. Not too many in the middle, who were sort of half‑crabby/half‑good. It dawned on me that you kind of gravitate toward what you allow yourself to be, and so I’ve held that through my life. I want to always lean towards the good if possibly can, so, when I’m old people can say, “You know, he’s a nice old man.”
That’s my goal in life. That’s sort of what the agile success talk was about, if we lean toward the agile principles, then whatever we decide to do for practices are going to hopefully be agile. If they’re not, we’re going to hopefully, more than anything else, adopt that idea of retrospectives or reinventing ourselves continuously. If you really adopt at least that one principle, you’ll hopefully get better as long as you do it in a somewhat consistent manner.
Jade: What were people’s reactions to that proposition?
Woody: What happened is the people that were trying to do agile, but hadn’t even caught on to the idea that values and principles are what should be guiding us, although that seems fundamental to me. Once I started doing math talk then people come up and say, “We’re already trying to do all these, but we’re having these other problems.” I ended up, eventually anyways, adding some of my own principles and values. That sort of an important thing is there is the agile values and principles were kind of locked down quite a while ago. We might…
Roy: That doesn’t sound very agile.
Woody: Exactly. We got to be ready also to sort of adapt. We’re the inventors. We’re the innovators. No less soul than anyone else. We have to take responsibility for our own process where we are headed. I kind of gave myself what I would consider three new maxims.
I had to come up with something, because they already were using values, and they’re using principles. I figured I will use some other terms for the moment anyways I’m calling a maxims. But one of them is this. It’s in the doing of the work that we discovered the work we must do.
If we trick ourselves into thinking we can figure out what we are going to do before we actually do the work, we’re always going to fail. That to me is a critical maxim, and that is my focus every day as we do the work. We are going to discover the things we didn’t or couldn’t figure out before we started doing the work.
Jade: I really like that. Do you have a good story where that maxim came true for you?
Woody: Sure. I’ve got tons of them, so don’t get me started. A good example is in a very simple little project I was working on, there was a couple of features that we wanted to do, and they’ve written out exactly what they wanted. I should change it what I just said.
Their requirements for this project were dozens of pages. That’s none of my rules. I don’t like to call things projects. We’re doing development let’s say we’re doing software development not software projects. Projects is like making a deck or making a model airplane. All the instructions are there, and you got all the parts, put it together. See, now I’m going on and on. But here is the thing, they put together these huge documents, and the team kind of got blocked on actually getting any work done.
They got to the point where they were making no progress, and they were starting to break the already working project that was in production. They weren’t keeping very good control of their source code, so they were really getting into a mess.
What we did is we just sliced off ‑‑ I like the term sliced off ‑‑ a little bit of function that will give them some value today. If they could have it today they could be making more money with this little built functionality. I said, “Well, let’s make a little prototype of that.” That’s another thing. You always have to call things a prototype because nobody understands that we’re working on a real project little bit at a time. But if we make a prototype, that makes sense.
We made a little prototype. They took a look at it. They said, “We want to change this, and we like to change that.” We have written a little bit of functionality based on their nice instruction in their requirements document. It should have been correct, but this proved to them, I think, real quickly, without of saying anything that those document really weren’t the final say on what this was supposed to be. It was in the making of this little feature, it wasn’t much.
I can’t tell you what it was. It’s kind of a proprietary thing, but this little feature that they start discovering what they really wanted to do. But bottom line of that story is after we got about the first five or six really top features all the rest to that thick document went away. They didn’t even ask for even ask for any more it. They switched to another chunk of functionality they wanted to work on. That’s the real value of agile. Maximizing the amount of work that we don’t do, that’s really a wonderful saying. There we go. You want another maxim or…?
Drew: Yeah.
Roy: Let’s go to the next one.
Woody: The next one, I think, what I’ve been seeing a lot is projects, and I hate to use that term, but these are projects where they want the promise of agile. The big part of that is responding to change, but you can’t really do that unless you really have easy to read codes that easy to maintain and easy to grow. My next thing is embracing the change is impossible if your code is not easy to read, easy to maintain, easy to grow and easy to change.
I learned that stuff from my little brother, who is also a programmer. Everything else is secondary. If you don’t get that in there, you’re not going to be able to do agile. It’s got to be easy. Because, you know, when somebody comes in and says, “Wait, wait, we’ve got to change this thing.” Have you ever heard this one, where they say, “Well, you should have told me that in the first place, because now we can’t really change it without pushing the deadlines out.” We don’t ever want to have to use that excuse. Does that make sense?
Jade: Yeah, that’s great.
Woody: I always ask that. Does that make sense? It’s probably kind of a faulty thing to ask, because if you didn’t understand, I couldn’t tell.
The third maxim is really a simple thing. Remember, this is the advanced part of the course. This is not the basics, this is really advanced for people who are really trying to do this, and this is the maxim. Question everything. The main thing I question is the things that I think are the most true. Whenever I catch myself going, “No, this is the way things is,” that’s the thing I start questioning.
Why did I allow myself to get that rigid about something? But I question everything, like we were saying earlier, even the agile manifesto. Not that I need to change it. I just want to make sure I’m on track with it. If something doesn’t bring value I want to discover that. Maybe I can’t discover it, but I can keep questioning.
Someday, if somebody brings to me something I am doing wrong, I want to hear it, I want to evaluate it, and I want to change, if it turns out I am doing something wrong. I want to deliver as much valuable software as quickly as possible in a very sustainable manner. Not all projects are that way, or not all companies are that way. I don’t like to call these things projects, because I want to see them going on forever. Let’s keep adding value to it, as long as there is value that can be added. I probably used up our whole time already.
Jade: We’ve got four minutes.
Drew: The question everything, I like that one. It seems to go right in line with respond to change and also respect and adapt.
Woody: Oh, yeah. That’s the inspect and adapt right there. I just did it in different words so I could copyright it.
Drew: That’s good though. Back to your 12 page featured document story that you told us you know, that was something that you could have questioned right from the beginning.
Woody: Yeah. I would myself question it, but a lot of times when you get in an environment where this is the way they do business, you have to find a story that they can understand. They can’t understand the agile story often. This is the thing, Agile, although it really seems obvious to me, for whatever reason doesn’t seem obvious to a lot of other people.
What seems obvious is, “Hey, let’s make our plan and follow our plan, and we’ll get it done.” Everybody is excited about that, they think it makes sense. But I like more, from Napoleon’s rules of war or whatever he called them, the engage and see. Let’s get in there. We’ll get to wherever we’ve got to be. Let’s start a battle, and then let’s see what the enemy does. Then we can decide what we need to do.
But until we do that, you know, they’re ready to trick us with something. We don’t know what’s coming down the road. We want them to show their hand before we show ours. This isn’t really a war, but I like to engage, and then see what we get. That’s in the doing of the work.
Jade: That’s awesome.
Roy: I believe that you are working very closely with the group that’s organizing the Agile Open SoCal that’s coming up, right?
Woody: Yeah. That’s a great little conference at UC Irvine, that’s coming up I think that’s September 13th or 14th, that’s coming up pretty soon. You guys were at that last year, I remember.
Roy: Drew and I were planning to be there as well.
Drew: Yeah, it was a whole lot of fun. That was my first open space format, and I loved it.
Woody: Yes, that’s a good point. The first one you go to is always the best, the rest of them are pretty disappointing. I’m kidding. I think I’ve been to 10 or 12 of them now, and the very first one I went to was the scrum alliance, scrum gathering thing, and Diana Larson was the facilitator, and it just floored me at how wonderful it was.
Jade: Yeah, she’s great.
Woody: She’s great. The whole event was great. Then this one, I got a chance to get involved with it about three years ago, and last year I was the main host or whatever, and I jumped right on board to do it again this year. It’s a wonderful event at a very nice little venue. It’s very inexpensive right now. Through the end of August, there’s the early bird registration so you can save a little money, but it’s cheap anyway, it’s $250. Right now it’s $150 if this thing broadcasts before then. People can take advantage of that. It’s well worth going to.
It’s also small enough to really get to know everybody that’s there. I think that’s a wonderful advantage to these nice little conferences. This one here, the Agile 2012, it’s really great, but I’m just overwhelmed by the number of people. It’s huge. I don’t know how many people are here, but at least 1500 or something.
Jade: It’s a very different kind of conference.
Woody: For a small town guy like me, I get pretty scared.
Roy: It sounds awesome. I’m looking forward to being there, and hanging out with you.
Woody: This has been great guys. Anything else you want to cover?
Roy: No, that’s it, thanks for joining us.
Woody: I’m looking forward to hearing this and your broadcast. I guess you go out every week.
Jade: Yep.
Woody: Excellent. That’s why you’re called agile weekly.
Jade: That’s right.
[laughter]
Woody: Very cool. Thank you, guys. Thanks a lot.
Drew LeSueur: Hi and welcome to another episode of Agile Weekly Podcast. I’m Drew LeSueur.
Roy vandeWater: I’m Roy vandeWater.
Derek Neighbors: I’m Derek Neighbors and with us today is Aaron Eden. How you doing, Aaron?
Aaron: Hi, I’m doing great. How are you?
Derek: Doing good. Today, we want to talk to you about how Agile works inside of a lean startup and customer development methodologies. Aaron, first of all, tell us a little bit about yourself and then maybe talk about about these topics.
Aaron: Sure. I’m a product manager for Intuit during the day and also, director for Gangplank Tucson. My background is actually in software development. That’s a part of the reason that I’ve been drawn to lean startup so much, is that a lot of big things that people talk about are like, “Oh, my God. I built this huge thing and found out customers didn’t need it.”
As a developer I think back on all the times where that happened to me, and my goal with all of this is really to try and hopefully save some time with developers out there and actually build things that customers want.
Drew: Lean startup is something we’ve heard a lot, like the phrase “customer development.” Can you explain a little bit more about that and how that ties into lean startup in Agile?
Aaron: Customer development came earlier. Customer development was something termed by Steve Blank out at Stanford, and lean startup is basically the combination of customer development and Agile development methodologies and then sprinkled in a little bit of continuous deployment. Lean startup is those three pillars, so customer development is a piece of Lean startup.
Drew: The basic idea is ‑ am I understanding right ‑ to hand‑in‑hand with lean startup, making sure what you’re releasing is something that people actually want. Actually using customers as part of the development process.
Aaron: Yeah, either using customers as part of the development process or using rapid experimentation to try and understand the behaviors of your customers so that some of your biggest assumptions built in your product you can test out before actually even writing a line of code. You can test things with sketches and storyboards and cardboard and whatever else.
It’s all about getting scrappy and trying to prove that the customers are really going to have the behaviors you think they are before you go and build things that they may or may not need.
Derek: When it comes to that Agile methodology side, you’ve got Scrum or KanBan or typical lean type of things, how are you seeing people apply Agile methodologies to something that, a lot of times, when I look at lean startup, a lot of the work is actually not software development.
It’s exactly what you’re talking about, where you’re putting out a hypothesis, almost the design thinking. What’s the problem we’re trying to solve? How do we solve it? How do we put it out there? How do we let people give us feedback? There may not be a single line of code involved, and the feedback loop can be fairly tight to fairly big.
What are you seeing people use from Agile methodologies and apply to that part of the process, where they’re not really doing development, code?
Aaron: Yeah, I’ve seen teams using Agile‑esque techniques in those early phases where they’re using a lot of the design thinking techniques and small prototypes and things like that. What they tend to do in those situations is they’re very clearly putting together what the team is going to execute and building their user stories out for that, and then going and executing on that.
When they get beyond those early phases where maybe your minimum viable product goes from a storyboard that you went and put in front of customers to a landing page or something like that. Those types of experiments.
Usually what teams will do is they’ll split their “lean startup” team into two sub‑teams, one being the Agile development team that’s effectively working on building out whatever the next experiment is, while the other team is off testing the last experiment with customers and basically bringing all the things they learned from those customers back to the development team.
Then they go and do their sprint planning and basically go run their next sprint. So you’ve got half the team going and using a tweaked version to go and execute experiments and the other half of the team using very typical Agile to build.
Drew: Interesting. Also on the subject. One thing that I’ve run into is management’s fear of releasing something. You know, there’s like, something, I don’t know what it is. But a fear of change or fear of messing something up is.
Roy: Or fear of looking bad or something.
Aaron: Exactly.
Drew: They won’t release anything until it’s all done.
Roy: Ask QA and…
Drew: Right. Now that’s kind of the opposite of the lean startup idea. How do you overcome that when you’re trying to do these things?
Aaron: I run many lean startup events inside Intuit. I know about that all too well. There’s kind of a couple different angles that I tend to attack it from. Especially inside a big company, what you tend to find is that when leadership sees how quickly teams can move when they’re applying these methodologies, they realize that this way of operating is much more effective, and some of that fear goes away because they realize that they’re going to accomplish so much more. That it’s not going to be three months to go and fix that bug and that the were worried about not releasing. They see the speed as a way to mitigate some of that risk.
The other thing that I see… that by having the teams break things down into small experiments, a lot of times people, when they hear about lean startup and they hear about minimum‑viable product. What they hear in that is some crappy version of the final solution. Or some not completely polished version of the final solution that might have some bugs or issues or those kinds of things. You really have to take to heart the word viable in that acronym. Many teams end up…
If the behavior you’re trying to test is that a customer needs a certain thing, or that they really do have a certain problem. In a lot of cases you can test that without going through the final solution. The ways that you can mitigate leadership getting antsy about a half‑baked product going out, or whatever, is that those small experiments, you can leave your corporate branding off of them.
In our case, at Intuit, the legal team has actually been doing really great things. They’ve sort of given us rough guidelines that say hey, if you’re playing within this space, as long as you’re testing on less than a thousand customers or whatever it is. I don’t remember the exact number. They basically say as long as you’re within these guidelines go ahead and test away.
When you get beyond a certain scale, then that’s the point where you need to start getting legal approvals and that kind of stuff. I think there’s definitely some really positive ways to put some solid boundaries in place and support the teams in moving quickly while still keeping the corporate polish on things.
Derek: I think you bring up a great point that I’ve seen a number of really large companies do when they bring in lean startup. One of the things they tend to do is they start to create “innovation laps.” These laps are really targeted at a thousand pers… Exactly what you said right there, they’re very boxed to be experiments, not necessarily be shippable product with the brand flagship name on it, everything else.
What I see is a problem with a lot of these teams when the experiments actually go right. That the really struggle with how do they transition to turning them into real products. Meaning they kind of use this lean startup piece to get rolling, get moving, but then they get a thousand people and everybody overwhelmingly says, “Yeah, we want to see this.”
Then it becomes, “How do I turn this over to a development team that’s never seen it and they have to pick up the code base, and the support staff has to support it, and legal has to get involved, and marketing has to approve all of these things.” It just gets pulled right back into that quagmire of… it never hits the market because the corporate monster stops it in it’s tracks.
Drew: Sounds like in that case, like you were talking about passing it off to a new development team and getting whole new people involved. It sounds like that might be the wrong approach to take, from the stand point that the guys who built it and are passionate about it and have seen what success it can bring, they understand the vision. It kind of sounds like those people are the ones that need to see it through.
Now I realize that this may add a disincentive or a reason to try to sabotage your own projects so that you can continue being on the fun innovation labs rather than being the old legacy guys, but I guess I don’t really know the right answer for it. But it sounds like passing it off to completely new people doesn’t sound like it.
Then it also sounds like you don’t have to go from thousand to everyone. It could be one thousand to two thousand and slowly scope over time.
Derek: Yeah. I think one of the questions that I can have about that is are we taking the wrong approach, and are we creating lean startup teams instead of lean startup organizations? Meaning if we really get organizations to think more like lean startups and that they’ve got lots of groups of people all that are innovative and that are all…
Drew: Instead of they’ve all got their own marketing guy and their own financial guy.
Derek: Yeah. Can they really start to cut through the crap and really push forward? Instead, I think that what happens in these big companies is they extend a special title to a small number of people who are really excited that they get to work on something fun and new and iterate. But then they’re not actually able to bring the product to market, and it creates all sorts of problems.
I don’t know if you’re seeing that in any of the places where you’re at, Aaron. I know you’ve run a lot of lean startup machine stuff and if you’re seeing transition problems even from maybe lean startup small companies that start to grow into bigger companies. Do they start to lose that magic when they hit a certain number of employees or their product has a certain number of users?
Aaron: Right. I think there’s a couple of nuggets underneath what you guys were just talking about. Have you heard the term “Horizon Planning”…
Derek: Yeah.
Aaron: …that a lot of businesses do?
Drew: I haven’t.
Aaron: Basically your Horizon I products are your core products that make most of your money, and they’re where you focus a lot of your resources in a big company. Then Horizon II is like your teenagers. It’s those businesses that are beyond a certain point. They’re actually at the point where those businesses need to scale.
You’ve proven that you’ve got a real customer need that you’re solving and that your solution solves that problem. You’ve got people spending money on it. Now those founders and those people that were passionate about the vision and those kind of things, their skills aren’t as valuable because now you’ve got a repeatable business model that you now need to scale. You need different skills for that.
Then Horizon III would be like a startup. It’s something that’s just an idea, and you spend a small amount of resources on those until they get to Horizon II. Then you can increase that. Using that Horizon Planning methodology you can have the right people involved at the right times.
I think you guys are on the right track, which is that for those business ideas that are in that Horizon III, you’ve got to have those people that are passionate about the vision, continuing to work on it, and those kinds of things. The other nugget in what you guys were talking about is that in the events that I’ve run I actually have teams that are coming to the events with new business ideas as well as existing business projects.
As an example, I had an IT team. Their business idea was that they wanted to create this new monitoring platform. Most call centers monitor the usage of their platforms, their telephony, and their IVRs and that stuff. Monitor it from the inside. Look at how many customers are waiting in the queue and how many agents you’ve got on and all those kinds of things.
What this team had a hunch on is that if they’ve monitored from the customer side of things that they’d probably see things going on in the environment that they couldn’t see from the inside. They couldn’t convince leadership to invest the money in it. That was their idea, that’s the business that they brought to this challenge.
Applying the lean startup methodologies, if you imagine that they’re a company that’s trying to sell this monitoring platform back to the place they work and treat it like a business, what ended up happening was they executed a bunch of experiments, found exactly what was important to the leadership, and convinced an external vendor to come in and stand up this monitoring platform for a four‑day experiment.
Basically found that they could shift net promoter scores in the customer service area by one point in this small four‑day experiment, which in a big multi‑billion dollar company that one shift in that promoter has a huge impact to the business.
Derek: Absolutely.
Aaron: It’s like you said about that you need to create innovators all over the place that are applying things this way. I think that’s a perfect example of where people can take something internal, apply these same methodologies, treat it like a business, and have some really great success with it.
Drew: Great. A lot of good stuff, Aaron. Thanks a lot. Before we close do you have anything to promote? Anything you want to say?
Aaron: I’d love it if folks would check out my blog, which is AaronEden.com. Definitely come check out all the great things that are happening down here at Gangplank, Tucson.
Drew: All right. Thanks a lot. For the listeners, if you’d like to join in on the conversation, go to Facebook.com/AgileWeekly.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. My name is Clayton Lengel‑Zigich and joining me today is Steve Bristol. How are you doing, Steve?
Steve Bristol: Hey, Clayton. Good. How are you?
Clayton: Good. Steve, I actually know you, not you personally, but I know of you. I can’t remember, what’s your partner’s name, your co‑founder?
Steve: Allan Branch.
Clayton: I know you guys from the Ruby on Rails community. I remember you were doing all of that stuff with…Has the company been Less Everything for [inaudible 00:34] ?
Steve: Yeah, since the beginning, since 2007.
Clayton: I know you guys from that stuff and I remember a lot of the stuff you were doing, so it’s definitely cool to be able to talk to you about some stuff today.
Steve: Thanks.
Clayton: I was looking at your blog, and you made a post about a Lean Startup. One thing that I’m curious about, and anyone that’s in technology realizes, that things that are old become new again.
Do you feel like the Lean Startup is something that is entirely new to you or is that something that maybe you’ve done instinctively with your work that you’ve been doing as an entrepreneur for a long time?
Steve: Yeah, we named the company Less Everything because that’s our philosophy. We believe in doing things Lean or as we like to say, “less.” In fact, the whole Lean Startup movement stole all our ideas and they changed it from Less to Lean.
In fact, Jason Fried of 37signals got most of those ideas from us as well. But, obviously, that was before the company. We were a big inspiration for the first book “Getting Real.”
Clayton: I was an early user. I think I signed up for Less.
Steve: In all fairness, it was actually the reverse, Allan and I had both read that book separately and it was a big inspiration for us. In all fairness, [laughs] that was a joke.
The Lean Startup people did steal everything from us.
Clayton: I’ve used Less Accounting, a long time ago and it was a big deal when it came out, in terms of we could do all this great stuff and it wasn’t all this crazy overhead. It seems like it captured the concept of doing Lean Startup stuff in general.
Steve: Absolutely, Less Accounting was our biggest product, yeah.
Clayton: I was going to ask you that. That’s something I would say that seems like it was founded on the same principles and that it seems like it’s evolved from there.
Is that a fair statement that you’ve been able to apply that same value system?
Steve: Absolutely, we actually came up with the name Less Accounting before we came up with the name Less Everything. The company was founded in January of ’07, but Allan and I actually started working on Less Accounting in November of ’06. We were working on that before we even had a company.
The idea was very much making an accounting application that was easy to use, that didn’t have all that stuff that the majority of people don’t need, and don’t understand and just clutters the UI makes it hard to use, and makes it very difficult and to get rid of that and make accounting easy and understandable and doable for the small business owners.
Clayton: Is that something that has certainly looks like it has evolved. I mean it certainly looks like there are more features than there were in the past. Is that something has evolved based on strictly customer feedback?
Steve: Yeah. I mean including Allan and myself as customers and users of Less Accounting. 100 percent of the features came from one of two places. Either it was user feedback or our needs or if we had an idea of like some of the integration we did more as marketing features than as very useful features.
A good example is the Highrise and Basecamp import. Those weren’t really highly requested features, but getting on the Basecamp and Highrise’s integrations page is a good idea for most applications. We certainly have seen a lot of calls from there. The vast majority of features, the nuts and bolts core features, the accounting features, certainly are all based on the needs of our customers and ourselves as customers.
Clayton: One of the core things about Lean Startup is treating it like using the scientific method and getting real feedback on data and all that stuff.
Can you share examples where you had a hypothesis about something you thought would be a good idea that just totally didn’t work out.
Steve: Gosh. You got me on the spot here.
Clayton: It’s OK if you’re right all the time and you never get it wrong.
Steve: When we first launched Less Accounting, we realized that it’s the accounting system, but since were also doing invoices and proposals, it could also very easily be your CRM system, and so we had this concept of sales leads at the very beginning.
We had sales notes, sales leads, contact proposals, invoices, expenses, deposits, all that other stuff. No one really got the whole sales leads thing. It was something that was probably my idea initially, and I don’t think we did a very good job of explaining how to use it.
People kept asking for projects. They want projects in Less Accounting. Basically a sales lead was a project, but the name was so off that it didn’t ever quite work for people. So, in the end of the first year and the beginning of the second year we removed the feature.
You still had notes. Anytime you send it in to us, for example, we store that as a note so you can see the history of your clients’ interaction, but we removed all the sales notes stuff. We never did actually add projects. We just added tags. A tag in essence are projects. You can change the application, so everything based on just a tag or a P & L and everything else. It gives you a project view of your money.
Clayton: OK. Lean Startup is something that’s maybe a little newer as far as the Agile community is concerned. Is there anything else that your internal team or any teams you’re working with that you’re using that are more traditional Agile methods, like a Scrum or something like that?
Steve: We’re not big fans of Agile or Scrum or process in general. I’ve been writing software professionally for 16, 17 years. I wrote my first program when I was nine, so I’ve been doing this for a long, long time. One of the things I’ve learned in all those years is that people are much more important than process. That’s one of the tenets that gets dropped in the Agile community and the Agile world.
Agile people tend to lean very, very heavily on process and thinking that the process is going to be the key to the successful outcome of projects and getting things done on time and that sort of thing. Certainly, we like a lot of the Agile stuff. We do a lot of Agile stuff ourselves. We don’t ever call it Agile. We just call it how we prefer to work. We were doing that stuff before Agile was Agile.
But, if you hire quality people, then process doesn’t matter. You find a process that works best for people. If they’re quality people, they can probably adapt to different process as the process changes with the personalities that come on board. We certainly like a lot of the Agile stuff but don’t really prescribe to any of it hook, line, and sinker.
Clayton: Yeah, that’s a common sentiment for surely a lot of teams, especially successful ones. What I’m wondering is, with Lean Startup becoming more popular, do you see that being co‑opted by the those same people who are all about process and if you don’t follow all the rules then it’s not going to work?
It sounds like you guys are definitely very true to some of the principles and the values. You’ve been doing that for a long time. Do you see that same thing happening with the Lean Startup community? Or do you think they’ll be OK? They’ll get past that?
Steve: That’s probably true of anything, whether it’s Agile or Lean Startup or any new, cool…They used to be acronyms, and now they’re just little slogans, or phrases, or titles. They’re all good ideas. Ultimately, good people who can see through the bullshit, who know what’s going on, who can perform well, and who are smart senior level people, successful people will tend to be successful.
Unsuccessful people will tend to remain unsuccessful without some sort of intervention. Agile or Lean Startup or whatever might be that intervention. That might be the thing that, “Oh, if only I had more discipline in this, then I would be more successful.” Or that might be the result even if there isn’t that aha moment. But I don’t think that.
I think Lean Startup is just as susceptible to success or failure. It’s the flavor of the day. Most of these things have pretty good principles for their time. I remember once thinking that Waterfall was very, very, good, right?
Clayton: [laughs]
Steve: For where I was in my career and my development, it was good. It was a better methodology than what I was using before. Of course, I wouldn’t do that today, but it’s all a growth process. For certain people, now’s the time to learn. If you’re good or if you will be good, you’ve got a better chance of being successful than if you’re not. Again, I tend to think about people as the asset, not the process or the rules.
Clayton: That goes with my next question. A lot of bigger organizations, some corporate whatever, insurance company or something are getting this idea that if they have this innovation lab that uses Lean Startup it’ll do all this crazy stuff. Is there anything to be said for…I’m assuming that your team is relatively small compared to a big corporation. In addition to that, probably be of higher trust. You have a certain culture.
Do you think that the size of the team and the trust and the culture plays a big enough role that not any old corporation could just go adopt this kind of technique and run with it?
Steve: I’d say, the problem with bigger organizations whether they are governments or corporations, scaling things is hard. Since it’s true scaling families, it’s true scaling nations, it’s true scaled governments, corporations, the bigger you get, the harder it is to manage.
You get to a certain point, even as the company grows, small companies tend to be very, very agile. They tend to be very ambitious. They’re fearless of risks because they don’t have anything to lose. They are tiny.
As the company grows, they actually have something to lose and maybe their shareholders, at some point answer to. One of the things that scale does is it makes people more risk‑averse.
Being averse to risk tends to make poor decisions. Certainly, you go to a big corporation and most of the people that work there, their primary job is to not get fired. That’s what they are there to do is not get fired.
Everything else is secondary to that. That creates a lot of roadblocks and a lot of stagnation and a lot of problems, in and of itself. That simply comes from scale and from being afraid to risk.
I think, taking a portion of people and putting them in a lab is probably a very good idea. Anything a large corporation can do that shakes things up and creates the opportunity to fail and it’s OK to fail where it creates an opportunity to have some…you really don’t care about risk anymore, is great.
If they took a development team and they forced them to all work in a bathroom, they’d see increase in productivity. It’s just that changing the climate, changing the nature, changing the culture, and getting out of…you have a stagnant bit of water and you stir it up a little bit and things tend to go better.
It clears up. You can see the bottom. We can write metaphors all day long.
Clayton: Yeah, I think, we’re about out of time, but if I wanted to find out more about you or about your company, where could I go?
Steve: Certainly, you’d start with lesseverything.com. There you can see the blog where Allan and I post and talk about things that we think are interesting. We post a lot of stuff about business.
Definitely, check out lessaccounting.com which is our biggest product, for all your small business accounting needs. We, also, have another company that we run called lessfilms.com where we do short videos and animations, generally, for Web applications, but for anyone that wants.
If you’re looking for some consulting work, you’re looking for someone to build your rails product, then check out lesseverything.com. We’ve got a great consultancy side of the business that’s still doing great work.
Recently, we formed a partnership with cosupport.us. We’re [inaudible 13:39] , so now we can do end‑to‑end. We can build it for you, we can support all your customers while you grow your business.
So, definitely, check out their stuff out at cosupport.us.
Clayton: I really appreciate you taking the time to join us today.
Steve: My pleasure, thanks for having me.
Clayton: Thanks.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich…
Roy vandeWater: I’m Roy vandeWater.
Drew LeSueur: I’m Drew LeSueur.
Clayton: Joining us today is Esther Derby. Hi, Esther.
Esther Derby: Hi.
Clayton: Today, we’re going to talk about how management changes with Agile. This is a really topical thing for a lot of teams, right now, a lot of organizations who are in the process of adopting Agile or have adopted Agile. I know this is something…management in general is something that you seem to write about a lot on your blog and reference on Twitter / @estherderby and what not. It seems like something that you’re passionate about. What is it specifically about management and how management fits in an organization that gets you so excited?
Drew: I thought you just plugged Agile in and the team members just started performing better and faster. That was it.
Esther: Some people seem to believe that that’s true.
Clayton: How do you see management’s role in Agile? I think that’s kind of a muddy question for a lot of people. There’s not really a clear answer.
Esther: I think there is a role for managers in many organizations. I think we did not do ourselves a service when some of the early pundits said, “We don’t need no stinking managers. Just fire all the managers and I’ll work well.”
But I think the role changes. The first thing is that, for many managers, they go from managing a functional group where everybody has essentially the same skills to working with a cross‑functional group.
Notice I didn’t say managing. I said “working with”.
Clayton: It’s an important distinction, I think for a lot of people. What you brought up just there is something that we’ve seen in some of the work that we’re doing, where maybe someone was a functional manager say of developers, right?
They have this very clear cut role of who was on their team and what they did. As the teams become more cross‑functional, you have people from other parts of the organization, maybe over there generating content or something like that, where they are not a traditional developer, but they are still integral in this part of the process for the product that they’re shipping.
Now, there’s this kind of, “Well, these people aren’t on my team. I’m not their functional manager, so if I want to beat them with a stick, I can’t do that because they don’t report to me.” That seems to cause a lot of problems for some people.
Obviously, beating them with a stick is not your idea of a good manager, but it seems to happen like that.
Esther: No, I think it’s an interesting mental model of management. I think it’s actually rather wide‑spread, but I don’t think it’s all effective.
It may be effective in sense in that people will do many things to avoid being hit with the stick, but it may not include quality writing, quality software, grading quality products.
Clayton: You use the specific word that managers are working with. They’re not managing people. In an ideal Agile organization or one that has adapted Agile and they’re utilizing their managers effectively, what does the managers’ day‑to‑day role look like?
Roy: Does it have anything to do with what they learned in business school?
Esther: Probably not.
[laughter]
Esther: Well, I think the real power for managers and the real value they can bring to the organization is working across the organization and not just with one functional group or one team but understanding the organization as a system, removing impediments, and reducing the friction there is in almost every organization to getting quality products out the door.
Lean tells us something about that, and systems thinking tells us something about that. A3 thinking tells us something about that, about really understanding what the underlying issues are in an organization and digging deep to understand what the causes are because there’s usually more than one cause and they’re entangled.
Then based on deep knowledge choosing action to improve the situation. There’s less impedance for people doing the hard work of writing software.
Drew: Do you still see management as the same type of hierarchical model that it is now where you have managers above the teams, then managers above the managers, and then you have to go like six or seven or however many deep before you actually get to the top? Or is it more flat? Or how does that work?
Esther: [laughs] Well, I think that is the dominant model of how people think about organizations and how people think about getting work done is through cascading goals that flow down from the top, and everybody has their objectives. We’ve known for decades that that doesn’t actually work very well, but that is the predominant model. I think it’s very possible to have an organization that functions very well without so many levels of hierarchy.
For example, my husband works for a company where they are extremely flat. I mean they do have a level called vice president because those are people who are considered officers of the company and can sign contractual agreements committing this company to projects and so forth.
But beyond that their teams are all self‑selecting, and nobody has a manager per se. They have a coach who they meet with and who helps them develop their professional career. I don’t think it has to be a hierarchy to be effective, but that is the model that most people are familiar with. That’s the default that people go to when their company grows beyond a couple handfuls of people.
Clayton: You’d hinted at the beginning about maybe the Agile community doing themselves a disservice by adopting the mantra of “Fire all the managers.” What do you think that would mean we could do different, or how can we rectify that so that we get a little more realistic? I think people have found out that you can’t just fire everybody.
What can we do to bring the discussion of management and management’s new role into the fold and turn that into something that’s part of what everyone thinks or maybe newcomers think about Agile?
Esther: Oh, I think part of it is recognizing that these are people who are worthy of respect. They’re intelligent, and they do have something to offer the organization although it may be something different from what they’re doing now because once we start treating people like they’re idiots or like they don’t have value, then people respond in a fairly predictable way by trying to hold onto what they have.
They try to hold onto their self‑respect. They try to hold onto the value they bring. They try to hold onto their position. I think really meeting people where they are and treating them like, “Yes, you do have something valuable to offer” is a good starting point.
Clayton: If I’m a manager that’s listening to this podcast and maybe I’m becoming self‑aware to some degree that I’m not helping my teams. I’m not empowering them as much as I could, whatever. Is there anything that you would recommend that someone in that position do that they could probably do starting tomorrow that you think would make an impact and would help them become a better manager in that environment?
Esther: I think one of the first things that’s helpful for managers to do is to get clear with the team about what decisions belong with the team, what decisions are shared decisions, and what decisions stay with the manager. Typically the pile that goes to the team is the biggest pile of decisions, but then the money has to go with that.
For example, if you tell the team, “Well, you’re responsible for your own professional development, so sign up for the training that you think you need,” but then you require them to come on bended knee, fill out a form, get permission, and have to go through an approval process, that sends a very contradictory message.
Be clear about where the decisions lie, but also have the authority to make those decisions and carry them out. Go to the team where appropriate. I think training is one that can very often go to the team. I think teams should absolutely be involved in any decisions about who joins the team.
I know, of course, the manager has to do the legal stuff there because it is a legal agreement for employment, so that’s a shared decision. Then be clear of the ones that stay with the manager because that’s one of the things where I see a lot of managers and teams get at cross‑purposes, is where the team believes that they have been delegated decision authority and the manager has a different belief about that.
The team goes and makes the decision, and then the manager says, “Oh, no. That’s wrong. That’s my decision.” It damages trust.
Clayton: It sends the wrong message, right?
Esther: Pardon?
Clayton: It sends the wrong message, right?
Esther: Right, exactly.
Clayton: On the one hand you tell them to be self‑organizing. Then when they do, you whip them back, right?
Esther: Right and say, “You’re empowered and you’re self‑organizing but up until the time you do something that isn’t what I would have done.” That leads to caution. It leads to distrust. It leads to a team that’s risk‑averse.
Clayton: It’ll probably lead towards a more homogenous organization to where only the people that think like‑minded are able to stay within the team.
Esther: Right, right, right. I heard a really interesting talk last week when I was in Norway by a guy named Fred George. He works for a team that actually doesn’t have managers, and it’s a small company so they’re able to do that. But they don’t have managers. When this particular team decided that they needed to rewrite a particular piece of software, they didn’t have to get anybody’s permission.
They just said, “Technically, and in terms of the functioning of this software, this is what we absolutely need to do.” Then they weren’t quite happy with it, so they rewrote it in another language.
That’s a situation when most managers wouldn’t have said, “OK, go ahead and rewrite it twice.” But that’s a very, very mature team, and they have a lot of conditions in that company that make it possible for them to function that way.
Clayton: When you talk about what managers can do, how about on the other side? You touched on it a little bit. If I am in an organization or I’m part of an organization where there is a hierarchy and it’s not as flat as maybe you’d like it, what can the developers do or the people who make the products do to help empower the managers to help the managers be more like working with as opposed to commanding them?
Esther: Well, I think anytime you want a partnership, you have to be able to talk in the language that your partner understands, and this is true of any kind of partnership. You can’t just talk in the terms that are comfortable and familiar to you.
I think one of the things that developers, testers, and all of the people involved in writing software can do is learn how to state their case in language that the managers care about and can hook into because particularly if someone hasn’t written code recently, and that happens in many organizations, telling them something purely in technical terms won’t convey the information that will help them be your partner.
Learning how to frame things in a language that makes sense to managers, that they can click into, and that they can then take forward in a way that makes the case that the managers above them care about I think is an important skill. It’s an influence skill essentially.
Clayton: Do you think that there’s anything to be said for…as far as the way management goes now, if it’s anything about a generational thing? Obviously, if you go take an average organization, the management is probably going to be between some age and some age. Do you think that there is anything that they grew up or they went to school, and there’s a certain way they do things? That’s how they’ve adapted that’s how they work?
Do you think that’s going to change maybe say 20, 30 years from now that maybe people that are going to be in management roles might have a different outlook? Or is that just the nature of the people that get promoted whether they want to or not into a management role?
Esther: That’s a really interesting question because I think sometimes it’s easy to sound critical of individual managers, but it’s actually the whole, as you are alluding to, system of management that predominates in most organizations. It’s a model that actually hasn’t been around forever. It’s only been around for several decades, but it’s very, very entrenched. It’s that hierarchical bureaucracy.
Since that’s the only model that many people have seen or experienced, it’s sometimes hard for them to imagine something different. Right now I think most of our schools are teaching that, so…
Clayton: Well, it seems like the schools and the organizations. If you’re the elite developer and you’re learning how to be a manager, you’re pretty much going to learn that from whatever your manager’s doing now. It just seems like it’s going to perpetuate itself.
Esther: Yeah.
Roy: People from that generation are the ones that are teaching the next generation of students, too, so it’s like self‑feedbacking.
Clayton: Right. Yeah, it seems like it’s going that way.
Esther: I’m not sure it’s generational because I’m probably older than a lot of the managers out there, and I don’t think that way.
Clayton: Sure, that’s true. Yeah.
Esther: I think it is a matter of perspective and that if you’ve only been exposed to one model it’s sometimes very difficult to believe another model will work, and particularly if your beliefs are that you have to push people to get them to work, and if you’re not on top of them all the time, they’re not going to work very hard.
That’s a self‑reinforcing belief because people will work under those conditions mostly to…you’ve reduced the pressure and the stress not out of love of work or great, great products. But when managers who have that kind of mindset let up, people pause and they take a breath. That reinforces the manager’s belief that, “See? If I’m not on them all the time, they’ll slack off.”
It’s a hard nut to crack because it is, as you pointed out, a self‑perpetuating system on a number of different levels. But there are some companies that are making choices not to go the route of that sort of hierarchy and that model of management.
Clayton: Well, I think we’ve reached our time box here so I…
Esther: [sighs] But this is such a fascinating subject to talk about in the rest of the evening.
Clayton: Well, I did want to ask if I’m listening to the podcast and I wanted to find out more about you, books you’ve written, or maybe conferences you’ll be at, what could I do?
Esther: Well, you can always visit my website EstherDerby.com. I think the one of the things I’m most excited about this summer is the PSL Workshop that is coming up in August. We did one in May, and we had so many people who were on the waiting list that we decided to do another one. This is a workshop I do with Jerry Weinberg and Johanna Rothman.
I think this is excellent training for anyone who’s a leader at any level in an organization, and that means everybody. But I think for managers who want to think about organizations in a different way and hone their skills as leaders and see some different ways to help people be effective, that would be an excellent workshop.
Clayton: Great. Well, we really appreciate you joining us today. It was a real pleasure.
Esther: Oh, it’s my pleasure.
Clayton: As always, we like to invite anyone that’s listening to check out the Agile Weekly fan page on Facebook, where you can continue this conversation and other conversations from our other episodes. We wanted again to say thanks.
Esther: Well, I really appreciate the invitation. It’s been delightful talking with you guys.
Roy vandeWater: Hello, and welcome to another episode of the Agile Weekly Podcast. I’m Roy vandeWater.
Drew LeSueur: I’m Drew LeSueur.
Derek Neighbors: I’m Derek Neighbors.
Clayton Lengel‑Zigich: I’m Clayton Lengel‑Zigich.
Roy: Joining us today is Tom Mellor. How’s it going, Tom?
Tom Miller: It’s going well. Right in the middle of teaching a scrum master class in the middle of Kentucky, it’s going well. I’m winding down for today.
Roy: When we contacted you to be on you had asked to talk about managing traditional culture. Can you kind of give us an example of what you mean by that?
Tom: This is something that comes up in our classes all the time. We can’t do this where we’re at or we’re having difficulty doing it. We run into traditional management, and so a lot of what we talk through is how you deal with management that is versed in traditional nomenclature. They’re used to talking the traditional development processes. They’re not familiar with terminology, actual terminology.
I was just looking through, over the last five or six years, and invariably at every gathering there was two or three presentations given on how management receives scrum, what people did to allay fears, and helping to be supportive of work in the organization, and so forth. That’s really what I was trying at when I suggested the topic of the podcast today.
Roy: Are you concerned more from a perspective of how to make these changes work around the existing company culture, or is this more from a perspective of trying to change the company culture to meet the changes?
Tom: There are a couple of perspectives on this, or a couple of considerations. One of them is how stoic the company is, how entrenched it is in a culture already. The younger companies, the startups, the companies that have been generated ‑‑ I’m going to say in the last 15‑20 years ‑‑ those cultures grew up around a lot more progressive thought.
That’s how I’m going to couch it, in management and in organizational structure, behaviors, and so forth. Companies that are older tend to be larger. They’re more entrenched in a culture that’s developed over decades, some of them.
For instance the company that I work for it just celebrated its 90th anniversary. That’s quite a period of time to develop and entrench your culture. When you’re introducing practices that arguably will cause the culture some trepidation, cause the people that have been in that culture for quite some time some fears and some apprehension, then you have to consider how you’re going to support that.
I did a presentation on this back in 2008 or 2009 at a scrum gathering in Florida. Some of the advice that I gave people at that time was you can’t simply go out and carte blanche challenge the culture of the company without providing some explanation and some actual evidence of why such a change in the culture would be beneficial for it.
I’ve been reading a book I probably should have read a long time ago, called “Change the World” by Bob Quinn. In it, he says that transformational change for societies, and for companies, and for all kinds of large groups of people are very difficult because of the diversity of the population.
Derek: I’ve got a little bit of a question. Certainly we see in the work that we do that it really has nothing at all to do with Agile, and nothing at all to do with process, and the 99 percent of it is culture. The original signatories of Agile and early developers of Agile frameworks, whether it be Extreme Programming XP or Scrum ‑‑ you name it ‑‑ I think what they were trying to do is say, “Within the current crappy culture that I have, what can we do as a team to start to change the way we work and move the bar forward.” Now that we’ve seen a number of companies from big to small adopt these processes or these frameworks, what they all tend to do is hit a ceiling to where their performance gets impeded, because the culture around them won’t let them really take it to the next level.
From a Scrum Alliance perspective or a CST perspective, are we doing people a disservice by still trying to sell them process opposed to really trying to get people to understand that it’s a much bigger change than process?
Tom: We might think that a culture is crappy, or we might not be satisfied with the cultural nuances that we see unsupportive of doing work in a progressive way. But for all of us that feel that way, there are other people that feel strongly oppositional to that. It’s not like suddenly we’re the new thing, and everybody’s going to come on board.
Roy: I’ve never been brought into a company that wasn’t having problems. There are certainly camps that say, “We don’t need this fandangled agile stuff” or, “We don’t need the address our culture to deal with the fact that we’ve had slumping quarters for the last 15 quarters, and our quality sucks ass.”
But I’ve never been brought into a company that was high performing, market leader, totally kicking ass going, “You know, I really think we need some culture or some process changes around here.” Are we doing a disservice by companies that are seeking help by short selling them that, “Hey, improve your teams and start there, and that’s a really great place to start”?
Drew: That might still be a great way to start though.
Tom: This is a generalization and may be not supported actually by observation, but I think there can be a tendency to go in naively. If you come in and consult these companies, companies [inaudible 07:27] to feel that you have an answer. Why would you be there? To your point, if I’m doing well and taking [inaudible 07:34] at the market, and putting out [inaudible 07:36] products, I’m probably not bringing people [inaudible 07:40] improvement anyway.
But if I’m trying to resurrect a company that at one time maybe didn’t perform well or maybe got bit by complacency ‑‑ any number of those really bad things that can happen at companies ‑‑ then there is a propensity to reach out for a silver bullet. Yet, there is a hesitation on those companies to invest into thorough changes that will be required if they’re actually going to recover or progress.
It’s interesting because Gerry Weinberg has written for years that you can’t manage change in the same way that companies think that they can manage products, and manage people, and do all that. There’s even a model called the ADKAR change model that supposedly systematically and mechanistically structure your organization to manage change.
He and Virginia Satir work very closely together for years, and the dynamics of the change are much more aligned to Virginia Satir’s change model, which there’s some kind of foreign element that’s introduced into a company that creates chaos over some period of time.
That’s where support for change whether you introduce the agile practices or you’re introducing different engineering practices, however you want to characterize it, there’s got to be support in those organizations.
The organizations have to want to have that support, and they got to reach out and bring that support in, in the form of coaching, or in the form of really good guidance. Otherwise, it’s a waste of everyone’s time if you’re just going to give a lip service, and you’re not really going to invest in the change.
Clayton: I’m sure that you guys see a lot of people at your classes that have this problem. Maybe they are coming for refreshers, CSM, or whatever. They’re wondering how they can either change or just manage traditional culture and facilitate agile.
What have you seen have been effective for those people. To someone listening that’s maybe in that same boat, how would you recommend that they manage that stuff?
Tom: I took a fortune 50 company through that process, and I can tell you that I have scars and wounds on my body that resulted from people who thought I was crazy.
The thing is that you have to put the organization, and the teams, and the people first. If it becomes about individuals, in any sense, then it will break down. If somebody goes in and introduces this, and sees themselves as heroic, or solely instrumental, or that sort of thing, there’s going to be a lot of animosity and resentment towards such a person.
You’ve got to reach out. It’s in the terms of what Quinn wrote in “Change the World.” He used Christ, and Gandhi, and Martin Luther King as examples of people who didn’t have positional authority, and yet they created huge, transformational change. It survived them.
It’s the same kind of thing that you have to go into organizations with. You can’t go in there thinking you’re going to be a hero. Those three people didn’t do that. They came in with a passion, and a conviction, and something that they felt would lead people to a better place. You have to bring people along with that. You have to reach out and appeal to people’s fears. You’ve got to be able to mitigate those fears. You’ve got to engender trust.
It’s tough. People look at me in classes and they go, “Who’s going to do that?” I go, “I don’t know. It’s got to be somebody in your company.” Otherwise you’re going to have to do this surreptitiously forever, and eventually you’re going to be discovered.
You’re either going to get discovered because you’re doing something against the grain, or, like was in my case, you actually get results and people can’t avoid seeing it. They’re going to look at it. They’re going to say, “How are those teams he’s working on getting good results?”
Then the cat’s out of the bag. Once the cat’s out of the bag, you have to really think, from a therapeutic perspective, how am I going to take the organization through this? I’m not going to do it by myself, so I have to find allies out there that are going to help me.
Clayton: I think it’s a very good point. I think there are a lot of people that get really excited and passionate about this stuff, but they are expecting that kind of silver bullet. Or, they think they can be the hero and do it behind the scenes, and then it kind of blows up in their face. I think it is good to reiterate the point that there isn’t that silver bullet there.
Tom: You have to have structural support. Otherwise, it will just become a fad. There won’t be any legacy to it.
Roy: Tom, is there anything that you are currently working on, or any upcoming things that you’d like to share with the audience?
Tom: I’ve written quite a bit about this. I have a blog called “Helping Pigs Fly.” That was the title of the presentation that I did several years ago at The Scrum Gathering, I just created a blog on it. One of the thing I focus on in the blog is how do you handle these kinds of cultural issues, and that sort of thing. If you Google “helping pigs fly” the blog comes up right at the top. There’s not too many things called helping pigs fly I guess.
Clayton: If I wanted to take Scrum training from you, how would I go about finding a class?
Tom: You can go on the Scrum Alliance site. Go to the training tab, and then search it. You can search by parameter. Tom’s Upcoming Courses
Roy: Thank you for joining us.
Tom: It was my pleasure, and I really enjoyed it. Thanks for having me on.
Clayton: Thanks a lot.
Roy: Thank you.
Jade Meskill: Hello, and welcome to another episode of the Agile Weekly podcast. I’m Jade Meskill.
Drew LeSueur: I’m Drew LeSueur.
Roy vandeWater: I’m Roy vandeWater.
Jade: We’ve got Mitch Lacey here with us on the Agile Weekly podcast. Great to have you here, Mitch. Thanks for coming on the show. Why don’t we get started by…I know that you are involved with the Agile Alliance. Maybe you could tell our listeners, who might be unfamiliar with the Agile Alliance, what the Agile Alliance does, what it represents, and how you’re involved there?
Mitch Lacey: My job with the Agile Alliance is in the Conference Chair for the Agile 2012. The Agile Alliance itself is a non‑profit organization whose primary goal and focus is to advance Agile development principles and practices, and it supports this in a variety of ways.
The conferences, probably its biggest way but it manages and hosts local user group meetings, supports for those, talks, community groups, the website has good resources and event listings. Agile Alliance, its primary focus, Agile software development, and the big source of revenue to supply that, those endeavors, is the Conference.
Jade: Maybe you could tell our listeners also about the Agile 2012 Conference that’s coming up soon.
Mitch: Agile 2012 is going to be in Grapevine, Texas this year. I’m really looking forward to it. We tried some new things this year with regards to our keynotes and to a new stage called the “No‑Bull Know‑How” stage, where we have a bunch of known industry experts that’ll be there, not giving a talk, but they’re actually going to be answering questions that people can submit on the website, provided they’ve registered for the Conference.
Then come up on stage to have, as intimate as you can be with a couple hundred people in the room, an intimate conversation around large topics of choice at hand. We’re really looking forward to that. The Conference itself, we had over 800 submissions this year. We had to accept 20 to 25 percent of those, so we have a little over 200 submissions that came in.
One of my big charters for this year, one of my goals and objectives, was to be able to increase the amount of technical content, as compared to traditional management or program management content. Increase the technical content from last year, it was at 10 percent, up to 25 percent. I didn’t totally hit that goal but I brought it up to 15, little over 15 percent. That is something I’m pretty happy with.
Drew: When you say technical content are you talking about more like developer‑oriented stuff, like XP stuff?
Mitch: Correct, yeah, developer‑oriented stuff, eXtreme Programming XP stuff. For example, how are people doing Agile for iPhone and iPad development? How are they doing Agile for embedded systems? What are some good modern practices around TDD? What are people doing? What are the emerging trends?
They’re just bringing it back from a more program management, leadership focus to making sure that the technical content is included because you guys know that’s where it started.
Drew: Right.
Mitch: I don’t want to get that lost. I don’t want to see that be lost, so I had some very passionate conversations last year with some individuals at the conference who wanted to get involved and I took them up on it and I think we’ve got a pretty good program this year, I’m pretty happy with it.
Jade: What’s one of the sessions that you’re looking forward to seeing, especially given that you’re really putting an emphasis on the technical side of things.
Mitch: [laughs] It’s funny because I’m not even sure I’m going be able to go see any sessions.
[laughter]
Mitch: There is a session on Monday with Eric Smith and Eric Meyer around “Make your iPhone Agile with automated iOS Testing” which, to me, sounds pretty cool that I want to see.
We also did something different this year. Corey Haines is doing a full day Immersion coding development workshop on Wednesday, which, if I had a full day to go I would go to it. I’m really excited for that. I think that’s going to be a fantastic program for people to come in, get their hands dirty, and do stuff.
Bob Martin will be there. He’s doing a session on Clean Code, which is great. Liz Keogh will be there doing a session on Behavior Driven Development which is going to be great. There’s one session, and I remember this one when we were laying out the program which made me laugh and the title of it is “Does pair programming have to suck”?
[laughter]
Mitch: It’s obviously funny because when you start out at those you actually learn how to do it. It gets significantly better and easier. Dave Bernstein is doing a session on Writing High Quality Code that I think is going to be pretty exciting and fun.
The coaching stage also has a lot of good stuff on it as well. Dave Hussman is doing a session over there. Sam Laing and Karen Greaves are doing a session on Brain Science on Monday ‑‑ the first day. It’s a three hour session I won’t be able to go, that’s one of the ones that I’m recommending to people just because it’s interesting, really cool, really exiting.
From a program standpoint it’s pretty challenging to find a session that you want to go to knowing there are so many other good ones. I was on the phone with somebody earlier saying, “Hey I am a first timer. I don’t know what to see, I don’t know who’s who, what should I go see”? I spent about an hour on the program with her diving through it and she said, “So you recommend everything.” and I said, “Well, yeah.”
[laughter]
Mitch: I do, why don’t you go look at it and let’s talk again next week and you pair down the list a little bit and I’ll give you my thoughts on your paired down list.
Jade: Awesome, sounds like some really great people.
Mitch: Yeah, it should be a lot of fun. I’m really looking forward to it. The party on Thursday night is at the Glass Cactus Nightclub which is there on the Gaylord compound overlooks the reservoir, the Lake Grapevine. It is a beautiful building. We have a great band called the Emerald City band and a comedian that is going to open up for us as well, should be pretty fun.
Jade: Awesome, looking forward to that. Shifting gears a little bit, what is something that you seen lately maybe a recent development in agile technical practices that’s got you exited, or frustrated, or what’s got you hot and bothered in the technical realm?
Mitch: I can’t say that I have stumbled across anything new but the thing that gets me hot and bothered in fact I had another conversation with a person today about this. She was a customer, a friend of mine, she was telling me that in her organization you’ve got management who’s bought off which is, they’re saying, “Let’s go go go let’s do it whatever resources you guys need to make this happen.”
Then you got the middle management which was surprisingly was bought off and supported and you had half the team, the testers, ready to rock the traditional project managers ready to rock and you had the developers saying, “Yeah I’m not sure I can build anything in a month and have it be potentially shippable, it’s going to take a six month to design the system let alone to actually get anything written probably a year and half.”
It drives me bad when I see that behavior because it’s so well known ‑‑ at least for me I think it’s pretty well known how that stuff works. We’re constantly ‑‑ as people in this industry ‑‑ we constantly have to re‑sell and re‑sell that message, of people have done it before us, it does work, you have the right mindset you’re are going to be fine, if you don’t it’s not going to work.
I know it’s not really a development practice you have under focus for some developers today, but I just bang my head against the wall time and time again and it just, I’m sure you guys do when you hear, “That can’t work here,” story or “That doesn’t work in the real world.” Obviously when people say it doesn’t work in the real world I won’t know what world they’re in…
[laughter]
Mitch: …because, in the world I live in it works great. As far as I’m concerned we are all in the same planet but maybe not.
Jade: What are some of the techniques that you might use when you end up in that situation where you, going back to your scenario we can’t even design it in six months let alone deliver something in a month that’s just impossible? What do you do from that point?
Mitch: At that point I really focus, what I do is try to focus on the past. And say, “OK. Hey, you’re right. Walk me through how you’ve done this. How would you go about and do this”? And of course they’ll start out and like to this day it wasn’t a development team, they that they are thinking of. The development team wasn’t on the phone.
It’s like, “OK, let’s walk people back and say, ‘What have you done in the past’”? They lay it out there and say, “Now, tell me when all the problems surfaced in that area.” Of course, they always surface at the end. Telling people doesn’t work.
Telling people, “This is the way you should do something,” doesn’t work because you have to paint the picture inside their head and show them what it is they’re missing or what it is that needs to be seen for them to have the light bulb go off and go on, “Ah, now I understand everything you’re talking about. I still don’t believe it, but, at least, I understand it and I’m willing to take a little bit of a leap of faith on this to be able to drive it forward.”
That’s when having somebody there to help comes into play. I’m a big fan of painting the past. They can paint in the past, highlight in the failures and go, “Great. If we keep doing the same thing, we should expect those results.”
Drew: Great stuff. When a developer has that mindset, “There is no way we can do this in this amount of time,” what do you think it is? Are they afraid to release something because then they’ll have to be held accountable for it? Or is it they’re just used to procrastinating and not really releasing anything?
What do you think causes that?
Mitch: It’s both. It’s procrastination. It’s accountability. It’s the fact that people have been trained. You get trained in school. You got to school, you learn development. You won’t learn project from the get‑go.
There are very few schools out there that are teaching that stuff. Most of the people, like my next‑door neighbor, he’s a computer science major and he’s learning that you go off and you do your design up front. You go write all your codes, then, you go write all your tests.
Jade: Right, it’s the same continuing…
Mitch: He comes next door and he goes, “Mitch, how does it work at Microsoft? How does it work here? How does it work here”? I tell him, I say, “This is what I advocate. This is what companies do.”
I gave him a copy of my book and he read it and he’s like, “I’m not learning any of this in school.” It starts at that ground level foundation because you’re teaching somebody how, if they’re right‑handed, you’re teaching them how to be left‑handed.
You’ve been right‑handed all your life and now, suddenly, somebody’s telling you to be left‑handed. That doesn’t really work that well, especially if you’re expected to learn it overnight, which a lot of management teams really drive.
Because of that, you see a lot of resistance with development teams. You see a lot of resistance with management in the fact that they say, “We can’t do it.” That’s part one.
Part two is the fact that people look at a holistic solution and think that they have to build the framework and then, they have to build the UI and they have to build all these things and, hopefully, it all comes together at the end. As you guys know, everybody in our space is a big advocate of, “Let’s build the smallest piece first, smallest thing, validate functionality and direct forward with it.”
Of course, that creates the mindset that you have to have this throw‑away work and organizations, often, frown upon throw‑away work because as development teams, we should get it right the first time.
[laughter]
Mitch: The problem is we’re not going to get it right the first time because software is a creative process and it’s artistic and the IDE is like the canvas. You’re going to paint and you’re going to repaint and you’re going to repaint again.
It’s impossible to get it right the first time. You have to go through and do some sketches, do some prototyping, create some GIFs and user stories that working so you can get feedback from the customers. If they change their mind, that’s a good thing.
A lot of companies think that’s a bad thing because they have everyone sign in blood.
[laughter]
Jade: That’s right. What do you think our responsibility is as those people who have found this new way and we still look to the traditional university environment and other things that are teaching people that this outdated way of developing software?
What should we do about that?
Mitch: What should we do about it? First thing, let me back up, I’m not necessarily sure it’s an outdated way, it’s just a different way. I’m a big advocate of Waterfall. I think Waterfall is great.
However, if you’re in an environment that’s going to change and if you have customers that are going to change and if your business is changing and it’s changing so rapidly that you have to be able to respond to it, then Waterfall is not a good solution.
Traditional approach isn’t a good solution because you pick any one of the Agile practices, one of the core penance of those is the ability to respond to change, to be able to manage and respond to change to build what your customers mean, not what they’re asking for.
All responsibly in that is to help build trust with customers and stakeholders because as an IT industry, we’ve been breaking their trust for the last 30 to 40 years. Every time we say that we can go do something, we deliver late, we deliver with low quality and that degrades the trust.
Then, of course, our business puts more controls on IT and says, “OK, you must commit to this. You must do this. You have to have very precise estimates.” It’s a really evil cycle that we have to deal with.
It’s part of our responsibility to train management, train leadership and, most importantly, train the customers to help them understand that we do have their best intentions at heart and we don’t want to screw them over. In order to do that, we have to work together. We can’t promise the world because we know what we want when we see it.
We know that when we see things they will change.
Jade: Mitch, as we wrap things up, is there anything that you’d like our listeners to go check out? Where can they read more about you, pick up your books, all of those things?
Mitch: Definitely, it’s in the Agile 2012 conference. It’s going to be a kick‑ass event. My website is mitchlacey.com, pretty easy. Amazon has got the book up there.
I’m very proud and happy. It’s up to 33 positive reviews. 31 of those are five stars and two of them are four, so people are reading the book. People are liking the book. I couldn’t be happier.
Conference, awesome. Great website. Scrum Alliance, which we didn’t talk about. Lots of good stuff of that website as well. Good content, people should go read up there.
You guys have some good content as well…
[crosstalk]
Mitch: …and podcast, everyone should go listen to them.
Jade: Thanks so much for joining us on the podcast. Good luck with Agile 2012. We’re really looking forward to seeing all the great content coming out of there. Thanks for joining us.
Mitch: I think Derek’s got one of those invited No‑bull sessions.
Jade: Yeah, he does.
Roy: For our listeners, if you’d like to continue this conversation, you can join us on our Facebook page at facebook.com/agileweekly.
Jade: Thanks, Mitch.
Mitch: Thanks, Jade.
Jade: Talk to you next time.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich.
Derek Neighbors: I’m Derek Neighbors.
Drew LeSueur: I’m Drew LeSueur.
Clayton: Joining with us today, we have Arlo Belshee. Arlo, can you tell us a little bit about yourself, where you are, where you work, what you do, kind of thing?
Arlo Belshee: I’m in Seattle. I work for Microsoft, and I’m currently working on the OData Protocol, Wexford Web Services, and Protocol Definition, Open Web Protocol. My background, whole lot of background with all sorts of things extreme programming XP, been doing it for a decade or so, coaching teams. I bounce from company to company and project to project to find the ones who really want to do awesome, and help them do so.
Clayton: We wanted to talk to you about some XP practices and I guess at a high level. What is it about XP that attracts you to that versus some other agile methodology?
Arlo: It does the part that matters [laughs] , certainly what it comes down to. The way I think of it is, assume that our objective is to get to Chicago, and we’ve got a bunch of different ways that we could do so. One of those options is traditional development style. I’m going to lay down some track, like a big plan, build it and build myself a little hand cart. I’m going to lay down all this track, build myself the hand cart, climb on it, start pumping, and, I will get to Chicago.
Other practices do parts of a different approach. All the agile practices, you’re basically going towards, we’re going to drive there. Instead of doing this pre planning, we’re going to respond to the information as we go, and navigate the roads. We’re going to build ourselves a vehicle that can respond. Great. Then, let’s look at what are the practices, and what parts of the car do they apply to. Scrum, that’s the steering column. That’s basically what’s in Scrum. No matter how good my steering column is, I’m not getting to Chicago with just a steering column.
XP I like because it talks to the technical practices. The technical practices are the engine. You can get really, really far with XPs technical practices and a waterfall planning practice, that’s called a locomotive. It will get you to Chicago. [laughs]
That’s what attracts me there. I also do really like the Lean thinking stuff. The learning practices from XP and the Lean thinking practices align very well. I think that’s also a very critical part of it, but fundamentally, XP is the one that gets that all the rest of Agile is enabled by doing good engineering and it tells you how to do so.
Clayton: I’m going to kind of set you up here. We’ve had some discussions internally about, you know, if you look at some XP things, what’s the most important? There is only one thing you could adopt, so we’re going to ask you that question. If there’s one thing that a team could adopt, some XP practice, whether that be pair programming, or continuous integration, or whatever it is, what’s the one thing that you would suggest?
Arlo: Part of the thing with XP is that there is a one thing that’s a good answer to this. But it’s well broken down in all the descriptions of XP. In a description of XP it shows up as like five different parts.
Clayton: What if I said the first thing? Does that change it, if you say the first thing you would suggest?
Arlo: It’s the one thing that I would do is continuous learning and reflection on your code. That shows up in XP books as a combination of TDD, sit together, pair programming and refactoring, because it talks about all the pieces. But, those aren’t individual pieces. The individual piece is really that continuous reflection, and understanding, and learning, and improving of the code.
The other things are they are windows on the tool [laughs] you can use to understand with. If I had to choose one thing and I can identify a thing, it’s that. If I have to choose one of the practices out of a book, then I would probably say it’s pair programming, assuming sitting together.
Clayton: OK.
Arlo: But, really that’s part.
Clayton: You mentioned a lot of the technical stuff, and I guess, maybe this a side bar, but I have to ask, where do you stand on that software craftsmanship stuff? Is that good, bad?
Arlo: The movement or the thinking? I, personally, don’t much buy into the movement. I don’t see problems with it, but I do see some places where it misses its mark. A lot of that’s in how it talks about things, and how it thinks about learning, on the intent that what matters is doing good code. To do good code you learn to do good code. You work with other people, and no holds barred, we’re going to do good code. Totally agree with all that stuff.
Clayton: A more practical question. In terms of pair programming ‑‑ that’s an important one, I think. I, certainly, enjoy pair programming and all the benefit out of it, and everything. What are some common problems that you see that teams have, or maybe people have, when they pair?
Arlo: There are a couple of different sets of problems. There are the problems that are related to learning to pair, transitioning to pairing, all that sort of stuff, and there are the problems related to actually pairing. I find most teams have problems not with pairing, but with the transition. There are problems that show up with pairing as well, but I think the more interesting ones are the transition. Just like transition to Agile is very different than doing Agile, transitioning to pairing is very different.
The way I think of it is learning to pair is, fundamentally, your learning a different language. You think differently, you learn to think in pair, and it is a very different way of thinking. It’s critical to develop subconscious filters that are filtering your environment differently, so that you’re not being destructed by the noise but are subconsciously noting it. When something comes up, when a keyword gets mashed your subconscious mind fills in the last 15 seconds of conversation, just like when somebody says your name. The closest match we have is learning another language.
I really encourage teams to do that transition both as an experiment and like they’re trying to learn a language, which means that you define a period of time that we’re going to try this experiment. It’s got to be at least three/four weeks because we’re talking about training the subconscious. That doesn’t happen quickly, takes a month. [laughs] You got to be three/four weeks, you got to expect that it’s going to look really awesome the first day, it’s going to be sheer hell by the end of the first week. You’re not even going to be able to think straight.
Basically, your mind is now trying to think in two different languages at once, and everything is blocking itself. That’s what’s going to happen in the second week. I see a lot of teams don’t know what to expect, in that transition period. They get into that first couple of weeks, go, “Oh, God! Stop doing a hundred percent pairing,” and they say, “OK, we need to back off.” Then they do 50 percent pairing, which becomes 25 percent. We’re pairing certain types of tasks.
At that point, you’ve now switched from a more mature learning of a language to learning of a language in a high school classroom. You’re never going to get the accent, and it’s going to take forever. You’re never going to see the value that you do, if you can actually understand what immersion learning is going to be like, be willing to accept that, and then make it happen.
Derek: I’ve got a question on getting to the transitions. Let me give you two scenarios, and tell me how you would approach them, and whether it’d be the same way or apparently different. One would be, I’m a development manager, and I’ve really started to read about this XP stuff, or maybe I’ve worked in another company, and we’ve done XP before. I really believe in it, except none of my developers currently want to pair program.” How do I start that process with that transition? Is it OK to just say, “I’m going to demand that you all pair program, and deal with it. Let’s talk about it in three weeks?”
The other scenario would be, “Hey, I just joined a new team. I came from an XP team, I really miss that, and I really want to do that.”Maybe there’s another person or two on the team that are interested in it, pair curious or XP curious about things. How would you go about coaching that person to moving to transitioning to pairing?
Arlo: The meta‑approach is the same, and then the details vary by the context. The meta‑approach is to understand that people decide emotionally, and then justify rationally.
Rationalization is called that for a reason, is the only way we use the rational mind. If you want to get people to make a decision to try pairing, it’s an emotional sell, because they’ve got an emotional commitment to the current one you’ve got to change to that, which means inspire for [inaudible 10:02] . Some of the things I have done here, I did a code retreat. There was a set of people. That was the right thing. We got together, and a code retrieve, you are doing everything paired. Also most of the people around here don’t have great tools.
I’m showing them Resharper, and I’m showing them End Crunch, and I’m showing them all sorts of stuff that they can’t work in their daily work, because they’re working in C on really old Legacy systems. Bring all of those things together in a room.
Now pairing is something fun that I got to do for a day, which allowed me to learn simultaneously this language, and solve the problem, and learn four or five tools, and, holy cow, it was a successful day. There I’ve inspired. That one works.
Another one is, I can do a demo and show some of the things that are going to result, and that can be another good way to inspire. We did an exchange program for a little while, which will be starting up again soon. Where team could go visit teams from other companies. Smilebox is just down the street. They have a really good XP shop.
They do a lot of pairing, and it’s full collaborative style with everyone in one room and the devs and the marketing people and whatever can overhear each other and all the goodness. When I could take people from the teams here over to visit that, suddenly, without having to learn pairing or commit to pairing, they could see the value that comes from the collaboration and the learning. Then we come back and we talk about how we will do that transition. [laughs]
Clayton: I thought it was very interesting you hit on that transition part. I think that’s a very good point. There’s a team I’d been working with where one of the guys was like, “I’m so mad at Derek, because he writes all this terrible code. I’m so mad at Drew because all he does is goof off all day.” He and I had done some pairing, and I said, “Oh, well this would be a great opportunity for you to promote some pairing. You guys have your desks set up for it. This would be fantastic. You can solve all these problems of you just do something…”
“Well, I don’t know,” and it turn into it was very much that, I don’t want to get into the transition thing. I can’t even imagine how that would work, and it was too much of an emotional blocker for him, I think. I thought that was very interesting.
Arlo: I found that the emotional block is huge, and it’s especially huge if it in any way sounds like you are trying to sell a change to pairing. But if I tell people here’s some of the advantages, and especially get them to experience one of those little experiments of, “Hey let’s try some cool stuff,” I’ll often sell the pairing by getting them to try GDD and refactoring.
“Let’s go play with these cool tools. Oh, to help people learn the cool tools we’re going to do pairing with rapid pair swaps,” and then they see the advantage of the collaboration. I’ll do that, and then the second is pitch the transition purely as an experiment. The ground rules I start with are ‑‑ we are going to do it for three weeks, we agree and understand that it’s going to be painful, and we are going to do that. We also agree that at the end of three weeks we’re going to stop.
We’re not going to pair in perpetuity. We’re going to gather data of whatever data we think is relevant to this, measure the result of that experiment, and then discuss the results of that experiment. We aren’t going to do anything more than that. If as a result of doing that experiment, now people want to do a transition, we can talk about doing a transition to pairing permanently. That no commitment thing really helps.
Clayton: Just kind of a last question here to wrap up. Is there a particular technical practice or maybe a particular part of XP that you find that teams are pretty much always bad at, and they really need to spend some time improving? It’s kind of universal across all teams.
Arlo: Yeah. Unit TDD. There are a fair number of teams that do TDD. There are very few teams that actually do Unit TDD. They write short span integration tests, or long span integration tests, they don’t understand a unit. They won’t re‑factor the code, be unit testable. Instead they’ll use mocks. I hate mocks. [laughter] Mocks and dependency injection, which I also hate, to allow them to test otherwise un‑testable code.
Those tools are great for Legacy systems, because you got stuff that’s intertwined, and you want to test it anyway. Wonderful. But if it’s not Legacy re‑factor it, so it’s not intertwined. Now you don’t need the tool anymore. They’re crutches that can really get in the way. A lot of teams just don’t understand what a unit is therefore they can’t do Unit TDD.
The closest they can get is unit like TDD with mocks, where things are sort of units during testing, but they’re not actually units in the product. They aren’t getting any of the design advantages. Most of the bug elimination and that sort of thing from TDD actually comes from the design, not from doing little verifications and validations. [laughs] That’s the technical practice that I think everyone needs to learn, and it’s also an interesting one, because it’s the one that everyone who’s practicing assumes they already know.
Clayton: That’s an interesting point. I think we are out of time here. If I wanted to go find you on the Internet, or learn more about you or the stuff that you are doing, where would I go?
Arlo: Twitter handle is []@arlobelshee](http://www.twitter.com/arlobelshee), and I also do a blog, @arlobelshee.com.
Clayton: Is there any books or anything like that, anything that you’re involved in, any project that you would like to suggest for the audience?
Arlo: Yes and no books. The project I’m working on, if you’re interested in restful web services, and all of that sort of stuff, by all means, go look at ODATA. My agile stuff is mostly talking at conferences, the blog, and occasional tweets.
Clayton: As always, we’d like to invite the audience to check us out on Facebook at facebook.com/agileweekly, where you can talk about this episode, and all the other episodes, a little bit more in detail if you want to continue the conversation. Arlo, we really appreciate you joining us tonight. Thanks a lot.
Arlo: Thank you.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton.
Drew LeSueur: I’m Drew.
Clayton: With us today, we’ve got Jim Benson. I might know him better on Twitter as ourfounder. We wanted to talk today about the cognitive bias and estimation. Jim, I see that you’ve written an eBook or Kindle book about plans and cognitive biases, under just biases in general and plans. Could you give us an overview of what it was that prompted you to write that book?
Jim Benson: Sure. My career actually started in Psychology and as I worked my way through being an urban planner where I built really, really large things, like subway systems and freeways. Later, when I came to software development, it was incredibly obvious to me that people just couldn’t estimate their way out of a paper bag.
Most of the breakdowns in projects regardless of what they were or who they were for, generally centered around problems with the estimates.
I started to look into reasons why that was and I started finding clues in psychology. The psychology of how we approach problems, how we gather information, how we make decisions, all of those combine to really muck‑up our estimates.
Clayton: OK. You know one thing, I don’t know if you are a part of this camp, but a popular mindset nowadays seems to be that estimates are wasteful. No one ever gets them right, so why bother doing them? Where do you stand on that?
Jim: Eisenhower said that planning was important and that estimates for it and plans were useless. I believe that the same thing is true, that estimation is indispensable and that estimates are useless.
Going through the exercise of estimating is actually rather important. When you change it to an active word instead of a physical object, going from an estimate to estimating, then estimating becomes something that you do constantly throughout the project and that’s much more helpful.
Clayton: That is an interesting way to think about it. Obviously there’s a lot of teams that, probably experienced the idea, they do some estimates and that gets held against them or something like that. But I agree that there is something important about that mental exercise.
Now, in terms of some of the biases or some of the more psychology things you hinted at, what are some examples there that you could give us about some things that some agile teams might face?
Jim: I’ll just start to cherry‑pick and I’ll come to the big one, maybe third.
The first one is something called the “availability heuristic.” When you look back on things that have happened and we pick out exemplars of either our fears or our hopes, and we then start to make decisions based on those exemplars. The worst part of this is an exemplar can be status quo.
What we found is that the error in estimates follow almost a perfect Pareto curve, or almost a perfect power curve. We start to feel that we’re very good at estimates because we actually do get them right, about right, or excusably right, about 80 percent of the time. The other 20 percent of the time, we perceive that we are dead wrong, so we say “If I could just get that last 20 percent right, everything would be fine.”
But it’s actually a natural power curve, it’s a natural law, especially in software development that we’re always going to fall prey to because there’s too much variation in our work for us to estimate accurately, a 100 percent of the time.
Clayton: Take scrum as a methodology that puts a lot of emphasis on predictability and timeboxes. Usually in most of the training literature there’s a lot of emphasis on the estimates, specifically Planning Poker.
On a scrum team, do you think they just need to find some way to overcome some of those biases and problems, and just deal with it? Or should they find creative ways to avoid those issues, or creative ways to do estimates differently?
Jim: I’ll start this by saying it is dangerous to ask me about Planning Poker, and then I will try my best to state this as distinctly as I possibly can. Planning Poker itself was devised to get around groupthink and other cognitive biases to play teams.
The theory behind it was, if you got people together and they in silence and at least cognitively separated from each other came out with like an opening bid for what the number of story points were for a given story, or a given task, or given feature, or whatever you are estimating against. That will overcome the bias. What happens in teams almost uniformly is that as they do planning poker over time, the teams’ estimates become more uniform.
People see that as a good thing because they see that the team becoming more accurate. But what’s actually happening is that the team is learning how everybody else learns. There’s a heuristic that is being developed within the team that says, when we as a team sees this, we do these things. The individuals stop acting like individuals and they start acting like a team and our time planning poker becomes less and less useful because the individual is sublimated to the will of the group.
A lot of people will argue with me about that because it’s a hard thing for you to swallow as an individual because you don’t feel like you’re doing that. But the actions of the coalescing of the estimates of the teams are very good indications that that indeed is what is happening.
Clayton: Is that something that, if you go back to the a typical or particular size scrum team, if they are coalescing on those estimates, does it really matter if the estimates are kind of…if they can come full circle with the group think thing…if they are using their velocity, maybe their estimates are all close to each other because they are all kind of learning maybe subconsciously however on those estimates.
But does that really matter in the overall schema of things or is that something that they should avoid?
Jim: It doesn’t matter because they are still going to be wrong 28 percent of the time, not because they’re wrong, so I want to make this clear that the people doing planning poker are not wrong. The estimates that they are doing for at least…say you have a three‑point story and you have six of them and four of them are right. Let’s say the three‑point story takes three hours to complete.
They do 3,3,3,3, and that’s fine, and the next one is 7 and the next one is 11. That is a valid distribution on our Pareto scale. All three of those different time signatures or time stamps are all valid for that three‑point story.
The problem is our commitment, the sprint commitment, does not take that into account. One of those three is going to end up taking 11 hours. It’s going to make people blow their sprint commitment and people are going to feel bad about that and then they’re going to wonder why and they’re going to try to fix it the next time but it’s not really valid to fix, because statistically that was a valid distribution.
Clayton: I would question that a little bit, Jim. You’re absolutely right if you look at probability theory you roll a dice, a three‑six‑sided dice or a six‑six‑sided dice and the number of times you’re going to get a distribution curve that’s just like what you’re talking about. But if the team were to do a commitment driven approach to planning I would argue that they would know that one three‑point story was 11 hours and one three‑point story was 7 hours before they actually made the commitment.
Jim: And that’s awesome. That’s completely awesome and I’m happy with that. The thing is that right now, this conversation we’re having is about a hypothetical team that is operating at a hypothetical level self‑awareness and most teams A, aren’t that self aware and, B, don’t have the luxury to backpedal when they find out that there is variation in their system.
Clayton: Yeah, I think that the real problem is that we’ve propagated for far too long on this community that yesterday’s weather is a good way when using story points to predict tomorrow and then actually ask teams to make commitments against yesterday’s weather.
And as any weathermen would tell you that they’re not probably willing to bet their jobs on yesterday’s weather and I don’t think that sprint teams should be doing that either and so how do we start educating people that if you’re going to take the time to estimate and if you’re going to take the time to use velocity, that you use the proper techniques to actually make it meaningful.
I would almost argue, to most teams, it is not even worth them taking the time to estimate, because they’re not doing release planning. They’re estimating for, I guess, just to make their boss feel they’re doing as much work as they say they can do, but it’s not being used for anything meaningful, so it almost defeats the purpose.
Jim: Yes, I would agree with that. I do want to make it clear that my dislike of the measure of story points doesn’t really have too much to do with agile or the act of estimating. It has to do with creating a system that doesn’t translate well from one part of the organization to another.
Story points end up being integers. Those integers are communicated to people who try and interpret them, and they’re going to interpret them incorrectly, because, for the team, it’s a relative measure of what ideally would be bizarreness. That’s a 13‑point story, because it’s really quite bizarre.
But other people are going to uniformly interpret those as either money or time. That’s very dangerous, and it leads to a lot of unnecessary conversations and unnecessary meaning. I actually think that the active estimation is awesome, but the creating an artifact that can be so easily misinterpreted is dangerous.
Clayton: Is it really dangerous, or is it just being used improperly? One of the things that I would argue is that, I think, the reason why teams should probably use points if they’re going to estimate is because they are integers, and they can be used for things. The problem is the people used them incorrectly for a time.
If I try, as you stated earlier, say, how many hours is three points equal to, that is very, very dangerous, because three points, by itself, is going to be very highly variable. However, if I’ve got 100 three‑point stories in my backlog or in my release plan, I can probably get some normalized numbers out of there.
If I say, “Hey, for the last X number of sprints, we’ve been doing roughly X number of story points,” while still an estimate, I can predict the future to a degree ‑‑ several weeks or even a month or so out ‑‑ to be able to say, “I should be able to get roughly somewhere in the neighborhood of this.”
I think people get in trouble when they make them absolutes, when they don’t have the discussions around it, and then they take those numbers to be, “Well, you said you could do 30 story points, so I took 30 story points times 10 iterations, and, by God, you’d better give me 300 story points.” That’s dangerous.
Jim: Exactly.
Drew: You talk about the state of estimating. I’m wondering, what does that look like? If it’s not story points, what does that look like? Also, how did you apply that with the bigger projects like subway systems, or whatever, that you did?
Jim: I will answer that by skipping forward to [inaudible 13:28] , because, if we’re having a cognitive bias conversation, I should probably say something about cognitive bias. The one I’ll talk about really quickly here is the planning policy. The planning policy is exemplified by something called Hofstadter’s Law.
Hofstadter’s Law states that, when given a task, people will uniformly underestimate that task, even when they are aware of Hofstadter’s Law.
[laughter]
Jim: The planning policy basically says that, that we, as individuals, are really lousy at estimating, we’re extremely lousy when estimating for other people, we’re unbelievably lousy when estimating for ourselves, and we’re just super incredibly terrible at it when estimating for ourselves with witnesses.
When you get into a situation where you’re estimating, we have a lot of natural tendencies to underestimate the thing that we’re estimating. This has been tested by psychologists, social scientists, and behavioral economists around the world. It’s been shown to be a cross‑cultural, universal human condition.
Part of the reason for that, I believe, is that we don’t understand the role of variation in our work, so we don’t understand that Pareto distribution all along a three‑point story. Therefore, when we promise things to people, we promise them like, “Every time I do this task, it will take me three hours.”
In software development, we do not have that luxury. Our work is way too variable. What I replace that with is either cycle time or lead time with some sort of visual control. It might be a Kanban and it might be something else, but, if you have a system that can measure when you start working on a task, or a feature, or a user story, and, to the point that you finish it, that’s it ‑‑ cycle time.
It doesn’t care what excuse you have about why it took longer than you thought it would. What it will do is will say, “That task was a three‑hour task that I got interrupted four times, so it took me 12 hours.” I’ve got bad news for you. For deliverable standpoint, it was a 12‑hour task.
Replacing story points with actual statistical measure of what is completed and how long it takes to complete that thing is extremely powerful. When we do that, we get an added benefit. We used to have to say, “Well, this is a two‑point story,” “This is a three‑point story,” “This is an eight‑point story,” and so forth.
Now, we can say, “That story is too big,” or, “This story, I can do. I don’t care if it’s going to take me an hour, if it’s difficult, or I don’t care if this can take me 13 hours,” because, over the course of the project, the distribution of those stories from small to large is going to be relatively stable, is going to be relatively like it was in the last project.
We’ve been finding that that distribution is uniform or fairly uniform between projects, and, when we start to distinguish between things like a three‑ or a five‑point story, we run into something that’s called distinction bias, where human beings love to figure out what the difference of nearly identical things are.
When I’m doing this before a crowd, I can hold up two green pens, and people instantly, everybody in the room who’s looking at me, are trying to figure out what the differences are between the two things that I’m holding in my hand, and they’re both the same green marker pens.
So using a statistical measure that is impartial to our excuses and immune from a couple of these biases ‑‑ not all of them, but a couple ‑‑ helps us build more predictable models.
Clayton: The one thing that I could say that could be a potential downside to that is it requires you actually do the work.
If you’re trying to say, “Here’s a project that we might want to tackle, and we’re not sure how feasible it is. Developers, could you give me some ballpark so that I know am I looking at something that might be 6 weeks or something that’s 60 weeks. I don’t have to be precise on it, but I need a rough ballpark to know if it’s something I want to go, grab funding for.”
How do you do that in the cycle time model?
Jim: There’s two things, if you’re starting and you don’t have a cycle time, then you do a traditional estimate. If you’re starting and you do have cycle time, then you use your cycle time.
You can only start from where you are and the fact that you don’t have data yet doesn’t mean that you can’t collect that data. I’m particularly well known for hating metrics. I don’t like to use that many of them. Basically the only numeric metric that I use are the two that we’re talking about, and the reason for that is that most metrics are lagging indicators.
Right now, the question that you’re asking me is, “If I get this metric, that’s all well and good, but is it best going to be a real‑time indicator and more likely is going to be a lagging indicator.”
If you’re starting a big project, everybody is going to need to get around and they’re going to need to figure out what the level of effort assumed is for that project. After you have this information and perhaps before if you could run some spikes, you can start to figure out what that cycle time is and then you can say the things like, “I believe that the project you’re giving me or we agree that the project that you’re giving me is made up of these 50 initial user stories.”
You’re now buying an option from this team on 50 user stories. We agree to deliver 40 or 50 user stories. Between now and the completion of the project, which we anticipate given our current cycle time is going to be this date. We will do 50 user stories for you, and frankly, we don’t care what they are.
As we move through the project, we’re really not worried about what the specific user stories that are coming up are because we as software development professionals know that over the course of the project 80 percent of the features change anyway.
They’re basically buying a block of work as opposed to a product and assuming that their product will be able to be done within that block of work.
Clayton: I think we’ve definitely stepped into a very interesting conversation, but unfortunately, we’ve run out of time here. If people listening wanted to find out more about you or if there’s any books you think they should read or anything like that they should check out, where would they do that and what kind of suggestions would you have for them?
Jim: OK. The self‑serving parts are my name is Jim Benson, and I’m at ourfounder on Twitter, and I’m ourfounder on just about everything else that has ever been put on the Web.
We currently have three books out at Modus Press, one is “ScrumBan” by Corey Ladas and other is “Personal Kanban” by me and Tonianne DeMaria Barry and the third, which is specifically about these cognitive biases is called “Why Plans Fail,” and that’s just an eBook, it’s a little $2.99 eBook.
The Personal Kanban website, which is personalkanban.com has tons of blog posts and free information. My personal blog is ourfounder.com, and my company is Modus Cooperandi, which I’m not going to spell for you, but that’s what it’s called.
Clayton: We’ll use Google Suggest, how about that?
Jim: Yes.
Clayton: We also like to invite the listeners to check out the Agile weekly Facebook page where you can continue the conversations for these different podcasts and one that we have.
We wanted to say thanks for joining us today, Jim. We really appreciate your conversation.
Jim: Thank you guys. This is fun.
Drew LeSueur: Hi and welcome to another episode of the Agile Weekly podcast. I’m Drew LeSueur and with me today we have Jeff Patton. Jeff tell us a little bit about yourself and what you do.
Jeff Patton: Where do I start? I’ve been in Agile development since starting with Extreme Programming in 2000 and later in 2001 finding that was Agile. For the previous ten years I had been in software development in a huge variety of roles, but eventually ended up in product management. After 2000, I stayed in product management, then I worked as a product manager, and then as a consultant with a company called Thoughtworks. These days I’m independent. My focus is on software product companies, people that make software for commercial sale, although I still work with some companies that do IT.
I like the challenge of working with companies where, if they make a product and it sucks, they’re in trouble. For better or worse, in an IT world, sometimes you can get away with making a product that people don’t like very much, because they have to use it. That’s a mouthful!
Drew: No, it’s great! I watched a video of yours talking about design thinking, kind of labeled “Four Steps of Design Thinking.” Could you explain a little bit about that, just a rough overview, and how you incorporate that into your work? Working with companies that make software products.
Jeff: Yes. Good question.
The design thinking thing has become fashionable. You can go to amazon.com, type in design thinking and find a great number of books about it. It’s become popular at an executive level in a lot of larger organizations.
The tenet of design thinking is, you start by understanding the problem you’re solving. You’ve got to do enough research or gather enough information about the problem before you stop and say, “This is a good idea,” or “This is a solution we should build.” In an Agile context, for instance, we build product back‑logs, but product back‑logs are filled with solutions and not problems. You know, in theory, if we were writing user stories. We’ll talk about who they’re for and why they want to use the stories.
But, design thinking will ask you to go farther back. Stories contain solutions, most of the time. The next step in the design thinking process is an ideation step.
When I’m teaching people design thinking, I’ll ask them, “Tell me about a typical meeting when someone comes in with a problem.” They’ll say, “Well, then somebody will propose a solution.”
Then, I’ll ask, “Then, what happens?” People will usually say, “Well, then we start discussing that solution.” People usually joke and say, “Then we start tearing it down and then somebody will suggest something else or we’ll adjust the solution.”
That’s exactly not ideation. If we were doing ideation, our goal is to come up with tons of solution, a great many solutions, and not stop and evaluate any of them before we’ve come up with a dozen or so.
Does that make sense?
Drew: Yeah, it does. When I watched your video, I wrote down the steps and you, to me, hit the first two at least.
If you have a problem, you “ideate” ‑‑ is the verb you used, which I thought that was kind of a cool verb ‑‑ come up with a bunch of ideas and then, you had a step in there that’s “iterate”.
Jeff: Iterate is a troublesome word.
Drew: Right.
Jeff: In Agile development, I started with extreme programming. These days, I teach Scrum because that’s the role that most person using Scrum as a starting part and Scrum uses the term “sprint”, but in extreme programming, they use the term “iteration”.
Drew: I really like that word “iteration”, too, as far as software development goes.
Jeff: But, iteration can mean repeat the same process over and over. But, when you’re talking about a product, a thing, iteration means, well, it means the same thing as rework.
It means I build something and I look at it and say, “Well, that’s not very good.” I change it or I improve it.
If you’re doing the design thinking thing. You ideate to come up with a lot of possible ideas and then, you have to start combining and refining.
You start to take your best ideas and put them together. The only way you can tell if they’re actually good ideas is to prototype them or put them in a little bit higher fidelity and get them in front of people that might use them.
They evaluate them and they say, “Well, no. Not quite.” Then, you make changes. That’s iteration.
In a lot of companies, that’s rework. That’s not getting the requirements right, or all sorts of derogatory terms. But that’s iteration. And if you’re doing design thinking you want to iterate as fast as possible, so we’ll often iterate with simple prototypes. Drew, I steered you towards a client I’m really proud to work with and that’s the Nordstrom Innovation Lab. They’ve got a video on YouTube that’s worth watching.
And one of the practices we’ve been putting in place is a lot more ideation and a lot more iteration, but oftentimes we’re working with solutions which are a combination of software and other things and they involve multiple people. So the way we’ve been iterating recently is by bodystorming. It’s kind of like using improvisational theater.
We have to act out the way the solution goes, and you’d be surprised when you act out a whole buying process for someone in a retail store how you watch it and go “Oh, no it wouldn’t happen that way,” or “That looks kludgy,” or “That doesn’t work,” you don’t have to build any software to iterate.
Drew: So you’re talking about acting out not only, I saw a video where on part of your video you had people with cut‑out pieces of paper and you would have people implement a website on cut‑out pieces of paper. And they’d have a user touch different pieces of paper, and the person behind who was controlling the thing would show different screens which were all implemented drawn on pieces of paper and to have a prototype of what the website might look like.
What you’re talking about here, kind of going beyond that, and have people implementing a whole buying process or something, without actually implementing it, just acting it out.
Jeff: That’s right. I’m trying to figure out what I can tell about you that I’m not under, that the non‑disclosure for, but oftentimes we’re looking at a buying experience where people in retail stores, they’re looking at things, they’re checking information on a mobile phone, they’re texting information to someone and they’re getting responses back.
We’ll act out that whole experience with people pulling out mobile phones and pretending to type something in the phone and pretending to get the right information back. We haven’t implemented anything, there’s nothing on the phone. It’s just that by doing that we realize “Oh my gosh, I’m gonna need this information,” or, “The time it would take to get that is far longer than I wanna wait, so that’s not gonna work,” you know, things like that.
Drew: And the last step that I saw on your video was of this design thinking kind of process is “create‑a‑plan,” so you identify the problem, you ideate, you iterate on that with prototypes, or whatever, and then you create a plan.
Now, as far as where I come from with Scrum and Agile is there’s a big focus on the shippable product, or potentially shippable product, or releasing early, releasing often. How does this design thinking, this process of figuring out what the problem is first, how does that fit into that and how long should it last?
Jeff: Good questions. Well first off on the plan part, so what I mean by plan and I would’ve talked through is in theory if we’re talking about Scrum process, the plan is a backlog, and I create a backlog. But, a good plan is a plan to learn. Drew, you’ve probably come across, the big buzz in the world today is the lean startup thinking, that you’ve come across?
And a core tenet of this lean startup stuff is validated learning. They redefine the term MVP as ‘minimal viable product.’ The term MVP used to mean, and it still does mean, a product that is viable on the marketplace. A lean startup will say “Let’s not worry about viable in the marketplace, the first thing we have to do is prove that there is a market for what it is we’re trying to build.”
So an MVP in lean startup terms is the smallest possible experiment. So a plan, at the end of a design thinking process might be a series of smallest possible experiments. In fact those smallest possible experiments might actually be part of iteration and the so your question there is “How long does it take to do this design thinking stuff”? I will refer to this as a discovery phase and this is the stuff that in Scrum would have called the sprint zero phase and how long that takes.
I’m finding more and more that the design thinking part if we can join the design thinking part which is a core tenant of lean startup thinking. With Agile delivery mechanisms and if we talk about the iteration part as a validated learning phase so we don’t just build paper prototypes or do bodystorming like I was talking about where we mature that and actually build something working but it’s not potentially shippable.
It’s not the code we want to keep it’s the code we built to learn something from then it starts to overlap with delivery and what I see in working with people like Nordstrom they will go all the way from the design thinking to implementing something they can learn from inside of five days, inside of a week, much faster than anybody’s typical sprint. And when I am talking with people about a discovery phase I’ll generally say a block off two weeks of discovery to drive two to three months worth of development for a smallish team of five to seven people.
Drew: OK. And I’m curious, too. Part of my passion is, I love releasing software, I love being on teams that release software. With design thinking a lot of times we will release the wrong software, right? My understanding is with this process or with this in mind you will be able to focus on releasing the right software. When you are iterating on these ideas, is it always in house that you release them to or have you worked with companies or in your experience, do you iterate on these ideas and release them to other people, like beta users or alpha users or whatever?
Jeff: Well, Yes, beta and alpha users. But like I mentioned I work with product companies and they are not willing to risk releasing something that won’t be successful to a large body of consumers. At least most of them aren’t. What they will do is a lot of split testing or AB testing. If you have heard that term, defining something that is a smaller experiment or a different way of doing things and releasing that to a subset of your audience and lately a subset of your audience for a limited amount of time.
I have one group that I am working with that will come up with something that is a small experiment and release it to a small group of people for three hours on a Sunday and then measure the results and then use that to make a determination about where to go next, whether to iterate it, adjust it or go big.
Drew: That sounds great.
Jeff: You know, like you, design thing is just part of it and like you, what drives me, what I’m passionate about isn’t any of the building of the stuff but what happens after. I like, the pride I take in any of this stuff is knowing that there are people out there using products I built 10‑15 years ago now and they are still in use everyday. It’s about making things, and it’s about getting things out there so design thinking is just a step in a bigger thing.
Drew: That’s a great perspective too. I share that. It’s so awesome when you are creating something that it actually gets used and adds value to people, they benefit from it and that’s one thing that you mentioned too we want to minimize the output but maximize the outcome.
Jeff: Yeah.
Drew: I think that’s a good way to look at it.
Jeff: That language comes from a lot of different places. The problem with outcome is you can’t measure it until after it comes out. So the outcome is what happens after you ship your product and for better or worse Agile development doesn’t talk very much about that. You don’t see it in a burn down chart whenever I go, whenever I read anything on Agile metrics, none of them are about outcomes they are all about output. How fast we’re building stuff or how good the quality of this stuff is but not how well it does in the world.
Drew: That’s a great perspective. So we are about out of time. Do you have anything that you would like to promote or share with the listeners?
Jeff: For the people out there that might know me they will have looked me up on the web you will find a stale old website that I haven’t updated and I won’t explain that. If you look me up at amazon.com you might find a couple book titles which aren’t coming out but I get known for a practice called story mapping and I promise there will be a story mapping book out before the end of the year.
I’ve just launched a new company with a colleague of mine, Aaron Sanders, called Comakers. I’m going to take 30 seconds but there are the terms co‑making, and co‑creation and we are sort of championed the idea that the model we use a lot for software development is broken. When things work best there isn’t a client and a vendor.
When things work best there is someone that has problems and someone that can build them and the person making things needs to go take several steps in to understand the problems and the person that has problems needs to take several steps towards the maker and understand what’s involved there.
We’re shooting for co‑responsibility so sometimes being honest, I have a problem with the standard Scrum processes or Agile processes where I have got a product owner and a team. Yeah I guess someone needs to decide but I really want all of us to be responsible for those outcomes. I am promoting my company I guess but to me the concept is more important. It is that comaking concept.
Drew: Great! Thanks a lot. We really appreciate your perspectives and for the listeners if you would like to join in on the conversation reach us at Agileweekly.com or at facebook.com/agileweekly. Thanks a lot Jeff .
Jeff: Thank you, Drew.
Drew LeSueur: Hi and welcome to another episode of the Agile Weekly Podcast. I’m Drew LeSueur, and with me is Alex Sloley, who works for a company called Deloitte. Alex, what kind of work do you do for Deloitte?
Alex Sloley: Deloitte is a global company. I work in the consulting functional area for Deloitte. I’m in a service line called Deloitte Digital. We’re a brand new service line. I am a senior engagement manager. On a tactical basis, effectively, I’m a scrum master or an agile coach here within this service line.
Drew:: Is that what it means by senior engagement manager is scrum master or agile coach, or is it more to it?
Alex: Yeah, senior engagement manager, also for consulting company. We deal with external clients, so from the senior engagement manager side, managing the relationships with the clients, but internally and tactically, I’m running multiple Scrum teams for the clients as we work on their projects.
Drew:: You’re helping your clients implement Scrum, and run Scrum, and you have been coaching them through that.
Alex: Actually, we develop mobile applications and mobile optimized web sites. We’re building internal product here using Scrum, and delivering it for our clients.
Drew:: A lot of people have different takes on Agile and what it means to them. How is your flavor of Agile different from what you might read in a book?
Alex: I think I came from a product of Scrum background personally before I came to Deloitte Digital. I think the big difference here is that you’re working in a consulting model. There are several key differences between what I would call traditional Scrum, and the Scrum we execute here.
The biggest being that the product owner is typically not co‑located with the team. For example, if we’re working with Alaska Airlines on an iPhone application, the product owner is on the client side, but is located at Alaska Airlines corporate headquarters and not with the team here. We work out of Seattle at Remind Studios. The development team is all here at Remind Studio. Part owners remotely located next ‑‑ that’s the biggest difference.
The other big difference I see in the consulting world of Scrum is that there’s some level of upfront estimation that needs to be done on a project for contractual reasons, so that you can provide a general level of effort, estimate to the client and in general, how much the project is going to cost in the long term.
Drew:: You’re confronted with having to provide kind of a little more hardened estimates than, maybe, traditionally people in Agile projects do. In my mindset, you try to focus on the iteration, every sprint having a potentially deliverable product. The plans in the future are fairly fuzzy, and you kind of focus on the iterate of development.
Because of the contracts you have to do, you’re not able to do that as much. How have you handled that? Has it been very hard or how do you do that?
Alex: I definitely think it is a challenge. In general, I think it leads to certain practices here that we need to do to fulfill those contractual requirements. Number one, I think we probably do more road‑mapping than is usual, because we’re trying to forecast ahead of time.
The other thing I would say slightly different is that we try to get a general feel of the entire backlog in a Sprint Zero. Sprint Zero is critical here in the consulting world, because we have to get a general overview of the entire backlog, a general estimate of total story points, so we can come up with a long‑term vision of how long the project is going to take at a standard velocity.
We also have to phrase our contracts in such a way that it’s clear to the client that this is ongoing work. I think because we’re in the consulting world, we do have to do more evangelizing, and socializing, and educating of Scrum and Agile methodologies to the client.
Drew:: A lot of times, when I try to estimate things in big projects early on, I fall short a lot or it just turns out way different than what you imagined. In your practice, is there a negotiation phase where it looks like we’re not going to make it? Or maybe the product owner says, “You know what? I kind of want to shift paths on this, which will kind of invalidate some of this other stuff.” Do you do that much, or not much?
Alex: The thing is, because we’re in the mobile application world, the actual life‑cycles, the products themselves, are extremely rapid. We can produce a mobile application for a client in three to four months.
Drew:: You’re still on a short time span in general.
Alex: Yeah. I prefer to run one‑week iterations at this point. Some teams still run two‑week iterations, but we’re moving pretty much, as a service‑line, towards one‑week iterations exclusively. That means changes are extremely rapid. But we don’t have the kind of impact from a dependency that would affect an 18 month long project.
Since the scope is really refined, and somewhat narrow, I think it makes it a little easier to do that upfront estimation. But I think we do place a lot of emphasis on sprint zero, simply because working with a client is much different than working on an internal product for say, an enterprise company.
Drew:: When you talk about the product owner not being close with the team as far as proximity, do you still get daily stand‑ups? Do you still get those sprint reviews and demonstrations, that kind of thing?
Alex: I think that’s one of our efforts when we go into that sprint zero with the client, is we have to set these expectations. “Hey, look, you’re signing up to provide a product owner.” We clearly lay out what the product owner role entails, how much time and work is involved. Yes, on a project I expect the client, product owner, to be available for all stand‑ups, plannings, reviews, retrospectives, meetings on architecture, anything that you would expect from our PO in a co‑located team.
Drew:: Now I also saw on your LinkedIn profile that you had experience at Microsoft. How has that helped you, your mindset, where you are now?
Alex: Microsoft in general uses a flavor of scrum that I call a “capacity scrum,” similar to Amazon, in that you use ideal hours and capacity, and you plan for load of individuals on the team. I think that I made a conscious decision to actively move away from that model, while transforming the organization here into the use of scrum. But I think Microsoft is great place to start, and to hone your enterprise‑level skills.
Drew:: Can you explain a little more “capacity‑based” scrum, and hours? I didn’t really get that.
Alex: At Microsoft, a typical scrum practice is you establish an individual team member’s load, which is just how many hours per day they can do actual work. A typical percentage at Microsoft is 50 percent. If you have one dev on a scrum team, he can provide four hours a day of actual work.
Drew:: Because the rest is taken up by meetings or interruptions?
Alex: Yeah, exactly. Then you calculate capacity based on the number of people, the person in each day, what they can work, called “load.” Based on your iteration length, you calculate how many hours are available per sprint. Then, when you’re doing your estimations for stories, you break them down into tasks and assign hours to those tasks, and tally them up, and subtract them from the capacity until you reach zero. That’s how you determine how much work you can do in a sprint. They do the exact same thing at Amazon, except they just call it “ideal hours.”
Drew:: I do something similar, at least I have. We call it commitment‑driven planning where we’ve got our sprint velocity, and we can get an idea based off our previous velocities or the average of how many stories we can take in. But we won’t necessarily commit to all those stories until we break it up into tasks and figure out, based off the hours, “Do we have enough time?” Is that different than what you use at Deloitte?
Alex: Absolutely. Within the group of my studio here at Deloitte Digital, I advocate strictly story point estimation and no hour estimation whatsoever.
Drew:: Does that causes you to focus on something else? Or why the shift?
Alex: The shift, I think, is through my experience. There were several reasons I discontinued the use of that practice. Number one being that it just takes more time to break stories down into those granular tasks and assign hours to them. I’d say probably it increases your planning time by 400 percent, somewhere around there.
Number two, it gets the team away from thinking about tasks or stories in a relative fashion. They’re not thinking about, “Is this bigger than that, or is this smaller than that?” They’re thinking in hours.
The other thing I think is that it’s great for senior executives or managers who often focus on, “Is the team working to their capacity?” They’re looking at that burn down chart, and all they really care about is, “Is that trend reaching zero, zero, zero?” I actually prefer burn up and looking at how much value is added over time.
Drew:: I can see that shift. Also, I read on your LinkedIn profile that you mentioned your job should be fun. How do you try to incorporate that in the work that you do?
Alex: I do fun little things. During estimation for example, if I get bored, rather than estimating on zero, I’ll say something like, “We’re estimating on banana.” Then I’ll say, “Pomegranate, peach, pear, banana,” and little silly things like that.
I’ve also used retrospectives of fortune cookies. Those are pretty cool. Those sparks some interesting conversations. I’m a big believer in holding retrospectives, if not at a local bar, then getting a couple of six‑packs, and bringing it into the team.
I’m also a big believer in doing some very basic exercises every now and then, like tribes and constellation. You’ll see a lot of people use those kinds of things at open spaces. I also like to do regularly planned morale events, take the team out to the shooting range, take the team out and go to whirly ball, stuff like that. That’s important.
Drew:: That’s all good stuff. To close here, we talked a lot about different flavors of agile and different ways to implement it. For you, what is your passion with this stuff? Why did you gravitate your career towards helping other people implement agile and running agile software projects?
Alex: That’s a great question. I think, for me, it was spending a long time delivering in the waterfall model, and seeing it fail again, and again, and again. Then, going into agile where really the focus is on the team and the people. I do like process, and I’ve heard people talk about it. “Is agile or scrum a process or not?” I think it’s a framework that allows you to operate in an agile fashion.
Yeah, I guess I would call it a process, but it’s a very clean and streamlined process that puts the emphasis on the team and the individuals. I think it just leads to better work‑life balance. I’ve seen it lead to more successful projects in terms of actually delivering on time.
The thing I’ve seen happen more than once, which is probably the ultimate validation of this methodology, is spinning up an agile team, bringing in a product owner from a client who doesn’t really know much about agile or specifically scrum in our case. Then, through the process, they learned to love it, and go back to their company and implement scrum or agile within their company based on the success that they saw working with us. I think that speaks volumes.
Drew:: That’s all good stuff. Thanks so much for joining us, Alex. Do you have anything to promote or share as a final word?
Alex: I welcome everybody to go to DeloitteDigital.com and check out some of the clients we worked with like Alaska Airlines and Target and REI. We will be hosting a mobile, agile, QA conference in Fremont, Seattle, October 19th, called the MAQcon. You’ll be able to find more information online by googling, soon.
Drew:: Sounds fun. Thanks a lot. For the listeners, if you want to join in on the conversation, find us at Facebook.com/AgileWeekly. Thanks a lot, Alex.
Alex: Thank you.
Drew LeSueur: Hi and welcome to another episode of the Agile weekly podcast. I’m Drew LeSueur.
Roy van de Water: I’m Roy van de Water.
Drew: With us we have Mark Levison. Mark, tell us a little bit about yourself.
Mark Levison: I’m one of Canada’s two certified Scrum trainers. I’m based in a part of Canada called Ottawa where it’s already dark outside, even though the rest of you are still looking at sunlight. I have been in the Agile business one way or another for about 12 years now. I do a lot of writing on a blog, and these days I’m spending a lot of time writing about a Scrum Master named John, and all the problems I throw him as he and his team try to win their way through the Agile world.
Drew: The article that we read that caught our interest was “Scrum Master Tales ‑ New People on the Team” and you talk about John and he’s struggling with a new person who’s on a team. Can you talk a little bit about that?
Mark: Like any organization, John’s team grows and at the critical moment they decide they need a bit more senior technical help. They hire in a character named Kirby, and Kirby has over 20 years experience developing software. He thinks he’s seen and done it all.
It turns out that Kirby is very, very loosely modeled on me. Kirby strolls into the team and starts throwing his elbows around, he’s extremely knowledgeable and very skilled, but he’s not very human‑skilled.
He’s thinking a lot about what’s wrong with their code and very little about their personal needs and understanding how they came to that position.
Roy: I agree. One thing I liked about this article is we through around the concept of forming, norming, storming, and performing as phases of a team (Tuckman Stages Group Development). You mentioned that when some person gets added onto the team, that process starts all over again.
Roy: For the entire team, not just for that individual right?
Mark: Yes. The way I illustrate this when I’m running a CSM course, I have a group of people sitting at a table, and by the time we’ve talked about this in the course they’ve already formed a fairly tight team. They’re often sitting a lot closer together.
I simply walk over as the instructor, pull up an empty chair, and jam myself in the middle of the table and start pushing people to one side. Of course, what happens is ‑‑ I don’t do it too rudely ‑‑ but that ripples around the table. People start to realize, that even though they weren’t sitting next to me, when moved in next to one of their colleagues, their position on the team got affected.
My claim is that you’ll have the same outcome when you introduce a new person to a technical team. Even the people who hop away, wind up finding their role changed as the new person comes in.
Roy: What’s the fastest way to on‑board somebody if you’ve got a new person coming in? How do you just rush through the forming, norming, and storming stages and get to performing as quickly as possible? Is there a quick path or is that something that needs to take its time?
Mark: I wish there was. It’s funny. It comes up in nearly every one of my courses and with nearly everybody. I have a little test at the end ‑‑ not the scrum lines test ‑‑ but my own personal test to make sure we understand what people have really understood.
In every course, I can guarantee you at least two people will answer the question about conflict ‑‑ to which the answer is conflict is natural and cannot be avoided. They will answer that conflict can be avoided with skillful scrum mastering.
Roy: Ooh…
Mark: Sadly, no. I’ve not found any skills yet which allow us to avoid conflict. There’s no better way to deal with it than to simply allow it to happen and to get through it.
Roy: I’ve been on a few teams that wanted to jump the idea of conflict through a form of hazing, where they wanted to have a gauntlet for new team members to run through. What kind of impact would something like that have on the team?
Mark: Wow! That does not sound like a great idea.
[laughter]
Mark: My first thought is it puts the new person in position of weakness and possibly fear, depending upon how bad your hazing rituals are. I went to a university where the hazing rituals were fairly unpleasant. It puts the existing people in a position of power. If anybody really wants to think about just how dangerous that can be and how far it can go, they should read some of the original prisoner experiments from the mid ’60s.
I can’t remember the author’s name.
Roy: Were those ones in response to the Nuremberg Trials?
Mark: I’m thinking of one called “Prisons We Choose to Live In”, I think. It’s a series of psychological experiments where people were recruited. Some people were made guards and other people were made prisoners and very quickly, evil and not good behavior started to evolve.
The gist of is that sounds really quite dangerous. That sounds like it sets up power relationships which are not very good.
Roy: Sure.
Mark: I’ve not encountered that before. I’d have to go give that a lot more thought.
Roy: Luckily, the team that I was on, or one of the team members that were pushing for that, ended up rejecting it. We didn’t actually go through with it.
I agree with you, it would have been a dangerous idea. I think it stems from the idea that a team seems to form quickest when they have to rally together around some kind of crisis, right?
When there’s a need for the team to form or, even if there’s ‑‑ in lack of a crisis ‑‑ a strong vision. That might have been the driving force behind it.
Mark: A crisis is exactly what it takes for team formation. Luckily, in Scrum, we usually get the crisis fairly quickly. It’s one of the joys of Scrum, I might point out.
In my course, I simulate this. I actually use Scrum to run my course, so I have a burn‑down, I have a back‑log. The course is a product back‑log, there isn’t printed agenda.
We have our first crisis at the end of sprint one, when it becomes clear we cannot achieve all of the material that we’ve set out. Then, we have to do some radical reprioritization.
That usually has them desirable effect of throwing the team into crisis, in the sense of a real Scrum team ‑‑ maybe not on my CSM course. I don’t need to create artificial crises. They usually take care of themselves quite nicely.
Roy: That’s a good point.
Mark: Honestly, I’ve never seen a team that didn’t, after the first few sprints, quite naturally start trending into storming. My favorite analogy is, “If you interrupt me and I’m in the IDE, your interruption had better be damn good. Actually, it better be a serious reason.”
If on the other hand, I’m browsing cnn.com, “Hey, any old interruption is good”! That’s the beginnings of storming there. I’ll yell at you if it’s not ‑‑ I won’t really ‑‑ I might pretend to yell at you if it’s not a very good interruption and I’m in the IDE, and I’m doing something I think is valuable. I might be more open to it when it’s just cnn.com.
Roy: Earlier, you mentioned about people entering that scope of Scrum Mastering that will allow them to avoid conflict. I’ve seen that in the past where there are individuals that are so against the idea of conflict that they’ll do anything to prevent it from happening, even when they wouldn’t even be involved.
For example, Scrum Master just hates conflict so much that they will try to prevent it. You had mentioned that it doesn’t really seem possible to avoid the conflict, but is it healthy to even try?
Mark: In fact it’s even worse. If you try you’ll probably set the team back. I try it all too often myself and what I find happening is…I can’t remember, I think, it’s Kirby and Markman…I’m pretty sure are in conflict.
Let’s say we go to Kirby, “Kirby, would you please stay clear of Markman’s tasks for, at least, the next two weeks”? “Mark, would you please stay clear of Kirby for the next two weeks”?
I haven’t really resolved the problem. All I’ve done is taken two warring parties and told them to back off. A much better solution to this problem requires getting them to talk. I might take them individually out for coffee just so you can hear each of their sides.
[jokingly] A great Scrum Master spends 20 to 30 bucks a month on coffee or tea, if that’s your preferred beverage.
Roy: I like that.
Mark: Take them out each individually for coffee, hear their respective sides and then, if this is an on‑going issue and it isn’t just the first time, maybe bring them together and see if they can create working agreements, but the point is you don’t ever actually do anything on their behalf.
You simply help them come to the conclusions that they need to come to.
Roy: In your article, you mention a lot about that ‑‑ where it’s very important for the Scrum Master not to take a side, to remain unbiased. That’s got to be hard for a lot of people. Can you elaborate a little more on that? How is that possible?
Mark: It’s hard for a number of reasons. A lot of organizations have part‑time Scrum Masters, who is usually a Developer. At the moment, we have Kirby come in. Kirby is going to see John as the Scrum Master/Developer in that case, and he’s going to assume John is primarily friends with all of the existing people.
Instead of seeing John as someone who is playing the role of neutrality and balance, he sees John as another friend of those developers who aren’t churning out very good code ‑‑ someone else to do battle with.
There is no great solution except that you have to win people over a little bit at a time, and you have to be seen as being neutral. You have to make it clear that there are no sides ‑‑ that your job is the care and feeding of the entire team, and not just any one individual. That can be really difficult.
Frankly, I suspect that will be just as much a problem in the Kanbanny world as it is in the Scrummy world.
Roy: We just published or are about to publish a podcast in which Derek talks about most of these problems that we’re seeing in teams having nothing to do with the process.
The process just seems to highlight them, and almost exacerbate them. The point of the process seems to be that we need to highlight these problems, so that we can attack them.
Scrums aren’t going to solve your problems anymore than Kanban, or any other processes. The important part is to cycle as often as possible, get some feedback and get better.
Mark: Exactly. I shock people in my course on a regular basis by making the rather bold statement, “Scrum has never solved a single problem.” Scrum merely helps you see what problems you have already.
People are shocked. They think they’d spend a lot of money to get their problems solved, and they’re very surprised when I explain that no problem will be solved.
Roy: I like also in your article, you talk about if the team had been more involved in the hiring process from the beginning, it would avoid some of these problems, or maybe avoid bringing a member on who wasn’t a great fit.
I’ve been in a setting where we did do that, and it was great. The whole team got to pair with the potential hire and they got to decide as a team, “Is this a good fit for us”? How about you? Can you share an experience?
Mark: I have seen a few examples of that, but sadly I never got the chance to do that when I was employed working for real companies before I moved into the consulting world.
My favorite example of that recently goes one further. The folk at Menlo Innovations in Detroit go one further ‑‑ they get the candidates to pair with each other, the thinking being, “If you can make the person you’re supposedly competing for job with look good, you will make every one of your peers look good.”
Roy: That is an awesome idea.
Mark: Yes, I’m looking for someone who’d like to have me run that as an experiment with them. [jokingly] By the way, please don’t take the forgoing as legal advice in the United States of America.
[laughter]
Roy: That sounds like a really neat idea to try. I can’t imagine as an interviewee though getting paired up with another interviewee that I’m competing with and trying to make them look good like that. That’s going to be tough, but I really like the idea of trying to see what comes out of that.
Mark: I suspect if I tell too many people about it, the secret will get out and maybe the secret sauce will be lost.
[laughter]
Roy: That’s true. Thanks a lot for joining us on the Agile Weekly podcast. For those of you listening, feel free to participate in the conversation at facebook.com/agileweekly. Mark, did you have any last words, anything to share with the listeners?
Mark: Don’t stress. When you see your team going through forming and storming, don’t stress over it. Let it happen ‑‑ it’s going to happen at the pace it happens. There’s nothing you can do except watch, and think of yourself as a sheepdog and not a leader.
Roy: If you get a chance, Mark’s blog can be found in the description of this podcast. All right, thank you very much. Thank you Mark.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly podcast. I’m Clayton Lengel‑Zigich. Joining me today we’ve got a special group here, and I’ll let them go round and introduce themselves real quick.
Laura: I’m Laura.
Nancy: I’m Nancy.
Catherine: I’m Catherine.
Mary: I’m Mary.
Clayton: Laura, Nancy, Catherine and Mary are a Scrum team. The first question I have is, what’s your experience with Scrum? I think you guys were all working here before they adopted Scrum, with the exception of maybe Catherine.
What’s the background? How did you guys get into Scrum? Is it something that the company decided to do, and you went along with it?
Mary: The company decided to do it, but it wasn’t implemented evenly. Some groups were doing it, and some were doing it half‑heartedly. I took part in two different groups and had two different experiences, but most recently I found it to be very rewarding.
Clayton: What about you Catherine? I think you’re relatively new compared to the group. Is this your first experience working with something like this?
Catherine: Yes, first experience working with Scrum. I really like it, I think there are so many benefits to working as a team using Scrum. Working as a team is hard, and I think it helps solve a lot of team issues and team problems.
Clayton: One that’s unique about your group is you guys obviously aren’t…Not obvious to the listeners, but to me obviously, you’re not doing software. One of the big questions in the Scrum community over the last few years is, does Scrum work outside of software? It sounds like from what you’re saying maybe it does, is that right?
[pause]
Clayton: Lots of nodding of heads.
Nancy: Yes it does, in that it gets us out of our own little silos that we’ve been in previously. We’re able to communicate to other groups, which contributes greatly to how we function as a group.
Mary: There are times, I think, when we need to adapt it somewhat for our content development. For instance, in one of my projects we use the Kanban board, and that was helpful there.
Clayton: You thought that worked better than what you were trying to do with Scrum before?
Mary: For the tasks we needed for that particular thing, they were very sequential and it involved different teams. It’s nice to still have the Agile process and the Scrum meetings, but the Kanban board allowed us to proceed on something a little more scheduled.
Clayton: You had mentioned the Agile meetings, or the Scrum ceremonies. Do you guys think that the stand‑up and retrospective and planning meeting, are those generally helpful or are those some kind of pain points?
[laughter]
Catherine: For me, I think they are what your team makes them. I think if your team really buys into it and it is more like a ceremony, then it’s much more meaningful, and important, and useful. If you’re just going through the motions, I don’t think it is very helpful. It’s that buy‑in that makes it work for the team, makes it useful.
Clayton: You get out what you put in?
Catherine: Yeah.
Clayton: A change that we had made, based on most of the team’s feedback, was going to using a physical board instead of a digital tool to manage your work. That seems like you guys are pretty happy with that, but can you describe that experience?
There’s a lot of teams out there that probably use digital tools that might not like them, and would want to use the physical board. What would you say to someone on a team like that?
Mary: You feel more ownership when you’re able to go up and grab a piece of paper and take it back to your cube, which I really like about it.
Clayton: Compared to clicking around in the software somewhere?
Mary: Exactly.
Clayton: What else other than ownership is it? Do you guys feel like it’s more visible to what’s happening?
Mary: Absolutely. I think you get credit for the work you do. People look up there and see all those tasks that you’ve performed, and it can be very impressive. It gives you a feeling of accomplishment.
Clayton: One thing that I was doing with the hourly burn‑down chart was taking the capacity of the team on a daily basis. Then stair‑stepping down where the commitment should have been burned down. The joke became that you don’t want to see any red on that chart.
What is it about the red when you guys get behind? Maybe there is an unexpected meeting, and it takes up a few hours. You don’t burn down all the hours that you technically should have, and then the red comes up on the board. Is that stressful, or do you just brush it off?
Mary: It just reminds me back in school, when you get back the papers and they have red all over it. [laughs] Maybe if it was just a different color it wouldn’t be so horrible.
[laughter]
Nancy: We’re in the blue zone!
[laughter]
Clayton: That’s interesting, I guess I had never really thought about that. That’s a good one though.
Mary, you had mentioned collaborating with other teams. Does it seem like the process that you guys are using is helpful to collaborate with other teams? Or is it in the way? How would you describe that?
Mary: If you’re still talking about the physical board, I think that’s opened up some conversations we didn’t expect. Sometimes a manager or someone else will be passing by as we have our stand‑up, and they might have a question for us or a comment. It’s been really good for dialogue.
Clayton: In terms of the work that you’re doing, you have to interact with some software developers. The ceremonies that you’re using, the stand‑up and those kinds of things, have they made it easier to interact with those people, or harder? How do you feel about those?
Nancy: It’s much easier, because when you see people on a more regular basis, it’s easier to work with them [inaudible 06:27] problems as they arise, or build each other up. The demos I find very interesting too, because that gives us the big picture. I think it’s important to stay focused on the big picture too, so the overall product, not just our own little part of it.
Mary: We’ve learned a lot by working with the other teams.
Clayton: Nancy, right up to the sprint review or the demo, there seems to be some kind of trouble with integrating the work that you’re doing, since it’s not software‑based, into the demo. Have you guys found that to be difficult, or is that more of an external thing?
Nancy: It’s external, but I’ve always held that without content, no matter what technology does, if the content isn’t good, the technology doesn’t matter.
[laughter]
Mary: Content rules.
Nancy: Really the content is the meat of everything. Sometimes people get so wrapped up in the technology, they forget about the content.
By having the demos, Curriculum is able to show things from a content point of view, which is a little different than the technical point of view. It’s important for the technical people to remember that they are delivering content.
Clayton: That’s a good point. In the situation where the organization has some teams that are doing Scrum for software, and some that are doing Scrum for content, to keep that big picture in mind, you really need to have both of those groups involved in the demo, right?
Mary: Mm‑hmm.
Nancy: Mm‑hmm.
Clayton: If someone’s listening and they’re part of a Scrum team that maybe they’re in the similar situation. Their company adopted Agile, and they were told to use Scrum, meaning they want to use a physical board, or they maybe want to make changes to the stand‑up.
You guys have done a pretty good job of embracing the idea of self‑organizing teams and trying to guide your own future. What are some roadblocks that you’ve run into in that regard?
Nancy: Lack of technical support when we need it.
Clayton: Maybe you want to go down a certain path, but you need some collaboration from the technical side of things?
Nancy: Yes.
Clayton: Have you had any trouble in terms of wanting to do something, but maybe it was off‑limits to a manager, or because other teams weren’t doing it, you couldn’t do it? Have you seen anything like that?
Nancy: I haven’t particularly. I don’t think there’s anything that’s come up that has been an important issue that hasn’t met with some resolution.
Sometimes we get told “No,” but that’s different from not being able to meet and told “No.”
Clayton: One of the things that popped into this podcast, Laura, was you had mentioned that a lot of the other podcasts that you listened to have…I’m sure you went back and listened to all of them…
Laura: I did.
Clayton: …the Agile Weekly Podcasts.
Laura: All 60 of them. [laughs]
Clayton: You had mentioned that there weren’t too many women on the podcasts. As far as this organization is concerned, it seems like there is a fair mix of men and women in whatever roles, but from an IT perspective there aren’t too many women.
Is that something that you’ve experienced in other jobs that you’ve had? Do you think that’s an issue contributing to how the teams interact, the difference between men and women on certain teams?
Laura: Definitely. Yeah. [laughs]
Clayton: How does that manifest itself?
Laura: I don’t know. I don’t think it’s something you can quantify so easily. It’s more just a feeling that I’ve gotten. I don’t know. What about you guys?
Mary: Well sometimes we have to translate between the technical teams and our team. Nancy is sort of our intermediary there, she understands a lot of their terms. But it can be challenging.
Clayton: Do you think the difference in gender has anything to do with that, or is it a generational thing? What are some things that make that collaboration have some more friction than maybe it should? Or that you’d like it to?
Nancy: I just think there’s different perspectives from the different groups, and how they view what’s happening. Sometimes Curriculum has a particular way they want something delivered, and the technical folks will say “Why can’t you do it this way?” and the reason you can’t is because educationally you would do it this way.
The programming sometimes has to bend more I think, because of the Curriculum need. Or they would rather do it a different way, because it’s more expedient perhaps.
Clayton: Do you think those problems are easy to solve using a Scrum framework, or some Agile method where there’s more smaller cycles? More feedback, that kind of thing? You think it’s easier that way?
Nancy: I do think it’s easier. It’s easier than to really discuss the issues that come up as you’re doing the process. Because there’s always those variables, those unseens. You don’t when you dig in, and suddenly you’re faced with something that has to be a certain way, and we have to compromise.
Clayton: Is there anything that each of you can share with us that you would change about the process that you have now, or maybe change about the Scrum framework in general? That you think you would be better off if you did something differently, or didn’t do something at all? Or added something?
Laura: I think, just to piggyback on what Catherine said at the very beginning, is you have to have buy‑in from everybody. Being able to at least trust your team. I don’t know how you can implement that, but I feel that way with this team. We all are in it in the same way, 100 percent.
Clayton: You feel committed?
Laura: Yeah, and I think that’s made us a really solid, good team.
Catherine: I think that the expectation has to be set from the company itself, that “This is the way we want to run our company,” and they expect success. I think if, “Oh, we’re just going to give this a try and see how it goes. Maybe it won’t work for our company,” then people don’t have that buy‑in. It’s not important to them.
If the company is leading it and directing it, and they expect it to be successful, they see it as part of their future, then it’s a different kind of feeling for the people that work for that company. It’s easier for them to transition from the way they’ve always done things into something new.
Clayton: Nancy, Mary, anything that you would change or add to the process?
Nancy: I just keep thinking that it’s a work in progress. We’re still refining the process. The company, in some ways, does back it very well.
For instance, we’re doing our performance reviews and setting goals and things for the year, and they’ve mentioned they’d like us to include our Agile efforts in continuing to improve the process.
Clayton: If you guys had a tip to give somebody that’s on a Scrum team that you think would help them out, and they could be more successful, what would that be?
Catherine: Don’t be afraid to take a risk.
Clayton: Take some chances, and see what happens?
Nancy: Be ready to be flexible.
Clayton: Embrace change?
Mary: Yes.
Nancy: Communicate openly.
Mary: Have fun.
Nancy: Yes.
[laughter]
Clayton: That’s a good one. Having fun, be flexible, and enjoy your work, those kind of things. I think we’re about out of time, so I’d like to say thanks for joining us today, and I really appreciate you taking the time to do this.
Group: Thank you.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich…
Derek Neighbors: I am Derek Neighbors…
Pavel Brodzinski: And I am Pavel Brodzinski.
Clayton: Welcome, Pavel. We’ve found an article that you wrote, it’s entitled “The Myth of 100 Percent Utilization”. I was curious if you could explain a little bit about the motivations for writing this one and kind of what you mean in terms of what is the myth of 100 percent utilization. If you could just introduce the topic a little bit, that would be great.
Pavel: The motivation to write the piece was that what I see over and over again in different organizations is that the organizations or managers are trying to optimize the way people work, the way companies work in a way that everyone has something to do all the time. We basically are trying to utilize people for the whole time. We aim for 100 percent utilization.
If you learn a bit more about the subject, you start thinking it is not the best way of organizing work. By implementing Kanban, we implement WIP limits, work in progress limits. If WIP limits are set correct, it usually means that people will have some idol time, which is called slack time. It actually is a mechanism that the team makes the organization improved.
My main motivation was sharing the idea and spreading the word. What I tried to do was to explain why thinking of utilization in the first place is the wrong idea to have.
Clayton: Is there a good level of slack time or amount of slack time, that you think on average a team should spend with no assigned task, so to speak? Is that going to vary from team to team and situation to situation?
Pavel: When I think about utilization in terms of different contexts, for example, traffic on a highway. There is, I don’t remember the numbers, but something around, I believe, 70 percent, which is the optimum, the point where most cars are going through the highway.
However, I would say that in terms of teams, it’s not that simple. You can say that teams should have around 20 or 30 percent of slack time. What I believe in is experimenting. You should try to tweak WIP limits, tweak the way you organize work in your team, and measure what the optimal way of working is, in your case.
In terms of knowledge work, we deal with high variability of tasks we work on. It’s not that one car passes through the highway in pretty much the same time as another, as our tasks differ. It can be said that there is some kind of ideal number. I believe every team needs to find their own sweet spot. It will be floating, by the way, it’s not something that is set for a longer time.
Clayton: In terms of the time that…let’s say that a team has some slack time. What do they do with that time? Is that time that they burn down technical debt, fix defects, or experiment with new things…If I’m a manager and I’m willing to accept that the team should have some slack time to do other things, this will not be a hundred percent utilized. What are they doing with that time? Are they doing nothing, what exactly would that look like?
Pavel: It would depend on policies you have in your team. Because you can have some guidelines, what kind of tasks people should choose first, during slack time, but…most teams I know have freedom, in terms of they use their slack time.
In an ideal world, by the way this is something I teach in Kanban, the first task to be taken, would be either swarming on tasks that are already now a bottleneck. Let’s consider the situation that we have, say, too many developers and too few testers or quality engineers. We have this bottleneck in testing. Basically, after some time one of our developers would have this slack time. In an ideal world, he would either take one task and test it or maybe swarm with one of the quality engineers, to deal with the other task faster.
However, we don’t live in an ideal world. Most of the time, when a developer faces the opportunity to test [sarcastically] , he will do anything to avoid using this opportunity.
[crosstalk, laughter]
Clayton: Yes. Right.
Pavel: In the long run, that’s even better, because usually they would spend time working on things that optimize the whole process, for example, automating some testing. Because this is fun, this is still development, and yet it helps quality engineers to shorten the time they spend on their regular tasks.
This is the story of one of my teams that are actually working on this kind of tasks, automating tests, improving code quality, simplifying configuration. We were able to remove this bottleneck in testing because we improved the way we build the code, the way we build up. Developers had fun, working during their slack time, and still we improved the whole process, the whole end to end process. I would say that it’s pretty safe to leave much freedom to team members to choose what they’re doing during slack time.
Derek: I follow that you’ve been bantering back and forth on this a few months back where, maybe it’s optional task stuff, maybe it’s important task, maybe it’s my inability, from the English language perspective, but I’m feeling a very strong disconnect to the logic. What I’m hearing is that people should not be a hundred percent utilized, yet they should have slack time. In the slack time they should be doing things that propel the company, the sprint, or the team forward. To me, that’s a total disconnect.
If we say, “You should be doing something for the company a hundred percent of the time that you’re at work,” and then we go, “Oh, no. We don’t really believe that, what we really believe is that you should only plan 80 percent of your work, but the other 20 percent that’s not planned, you should still be doing something that moves the team forward.” I’m having a disconnect there, in the sense of…I guess I’m more of a believer that in creative work you need to allow your brain time to process things.
If you’re doing, I don’t want to say slack time because I just think it’s a horrible terminology, a horrible expression, because it has so many meanings within the English language that are bad, [?] got baggage with it. May be the Pomodoro method’s an easier way to articulate it. You’re doing some volume of work, whether it be 60, 80, 90 percent, some planned form of work, and then the remainder is really more of a state of play, where you allow your mind to process…whether it be play video game, table tennis, or take a walk around the campus, whatever.
I was thinking that the concept of not being a hundred percent utilized is that we’re not being fully utilized, that there’re some cycles outside…so maybe, if you could help clarify some of that…it would help me.
Pavel: The first perspective is that we look at a hundred percent utilization from the perspective of building new theories of doing our regular work. When we introduce WIP limits, we try to avoid starting too many things at once before finishing some of them. This is the first thing.
However, you aren’t actually forced to do this improvement work during slack time. You can perfectly do nothing. You can take a walk. You can take a break and do nothing in terms of building any value, and it would still result in better effectiveness of the team as a whole.
However, what I find typical is that people actually do find time to think, do find time to have a break and play foosball or whatever. They don’t have problems like this. They still are starting too much, too many concurrent tasks. They still build those huge, huge queues in the process which make all the work of the whole team ineffective.
I don’t really see introducing WIP limits, introducing slack time as a way of building this spare time to think because from what I witness in many organizations is that people, whenever they need, they actually take this time to think, to take a break, to refresh themselves but still do have problems with effectiveness in this other area. This is my view on this subject.
Derek: I don’t think there’s any easy answer because I think that we can all agree that you end up with queuing problems if you have a hundred percent working on feature mentality and don’t have any slack to deal with the world around you.
I think we can probably all agree that creative people need some time to process things. It’s just a matter of what we call it and how it’s planned for and how it’s probably communicated to managers or people paying the bills in a way that that they can understand that they don’t feel like people not working on whatever, to them, feels like the most pressing thing, right?
Pavel: Yeah, exactly.
Clayton: Let’s say for instance a scrum team, and they’re using a commitment‑driven approach or capacity planning where they say, “We have a hundred hours of available capacity for this sprint.” They pull in stories. They pull them in, and they task them out and everything, and they try and build up until they get to the hundred hours.
Let’s say they’ve been doing that for a while where they try to pull in as many tasks as they can, I think, that they can commit based on their capacity. Would you recommend that they lower their capacity a little bit so that they do have some of that slack time? Do you think that would be beneficial to that team?
Pavel: I would definitely try this kind of experiment because what you end up when you try to pull as much as possible, you end up doing features, doing tasks ‑‑ those regular tasks ‑‑ all the time. Basically, what you don’t have time for is this kind of improvement work.
When you’re thinking about a classic scrum team…In sprints, we limit our work in progress in pretty different way than we do in Kanban. We don’t try to limit the number of tasks which are on this stage or the other stage, but we just have time boxing which is just the other idea of how we can limit work in progress because we can only have that many features that’s queued into our sprints and not anything more.
I would definitely advise trying to introduce some time for improvement. Maybe to commit to one feature less or one story less and see what happens. If nothing changes, in scrum it’s not a problem to pull one more story out at a later time during sprint. We usually have this bunch of stories that might be in sprint, but we don’t commit to them, right?
Clayton: Right. I think we’re actually about out of time here, but if listeners want to find you maybe a blog or on Twitter or if there’s anything you’ve been interested lately and a community that you’d like to share with the audience, if you can just let them know where they could check you out and see some more of your articles.
Pavel: A basic, basic place where people can find me is the blog which is blog.brodzinski.com, B‑R‑O‑D‑Z‑I‑N‑S‑K‑I. My Twitter handle is @PavelBrodzinski, which is my first name and surname.
Clayton: We’ll put those in the show notes for you.
Pavel: Yeah, but basically if you Google my surname, all of the results somehow connects with me as that name isn’t that popular, I guess.
Clayton: [laughs] That’s a good one to have.
Pavel: Yeah, that’s true.
Derek: Well, thanks a lot for joining us today. We really appreciate it, and we look forward having you on again.
Pavel: Thanks for having me.
Derek Neighbors: Welcome to another episode of the Agile Weekly podcast. I’m Derek Neighbors.
Drew LeSueur: I’m Drew LeSueur.
Roy vandeWater: I’m Roy vandeWater.
Johanna Rothman: I’m Johanna Rothman. Thanks guys, for having me.
Derek: Oh, thank you. Johanna, I know that you’re working on a new book that is about how to maybe go about using some agile practices to change your outlook on getting hired. Why don’t you tell us a little about the work you’re doing?
Johanna: I have a new book in beta called “Manage Your Job Search” with a totally ridiculous subtitle, which is, right now, “Reduce your overwhelm, focus your search, and get your next job.” I’m going to change the subtitle. But I think the title is “Manage Your Job Search.”
It’s on Leanpub, which is the way I’m writing my next couple of books. It’s Leanpub/get your next job, and I have a new version of the hiring book also on Leanpub right now. As soon as I have the title for that and a cover, I’m going to hit the publish button for that, too.
The idea with “Manage Your job Search” is, if you use Personal Kanban and work in one week Editor Relations you actually can stay focused and work on your task in really small chunks and figure out “How do I’ll do a little experiment, and get my next job”?
One of the problems with a job search is you say, “I have to write a resume,” but writing a resume can take you a week, and you have to say, “No no no, I can do the first draft of the resume. I can get it reviewed by a few people,” And maybe you can say, “Well I don’t know. Should I be a Product Owner? Should I be an Agile Project Manager”?
I actually am one of the few people that says, “Yes, we do need Agile Project Managers, not everyone can be a Scrum Master.” Because, if you read my stuff on geographically distributed teams, I actually think you need Agile Project Managers. I don’t think you can just do everything with Scrum Masters. I think there is a role for people such as Agile Project Managers.
You don’t know what you might want to be, and you might want to be one thing in this company, and one thing in another organization. You might want different kinds of resumes for different kinds of organizations. You can’t just say, “Write the resume to end all resumes.” You might want to have a focused resume for this kind of company and a focused resume for that kind of company.
You have to figure out what you want to do for this week [laughs] and what you want to do next week. And maybe based on the interviewing that you do, or the phone screens that you do, or even the talking to people that you do. That you want to experiment, this is the idea behind the Lean start‑up.
You do a little something, get a little feedback, and pivot. If you’ve used Personal Kanban, you can do this. The idea behind “Manage Your Job Search,” which I do think is the [laughs] main title of the book. Although the subtitle, no, no, no, we’re not going to keep the subtitle. But I’m going to keep the main title of the book.
That’s the book I’m working on in beta. I was so hung up on trying to say, “Should I publish? Should I get feedback? How do I get feedback? It’s on LeanPub.” I don’t have a developmental editor guiding me. And I finally said, “I know how I can do this. I can do a beta book”!
I have 53 people who are reading this book and using it. Some of them have given me feedback ‑ not all of them, of course ‑‑ which is what happens with a beta book. But a couple of them have given me feedback. The ones who have given me feedback say, “When they do this, when they actually use Kanban, it really works.” What a surprise.
Derek: What kind of response are you getting from people when you tell them that they might want to use a Agile practice like Kanban to do something like a job search? Do you get kind of crazy looks that you might use what people think of as a manufacturing process or a software development process as a way to look for your next career or your next path in your career?
Johanna: The technical people who already know about this say it’s a sort of dope‑slap on their heads, “Oh yeah! That’s a good idea.” And the non‑technical people…I’m working with a couple of people whose parents I know, and their kids are just graduating from college. Their kids ‑‑ they know me as Johanna, the friend of their parents.
They say, “What is this with the stickies? Why does Johanna want me to do this”? And I say, “Just trust me. Just try this.” They say, “You know, I’ve looked at your office, Johanna, and you have stickies all over the place.” And I say, “Yes. That’s because it works and I get all the stuff done.”
They say, “Why do I have to use stickies? I don’t know about this business.” I say, “Well, it’s pretty cheap as a way to organize your to‑dos.” And they say, “Well, OK.” Then they try it and say, “Well, this is a weird thing, but I’m getting stuff done.”
They don’t know that it’s from manufacturing because a lot of these people have BAs in Philosophy. I mean, they are liberal arts majors, who don’t know anything about manufacturing, and they are taught to be critical thinkers.
Derek: How are you incorporating some of the concepts from feedback?
I loved how you started off with, that it’s really a hypothesis, that you’re trying to prove that hypothesis. If I go in and say, “I really want this job,” and I look at the particular employer, I think that they’re really wanting to potentially hire for this.
Maybe I’m going to change my title a little bit to be more appealing, and I’m going to do these things. I get a call back, I go through the screening process, and ultimately I end up not getting the job. How are you trying to incorporate feedback back into that process?
Roy: Especially when a lot of employers have a very hard time with giving you honest criticism about why they didn’t hire you, or aren’t very timely at all about it. If you’re trying to improve on one‑week sprints, and it takes some three weeks to get back to you, how do you deal with that?
Johanna: A lot of it is if you’re looking for a job and have enough leads, which is a piece of the job‑finding puzzle. If you only have one lead, then you’re just holding on by your fingernails to that one lead. That’s one of the reasons you have to have really small tasks, and really small to‑dos so that you are not hanging on by your fingertips to that one thing.
You have to be looking for multiple jobs, at all times. That’s one of the things that I’m really hoping that people get from this book because if you’re only looking in one place, you’re not going to find a job. You have to be looking in multiple places.
I have a whole thing on how to use LinkedIn and how to use Twitter because you have to be expanding your network. I have a session at the AYE conference about how to be a social butterfly, for people who are not social butterflies.
I met Derek at, what was it, a Better Software Conference a number of years ago?
Derek: Yes. I think so. Do you sometimes say that you want to be more of a social butterfly? Johanna, are you encouraging people to potentially do some of this, well before they’re actually looking for a job?
Maybe, in a current career are there some practices that you can pull through that position you, should you decide to change careers or decide to change employers that maybe you’ve already done some of the groundwork, or is it something that really only applies when you’re in the thick of trying to find new work?
Johanna: I started writing this book, before I realized I was writing this book, when I was coaching a bunch of my management coachees…I do a lot of management and executive coaching. What I was realizing is, a lot of my manager colleagues had not been building their networks. I was coaching all these managers and some executives, who had a 150 people in their LinkedIn networks.
I said, “This is crazy. You, guys, need to expand your networks because how are you going to hire people”? I was looking at this from the hiring perspective.
When I was redoing the hiring book, I was saying to people, “Part of what you need to do ‑‑ especially if you’re hiring for an agile team ‑‑ is you need to be building your LinkedIn network so you can look at the people in your groups and look at the people that you have a relationship with so you have a shot of knowing who are the passive candidates.
If you don’t have a good personal network, how are you going to reach out to people who might be really good people for you to hire? And that’s assuming you don’t want to relocation and assuming you just want people who are good people.
I cannot tell you the number of people in my local network in the Boston area who every so often send me an email saying, “Do you know of a good project manager? Do you know of a good tester? Do you know of a good developer”? I have these serendipitous emails from someone who says, “I’m just starting to look around and if you know of anyone looking for somebody” and I happen to be able to put them together. Not because I’m trying recruiting as a second career because I don’t want to.
But got this email and then I get this other email and I can say, “I know this person, I haven’t worked with him or her and I know this manager I haven’t worked with him or her but based on my little relationship with both of you, I think you guys might have something in common.”
Derek: Yeah I see that a lot in the work that we’re doing with Gangplank, especially is that…you said serendipity and I think people do not take nearly enough advantage of serendipity. But one thing serendipity requires is that people signal. I heard you say two things, somebody signaled that they were looking for a particular type of person to hire and somebody else signaled that they were looking for a particular type of work.
Because both of those people were signaling, you were able to basically cross those signals and then probably put them into touch and maybe good things happen. Maybe good things didn’t but there was an opportunity to potentially have there and maybe something like Personal Kanban for looking for next job.
One of the things it does, it forces you to look at things at a granular level that allows you to signal in multiple ways which just increases the opportunity for good things to happen. So it’s just a really interesting approach.
The last question I really have is, one of the things that is difficult with any kind of process is discipline. When you’re in the self‑mode, I’m not on a team, an agile team, I can have other people help enable me to accountability but in a Personal Kanban or personal agile space of some kind, how are you coaching people to be disciplined in the work they are doing?
Johanna: I have people start and end their week on a Tuesday or a Wednesday, that’s the first thing. I don’t know if you’ve read “Manage It!” Or any of my project management stuff that says, “Don’t ever start or end a week on a Monday.”
I wrote an article a long time ago called “What’s Wrong with Wednesdays?” And in “Manage It!” I actually say unless there’s a really good reason, never start your week on a Monday and iteration on a Monday either. Because that just begs for people to slide into the weekend then you don’t really know when your iterations start.
I strongly suggest that people start their week on a Wednesday. I say to them, “You have to take time off. You absolutely not work on your job search at some point during the week. You have to take time off from it. And I don’t know which days you’re not going to work on your job search but some of those days you’re not going to. Because it’s a job like any other job. You cannot work on it seven days a week, that’s craziness.”
Then I have retrospective, I tell them to count up their tasks. I tell them to make sure that their to‑dos are small chunks. I explain that they should try and make their to‑dos a couple hours in duration. I explain that this is how I work actually. None of my to‑dos in my work are longer than a couple of hours. This is literally how I work.
I do a chunk of work in the morning, I do a couple of chunks in the afternoon. This is how I keep the ball rolling in my work. This is how I get books written, this is how I write articles. I explain all of that in this book because this is how I keep the flow of work going.
I explain that in the book and then I say that count up all the tasks you got done and it doesn’t matter how many you got done. It’s just a number. That’s how you can predict which you might be able to get done. And I say it’s just a number, it doesn’t matter what the number is.
For those of you who are…I don’t actually say the word anal, but for those of you who are worried that it’s not a normalized number, it’s not a normalized number, don’t worry about it, live with it and use that number to predict what you might be able to get done next week.
If you always have really small chunks it doesn’t matter but you’ll be able to do approximately this number next week. And then I walk them through three different kinds of retrospectives. I offer them three different kinds of retrospectives and tell them to mix it up.
Derek: You’re creating an independent one‑person agile team, that’s awesome. What…
[crosstalk]
Roy: …be beneficial in that type of case if you have somebody you can trust like a spouse or a good friend to help hold you accountable to that type of stuff. I know that, personally, I don’t have the willpower to keep myself to an iteration like that. I’d probably have to have some kind of external force holding me accountable. Is that something you’ve seen have good success or does it not really make a difference?
Johanna: I don’t know. I mean, this is what I do. Am I so weird that I’m the only one that does this? Maybe. When the book is actually out, I was going to offer some webinars based on the book and see what happens. Maybe I should offer webinars before the book is out of beta.
[crosstalk]
Derek: That sounds like the lean thing to do to me.
Johanna: Yeah. I’m having knee surgery this summer. Maybe that’s what I’ll do when I can’t travel. I actually thought for sure that people would maintain focus but you guys are giving me feedback, that maybe people are not able to maintain focus.
Maybe that’s a question I’ll ask in this version of the beta and maybe people will give me feedback that they’re having trouble maintaining their focus and see if they are or not. And maybe that’s something I’ll offer as another offering. Are you having trouble maintaining the focus of the Kanban?
Derek: Sounds great. I think we’re at the end of our time box. Is there anything that you want to promote or share with us before we head out?
Johanna: Go see if this is interesting for the book. I will have a new version of the hiring book with a lot more about cultural fit, also on Leanpub. Look for “Agile Program Management” at some point this summer. Probably also I will first release it in beta. That’s my next writing project.
Derek: You’re looking to do that on Leanpub as well?
Johanna: Also on Leanpub, yes.
Derek: All right, so it sounds like [inaudible 18:23] it on Leanpub. Lots of good stuff coming out. Thank you so much for your time and thank you for participating.
Johanna: Well thank you so much for asking. I really enjoyed it.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich.
Roy vandeWater: I’m Roy vandeWater.
Drew LeSueur: I’m Drew LeSueur.
Derek Neighbors: I’m Derek Neighbors.
Clayton: Today, we’re going to talk about an article that we found from Esther Derby. It’s titled, “But are they working hard?”
It’s a story about some managers in an organization that’s adopting Agile and they’re wondering to themselves, “OK, everything seems like it’s going well, but there’s this guy over here and he’s got that “senior” word in front of his title. He’s a senior developer. I’m wondering, is that guy really doing senior level work? His team is this cross‑functional thing. Everyone’s doing a bunch of stuff all together.”
How do I know that this guy is really pulling his weight?
Drew: Why do you care?
Clayton: As the host of the podcast, I’m not sure.
Roy: Maybe you care because you’re paying him a lot more than everyone else.
Drew: That’s a good example.
Clayton: Maybe I’m paying this guy more or he’s got more seniority or he’s my buddy and when special assignments come up, in the past, I’ve always picked him. But now, I’m just kind of wondering, is he kind of just goofing off now because he doesn’t really have to work as hard?
I don’t know.
Drew: Is that a legitimate concern of mine?
Roy: I think that’s true. I didn’t think about like that, but yeah, if this guy is not pulling his weight, then maybe you can cut his pay, right?
Derek: I think the other way we see this manifest is, you know, good people have to be pushed really hard. If I can’t tell if that individual is really working hard or not, how do I know to whip him harder?
In the old school management style, if somebody is not working, you whip them and you continue to whip them until they are performing to their “stretch goal”. But if you don’t know if the person is being stretched or not, how do you know to whip them?
Can a team only reach its maximum potential if every individual on the team is reaching their individual maximum potential and are putting in the maximum amount of effort?
Drew: I think, that’s what Management 1.0 believes.
Derek: How do measure effort, too? If you’re talking about laying bricks or shoveling something, yeah, sure you can be maxed out and shovel as fast as your physical body can shovel.
But if you’re on something that’s creative like software or something else, how do you physically think harder or think faster? How do you judge that even?
Drew: I think it goes back to the “work smarter not harder”.
Derek: Right.
Drew: So if you go to your snow shovel example, if I give you a tablespoon and I go ask you to shovel snow and you are putting every ounce of your body into it and working so hard that there is no question that you are ready to be on the brink of death you are shoveling snow so hard.
Then I turn around and give you a two foot by one foot snow shovel and you are working half as hard but you’re getting twice as much snow shoveled, should I be pissed that you are not working hard enough?
Derek: Let’s say, I am on a senior development product team and I see that this team is not going to hit their commitment. Let’s say, it’s a longer term commitment. They’re missing their release.
I could see that in an organization, especially one that even has the concept of senior developers like me, right?
Roy: You’re not that old.
Derek: Well, I am a senior developer.
Drew: Do you get the discount at Denny’s?
Derek: Yeah, the over 65’s discount? I think, I might still qualify for the student discount. I could see what I would so as a senior developer is not help my team out.
Let them fail so it look’s like shit is going to hit the fan and I am not helping them. I knew from the beginning that they weren’t going to make it without my help.
Then what I do, is at the last moment, when it looks like all is lost, I work my ass off for two days straight. I just kick ass and, now, I’m the star. I mean, that’s how I got the senior title in the first place.
Why wouldn’t I keep doing that?
Clayton: I was going to ask, what is it about the senior developer that makes them the senior developer? I think, in this example in the article, a lot of it comes down to you have been there longer or, maybe, you have exhibited some hero coding specialties where you burned the midnight oil a few times. Then, all of a sudden, you are loved by the manager.
What is it really? I think that’s the question. Why is this person the senior developer and how do I really know that they are the senior developer, especially if they’re working in this environment where everyone is supposed to be equal?
Derek: I think this is kind of a mind set shift that management has not gone through. Today, the mindset is the person that works the hardest is the leader, right?
If you come in early and you stay late, you write more code and you’re more knowledgeable about the code, then, clearly, you are the code leader. You’re the senior developer.
That becomes what they look for, so who is going to burn the most midnight oil for me? When that person steps up they will become the leader. I think that on Agile teams, specifically, or self organizing teams, it really is all about continuous learning. It’s about learning how to adapt to situations and learning new things.
I think, the concept of leadership fundamentally changes. It’s not the person who works the hardest. It’s the person who gets the most out of the people or makes the people around them the best.
That’s who the real leader is on an Agile team, it’s the person that people say, “This person makes me better at what I do.”
Drew: Is it really the person who works the hardest or is it perhaps the person who sacrifices the most because I think we’ve seen even internally where we have issues with team members that have a martyr complex and they seem to rise to the position of leader because they earn respect through sacrifice.
Derek: I definitely think, that’s just a form of working harder, right?
Drew: Sure.
Derek: I think, when you say, “Woe is me. Look at what I had to give up to get this.” That largely becomes a, “Wow, you know that person’s really taken one for the team. They’re really working out,” you know what I mean?
I don’t want to say those are interchangeable pieces, but yeah, I definitely would say that sacrifice, commitment, working hard, you name it, like all of the kind of Management 1.0 or 2.0 concepts.
“I don’t have to crack the whip hard on that guy. I know he’s going to work hard. I know he’s going to sacrifice for me.”
Roy: Some of the things that were mentioned in the article, that senior level things “are like pairing and mentoring”, code kata, examining the team’s practices, looking for ways to improve, those are all things I think that speak to Derek’s point of helping the people that are around you improve.
I think, the real sticky situation that comes up a lot especially in an organization that’s transforming itself, from an HR perspective, if you have people on the payroll or that they’re in this position in the pecking order as a senior person, but these attributes aren’t things that only they can do.
They might be doing something like this in some aspect of the team for some period of time and then someone else might get jazzed up about it and they start doing it. You have this floating role in leadership position where everybody can be some leader in some aspect and now that senior thing kind of disappears, right?
Derek: Right, I think you start to have senior people with different things. It kind of becomes who’s initiating that particular thing and that person might rise to the leader of the team or the senior person on the team for that particular type of thing.
Whether it’d be a technology or whether it be a process or whether it’d be whatever, the teams start to say like, “So‑and‑so is kind of our go to person. They’re the champion for whatever that is.”
They’re the database champion or they’re the Javascript champion or they’re the Agile champion or they’re the Kanban champion or they’re the training or teacher champion.
Drew: What if the entire team is kind of slacking off?
I remember we were reading about the article and briefly talking about it. It mentions the concept of something called social loafing. I think, Derek, your eyes lit up when that was mentioned. I’m not really familiar with it. Can you explain what it is?
Derek: I’m not too familiar with it. I talked about it a bit this last week with a number of other coaches. I think, the term goes something to the fact of this concept of when you get in groups, people start to defer responsibility and it becomes somebody else will pick up that slack.
There’s this loafing around concept the more social something gets. I think, there were some studies done by some people doing a tug‑of‑war (Ringlemann Effect) type of thing that if you measured people’s exertion of force when it’s one person’s tug of war against another person, they give a much higher effort than when it’s 10 people tugging war against 10 other people.
I think, there’s some kind of concepts out there around. Can that be contagious as well, where you start to see one person kind of loafing? Does that start to get contagious within a group? I think, that this is something that managers fear.
Drew: Is it something that we can prevent? It seems to me like if we are being accountable to our effort and somehow broadcasting that to our team members, we can hold each other accountable.
Is that something we even want to do or is maybe that measuring something we want to do not that we ensure that everybody is spending maximum effort? But if we notice that everybody is spending maximum effort, it means we’re doing something wrong and we need to change the way that we’re doing something.
Derek: Yeah. I think maybe the way that I look at it is if you’re looking at the tug of war sample, maybe I’m not pulling my absolute hardest, but if my team starts to lose, I do pull harder. If you’re setting clear vision for people and you’re putting goals out there for them to hit, can you put motivations out there?
I’m not talking about more money, more whatever. But can you put some intrinsic motivations out there that get them to want to pull harder because you’re challenging them? I think that, to me, human beings have an innate desire to learn and grow.
I think, sometimes people get a beat out of them or they got out of touch with it. But I think ultimately, if you’re challenging people to go deeper and harder than they’re used to, they tend to engage more.
When I’ve sees social loafing, it’s usually when the team or the organization is not providing much of a challenge for somebody. They go like, “Well, I don’t have to pull that hard because we’re OK,” with regards to the power of the pull.
Drew: I don’t know if this is where the metaphor is breaking down, but it seems to me like, if the goal is to win in tug of war, then it sounds to me that the minimum amount of effort required in order to win is the best strategy and the most sustainable strategy for a team to take. Is that true in all cases?
Derek: I think that sounds fairly true to me.
Clayton: One of the examples that she mentions in the article, the question she asked is, “Let’s say, we’ve got a few teams, and we’ve got them formed. They got a foundation. They start going. They’re producing software, delivering results, and things are going well. As a manager, do you care if they’re giving a hundred percent of the work all the time?”
I think that’s the core question. Are they working hard? Is that even a valid question? Should I even be worrying about that if they’re still producing results? Am I just measuring the results? Am I only measuring effort?
Then you get back to that concept that Derek has mentioned of, “Do I get mad at Drew for exerting less physical effort to shovel that snow because he’s got a better tool for the job?” Am I supposed to be mad at him about that? But if he’s delivering results, I don’t care if he’s working half as hard because it’s still working, right?
Derek: You’re right. I think, that teams should get to the point where they’re only exerting as much effort as it takes to basically pull past the goal. But the second thing, I would clarify, is that if you win, you should constantly be looking for better competition.
If I’m playing tug‑of‑war and if everybody on the team only has to give 10 percent to beat an opponent, we should be looking for a tougher opponent next time, until we get to the point where we are having to put more and more effort into making that victory.
If we get to the challenge where we can’t win, then we need to start looking at, “What do we need to do? Do we need to go lift some weights so that we don’t have to pull as hard to win the next time?” I think that that’s, to me, the whole concept of a healthy team.
Challenge yourself just enough that you’re in a sustainable effort level because I think a hundred percent effort all the time is not sustainable, so whatever that level is. It’s probably different for everybody on the team.
Get them to that point. See what victories you can have. Then challenge yourself, “What do we need to do independently and as a team to grow so that we can go against harder and harder competition while still being sustainable?”
Drew: It is still a smell if the team is exerting almost no effort and not because you aren’t getting any results you want, but because it might be reasonable to be concerned that your team is going to lose motivation if they continue to have to put almost no effort into their job on a daily basis.
Derek: Absolutely.
Clayton: I guess as a manager, if I am committed to the idea that I don’t really care if my team’s working hard so much as I hope they’re delivering results and improving, like you’re mentioning Derek, should I be responsible for trying to find or uncover ways that they could be improving? Or should I just focus on enabling them and giving them some culture or some guidelines for that kind of continuous improvement mentality?
Roy: The same as inside the team, I think, as I mentioned in this bullet points, the leader or the senior person, as Derek said, is the person who is going to spread his knowledge or empower or enable the rest of the people on the team. I think, maybe, somebody outside looking in can do the same thing.
They’re a senior, or whatever, for whatever reason. Hopefully, it’s because of one of the bullet points on this list. How can they use their mentoring skills, or their coaching skills, or whatever skills they have, to empower the team to be better? Because we can all be better. You just have to balance that sustainability versus effort.
Drew: So do you need to be a senior developer in order to practice the things on this list?
Roy: I don’t think so. A senior developer, no.
Drew: Do we even have a need for senior developers or that title?
Derek: Probably not. Maybe hitting your question a little too, Clayton, I think, that it is valid for leadership or managers to understand how hard a team is challenging themselves. Not necessarily working hard, but are they going up against tough opponents or not?
I think, if they’re going up against opponents that are complete softballs, I think, that it’s OK for management to say, “I think, we should be trying to solve harder problems, or basically push harder.” But that’s not necessarily work harder. The team needs a tougher challenge.
In the same way that, I think, if they’re being over challenged, the management needs to be able to pull back and say, “Hey, we need some potentially easier opponents to go against.”
To me, the difference is you’re measuring or you’re looking at the team not the individual, and let the team decide what to do with the individuals. If it’s, “Hey, this is too hard,” let the team figure out who needs to improve on the team and how they’re going to improve.
Don’t dictate that to them. Don’t say, “Well, if Roy would just work harder, then we would be able to beat this guy.”
Clayton: One last question, I’ll ask around, and you can give me a yes or no answer. If you were on an Agile team as a senior developer, do you think it would be meaningful for the progress and improvement of the team for you to publicly rescind or give up your senior developer title?
Roy: That sounds cool.
Drew: Yes, without being a martyr.
Clayton: OK.
Derek: It doesn’t really matter.
Clayton: I’m no longer a senior developer. I’m a developer committed to the team.
Derek: I don’t think that matters.
Roy: I feel your pain.
Clayton: Just symbolic, OK. Derek?
Derek: In principle, I absolutely love it. I actually saw a team the other day where somebody pretty much did that and said, “We’re all developers here. There is no better or no worse.” Because somebody was talking about a better developer or worse developer, and their response was pretty much like, “We’re all developers here. There’s not better and worse.”
This was somebody who’s seen as the senior person. But I don’t know if that necessarily change things either. While, I think, it’s noble and the right thing to do, I’m not sure that it necessarily helps.
Drew: Do I lose my paycheck when I give up? Because I want to keep that.
Clayton: All right. If you are a senior developer and you would like to come yell at us, we invite you to the Agile Weekly Facebook fan page at facebook.com/agileweekly. You can give us an earful about why we’re wrong about your senior developer title. Or if you’d like to just join the conversation in any other aspect, we’d love to have you, too. Thanks!
Drew LeSueur: Hi. Welcome to another episode of the Agile Weekly Podcast. I’m Drew LeSueur.
Derek Neighbors: I’m Derek Neighbors.
Clayton Lengel‑Zigich: I’m Clayton Lengel‑Zigich.
Roy vandeWater: And I’m Roy vandeWater.
Drew: Today we’re going to be talking about an article by Jamie Flinchbaugh titled “Don’t just change the process if people aren’t following the existing one.” The article talks about how people focus on the process and following it to the tee, as opposed to questioning whether that’s a correct process. What are you guys’ thoughts?
Roy: I don’t know. It sounds like it could be very easy to abuse. It sounds like an invitation for scrumbutts, or any other process butts, “Well, it’s a problem with the process.” I guess this is, actually, saying don’t change the process. Actually, I like that. I guess maybe it’s not a scrum‑but right. It’s saying, just because it doesn’t work for you, maybe it’s not the processes fault. I completely turned around right there. [laughs]
Derek: What I see a lot of times are people get so hung up on their process as the problem. I think what he might be saying is, if you’ve got a process, and people aren’t following it well, what makes you think they’re going to follow some new process? Even if they are following the process, is how do you know the process is really the problem? Meaning, if you’ve got deep culture issues, or you’ve got leadership problems, or you’ve got visioning problems, process does not solve those.
All process does, especially if you’re talking Scrum or Agile, Kanban, all it does is highlight problems. It doesn’t actually solve them. If you just say, “Here’s process A,” and we run through it, and it highlights all these problems, and we go, “Hmm, yeah, let’s not do anything about these problems, let’s just switch to another process, and maybe if we have to have that process those problems won’t exist.” Then that process highlights the same exact problems, at some point you have to deal with the problems.
Drew: Derek, how often have you found that it actually is the process that is the problem within a company? Has that ever happened to you? Or is that something that happens generally speaking and this is an exception where it is?
Derek: I’ve never seen the process be a solution. I have seen a lack of process, or no process, make it so that a company or a team does not know what the problem is. I think sometimes you have to jump into a process to help highlight what the problems are. But, ultimately, the process never solves the problems, it just highlights them.
If you’ve already got a process that’s highlighted a bunch of the problems for you, I wouldn’t advocate going and switching to another process. I would deal with the problems that your current process is highlighting. If you have no clue what problems you need to tackle, then maybe you need some process to help highlight the problems for you.
Clayton: Yeah, I think that one example that comes to mind is you might find a team that is doing Scrum, and they never have enough time for planning. Like, every time they say, “Scrum, the process says we have to do this thing called a planning meeting,” and it has these certain things we have to do, and there’s this artifact or whatever that falls out of it. But we just can’t just do it.
Either the work we’re doing is too complex and we don’t have the time to break down all the work that we’re doing in this planning meeting, or there’s just not that much time in a day. They told us we have to do this two week sprint thing, so we can’t spend two days. That’s too big of a percentage of our Sprint just doing planning and thing that’s one of those situations that Derek’s getting into is, “OK, well, maybe there is a problem. Why does it take so long to plan?” Or maybe that’s not even a problem. Maybe that’s OK. But I think that’s the kind of thing that people will dive in and say. “This process is broken, it doesn’t work!”
Roy: Does that mean that maybe processes like Scrum, and like some of the other ones out there are really just a way to normalize your team, so that you can talk in the same language as all the other teams? For example, having the issue of not being able to spend the time for planning, you might be able to go to another team that is practicing Scrum, and say, “Hey, we’re having this problem, and because you guys are using the same terminology, and you are trying to implement the same process, maybe all it is, is a framework to make it easier to communicate your problems to other teams, so that they are able to help you out.”
Clayton: Yeah, that probably would make it easier, but I don’t think that’s really the goal so much as the teams have probably going to all have some different kinds of problems. They are all going to be exposed in some different way. I think it’s kind of, you get to that fork in the road, where either you decide to, “OK, well, here’s this problem we have. We’re going to resolve it somehow.”
I think what the gist of article is, “We have this process problem. It must mean that we’re not doing something about the process right so let’s stop doing this and find a new process.” That’s the real issue. A lot of times, the stuff that something like Scrum or any agile methodology will uncover are difficult things that you would rather not have to solve. It’s a lot easier to blame it on the process, do some new thing, “Here, look, look, a pony.” You get some new thing in there, and you can kind of start the cycle over again.
Drew: We have some processes out there that I feel like most of us consider negative processes. I think, in most circumstances, for example, waterfall is pretty much frowned upon in the agile community. There probably is a time and a place for it, but how do you make that determination?
I suggest if the entire agile community shuns it, then we can’t consider it a valid process. It might be the process that is a problem. How do we know that it is my process that is a problem, or how do I know it is my team that is a problem? Do you know what I mean?
Derek: I think a process lets you know what challenges you face within a team or an organization. I think the reason that waterfall has been universally shunned over or shown to be not so effective is it’s feedback cycle is way too short. It does have the ability to tell you that things are wrong, and to deal with them. However, the time frames that that are in are generally in months or years as opposed to days or weeks.
I think when I look at why most agile processes do fairly well is because they’re very iterative, which means they’ve got much, much smaller feedback loops. I would almost argue that a lot of teams I see doing scrum are really doing mini‑waterfall.
Their teams are still very siloed. They’re doing two or four‑week sprints. In whole, they have iteration zero, and they have a hardening sprint. They have all these smells, but they are getting feedback in a much tighter loop than if they said, “Hey, we’re going to do this 12‑month project, and we’re not really going to do a postmortem until month 12.”
Clayton: Just to clarify, I think you meant to say that they have a longer feedback cycle?
Derek: Yes, longer feedback cycle. I’m sorry.
Drew: When people have resistance to part of the process ‑‑ like, “Oh, we can’t spend all this time planning” or “This standup is just getting in our way. Why don’t I just get my work done?” ‑‑ part of a lot of agile processes are ceremonies that may be uncomfortable for people who are trying them to start.
What are ways you guys think to overcome those type of awkwardness of starting a new ceremony that, by their culture, they’ve never done before?
Roy: I think a lot of it is providing value in those ceremonies. I see way too many organizations institute a standup or a planning meeting. They are pretty much dog and pony shows in the sense of, they are there only because some scrum book or some scrum master or some coach told the team they need to do that, but the teams get no inherent value out of them.
I think the key is getting the information out in the ceremony, dealing with it, reflecting on it, and improving the ceremony every time. Otherwise, what’s the point? There’s been several times I’ve told teams, “Why do you even bother having a stand up, because what you’re doing is not valuable to yourselves or anyone around you?”
Clayton: Going back to the article about, “Don’t just change the process,” when do you guys think it’s OK to change a process? How far does it matter to team maturity?
Or if you get to try it for a certain period of time, how would you know now is the right time to change things and do something different even just as an experiment? How would you know how far to go with that? If you keep that for a longer period of time, is it OK to change process? How would you know that?
Drew: One example that I have ‑‑ it’s just maybe a change of not necessarily a process but a practice ‑‑ is we were trying to get our stories smaller. We had a problem of having stories that were too big. I remember during planning once, we argued forever or discussed for a long time, “Should the stories be broken up or not?” At that point, we decided, “OK. Let’s just put it into this sprint. Let’s not talk about it more. We can move on and figure out if it was too big or not.”
But I think sometimes, because of a time constraint, you can just move on, and, maybe, just skip some of those things that, maybe, you know you should do, but as a team, you don’t have consensus.
Derek: I think it’s all about data. I would ask, “Why did the team think they needed to break the story down to a smaller story?” What behavior or what symptom or what data made you think, “Hey, we should potentially break this down”?
Drew: In that experience, I think it was more of just people saying, “Hey, we should break this story” or people saying, “Big stories are bad, and smaller stories are good.” That was all the data that we were going off of.
Later on, we actually learned that ourselves when we learn that, “Hey, it’s getting near the end of the sprint, and we have no story signed off. How can we fix that problem?”
Derek: To me, it’s all about data. If you say, “Hey the problem is the data that’s coming up is that we’re not getting stories into pending until the end of the sprint, we should change something.” Once you change something, you should then be able to measure, “Once we did that change did the problem of not getting stories into pending until the end of the sprint go away?”
If the answer’s yes, then that was probably a good process change, or a potentially good process change. If the answer’s no, then you say, “Hey, that’s not had anything to do with it, let’s either go back to what we were doing before or let’s find what the real problem is.”
Roy: It sounds like in that type of situation you’d want to be very careful to make only one change so that you know which change caused your measurable effect. Doing a process swap, like you had asked when is it appropriate. It sounds like doing a whole process swap is very difficult, because sure you can measure whether or not there was a successful change, but you don’t know which aspects of your new process made that change.
Chances are, if it did improve, then your ideal process as a team lies somewhere between the old process and the new process. In some cases, not all cases, obviously.
I kind of feel like instead of approaching a new process, what I would do is try to get the existing process working, so that you know that you are following all of the ceremonies. Deal with those problems that arise. If you still are noticing problems within the organization, or within the team, I would start pulling in one aspect at a time of the other process and trying them out. Trying to see if, just swap it in place, and see if that works for your team or not. I can’t really think of too many cases in which different best practices from multiple processes are mutually exclusive.
Clayton: I was going to say, what if the different aspects that you might be pulling in are conflicting?
Roy: Since you’re only pulling in one aspect my assumption, and it could be a wrong assumption, is that it should really only affect one aspect of your existing process. I still feel like that’s a one change that you’re making.
Derek: Maybe the way I would say it is if your current process is not highlighting problems for you, by all means, change your process. If your current process is highlighting problems for you, until you’ve dealt with those problems, changing your process will not help you.
Roy: If you think you kick ass, you’re using the wrong process and you need to switch immediately.
Derek: Maybe.
Roy: I wasn’t being totally facetious. Let’s face it, no team is perfect. Everybody needs some proof. If your process is telling you that you are perfect, something’s wrong.
Clayton: Yeah, I guess that’s a matter of does your process support something like continuous improvement, and those kind of things, right?
Derek: Correct.
Clayton: I guess I have one last question. If I’m in a situation where maybe I’m part of a team, and all of a sudden some ‑‑ let’s say scrum ‑‑ scrum‑thing gets dumped on me, and I’m told now you do this process.
We used to do this thing over here, that’s the old and busted, now we’re going to do the new hotness. Do it. Is that kind of culture, and that kind of thing even conducive to having that process be successful in the first place, or is that the kind of culture where people are going to blame the process for problems?
Roy: That’s a good point. When something like that is mandated from on high it makes it very difficult. I think we’ve had some good arguments in the past about the power of self‑organizing teams, and I think if you start organizing the team for them, it’s going to be difficult to get buy‑in.
Derek: I mean, I think it’s the difference between self‑direction and self‑organization. I think that you can still have a large amount of self‑organization and be put in a container. You could be put on a team and say, “Hey you have to ship product x.” Technically, that’s not self‑direction, but you can be pretty self‑organizing within that.
I would say that, if you’ve got leadership, or you’ve got somebody who understands self‑organization, who really wants the team to quickly adopt, or quickly accelerate through a new process that is highly self‑organizing, I think you’d probably want to go through some form of a process, where you start to talk about the old process, or lack of a process, and say, “Hey, doesn’t it bother anybody else that we can’t do A, or we can’t do B, or that this is a problem, like our quality sucks, or we don’t have predictability,” or these kind of things.
Start with isn’t this a problem. If the team starts to identify it’s a problem, then you can kind of say, “Well, what if we use this thing,” whatever the process is to try to help solve some of those problems. Then, now it’s kind of the team is kind of pulling it along. It’s not you will use this. It’s rather, “Hey, here are the problems we’re trying to solve. Does anybody know how to solve them?” I’ve heard these particular processes might be good for it. Now you’re kind of letting them be part of that process of choosing the process.
Roy: The best part is they might actually have better ideas than ones you’re already aware of to deal with some of those issues. They may be able to point out that what you think are the issues are not the real issues.
Drew: They can adopt the changes, as you talked about, Derek, if they show the problems or if they share with the problems, then they can choose some change that they can make to solve those problems, and make it more of a gradual thing.
Roy: It’s their victory if they succeed.
Derek: I think it falls in line with, if we’re talking at least scrum. It falls in line with you can tell the team this is the story that needs to be done, but you’re not telling them how to implement that story. In the same way, you can say, these are the problems I need as a product owner, or these are the problems I need as a CEO, but you’re not telling them this is the process you have to use to give me that information or to fix those problems.
Drew: Thank you. That concludes our episode. We’d love for you guys to join the conversation at facebook.com/agileweekly. Thanks a lot.
Clayton: Thank you.
Derek: Bye‑bye.
Clayton: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich.
Roy: I’m Roy van de Water.
Clayton: Joining us today, we have Deb Spicer. You can say hi, Deb.
Deb: Hi. How are you?
Clayton: Good. We actually found an article you had written. The title is “10 Destructive Behaviors That Can Bring Down a Team’s Success” and that’s we wanted to talk to you about. A lot of the work that we do involves working with teams and taking teams from maybe being some dysfunctional team and trying to get them toward high performing and those things. We were really interested in that topic.
First off, I was just curious. Where was it you came up with this list of 10 ideas? Is that something you’ve observed or a list you’ve compiled with people in the industry? Where’d you come up with that?
Deb: Actually, I came up with it after 25 years of working in global matrix teams or organizations and it is part of the book that I wrote, “Power Teams.” We can talk about that later, but actually I wrote the whole book about high‑performing teams, what makes them high performing and also when you do have destructive behaviors, how do you deal with that.
Clayton: We’re look at a few of the behaviors that were identified on that list and we had some questions about some of those.
The first one that jumped out at us was the one about lip service. We feel like whenever we identify this where there’s somebody that is in the organization that’s like this, it seems like everybody know that that person is full of it but nobody seems to say anything about it. Why do you think that is?
Deb: It’s very common. There are a couple of reasons that people behave that way. One is in all these behaviors, people behave the way that they do because leading to this point, it has worked for them in some form or another. When you have someone that promises everything but doesn’t really deliver on that, then it’s likely that that person has gotten away without being accountable for the things that they claim.
By instilling some accountability for that person by breaking it down, holding their feet to the fire, that helps change that behavior and it just shows them, “hey, it’s a new day and you can say whatever you want but the rewards will come from the delivery, not from the words.”
Clayton: Another thing we were wondering about is…we’re trying, whenever we have guests on the show, to take a viewpoint of maybe one of the listeners…so, if I’m a manager listening to this podcast and I think, “OK. I’ve identified these 10 behaviors, and I understand they’re wrong.
If I want to make my team better and promote the good things, how do I keep my team intact, because if people get better, aren’t they just going to leave and get a better job, or something”?
Deb: That’s a great question. In fact, when teams come together and achieve for something being themselves, they tend to stay, because that is a reward that is so rarely seen in organizations. It’s like when you get in the trenches with a group of people, but yet you achieve, you come out, you succeed, and you’re rewarded. Those teams tend to be the ones that stay together in a very tight cluster, move on, and take on even bigger challenges and bigger jobs together.
They’ve gelled, they trust each other, they know how to deal with conflict, they feel safe to just push back on each other, and challenge each other’s ideas. Always on the other side of that, something bigger and better comes out of it, so, in fact, organizations don’t have to worry.
The organizations that promote that kind of team cohesiveness, with many different teams in the organizations, are the ones who have the most innovation, are the strongest, and tend to be the leaders in the forefront of whatever dynamic is happening in the marketplace.
Clayton: One thing that you’ve mentioned also is the idea about the old culture. There’re some people who maybe have been there for a long time and have a way of doing things. Something that we’ve been seeing a lot…it looks like a lot of chatter is, especially in the software industry where you have people that are the new Millennial Generation. These 20‑somethings maybe out of college…
Roy: I guess me.
Clayton: Yes. That might describe Roy, actually.
How do you integrate that? They got these old culture people that have a certain way of doing things, and then you got these Millennials. Would you have any insight on treating this kind of generational gap?
Deb: I can, and in fact that chapter in my book talks about a computer company that was number two in the marketplace. Overtime, the focus was on one of the divisions in the company that was not performing, and that was to the detriment of what were the high‑performing divisions.
There was enough complacency to go around that really brought the company down and it slipped down to number three. Important in dealing with this is to just shake that culture up. How do you do that?
First of all, as the leader, what you do is you start setting very tight timelines on deliverables. You start speeding things up. You start the focus on what those measurable outcomes are going to be.
You add things like higher level team reports so that those people that are complacent on a team, psychologically they know they better step up or they risk looking bad in front of the higher management folks. You keep the pressure, you set the deliverables, you set the timelines short, you know, “By Thursday this is what is due.”
You hold people’s feet to the fire and what you see happening then is it’s not the leader holding people accountable, it’s the rest of the team that starts holding them accountable. That style supports the new millennial styles of work that haven’t been built in to some of the older cultures. Then the pressure starts coming from within the team and not just a top‑down kind of pressure.
Clayton: Just to clarify, you’re suggesting applying these pressures to the entire team, right? Not to individuals or is it…
Deb: Correct.
Clayton: …or is it doing it to the individual?
Deb: No. In fact, that’s a good point because whenever we talk about these behaviors, that is what we’re talking about. The people themselves are not bad people, it’s just that they have gotten used to using behaviors that don’t necessarily fit with the kind of culture organizations need today when those organizations want to succeed.
We address the behavior by putting things in place that will shake it up. That’s a particular one, you haven’t mentioned the piranha factor, but that’s actually one of the hardest ones to deal with for this reason. It doesn’t matter as a leader how charismatic you are, it doesn’t matter how great of a negotiator you are or a communicator. This behavior is very difficult.
Just close your eyes for a minute and think about this scene. You’re in Brazil, you’re on a bridge looking over the river down into the water, and you take a piece of raw meat and you throw it down into the water. What happens?
All of a sudden, you see backs of fish. It starts looking like a washing machine is just churning up the water and you see tails and fins and pieces of scales and stuff floating in the water. What that is, it’s the piranhas. They’re coming after that raw piece of meat.
In the piranha mentality, it doesn’t matter…what people don’t understand is they are eating each other to get to that prize. It doesn’t matter who’s in the way. They just go after them and they’ll take them out to get the prize. Picture that in a team setting. The same destructive things happen. The piranha personality can leave a whole team in shreds. It doesn’t matter who they take out because for whatever their motivation or agenda is, they’re going to take out anybody who gets in their way.
That’s an important one that if you inherit that person who has that personality or if you’re taking over a new team and you see that coercive, manipulative, sabotaging, demeaning kind of personality, what you have is a piranha, what I call the piranha factor. One of the most difficult and destructive team behaviors is that and it’s manifested by deliberate manipulation, deliberate coercion.
They will sabotage individuals and the team as a whole for whatever their personal gain is. That behavior of all of them needs to be dealt with immediately and it needs to be dealt with very firmly.
How do you do that? One of the ways is that, while you’re in the team setting, you still handle everyone very professionally, because the other team leaders, who are very aware, just like the ingrained old culture, everybody sees it. Everybody knows.
But it’s your leadership that’s important in this scenario, to not that person out, if you will, in front of everyone. It’s you address it professionally, firmly…
Deb: Then what you do is, besides talking to that particular person outside of that team setting, what you want to do is find a way to remove them from their comfort zone.
What that means is, and what I’ve used in the past is, I then moved the entire team outside of the role that they bring to that team. IT, example, if you’re an IT programmer, then I might move you to the finance role, so you have to put on the thinking cap as if you were the finance person for that organization. If you’re a quality assurance person on the IT team, I might move you to the market role.
As the piranha is the director of IT programming, like I said, I wouldn’t move that person to a finance role. Everybody figuratively moves outside of their own comfort zone, so what you get is the information, experience, enthusiasm that people bring to their regular job, plus you’re making them stretch themselves into what if I were the finance person, how would I deal with this team challenge or this team initiative that we need to solve.
Roy: I guess the moving people around works but what if you have somebody on your team that is irredeemable, or he doesn’t seem to be willing to take on any of the positive traits that your team requires, and they just keep exhibiting his negative ones? Do you find that that even happens? Is nobody irredeemable? Or, if somebody is irredeemable, how do you deal with that?
Deb: The easy way is to [laughs] remove them from the team, if you can. In my circumstance, that I write about in the book, it was people higher up than me required that this person stay on, because they found that person brought something in a niche way that was important.
Because this initiative was at such a high level, and the outcome of this initiative was so critical to changing some of the direction for the company, the other team members, who were also decision makers, actually took on the role policing this person, and it didn’t have to be me to get them in the right vein. They did it themselves.
But there are some people who, no matter what, will make sure that they don’t have any personal loyalty that they will not allow the team to collaborate, they’ll keep blinders on, they’ll stay single‑focused, and, at the end of the day, they have to be removed, or else it destroys your entire team.
Roy: One last question for you here. Let’s say that I’m just a member of the team, and I come across this article, or maybe I listen to this podcast, and I’m witnessing some of these behaviors on my team.
What can I do? What to do for a step for me? Maybe I’m not ready to stick my neck out and make a big deal out of it, but I want to make some change.
Deb: Very good question. The most important thing that you can do is be an example. You heard of the 80/20 role in business and in sales. There’s a different role. It’s called the 10/80/10 role.
What happens is 10 percent of any team, of an organization, of a homeowners association, whatever dynamic that you have, 10 percent of the people will be wonderful cheerleaders, they’ll buy in immediately, they’ll rah‑rah, they’ll be supportive.
On the opposite end of the spectrum, you have 10 percent, no matter what, that will serve their destructive behaviors. They’re against things because that’s just who they are. If everybody else wants it, they don’t want it. Then there’s this 80 percent in the middle, we call them the mushy middle.
This is in politics, this is in lobbying, in can be in churches. 80 percent of the people are the followers. They’re going to look, they’re going to watch, they’re going to observe, and then, eventually, they’re going to choose aside the 10 percent positive, the 10 percent negative.
You, as a person who wants to see the success of this, modeling successful behavior will start to bring more and more of that 80 percent over to that dynamic. You’ll see more and more people come to that. What, ultimately, does that do? It marginalizes and makes the 10 percent who are negative very insignificant.
Even as a younger manager, new in your growth professionally, you can still model the behaviors as if you’re at a higher level, and you’ll find that more and more of the mushy middle will start to also model those behaviors, again making the negative, stubborn, procrastinating type of people, or the outright saboteurs, be very insignificant, because they won’t be able to sway the team.
Clayton: It’s a good answer. I’m a big fan of modeling good behavior, so that’s a great way to think about it. We’re about out of time here, but you’ve mentioned a book. I was curious if there is anything else relating to the book or anything like that you’d like to share with the listeners.
Deb: Sure. Actually, the book is called “Power Teams: The New SQUARE ROOT MODEL That Changes Everything!” It’s on Amazon, by Deb Spicer. If you’d like to look up on my website, it’s quantumlevelsuccess.com. Also, I do have some additional materials. I have a quick reference guide that goes with the book that I give for free. I have some chapters that are available for free.
If you have any questions that are bothering you with any of your team members, and you’d just like to drop me a line, I’m very happy. I talk through ID as an issues with people all the time. It’s no charge. I really enjoy hearing the good and successful team stories as well as the challenges, and I think talking through those makes us all stronger, so I encourage you. It’s [email protected]. Please reach out. I’d love to hear from you.
Clayton: Great. That sounds great. We really appreciate you taking the time to speak with us today, and we loved having you.
Deb: Thank you, and thank you for inviting me, to your success, to your team success. I wish you the best. Take care.
Clayton: Thanks.
Roy vandeWater: Hello, and welcome to another episode of the Agile Weekly podcast. I’m Roy vandeWater.
Drew LeSueur: I’m Drew LeSueur.
Roy: And joining us today is Chris Sims to talk about running a transparent consultancy.
Chris Sims: Greetings.
Roy: Chris, your company is a little different. You guys value having a high amount of transparency within your organization. You guys work in a fairly communal way. Can you tell us how your culture evolved to that point?
Chris: Yeah, absolutely. Part of it was by intention. I started Agile Learning Labs about five years ago. We just do agile training in coaching and transformation work. It was my intention to create a company that was first and foremost for the benefit of the people who work there. I want it to be a great place to work. I figure well then you’ll get great people and then you’ll be able to deliver great value to the clients.
That was the general attention when we started and then some of these evolved basically using agile principles of inspect and adapt and all of that.
For example, one of the things that have got a lot of attention recently is the way we pay ourselves. Everybody in the company makes the same money. Everybody. Me, the person who does the billing, our creative director, our sales people, everybody makes exactly the same and it’s based on how successful the company is.
That evolved over time. We started out with more traditional approach and we found that it wasn’t working for us right. We wanted to create a team and we wanted to create a team that would work towards a common goal. We found that one of the things that helped create that alignment was having everybody’s compensation package be aligned.
Roy: How does that work from an investment perspective? I assume that you starting the company put forth quite a bit of investment capital to try to get things rolling. Is that something that just went away in the wash? How are you handling that?
Chris: [laughs] I love that question. It’s one of the things we’re actually working on together. One of our progression of goals is to first make sure that we’re all making enough money that we’re living comfortably and we’re happy with that. Then interestingly enough, the whole team is actually really committed to making sure that I ultimately end up getting a good return on my initial investment.
It’s kind of an exciting time because we’re actually at that point where that’s going to start happening. So, there is going to start to be a little bit of a return on owners equity you can think of and basically a little bit that’s coming off the top that’s going to come my way as a representation of “Hey, you currently own the whole company.”
Over time, my intention is for that to change ‑‑ for it not to be necessarily entirely owned by me. I think it’s probably healthier when a company is owned by the people who actually operate it. For the moment, having me own the whole thing is working, but I think long term, it will actually be healthier if I’m not the only person owning it.
Roy: That sounds interesting. It sounds like you might run into some future bumps down the road bringing new hires. Would new employees have to buy into the company?
Chris: Yeah, boy, we haven’t figured that one out yet. We definitely do expect bumps down the road. We’re really committed to basically working in a very inspective and [indecipherable 0:04:18] way working very collaboratively to make these decision about how we’re running the company and adjusting to the issues that present themselves.
I think none of us think that what we have is like the ultimate perfect arrangement. It’s just the best one we can come up with so far. I think we all expect it’s going to change and evolve as we go.
Roy: In a really transparent company, how do you handle the traditional concept of performance reviews, or more importantly the value that I think most developers want out of those? How do you handle people getting feedback on their performance so that they can target how to improve?
Chris: Well, I love this. This has been one of my pet peeves for ages, which is that I think the goals of performance reviews and what actually comes out of performance reviews like what you actually get out of them, in most instances most common thing are not actually aligned. Most companies have performance reviews because they think, “Hey wow, this’ll really help people improve and grow,” and they usually have some notion of, “We should identify the people who are the high contributors, and pay them more.” Because maybe that’ll keep them around, or maybe it’s just because somehow that’s good, that our high‑performers make more money.
What actually happens on the ground is ‑‑ especially if you do a traditional approach to performance reviews, where it’s an annual thing, and you do the traditional thing of tying it to compensation ‑‑ people get really wrapped up in making sure their performance review makes them look good. They want to argue about things that don’t sound good, and it really gets all wrapped up in, “Hey, I want a bigger raise,” and all of that sort of thing.
If you’re trying to work in a team environment, very often this sets up a “Zero Sum” game mentality, like, “I have to look better than my co‑workers, so that I get the lion’s share of the raise money,” and all of that. What we’re doing instead is we’re choosing to go without that. We’re choosing to develop a culture, where team members give each other feedback all the time.
Our goals are, on the individual level, people want to grow professionally, they want to grow their capabilities, they want to grow their skills, they want to become ever more valuable members of the team, and at the financial level, we’re all just lying around, “What can we all do, to make Agile Learning Labs even more successful?” Then that will directly translate into more money.
It’s not about, “How do I look better than the other guy,” it’s like, “What does my team need right now to help us actually create more value, and I’ll just jump in and do that.” That’s what we’re doing.
For bigger companies, that can be a struggle, especially if they have an entrenched HR performance review kind of situation, but some of our clients are actually moving in directions where they are changing their performance review systems to make them more aligned with their actual goals, which is to have higher performing teams.
It really changes things. If you’re managing for, “We want high performing teams,” you actually do very different things as opposed to saying, “We want high performing individuals.” It turns out that a high performing team can deliver way more than even a group of high performing individuals. It’s a case of, I think, managing for what you actually want.
Roy: As far as the continuous feedback part of it, where it sounds to me like your company culture is that, if somebody see a team mate underperforming, then they’ll bring it up with that person, or if they see someone succeeding really well, they would compliment them, and let them know that they appreciate however they are performing well.
How does that work in practice? Because at Integrum, we’ve tried something similar, where we initially started with anonymous feedback, which we felt we got pretty much no value out of it. Perhaps we even got negative value out of it, because we felt like we wasted our time.
We tried doing completely transparent feedback, where all of us sat around a table and went one by one, and gave each other feedback. I think Drew will agree that we got a lot more value out of that. We have talked, in the past, about having a culture of continuous feedback, but in practice, it doesn’t seem to work out that way. We’re not always as quick to criticize or compliment as we should be when we see things happen.
Chris: I’m not surprised to hear that didn’t get much value out of the anonymous feedback. In part, I think for feedback to be meaningful, it has to be a conversation. By its nature, it ends up needing to be personal. We would like to say, “Oh, no, no, it’s got to be very objective,” and in some theoretical perfect world, maybe that is even possible, but we all live here in the real world, where we’re actually working with people.
In order to get a common understanding about, for example, what behavior somebody may have engaged in, that wasn’t as useful and as helpful as we would like it to be. We need to engage with them, have a conversation, and say things like, “Hey, wow, just now, when you said such and such, it lead to this reaction, which wasn’t helpful. Boy, it would be better if, next time, we could find a different way to navigate that.”
It invites a conversation, and we start to understand more of the subtlety of what’s going on. The last, with people, with human beings, I think all the value is in all of that subtlety, so you have to go there. In terms of building the culture of continuous feedback, I think it’s one of those things that take practice.
It takes a framework and structure to get in going. For example, we run the whole company using Scrum. We run a two‑week sprint cycle, and we plan what are the major objectives we want to achieve with this sprint. All the classic Scrum meetings, daily Scrum, a strict review at the end to see how did we do, and, very importantly, a retrospective at the end.
So, at the core sprint, that becomes a place where, very exclusively, we’re looking for what can we do better as a team, which often involves how can we communicate better or how can we do a particular thing better, which might mean “Chris did something this sprint that didn’t work out as well as we liked, and we want to look at how could he do it better next sprint.”
Then, building off of that, working on it and trying to be conscious about giving people feedback regularly, both positive and negative, because, if it’s just one or the other, it’s way less powerful, and people end up valuing it less and being less open to it. We’re actively trying, succeeding better on some days than others, but actively trying to create a culture where we regularly give kudos and we regularly give, “Hey, here’s an idea, Bob, how we might do it even better next time.”
Drew: That’s great. You mentioned how you guys run your agile coaches or Scrum coaches and trainers, and you preach Scrum to other places, but you also use it internally as well. That’s one thing I have a question for you, is in your open, transparent team, where everybody is probably a lot more equal in your company than in other companies, how do you handle not having a specific product owner? Or do you consider yourself the product owner?
I think of a traditional software development project. The product owner always has the final say. The team can help out, negotiate, and talk, but part of it is the product owner has the final say. How do you handle that while trying to run Scrum internally?
Chris: Yeah. You nailed it right on the head. I am the product owner for Agile Learning Labs. We have a backlog. Anyone in the company can suggest items for the backlog. We talk about them, we refine them, we have identified acceptance criteria. Then, in sprint planning, I walk in with the backlog that I’ve set out ahead of time, saying, “Here’s the top of the backlog. These are the things that are likely to be offered in this sprint planning.”
I offer them to the team in order to decide the order that I’m interested in, and they get to vote to accept or reject, like, do we feel like we can commit to this or not. Sometimes, there’s some negotiation around that. Sometimes, they feel like, “Well, our capacity is going to be a little lower in that area, so we can commit to a slightly less ambitious goal than that, but not the one you want.”
We go back and forth all the usual sprint planning, Scrum team stuff.
Roy: I think that’s something that we’ve been experimenting with. We have taken a rather different approach to running a Scrum within our organization, and we don’t really have a specific product owner. I think that sometimes hurts us more than it helps us.
Chris: Yeah. We initially didn’t have a product owner. We tried to collectively groom in order to backlog, and we had a similar experience. It really didn’t work well. Everybody has an opinion, but then you come down to how do we arbitrate between all these different opinions.
Finally, we realized, “Well, somebody’s got to be the product owner.” Everybody looked at me and said, “Well, you started the company. You’ve set our big‑picture direction. I guess you’re the product owner.” One of the things that have come out of that is me going, “Great! Except that means I really can’t be the Scrum Master. Darn it! Darn it!” [laughs]
I like that job better, but it’s one of the things that have fallen out of that.
Roy: You’ve actually used the Scrum process to write a book, recently, haven’t you?
Chris: We did. Actually, two books. About a year ago, we released a book called “The Elements of Scrum,” and I have been just honestly amazed at how well it’s done. It is regularly the number one best seller on Amazon in the software project management category.
That just blows me away, because, when I saw our book up above books by people like Mike Cohn, Jeff Sutherland, Ken Schwaber, and people like that, I was like, “Wow! How did that happen?”
Then, about a week ago, we released a book that…it’s actually a bit of an excerpt from “The Elements of Scrum” that has been revised, updated, and polished, but it’s called “Scrum: A Breathtakingly Brief and Agile Introduction.” We intentionally targeted this one to people who really just need a brief overview, like, “What is this Scrum stuff, anyway?”
Paperback is priced $9.99, which is about as cheap as you can get it, but the Kindle, since there’s actually no production cost, we priced it 99 cents, and the darn thing is already flying off the virtual shelves, which we’re really excited about.
But yeah, the big book, “The Elements of Scrum,” we used Scrum to write it, and, in particular, the final big push was a writing retreat in Chicago in December, which, by the way, if you ever want to be able to focus on writing, go to Chicago in December.
Roy: Nothing to do?
Chris: Yeah, you don’t want to outside. [laughs] It’s below zero out there and it’s windy. So we just hold up, and we used all the classic Scrum tools. We had a story map that we used to lay out the book in the way we thought it should be. We estimated all the pieces that we had to write. We were actually running one‑day sprints. We had a burndown chart for every day and a bigger release burndown chart for the whole book.
It worked like a charm.
Roy: That sounds awesome.
Chris: Yeah, it was fantastic.
Drew: I have a question. When you were writing this book, a part of Scrum is to deliver early enough. How did you do that with your book? Did you focus on the potentially deliverable product or did you have any deliverable while you were not quite done with the whole book?
Chris: It’s interesting. During that final phase, we were basically working with the potentially shippable concept, like building up and flushing and all of that, but the overall process of writing, it was much longer. It took a couple of years.
What we were doing was, on a regular basis, we were actually going off to the copy shop, printing the whole book, spiral bound, and we were using it in our workshops. For two years, this was the ever‑improving, ever‑growing book that we used to take away from our scrum workshops.
Each workshop, that was kind of a release, so we were motivated to get one more chapter in, or get one more concept in, or clean up a section that we weren’t real happy with. We did have lots of incremental releases.
Right lying around the office, I could probably pick up maybe 10 different versions of the book before it got to the point where we actually published it properly.
Drew: Awesome.
Roy: Great.
Drew: It’s been great having you on. Is there anything that you’d like to promote or anything that you’re working on that you’d like to tell us about?
Chris: You already gave me this great opportunity to talk about the book, “The Elements of Scrum” and “Scrum: a Breathtakingly Brief and Agile Introduction.”
Agile Learning Labs, we do training and coaching and love to hear from people who are adopting scrum or evolving their scrum practices. You can find us on the Web, agilelearninglabs.com.
Boy, this was a lot of fun. I really appreciate the opportunity to talk with you guys again.
Roy: Awesome. It was great.
Drew: Yeah…
Roy: We’ll definitely have to have you on again.
Roy van de Water, Clayton Lengel-Zigich, Derek Neighbors, and Gerry Kirk discuss:
Kanban in your personal life
Kanban in work life as a one-man team
Personal kanban can help save your marriage
Personal insights from Kanban
Personal Scrum?
Personal Kanban boards
Burnout
The post Episode #58 – Personal Kanban with Gerry Kirk appeared first on Integrum.
Roy vandeWater: Hello and welcome to another episode of the “ScrumCast”. I’m Roy vandeWater.
Derek Neighbors: I’m Derek Neighbors.
Kane Mar: And I’m Kane Mar.
Roy: Today we will be talking about Performance Reviews.
Kane, in the past I’ve talked to quite a few managers, who want to figure out who the star performers on their team are. What advice would you give somebody asking that type of question?
Kane: That’s a difficult question to start up with. To be honest, working in an agile environment, it’s very difficult. In large profit projects, it’s a different system. My advice, quite honestly, would be to measure team rather than the individual. So, look for star teams rather than star individuals.
Derek: What if somebody comes back and says, “Well, wasn’t that a little bit of a communist view? How am I going to motivate the troops, if there’s no incentive for them to perform better than someone else?”
Kane: It is up to every [inaudible 01:14] for the individual as well. In our spa, the incentive is intrinsic rather than extrinsic. In other words, it’s self motivating incentive, the ability to create a great product, to have that great product out there on the market place, seeing use of that great product. In large part that’s the big benefit or one of the huge benefits of doing Agile software development rather than a large paycheck at the end of the day.
Derek: I’ve seen a couple of teams where they start to question, is it really even worth doing individual performance reviews? If it really is more intrinsic motivation and it really is, you’re trying to measure the performance of the entire team or the entire organization, do you think there might be a time when we’re not even doing individual performance reviews?
Kane: I would love to see that. Quite honestly, I think that would be beautiful thing. Unfortunately, I have also realized that this is in large part the real world and many organizations will struggle with that. Many organizations already do struggle with that.
Do I think that we will realistically get there? Honestly, I think that would be very doubtful. However, having said that the closer we get, I would push for it myself, but I wouldn’t necessarily expect that to be the case.
Derek: So taking it from a different perspective, instead of having the performance reviews in place as an incentive, what if I have a new position that has opened up, like I have a position for a Scrum Master or I have a position for a product owner or maybe even a C‑level position, how do I decide who to promote and bring up to that position when everybody on the team should be treated as the whole team?
Kane: I’m a big fan of actually giving it a shot, trying it and seeing. You may get some good results, you may get some disastrous results, but you’re never going to know unless you actually try that.
Derek: You mean to have the entire team have that position or just pick somebody and see what happens?
Kane: Speak to the team. Ask the team who they would like to be their CIO, CEO…
Derek: Oh, I got you.
Kane: …if that’s what you need, and so have the team make that decision, and have a discussion about that, but unless you actually try that, you’re never actually going to exactly know who the best person actually is going to be.
I’ve come across instances in the past where someone who I thought might be an ideal CEO turned out to be someone who was not an ideal CEO, and vice versa, and I think that is a major consequence of just being a human being, sometimes what we perceive is not really the reality.
Try asking the team, they’ll have a much better idea of who a good…or what they’re looking as part of the CEO, and so ask the team and have them have their feedback, and then go with that and see how that works.
Derek: I absolutely think you’re kind of speaking our love language where we’re very much about “be human.”
But why do you think it’s so hard for management in organizations to actually do the human thing, why do you think they revert back to behaviors where they don’t ask the team who they think should be in charge or who should be in a particular position, what do you think inhibits them from doing the thing that would seem to be so natural to do?
Kane: Gosh. [laughs] I’m not really sure how to fully answer that one, as you will, to give you an honest answer, I think a lot of it comes down to greed, I think a lot of is tied to “hey, at the end of the day,” and to a certain extent we’re all somewhat selfish.
I know this myself. I’ve acted in a selfish way in the past, and I think that provided that we have systems in place that gear towards people’s greed and selfishness then I think it would be very difficult to walk away from that.
Derek: It might also potentially be a situation of arrogance. Where if I am the CEO or whatever position, like I should know best, right? I don’t want to defer to my team because I should know better than them because I am in a higher position, so I am going to make the decision to
[crosstalk]
Derek: Not justifying it, but that may have some part of it.
Kane: Yeah maybe, ego, absolutely. Ego is probably a very big factor in that sort of decision making as well, absolutely.
Derek: In an environment in which you rate the team instead of individuals, how do you choose individual pay? How are people’s salaries going to work?
Kane: Everyone should have a based on individual pay to be honest, because everyone is different. We all have different skills, and different skills are valued differently in the marketplace. I have no qualm about individual pay, and individual pay being different for every individual on the team.
That is a real reflection of the real world. In that regard, I don’t have an issue with that at all. Any incentives on top of that however need to be done on a team basis. In other words, if the team is successful in meeting their accomplishments, whatever those accomplishments shall be, they should be rewarded as a team, rather than on an individual basis.
There should be some element of individual compensation, but there should also be some element of team based compensation.
Derek: How do you decide which individuals make what? Like if you’re going to have individual compensation, how would I choose to pay one developer or one employee more than another?
Kane: My favorite way of doing this is to make it totally open. In other words, to have compensation transparent.
I admit, that’s a totally radical, for most organizations, that is a totally radical suggestion. However, having said that, if you make it totally transparent, then the notice is on the individual to justify his or her salary. Say if you have a developer that is making twice as much as a tester, unless they can justify that, then maybe they shouldn’t be making twice as much.
Derek: I’ve seen that. A couple of instances too, where, as we move into 21st century work, we have to challenge what we consider compensation. I have seen a lot of employees choose potentially more time off, or more flexible schedules, or various other forms of incentive or compensation that they prefer over pay.
They actually would take a lower pay to have a more flexible schedule or be able to work on product or projects that are more meaningful to their direction in life, and we are just scratching the surface when we’re talking about preference problems and the sense of incentive, performance, and compensation are all going to be in a pretty serious flux in the next decade or two, as the market heats up for talented, creative, knowledgeable workers, and the supply is not there for the demand.
I am curious as to see where it’s going to go I guess…are you seeing some weird things out there in the organizations you are working with?
Kane: Absolutely. It’s not only things you have mentioned, and those absolutely will be impacted, but there are also things like people’s titles, career paths, I think all of those things will be impacted. Certainly, with the small to medium companies that I tend to enjoy working with, that does tend to be the direction that they go. In other words, they tend to go towards much flatter structure, with a much more open mechanism for compensation and pay.
Derek: If, for a small company, I could see making this type of transition to such a radical new approach to individual compensation and performance reviews on a whole team basis instead of on a usual team basis .
But how would you work on something like that if you are on a smaller agile team within a larger organization and that organization has a strong culture of individual performance, or has a demand of having a certain number of employees promoted out of the small team every so often, or something like that. What would you suggest to those types of teams?
Kane: In any situation like that when you’re trying to introduce and agile approach within a large organization, you have to be prepared for the fact that there is going to be some culture change that is necessary to accommodate the agile team. I wouldn’t expect the cultural change to be something that happens overnight. In fact it takes anywhere from two plus years for that to happen effectively within a large organization.
However, having said that, you do need to start having that conversation, because unless you start having those conversations with the HR organization, things will never change. Unless you actually sit down with the HR organization and say “look, these are some of the impacts.
We would like a team‑based bonus rather than an individual bonus. We would like to have a flattened hierarchical structure, in other words, fewer titles, rather than a very structured team”. Unless you’re willing to have those conversations then nothing within the organization will change.
My feeling is that for a team to be truly successful with an agile approach within a large organization, then the large organization has to acknowledge some of those differences and actually start addressing them.
Derek: Another part of performance reviews is giving people a feedback mechanism on how they can improve as an individual. When it comes to incentive, I don’t think it makes sense to have individual incentive on team based work. There’s probably definitely still room for improvement on an individual level within a team.
How are you seeing teams give each other valuable feedback to improve as individuals when there’s not that mechanism of a regular performance review to hand that feedback back to them?
Kane: Let’s be clear, traditional performance reviews are almost entirely political, and the feedback that they give is often given back for political reasons. I say this from personal experience.
I spent maybe 22 years of my life within large organizations doing exactly those types of performance review. I would say that the feedback given during those performance reviews tends to be very, very negative rather than very positive. I would be cautious about that myself.
A better approach is to have people to provide feedback on an ongoing basis. Quite honestly, within an agile team, the best feedback I can get from an agile team is if the team said to me “look, Kane, we want to work with you on an ongoing basis”. That’s fantastic.
However the opposite is also true. If the team comes to me and says “Look, Kane, we don’t think you’re working out. We would like for you to leave the team”, for me that’s a clear indication that I need to change my behavior and improve my performance.
Real feedback coming from people that I work with on a day‑to‑day basis is far more valuable and more hones too than feedback you might have from a performance review maybe once a year.
Derek: Is there anything that you would like to promote or anything that you’re currently working on that you would like to promote?
Kane: I do have a newsletter where I talk about these issues, and well as other agile issues. It’s called The Scrum Addendum. You can find it at my website: Scrumology.com. If your listeners would like to hear more about these types of issues feel free to sign up.
Derek: Thanks for joining us!
Kane: Thanks very much. Bye now.
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich…
Roy vandeWater: I’m Roy vandeWater.
Scott Dunn: I’m Scott Dunn.
Clayton: Scott thanks for joining us today. I know that you are interested in the strength finder or the strengths…I don’t know what the generic term for it is, but maybe can you give, I guess, a little bit of a background of what that is and why you find that interesting?
Scott: Sure. Back when I was a manager for a web development shared systems team, looking for ways to have my team members be engaged and focused. I was at an event called the leadership summit. There, I heard someone named Marcus Buckingham talk about the level of engagement of employees and how low it was. I was definitely listening.
He gave a stat that less than two out of ten of us are engaged, meaning that we care what is happening at work and are doing our best. The company that he worked for at the time was Gallup. They did a survey of a million employees and a hundred thousand men trying to find what makes great management.
They boiled it down to twelve questions called the “Q12”. The biggest lever if you were a manager to get the best out of your employees was do they have a good chance each day to do what they do best?
IE Do they have the chance to play to their strengths? From there they came up with an assessment that you can walk‑through and get your top five strength which is called the strength spine which has been on the best seller list for four or five years now.
Marcus has recently come out with an assessment of the zone, he has recently left Gallop. This is called “The Stand Out” which talks more about your strengths, roles and puts you in several categories of manager, leader and sales.
There is a couple of ways you can approach it. From there you are talking to your team and working with them in a way that helps to discover what their strengths are and to find a way to leverage that as a coach, scrum master or manager.
Clayton: Let’s say I am a manager and I have this scrum team or agile team, how do I implement this? Do I make everybody take a questionnaire and then put people in boxes? How do these two roles meet?
Scott: That is a great practical question! What I have done before is something that I have detailed on my blog. We can circle back to that later but I do try and make it so people can go to and follow the cheat sheet.
But basically what I do is I give everyone a couple weeks’ head up and notice in saying, “I’m going to be putting books on your desk. Don’t worry about reading it right now. Just take the assessment in the back. You’ll find the code. You’ll go to a website and register and use that code to start your assessment.”
That gives them details about how the test works and try to lower the level of anxiety. It’s not a pass/fail test. You can’t not have any strengths. You’re not going to have a strength like loser or something like that show up, and you’ll be…
Clayton: Roy hasn’t taken the test yet.
Roy: That’s right. I’m really strong in the ability of being fired.
[laughter]
Roy: Sorry. Go ahead.
Scott: Is beer drinking a strength? Well…
Roy: I think I’ve got that one covered, too.
[laughter]
Scott: Yeah, you’ll get lots of funny responses, but the amazing thing is the results I’ve had. I’ve done this with at least 200 people so far. On every team that I’ve been on when I was independent we’d always do this because one, it’s a big team‑building thing. It’s very affirming. These people come out like, “Wow.” They’ll routinely say, “That really nailed me.”
I promise you, over 99 percent of the time they’re saying, “That was so accurate. They’ve been reading my mail. I can’t believe this.” It’s a very affirming process. Not just for them, but that next step after they’ve taken it I schedule a meeting for all the team to come in.
We just walk through their strengths. I just list them up on a grid. I’m writing them up in front of everybody, and I’ll open up the book and read off, or I’ll read off their reports. Everyone’s getting to hear about each other’s strengths, what they’re naturally good at where they’ll find the best of each other. These teams aren’t great teams because everyone’s well‑rounded. They’re great teams precisely because each person’s not, and you find out. You get that insight.
I had one manager come up and say when she followed that. That was the most her team had talked to each other in four years. You get these amazing sharing and insights into each other as a team, and that’s part of the team‑building process as well. From there you start talking about coaching, and we can get into that a little bit later.
But even if you just did that, you’re talking 12 to 14 bucks for this book, a one‑hour meeting. They spend a half an hour of their own time taking the test, and it’s a huge ROI as far as just the connection that they’re going to make and your insights as their manager or Scrum master as well. It’s very powerful.
Clayton: What do the results look like? I’m trying to think of, I think it’s the Myers‑Briggs Personality Test or something like that. I can’t remember. I think they have these little codes. Is it the same type of idea?
Scott: No, and I like the Myers‑Briggs. I took it, and my response is what I think most people think the strengths assessments are going to be, which is, “Oh, that’s interesting. That says that I’m an extrovert.” Well, but what do I do with that? How do I use that at work? Be more extroverty? You don’t know what to do.
The strengths by it, it’s going to give you top five strengths, which are really more like action verbs, or the stand‑out will give you your top two roles and list out all nine. But, there are some that are actionable, like a maximizer. It’ll give you action items to take with that. If the stand‑out will say, “Here’s what you’re best at. Here’s what you can do with that. Here’s a great next step.”
If you’re a maximizer, look for areas where something’s happening with your team, or the company, or a process. It’s OK, but it can be made great. You’ll naturally be pulled towards making things great. Average bugs you.
It opens your eyes to say “Wow, that’s true. We had a deployment processes, and it’s OK, but I know that we could shrink the time down. Or, a build process, we could shrink that.” These people, if they’re on your team, and they’re a maximizer, they’re going to love doing that. They’ll thrive doing that. They’ll learn the most, and grow the most and perform the most. The team can lean on it, and these people will never get tired of doing that stuff. That’s one of the insights. Each one of those will be like that.
I had a team member once, and we were at a lull at work as a Web team. I said, “Just take it easy. Surf the Web. No big deal. Enjoy your paid time off here.” It turned out she got frustrated and left for another job, and the reason was one of her strengths was activator.
The worst thing I could have done for an activator, or I should say an achiever‑‑ that’s someone who loves to check off everything they’ve done that day. They love coming in that day, and there are 10 things to do. They get to check, check, check. “Look, I’ve been productive. Look…”
Scott: …that was driving her nuts. She would rather have me just cook up some work or given her a checklist of things to do and say, “Hey, could you just take a look at some of these areas in the code base, and review it for areas for opportunity”? Anything. I could have made it up. For me, that would have killed me. For her, it bugged her so much that she left for another opportunity where they would have kept her busier. Those are a couple of examples of doing that.
Clayton: I understand that it’s a really good tool for figuring out what kind of jobs the members of the team can do that are personally motivating.
Do you find it’s, also, a good tool to use to help team members discover their weaknesses? So that they can try to round out areas they might not necessarily be proficient, or necessarily enjoy as much? Try to find enjoyment in areas where they don’t excel, so that the team can go more for that “Everybody in our team is a well‑rounded individual”?
Scott: Right. That’s a great question. That’s a common one, because most of our performance reviews are really spent like, “I see that you’ve done this, and this, and this and this. Thank you for your contribution. Now, let’s spend the rest of our hour talking about these areas where you [laughs] suck.
Where you’re not so strong, where you failed, or come up short, or you just don’t perform well.” Those areas where you’re looking at the clock and say, “Is the clock broken? I hate doing this, anything but this. Let me check my email one more time.’” That type of work.
For me, it was organization. “Here’s our recommendation. Use the DayRunner, or why don’t you try the PalmPilot?” I’ve tried those things. The truth is, areas where we’re weak, those things that we do that just drain us that we loathe, all the effort we might put in to try to get better at that will be a lot of pain and not much result.
If you look back over those areas, and you might know what some of those are. I certainly know some of mine. I look, and I have put a lot of time and effort over the years, and I ain’t much better. I’m about the same, marginal improvement, despite putting a lot of time and effort, and money even, at times.
What would be much better for me, especially as a team member, is to invest all that time and energy into my areas of strength, where there will be leaps in growth, much productivity and engagement. I’m better to be around. Look for someone else in those areas where the team might need someone who is detail oriented, who loves to check things off, who loves to tackle the tough nuts. Then, find out where we can shift the work.
On these agile teams as a whole, we should be volunteering. We’re self‑organizing. We’re self‑managing. This is the perfect playground to say, “I love doing this.” The whole team wins when you do that. “I’m not so good at doing this, and someone else probably would like that and they would thrive.”
Now, you’re not playing in areas where you just won’t ever grow that much, or do that well, and getting not such positive performance reviews, and someone else could. They’re not getting the opportunity to do more of what they would love to do.
We actually say, “Play to your strengths. First of all, discover them. Find out what they are, and begin carving out time each week to invest in learning about that‑‑activities that you could do to practice.” That’s how we grow, right? We learn and we practice doing it. Manage around your weaknesses. On the ROI side, it’s just not worth putting time into your weaknesses. Just work around them.
Clayton: It sounds to me, if everybody is playing to their strengths and doing the things that they’re best at, you will naturally have a tendency to form information silos and skill silos. You’ll start to form a team that doesn’t pass the hit by a bus test. Is that something that you’ve seen happened? How do you prevent that from being an issue?
Scott: I would separate the difference of technology skill. I’m definitely one who really believes in generalists. I don’t want specialists, and I really love breaking down silos.
But there’s a difference between, say, technical knowledge, your abilities and aptitude, and what you actually are doing versus areas where you’re playing your strengths, so several people that might be developers might love development for those different reasons.
A lot of us in IT have the strengths around learning and input. We love the process of learning, and we love input. If we hated learning, we probably wouldn’t be IT. We would probably be complaining every time they have a new version of the software out.
But outside that, you’ll find people who love to do it because they love the analysis part of it, trying to figure how this works, people that love it because they’re fixing problems. They don’t mind doing process work. They love tackling problems and restoring things back to what they should be working.
We have people who love it because they love teaching others as they’re building. “Hey, this is what I have learned. Let me share this with you,” whether it’s business side or IT, so those same strengths, whether they’re all Java developers or not, those strengths will come and play in different ways.
They can still be generous and share the technology vine. They all work in the codebase, and I would want that. I want collective ownership of the codebase for sure. But why they do it and how they do it is different, and they can play their strengths differently. I’d look for that, and I still look for ways.
You might have to shepherd them all around a little bit and say, “Here’s an opportunity over here. I’ve noticed that only one person is the expert in this.” I’d do that by nature anyways. But I don’t think that strengths will get in the way and shift them up and just all playing together in the sandbox so to speak with the actual technology itself.
Clayton: The last question on the strengths topic is there an example you can give us or maybe a situation where you introduced this concept, and you had people to take the test, and it just really went south? Maybe some people are really against it and just really want to participate. Anything like that? Or people usually just willing to give it a shot?
Scott: Everything is always going perfect and sweet for me.
Roy: I thought that was the case, but I just wanted to make sure. That’s good to know.
Scott: [laughs] No, I did have someone who was a bit of a rebel stallion which actually I like about them. I loved it when people don’t just accept what I’m saying. Skepticism’s good. A healthy skepticism is something I like to see.
But this person took it to the extremes and just really basically refused to be…He felt he’s going to get labeled. I like to say, “The issue isn’t the issue.” I don’t think that was an issue. I think it was an issue on vulnerability. He was afraid of what the results might say. He knew it would be public. All the other people have their strengths pinned up on their cubes and were talking about it and all that. I think that was the issue.
But in the end, I let it slide and just gave him time and said, “I’m not going to make you participate. I wouldn’t want to do that.” Later on, on the side just after all the excitement had die down a bit later, he did take it, and he said, “It really did nail me. It was accurate, and it was insightful.” Then we had a nice quiet conversation about that, and that was good to know.
Outside that, people will approach it skeptically, but they’ll usually participate. They’ll understand that there’s a win it for them, and I’ll try to take time for that. More importantly, no one’s ever come up afterwards and said, “That wasn’t a good experience for me.” They might say, “I wasn’t sure about this particular strength or that one.”
But overall, they say it’s really good. The conversation will draw insights. But there hasn’t been resistance except for maybe management saying, “What’s happening? Are you doing my job as far as developing my people?” which you need to make sure you’re on the same page with them and talk with them beforehand.
Or HR saying, “It should be on our category not yours.” In fact, a very big supporter of this is HR. It’s worth checking with them, and they can share organizationally that they’re on board and that they know where this is going.
For me, it’s all about team building and the agile team being self‑managing and self‑organizing. I take it from that route and just make sure everyone’s aware and not over‑communicating, but no significant problems after the fact.
Roy: We’re about out of time. But is there anything that you’ve been excited about lately ‑‑ maybe a book, blog, training course, or anything like that ‑‑ that you want to share with anyone?
Scott: Yeah, I’m such a person of immediacy, I guess. There’s a movie called “Blue Like Jazz” which is actually based on a book. But that term, “Blue Like Jazz,” is talking about jazz doesn’t resolve, and I’m realizing there’s issues in our agile community, I think, that don’t always resolve around what we believe and hold true and what we actually live out.
I’ve been noodling about that. It maybe challenges us maybe to get back to the community a bit more and see what we can do to make a difference beyond just what teams and individuals themselves within the companies and contributing to the greater good. By the end of the day, I would love to have everybody know scrum and agile process. I’m looking in the ways to do that. I’m looking for ways to push out on the other communities outside that.
I just finished lean start‑up and was really impressed me with that on top of the way we can partake accountability for evaluation of what we say we’re contributing to the business. If they can’t measure that, and they don’t have metrics upfront of how they’re going to validate that really added value, what are we doing? That closes the loop, the learning loop for scrum, and if they are willing to, I really recommend everyone to take a look at that as well.
Roy: Great. Thanks for joining us today. We appreciate it.
Scott: My pleasure. Thanks for having me, and thanks for all the great questions.
Derek Neighbors, Roy van de Water, Clayton Lengel-Zigich, David Bland discuss Lean Startup principles in Agile:
Lots of companies dealing with unknowns
Product teams
Release early, release often
Validate, Experiment, Iterate
Culture preventing engagement?
Executives communicate with teams
How to get the “C” level to change
Eric Ries “Lean Startup” / Steve Blank
Is it a panacea?
Radical culture problems abound
Confusion about what lean startup means
Risk adverse culture problems when you have golden egg to protect?
Alignment across enterprise
Cross functional teams
How do you maintain it?
Give freedom, be creative
Innovation team (I’m a special snowflake)
Executive support mandatory
The post Episode #55 – Lean Startup Principles and Agile appeared first on Integrum.
Missing Content
Clayton Lengel-Zigich, Roy van de Water and Mike Vizdos discuss:
Do we estimate defects?
How do I get “credit” for doing defects?
What counts as a defect?
New defect comes in what do we do with it?
How should defects effect velocity?
Why so defensive?
How to deal with predictability?
Definition of done factors in.
Transparency is what is important.
Use the retrospective Luke.
Please don’t punish me.
Person that writes the check decides.
Zero defect mentality.
Hardening sprint. Say What?
Developer Hat v Scrum Master Hat
Transcript
Clayton Lengel‑Zigich: Welcome to another episode of the Agile Weekly Podcast. I’m Clayton Lengel‑Zigich…
Roy van de Water: I’m Roy van de Water.
Scott Dunn: I’m Scott Dunn.
Clayton: Scott thanks for joining us today. I know that you are interested in the strength finder or the strengths…I don’t know what the generic term for it is, but maybe can you give, I guess, a little bit of a background of what that is and why you find that interesting?
Scott: Sure. Back when I was a manager for a web development shared systems team, looking for ways to have my team members be engaged and focused. I was at an event called the leadership summit. There, I heard someone named Marcus Buckingham talk about the level of engagement of employees and how low it was. I was definitely listening.
He gave a stat that less than two out of ten of us are engaged, meaning that we care what is happening at work and are doing our best. The company that he worked for at the time was Gallop. They did a survey of a million employees and a hundred thousand men trying to find what makes great management.
They boiled it down to twelve questions called the “Q12”. The biggest lever if you were a manager to get the best out of your employees was do they have a good chance each day to do what they do best?
IE Do they have the chance to play to their strengths? From there they came up with an assessment that you can walk‑through and get your top five strength which is called the strength spine which has been on the best seller list for four or five years now.
Marcus has recently come out with an assessment of the zone, he has recently left Gallop. This is called “The Stand Out” which talks more about your strengths, roles and puts you in several categories of manager, leader and sales.
There is a couple of ways you can approach it. From there you are talking to your team and working with them in a way that helps to discover what their strengths are and to find a way to leverage that as a coach, scrum master or manager.
Clayton: Let’s say I am a manager and I have this scrum team or agile team, how do I implement this? Do I make everybody take a questionnaire and then put people in boxes? How do these two roles meet?
Scott: That is a great practical question! What I have done before is something that I have detailed on my blog. We can circle back to that later but I do try and make it so people can go to and follow the cheat sheet.
But basically what I do is I give everyone a couple weeks’ head up and notice in saying, “I’m going to be putting books on your desk. Don’t worry about reading it right now. Just take the assessment in the back. You’ll find the code. You’ll go to a website and register and use that code to start your assessment.”
That gives them details about how the test works and try to lower the level of anxiety. It’s not a pass/fail test. You can’t not have any strengths. You’re not going to have a strength like loser or something like that show up, and you’ll be…
Clayton: Roy hasn’t taken the test yet.
Roy: That’s right. I’m really strong in the ability of being fired.
[laughter]
Roy: Sorry. Go ahead.
Scott: Is beer drinking a strength? Well…
Roy: I think I’ve got that one covered, too.
[laughter]
Scott: Yeah, you’ll get lots of funny responses, but the amazing thing is the results I’ve had. I’ve done this with at least 200 people so far. On every team that I’ve been on when I was independent we’d always do this because one, it’s a big team‑building thing. It’s very affirming. These people come out like, “Wow.” They’ll routinely say, “That really nailed me.”
I promise you, over 99 percent of the time they’re saying, “That was so accurate. They’ve been reading my mail. I can’t believe this.” It’s a very affirming process. Not just for them, but that next step after they’ve taken it I schedule a meeting for all the team to come in.
We just walk through their strengths. I just list them up on a grid. I’m writing them up in front of everybody, and I’ll open up the book and read off, or I’ll read off their reports. Everyone’s getting to hear about each other’s strengths, what they’re naturally good at where they’ll find the best of each other. These teams aren’t great teams because everyone’s well‑rounded. They’re great teams precisely because each person’s not, and you find out. You get that insight.
I had one manager come up and say when she followed that. That was the most her team had talked to each other in four years. You get these amazing sharing and insights into each other as a team, and that’s part of the team‑building process as well. From there you start talking about coaching, and we can get into that a little bit later.
But even if you just did that, you’re talking 12 to 14 bucks for this book, a one‑hour meeting. They spend a half an hour of their own time taking the test, and it’s a huge ROI as far as just the connection that they’re going to make and your insights as their manager or Scrum master as well. It’s very powerful.
Clayton: What do the results look like? I’m trying to think of, I think it’s the Myers‑Briggs Personality Test or something like that. I can’t remember. I think they have these little codes. Is it the same type of idea?
Scott: No, and I like the Myers‑Briggs. I took it, and my response is what I think most people think the strengths assessments are going to be, which is, “Oh, that’s interesting. That says that I’m an extrovert.” Well, but what do I do with that? How do I use that at work? Be more extroverty? You don’t know what to do.
The strengths by it, it’s going to give you top five strengths, which are really more like action verbs, or the stand‑out will give you your top two roles and list out all nine. But, there are some that are actionable, like a maximizer. It’ll give you action items to take with that. If the stand‑out will say, “Here’s what you’re best at. Here’s what you can do with that. Here’s a great next step.”
If you’re a maximizer, look for areas where something’s happening with your team, or the company, or a process. It’s OK, but it can be made great. You’ll naturally be pulled towards making things great. Average bugs you.
It opens your eyes to say “Wow, that’s true. We had a deployment processes, and it’s OK, but I know that we could shrink the time down. Or, a build process, we could shrink that.” These people, if they’re on your team, and they’re a maximizer, they’re going to love doing that. They’ll thrive doing that. They’ll learn the most, and grow the most and perform the most. The team can lean on it, and these people will never get tired of doing that stuff. That’s one of the insights. Each one of those will be like that.
I had a team member once, and we were at a lull at work as a Web team. I said, “Just take it easy. Surf the Web. No big deal. Enjoy your paid time off here.” It turned out she got frustrated and left for another job, and the reason was one of her strengths was activator.
The worst thing I could have done for an activator, or I should say an achiever‑‑ that’s someone who loves to check off everything they’ve done that day. They love coming in that day, and there are 10 things to do. They get to check, check, check. “Look, I’ve been productive. Look…”
Scott: …that was driving her nuts. She would rather have me just cook up some work or given her a checklist of things to do and say, “Hey, could you just take a look at some of these areas in the code base, and review it for areas for opportunity”? Anything. I could have made it up. For me, that would have killed me. For her, it bugged her so much that she left for another opportunity where they would have kept her busier. Those are a couple of examples of doing that.
Clayton: I understand that it’s a really good tool for figuring out what kind of jobs the members of the team can do that are personally motivating.
Do you find it’s, also, a good tool to use to help team members discover their weaknesses? So that they can try to round out areas they might not necessarily be proficient, or necessarily enjoy as much? Try to find enjoyment in areas where they don’t excel, so that the team can go more for that “Everybody in our team is a well‑rounded individual”?
Scott: Right. That’s a great question. That’s a common one, because most of our performance reviews are really spent like, “I see that you’ve done this, and this, and this and this. Thank you for your contribution. Now, let’s spend the rest of our hour talking about these areas where you [laughs] suck.
Where you’re not so strong, where you failed, or come up short, or you just don’t perform well.” Those areas where you’re looking at the clock and say
Roy: Welcome to another episode of the Scrumcast. My name is Roy van de Water and joining today is Jurgen Appelo. Could you please introduce yourself a little bit Jurgen?
Jurgen Appelo: Yeah. Sure. My name is Jurgen Appelo and I am the writer of a book called “Management 3.0.” I am also the author of a blog called noop.nl and I am interested in the role of the manager in agile organizations, organizations working with scrum or any of the other agile methods.
Roy: Cool. I’ve been scanning through “Management 3.0” and I talked to Jade quite a bit who has read the whole thing. What was your motivation to write that book?
Jurgen: My original motivation was to write a book about complexity science and Agile…
Jurgen: …developments because I like the science that explains why Agile works. I read lots of books about systems theory and thought. With people at conferences, I’ve noticed that their main problems were with management and leadership because Agile and Scrum don’t really define what the role is of managers.
People just see managers as impediments to be put on the impediment backlog or something. Managers have to support the teams in order to make Agile really work. When I got that feedback, I thought, “OK, let’s focus my book on that topic because I happen to be a manager for 15 years.” I knew something about the role of the manager in Agile organizations.
That’s what I, then, decided to focus on.
Roy: What do you feel has been the reaction from the managers that have read your book?
Jurgen: So far, so good. Interestingly enough, most of the people who read my book are not necessarily managers themselves, but interested in the role of the managers or how to help them.
Also, in my courses for example, based on the book, I think about 20 percent of them are middle managers. The other 80 percent are formed by Scrum Masters, product owners, team leaders, sometimes entrepreneurs, sometimes a product manager. A very diverse bunch of people, but they all struggle with the management position.
Either they are themselves managers or they want to help managers in order to get them aligned with what Agile expects from them.
Roy: Many people are saying that they value innovation, but they don’t really allow the environmental conditions for it to thrive to exist. What can we, as Agile coaches, do to help that?
Jurgen: That’s a difficult, difficult question. One thing that seems to lack in Agile methods is experimentation. Basically, I learned from system’s science that there are three forms for systems to survive in changing environments. Scrum teams are, also, systems that are trying to survive in a changing environment. Those three approaches are anticipation, adaptation and experimentation.
In Scrum, we do a little bit of anticipation because we try to look at the next sprint and predict what the customer wants. At least, that’s what the product owner does. We do a lot of adaptation because we show the results to the product owner. Then, they respond, the back‑log changes and new priorities and things off that.
But what about experimentation? There is no real guidance on exploring things, just for the sake of trying things out. I explain that sometimes jokingly, “I ordered a chai tea latte from Starbucks a few weeks ago, just to see what it was and I hated it. It was terrible, so I threw it away.” This was neither anticipation nor adaptation. It was exploration, just trying things out for the sake of trying.
We seem to be lacking that in Agile organizations. That is what innovation needs actually. We need a bit of time and space for experiments.
Roy: From reading your book, I feel that you value self‑organization a lot and getting the team to feel like they have the authority to perform this type of experimentation. I’ve heard managers in the past ask the somewhat ironic question, “How do I make my team be self‑organizing?”
What is the right way to ask that question? How do I allow my team to self organize or encourage them to self organize? Have you found a good way to get them to really feel comfortable, to take the authority, to make decisions and experiment?
Jurgen: Yeah, because usually managers trouble a bit with delegating stuff to self‑organizing teams because they see as it as a black or white thing. Either I make a decision as a manager or the teams make the decisions as self‑organizing teams. They see it as just two actions. But, actually there are more options in between. There are shades of gray.
In my book, I list several levels of delegation. The second level, for example, is trying to convince a team, but you still make a decision as a manager.
The third level is a step further where you first ask the teams, “What is it that you would do if you were allowed to make that decision? Just give me your input.” Let them, still I will decide.
Step‑by‑step you could go into the direction of delegation without doing a full‑blown sweep from level one to level seven because that for some managers feels dangerous and it is dangerous with some teams. You need a more gradual approach.
I try to help them with that. I explain it sometimes as trying to find what is the speed limit. Trying to drive your car as fast as possible, but you don’t want to drive too fast because that will end up in chaos. It’s the same with self‑organizing teams. I’ve seen it myself. Inexperienced and immature are allowed to make any kind of decision, things will blow up. There is too much freedom. You have to constrain it a little bit.
Roy: What would you say to a manager that’s resisting allowing their team to self‑organize, perhaps somebody more of the traditional management role where they’ve always been taught that if they’re not in control, then everything is going to go wrong?
Jurgen: That’s a well‑known problem. It’s a good question. I can only tell from my own experience that I have noticed quite the opposite. When I introduced Scrum in the Agile organization, things were going better. Things were not blowing up around us as much as they used to before.
We have self‑organizing teams. I was able delegate to them. The performance went up. This did not diminish my role as a manager. On the contrary, it elevated me in the eyes of many, including my own CEO, because I was the one who came up with it. I was the one who said, “We have to do this.”
The result was that I expanded my span of control from 20 people to 30 people and then, in the end, to 100 people because it made us more scalable and I could manage more teams. I would deny that it makes managers feel powerless.
On the contrary, if you do it well, it could make you more powerful. It’s a bit cliche, but it is win/win. You gain from it as a manager because better performing teams reflect on you as a manager because they are your teams. My CEO didn’t want to let go of me anymore after such good decisions.
Roy: Got you. You talked a little bit about introducing Scrum into organizations and starting to form these teams. You just came out with a new protocol of how to change the world. How does that fit into trying to introduce organizational change?
Jurgen: The question that I get most often is, “How do I get other people to change their behavior?” Or any form of that question like, “How do I convince team members that they should develop themselves some more?” Or, “How do I convince my customers that they should accept Scrum and its changing back‑log and things like that?”
It’s always the same thing that Agile and Agile coaches struggle with it is convincing other people that they have to change. I have basic change management. I have researched that. I have borrowed lots of ideas from many good books and I turned it into a little handbook called, “How to Change the World”.
It is an ambitious title, but it’s only 80 or 90 pages. It sort of gives an overview from my perspective as a complexed thinker on how you should approach a social system, which an organization is.
It is a social system, and you have to poke it with ideas and experiments, and see what works and what doesn’t and do iteratively and get feedback and basically, you have to be agile as a change agent as well because you never know how the system is going to respond, how the organization is going to respond to your ideas, but just to try things out and also understand that you have to work on not only the rational level, but the emotional level as well because some people are aware of a need for change, but they have to be fed the medicine with lots of sugar.
You have to address the people’s intrinsic desires as well and not only the rational part.
Roy: In the book too, you talk a little bit about how management is often times really slow to change. Why do you think that is?
Jurgen: It’s for many reasons. I’m quite sure some of them will fear their jobs because they see it not unreasonably as a danger for their position because I do think that, in some organizations, there are too many managers. The middle management layer is simply too fat.
It can be thinner, but it doesn’t mean that we need no managers. I’m quite sure that for some this is the reason to resist and while for others it is simply not knowing what to do and willing to work with self‑organizing teams, but fearing that things go out of control. These managers would have a positive inclination towards Agile, but they simply don’t know how to handle it in a safe way.
There are many different ways, many different reasons I think for managers to be cautious or resisting. We have to figure it out on a person by person basis.
Roy: What would be your best change success story where you’ve gone in somewhere and introduced a good change?
Jurgen: That would be my own organization because I’m not an Agile coach. I can only talk from my own experience as a manager. I’ve been working in my last organization for 7 years as CIO. There I introduced Scrum and it was a success in terms of the people who were working there, both the team members, top management, and customers.
Of course, there were plenty of problems that we had to solve, but that’s what Scrum does. It doesn’t solve the problems itself. It just makes them more visible. We could start working on them, but everyone agreed that we made a good step in the right direction, that’s my personal experience. Of course, I hear plenty of stories from others, but they’re not my own.
Roy: Recently you’ve been involved and helped organize something called the Stoos network. Could you please tell us a little bit about that?
Jurgen: Yeah, sure. I was in contact with Steve Denning, another author who wrote Radical Management, Franz Roosli, who was part of the Beyond Budgeting Movement, Peter Stevens who was an Agile coach, and the four of us thought wouldn’t it be great to get people together, who are all trying to address the management problem and I’m just one of many.
We started inviting people, and this became the Stoos event, the STOLZ, it is actually pronounced in German. In Switzerland, we had 21 people together to discuss things and we tried to figure out how can we accelerate change in the world and it is a very difficult topic.
But we were very much inspired by each other and it seems that there’s plenty of spinoff activity now with Stutz satellites and Fearless Change, Fearless Hamburg, Fearless et cetera, lots of cities where events are being scheduled, and we’re already talking about some follow up events that have not been announced or scheduled yet, but at least we want to go on because it is a topic that many people are concerned about, and we’re all trying to figure out how can we help to accelerate change in the world.
My another book How to Change the World is my own small contribution, but many people have their own contributions as well and we want to align them and make it dance together, that would be useful I think.
Roy: Do you have anything that you’d like to promote or current things that you’re working on that you’d like to talk about?
Jurgen: Well, there’re lots of things that I’m working on. I’ve already started writing the next book, which is sort of a real follow up to Management 3.0 in terms of very practical stuff to do.
I aim for things you can try the next Monday morning when you get back to your work. That level of practical pragmatic stuff because my first book had lot of theory in it and I thought it was important to have a solid foundation, but now people are asking for more examples of practical things that are happening in other organizations and that they could try out.
I’m collecting those. I talk with people at conferences. I have my own idea of what I call roving coffee. I have coffee with people in various places in the world.
Wherever I’m traveling, I invite people to have coffee with me and I ask them what are practices that are working for you, I want to hear their stories so anyone who wants to share a story with me, they can do that over email or have coffee with me, I’m collecting them, and hopefully that turns into a very interesting new book that might be out by the end of the year or next year or something.
Roy: Awesome. That sounds great. I’m looking forward to it. All right, well, thank you for joining us.
Jurgen: Thank you for inviting me.
Missing content
Derek Neighbors: Welcome to another episode of the “Scrumcast”. I’m Derek Neighbors.
Corey Haines: And I’m Corey Haines.
Derek: Corey, I wanted to talk a little bit…You’re pretty well known in the community, at least in the software developer side, also a little bit in Agile and the eXtreme Prgramming XP side. I find your story extremely fascinating on a number of levels.
One of the things that always intrigued me is that you started programming relatively young for the average programmer, I would say. I’m curious a little bit about how you got started, and I think people can find some of that online.
What would you tell parents who had kids that were interested in computers or programming? What would you tell them to encourage them to let their kids get into this kind of craft?
Corey: I think nowadays, like I got in by cheating at video games. We had all the source codes so we could go in and change the source to let us get past points that we couldn’t get past. Nowadays it’s a little bit more difficult to do that, with all the games are huge and compiled.
Now with the physical computing stuff that’s so pervasive and so easy to get into, like with the Raspberry Pi stuff that’s coming out and Arduinos, really grabbing the attention of the kids via physically doing stuff.
I’ve done a little bit of work with teaching kids. I taught a class last summer and we used Scratch for programming. It was just amazing to see kids pick it up. It’s a graphical programming environment so there’s a lot less of the frustration of syntax errors, things like that. I’d say get into, bring those sorts of things. There a lot programs going on now around that are sort of centered around teaching kids to program.
Derek: Absolutely, we run one here at our work space, so absolutely.
Corey: That’s neat.
Derek: What would you tell your younger self if you could go back in time to that 10‑year‑old Corey Haines, what would you tell yourself?
Corey: Don’t go into Microsoft technologies. Simply because of the fact that when I started spreading my eyes out a little bit and started looking beyond the .NET space and, even before that, the VB space, that’s when I really found this amazing community of learning and the community of not just one language but most people out there that I meet are some form of polyglots.
The open‑source community is very supportive. I got into VB, C#, doing a lot about it in the corporate environment for longer than I wish I had. It was about 2004 when I started looking outward mostly through the XP community. And I wish that I had started sooner.
Derek: I think that segues really well. You talked about being in the corporate community, and certainly, how you came on my radar was when you took your yearlong tour where you said, “You know what, I’m really kind of tired of this corporate thing, and I’m really interested in really becoming a master at what I do and really broadening my horizons and working with different people.”
As part of that, you took a yearlong tour so to speak to go work with a wide variety of people, a wide variety of projects, technologies, you name it. What inspired you to do that?
Corey: In 2008, I actually left my last corporate job, joined a startup for about seven months, got fired from that startup because it just was not a cultural fit for me. Then a friend of mine and a good mentor of mine, J.B. Rainsberger, he and I for quite a few years had been talking about how great it would be to do something like Paul Erdős who was a mathematician that would basically just go everywhere and do math with people.
We always have that idea of, “Man, would it be great to have the opportunity to just go program with people? No overhead. No expectations. Just go program, go code with them. See what they’re doing. Learn from them. Teach them.”
When I got fired, I had some money saved up and was just like, “Now is the time to do it.” There’s so much out there to learn. There’re so many people out there to learn from and teach. I set up a three‑week trip.
Then it snowballed into that. It was originally only intended to be about three weeks. But during those three weeks, it started to snowball, and I started setting my eyes outward a little bit and realized that there was a whole range of people out there, that I could go code with.
It was always anywhere from a day to five days. So there was…I would come in, the only rule was, I was doing it for room and boards. I needed a place to stay and I needed food and I was pairing with somebody the whole time. And that was sort of the only rule that went with it.
Derek: What was the best part about that experience?
Corey: There were a lot of really great parts. One of the big things that came out it that I had started with this idea and actually came to fruition was. I had a much, much, better sense sort of where I was, level‑wise.
I had good understanding. I’d worked with people, who’ve been programming longer than I’d been alive. I worked with people who’ve been programming for a few years. It really gave me an opportunity to reflect on just where I stood as a developer. I was about, 11 years into my professional career, may be 12 years in.
We often times get caught up in our own community and we have a sense of where we are relative to the other people in our community. But by going out and just working with as many people as I could, I got a better sense of that.
I learned something in one place and then the next day, I would be teaching it to the next people. That sort of helped me, really solidify a lot of my understanding of the, a lot of the core fundamental techniques, that I use when I program.
Derek: I think that’s a huge, a huge deficit that this occupation has, is, it’s really hard to have a measuring stick where you are. Sometimes, if you think you are really great at something, may be you kind of pull back and you stop engaging, you stop learning.
One of the things that kind of excites me is, what if we get to a point where, companies start to put programmers out on loan, so to speak. What if it was a corporate culture to allow a little bit more polyglot behavior and allow developers to kind of meander between different corporations to help get some of that litmus test where they are at?
Corey: Actually in 2010 and 2011, there was a group of companies that were doing just that. There is a group of seven consulting companies, like Relevance and Optiva and [8th Light]](https://8thlight.com) and a few others around the world. They started swapping employees for a week here, two weeks there.
Derek: That’s great.
Corey: Yeah. It was really neat to see.
Derek: I suspect there is a ton of great experiences. What were some of the bad experiences? What was the worst part about being on the road and working with different pairs, different technologies, different thing, every week or every five days?
Corey: A lot of it was, this is kind of a weird answer, that the worst part was the fact that it was just so utterly exhausting. I look back and I’ve thought about it a lot and there weren’t a lot of moments where I was like, “Man, this kind of sucks” or “This is difficult.”
It was a wonderful experience, I was going around, I meet people, I pull my car into somebody’s house that I had never met before, just come in, sleep on their couch and then code with them all day. But it was incredibly exhausting and probably about the first five or six months, I was doing short, several weeks, may be month long trips. Then I spent the summer of 2009, 3 weeks or 3 months, continually on the road and drove 6,900 miles, went from Cleveland to Miami to Prince Edward Island back to Cleveland.
It really was incredibly exhausting, but that exhaustion was exhilarating because I was learning so much and I was meeting people and seeing things and so I think it was really just that exhaustion was the major negative part.
Derek: It is part of this kind of journey of learning, so to speak, we’ve really seen the software craftsmanship movements start to bubble up and the metaphor of going from apprentice to journeyman to master. I know that you’re a big part of the craftsmanship movement. Why do you identify with that, and why does that metaphor strike a chord for you in relationship to software development?
Corey: Well, I really like the craftsmanship movement, the craftsmanship community because it covers the gambit of how do we bring people in to software. How do we train them through the years? Along the way, how do we interact with our customers? How do we take pride and how do we treat our code? All of these things, specifically with the apprenticeship to journeyman and beyond.
I have a hard time bringing the master term in mostly because…The only place that I use it is when there’s somebody that I personally look up to and learn from as opposed to an external, “This person is considered a master.”
I have much more focus on the idea of apprenticeship, of coming into a trade and learning somebody else’s way. I look at it as, apprenticeship is when you are studying under somebody and learning the way that they develop software. You find somebody who is an effective, proven software developer, and you learn their methodology and their techniques and their practices.
Then there’s a point where you got those practices down, and you can sit there on your own and really take the effective atom. When you have that, it’s important, I think, to go out, cast your eyes out, look at the people around, find somebody and say, “Hey, they’re doing something completely different than I am” or “They develop software differently. They don’t use some of the practices that I use, but they’re being effective.”
Go look and learn from them as well. You’ll bring stuff to share with them. You’ll be able to learn somebody else’s style. When you do that, you then start to merge those two styles in yourself, and you start to learn, and you start to reflect over those techniques. That is something that I think really could further our understanding of software development that I really like to happen.
Derek: Absolutely. There’s a few folks in the agile community that are critical perhaps of the craftsmanship movement and really struggling with tying the concepts of software development as an art form opposed to more of a scientific form.
The biggest criticism that is universal between the detractors seem to be that when we move to the metaphor of craftsmanship, the fear is that we’re turning all of the focus into the actual act of the creation of the product opposed to the deliverable of the product or the output or the effects that the product has on whoever you’re building it for.
Some of the examples are ‑‑ if you’re more worried about the stylistic making of the table so to speak in which it would be used, you’re not focused then on how it would necessarily be used in the real world. So maybe you can answer some of those detractors.
Corey: I understand where that is coming from and where those fears are coming from. There are people who have written [indecipherable 14:18] . I have a tremendous amount of respect for and had a great conversation with them about this last fall.
The thing is that being in the software development community and being in the agile community and in the craftsmanship community, we spend most of our time developing software. The things we talked about tend to be around developing software and the screencast that we do tend to be about developing software.
But there’s a very important part of the Craftsmanship Manifesto, which is the Productive Partnerships, which is really about the way that we deal with our client, the way that we partner with them to deliver software to them that is fit for use. It’s exactly what they need. No more, no less.
A lot of the craftsmanship thoughts came out of a reaction towards just the general level of horrible code that’s out there. So a lot of the emphasis that we put is on learning some of these techniques. There’s no more question about whether or not automated unit test provide value the majority of the time, and that TDD is a valuable, value‑providing method for doing design of your system.
Is it always a hundred percent of the time the thing you should do? I was talking to Fred George…He had given a great talk at SCNA where he said that if it’s faster to rewrite your system, then you don’t need to do TDD. Well, that makes sense. If it’s fast, if you’re writing a script or if you’re writing just something that’s very quick to put out there, maybe you don’t do it.
But the majority of people aren’t at that point. The majority of developers out there were not to the point where we have the experience necessary to make those decisions. I very much tell people, “Always write tests.” It’s better to overwrite them and then to reflect on the problems that that caused than to have no test at all and not do any sort of test‑first development and suffer the consequences of that.
We’ve all been through those projects, and we know that doesn’t work. We have a set of practices that ‑‑ discussion’s over ‑‑ they do work. It’s just a matter of knowing how to apply them, and you learn how to apply them by practicing them.
We talk a lot about this. If you go to the conferences that we’ve had, if you talk to the people that are involved in the community, and you go look at some of the companies that consider themselves craftsmanship companies, like say 8th Light here in Chicago, their focus entirely is on satisfying what the client needs. It’s not about polishing it. It’s not about gold plating it.
They have a very active, incredibly successful apprenticeship program. They do [indecipherable 18:00] with their people. They do all of the things that we talk about that people say we’re overly focused on, but you can’t get better if you don’t practice. The state of the software industry is atrocious right now, where doing things and making mistakes that we should not be making on our day‑to‑day jobs, so that’s a long one to [indecipherable 18:25] , so I hope the kind of…
Derek: It’s great. When you get to the core of it, I think the community is addressing the symptom that we see on a regular basis, which is really bad code and really bad practices. You have to get through that to get to the good stuff.
Corey: Yeah.
Derek: Speaking of community, you do a ton of community work with Coderetreats and Code and Coffee. You’ve got a number of projects out there whether it’d be your CodeCast or How I Got Started Programming series, I definitely think people should check out and get engaged.
Do you have anything new that you’re working on that you want to share with people?
Corey: I just last December started a nonprofit sort of centered around the Coderetreat stuff. We had this Global Day of Coderetreat] last December where we had 94 cities, all doing Coderetreat on the same day. They were Skype calling back and forth, and it was just this wonderful day of bringing basically the whole globe together on a single day.
Out of that, I brought out a nonprofit called the Coderetreat Community Contribution Fund], which right now it’s operating as nonprofit. We’re under 501(c)(3) review, but the goal of that is to be sort of an umbrella organization for doing fund raising to support kids programming events as well as a small amount of the funds will go towards supporting adult practice oriented workshops of the Coderetreat nature, don’t have to be Coderetreat but just sort of practice oriented.
I’ve been working a lot on that lately, just sort of how do you fundraise. I just did a Coderetreat in January that raised $400 and turned that around and sponsored, in San Francisco, there’s an organization called Black Girls Code, which is focused on teaching underserved girls to program.
They’re doing a six week course on the national stem challenge for writing video games and stuff. We took the $400 we had and we paid for snacks and drinks and stuff for them.
The big thing that I’m really excited about now is that is sort of figuring out how to help these programs out there like KidsRuby, Hackety Hack, Black Girls Code, Code Now, and use some of the excitement that we built up around Coderetreat as a way of raising money to support that where we’re going to be doing Global Day of Coderetreat again this year in December, and the plan is for about 200 cities around the world to do it. My stretch goal is to have a Skype call with a space station.
Derek: There you go.
Corey: I figured if you’re going to have a stretch goal, it should stretch to outer space.
Derek: I’ll say if you’re listening to this, next year you need to participate in the Global Coderetreat. We’ve done it here at Gangplank a few times. We definitely participated last year in the global initiative, and it’s well worth everybody who participates time.
Corey, thank you so much for joining us today. I love the work you’re doing. I love what you’re doing to pay it forward, and you’re really a model for other developers out there to care about the code and really care about the community. Again, thank you for stopping by.
Corey: Well, I appreciate it, Derek.
Derek: Thank you.
Corey: Thanks a lot.
Clayton Lengel-Zigich, Roy van de Water and Jade Meskill talk about potentially shippable software.
Impossible!?
How do you define what is potentially shippable?
Does the product need to be pollished and perfect?
Focusing on small problems (rather than the whole system) helps us deliver value sooner.
It’s not an excuse to code yourself into a dead end.
Value does not necessarily have to be targeted at Users, it might be the CEO or some other stakeholder.
The post Episode #50 – Potentially Shippable Software appeared first on Integrum.
Derek Neighbors: Welcome to another episode of the Scrumcast, I’m Derek Neighbors.
Roy vandeWater: I’m Roy vandeWater.
Clayton Lengel‑Zigich: I’m Clayton Lengel‑Zigich.
Jade Meskill: I’m Jade Meskill.
Derek: Today I think we’ve got a number of topics. The first one I want to talk about is what you do as a team member and as a management team or a manager when you’ve got somebody on your team that clearly does not seem to be fitting in with the team?
Jade: Kick them off
[laughter]
Clayton: Kick them off the island or [inaudible 00:00:40] .
Jade: Right, or make them VP or special projects or something.
Roy: Yeah [laughs] . There you go.
Clayton: Let’s see. Is this a self organizing mature team or any old average team?
Derek: I would say let’s go from both angles. Let’s go from a mature team but maybe not fully self‑organized, meaning the participants are not necessarily juvenile in behavior. They are adult in behavior but maybe not fully self‑actualized. And then let’s go from a more mature approach. Like how would a mature team approach it?
Roy: So, I think what I have often seen with less mature teams is they’ll notice the person not fitting in and not saying anything for a while until it becomes more that they can bear. And then they’ll go around the person directly to whoever is in charge of them and complain to that person.
So like, if Derek is being a jerk all the time, then I’ll go to Derek’s manager and I’ll be like, “Hey, Derek’s being a jerk all the time. Can you do something about it?” And then the expectation is that to protect me. Derek’s manager is going to tell him to shut up or whatever.
And I think that in a more mature situation, I would approach Derek directly and have a conversation rather than just telling him that he’s being annoying or a jerk or whatever. And then that type of environment, Derek might realize that he didn’t even know he was coming off that way. And I might not realize that to sensitive to some of the ways that he was saying something or something like that.
And I think that’s how a mature would solve the problem is directly and head on and not try to…they might get a third party involved simply as a mediator to prevent from emotions becoming too heavy, but they wouldn’t get a third party involved as an intermediary.
Clayton: Yeah, I think on the kind of immature thing, you could talk about the five dysfunctions of a team. So maybe they’re kind of lacking in trust, and they have some sense of false harmony, so in that case, it would be the kind of thing where everything’s kosher and it’s all great, but when this other person’s not around then I’ll complain about them.
I don’t ever do anything about them because people revert back to, “If you want it done right, do it yourself.” I’m not going to totally kill myself to save the project. I can pretty much do all the work that I need to get done without involving this person. The two of us will be the heroes on this thing. We’ll figure it out. I think that’s a common pattern.
I think also, when you don’t feel like a team. When you don’t feel like you are working with each other, for each other, then that’s when it’s easier to get management involved and say, “That’s above my pay grade. That’s not something I have to worry about. I’m just here to write code.” I’m going to go tell who ever I think is responsible for that. I’m going to go shove this problem off on them and hope they figure that out.
Roy: I also think that an on a mature team, diversity breeds innovation. That person who is dissenting, is the least like everybody else, and might be the awkward person, is somebody who’s got a different view point and different experiences, can bring different things to the team that the other team members just aren’t capable of doing. Casting them off, writing them off, or not involving them in the team work, I think, could be a huge mistake.
I have definitely seen cases in which somebody is absolutely poisonous to a team. I don’t know if it has always been irreversibly so. That is definitely a huge danger. I do think that every effort should be made to try to incorporate their dissenting view points. They’re just not fitting into the team. Make it an asset rather than something that hurts the team.
Jade: I think it’s a very enlightened team that could start to recognize and tackle this challenge. Usually it’s a team that is still in the Tuckman model, in the forming stage. They’re dipping their toe into the storming and getting scared, backing away from that. It’s a hard thing to overcome. It’s against most of our human nature to deal with that.
Clayton: One thing I think that’s interesting though is that as the team starts developing some common practices, base lines for expectations, or a working agreement, it makes it a lot easier to have those conflicting moments when you can say, “We talked about how quality was important to us. You don’t seem very concerned about the build breaking” for instance. “We all agree that quality is important. What can we do about that?”
I think that really takes the edge off the conflict versus if you don’t have that kind of precedence then you’re talking about “Hey jerk, why did you break the build, like you break the build all the time.” Maybe we haven’t even talked about why that’s important, or why we care about that.
But if you kind of establish those things that makes it easier to say, “Hey, I’m not trying to beat you up personally, I’m just saying I thought we all agreed to this and it seems you’re violating that, like, why is that?”
Roy: It also seems to be less about me versus you too because it’s not “Hey i don’t like that you’re not breaking the build,” it’s more like “We agreed as a team to not break the build,” right?
Jade: Right. There’s a lot of studies that show in complex adaptive systems or in human interactions that you need those simple rules to help just kind of maintain civility, right? Then you can talk about violating those shared rules like you’re saying and not about an individual person and their personality.
Derek: Yes, I’m kind of hearing there’s a few stages to this in the sense it looks like the first team is just not aware that the person doesn’t fit. The second one is that they’re aware that the person doesn’t fit but they probably bad mouth the person behind their back or they just feel like they have the trust probably in management even to deal with it.
Then the third which is where most of the team’s I see somewhere fit into… or maybe they have some trust in management to the point where they are highlighting to management their concern. “I’m concerned about so and so”, “I’m concerned about performance” et cetera.
Then I think the next one is the team that start to directly approach each other. And I think the last kind of model is the team that not only directly approaches but actively solves the problem, right? So it’s one thing to say, “Hey, you’re really pissing me off in ABC,” it’s another things to say “Hey, how do we get to the point where we’re including you in the team better.”
So with that I am sticking with the team concept. I’ve seen a lot of organizations that are undergoing change and wanting to go to self organizing, where they’ve got a team that maybe isn’t performing up to par. They’ve done command‑and‑control and so they try to go to something that’s like a hybrid command‑control. Maybe it’s self organizing, with all sort of reporting structures back or status reporting mechanisms.
They tend to flip flop back and forth between giving the team full reins or enough rope to hang themselves to completely command‑and‑control and ultimately they’re just afraid that products are not going to be shipped on time or they’re not going to be successful.
What are some key triggers you see in that and if you’re a manager in that situation how do you get to the point where you let the team be self organizing and still mitigate whatever risk you’re kind of concerned with?
Jade: I think again it goes back to some simple rules of engagement. If I were to look at that situation that you’re talking about, I’d say there’s probably some lack of trust happening there, probably for various different reasons. Either people aren’t doing what they say they’re going to do and so the command‑and‑control sneaks back in.
There’s a lot of reasons that you can see that kind of flip flopping around. Kind of trying to sort of self organize. I think the trick with self organization is kind of an all in mentality. You have to give them the container to self organize within, or else they’re really not self organized. Your job as a manager is to figure out what that can look like and at the same time, help you team to not drive off a cliff. It’s a tough balance to find.
Derek: So I really like a blog post that was on Jeff Sutherland’s blog called “The Scrum Shock Treatment.” It was describing a way to jump a team into the idea of doing Scrum. It was very command‑and‑control, which is the part I didn’t like, but it kind of made sense in this context which is “I’m going to tell you how Scrum is going to work, and we’re going to do strict Scrum and you guys don’t get a say in the matter until these criteria are met.”
He had some arbitrary criteria which, I think, you should probably negotiate for specific cases like, whenever you have more than 240 percent of your current velocity, or things like that.
Then as soon as those criteria are met, then we’re going to slowly start to allow you to make more decisions because I think that’s one thing that I’ve seen a lot where a team starts doing Scrum but then starts making their own exceptions to the rules before they understand why the rules are there in the first place. And before they can understand why the rules are there in the first place, they have to see those rules in action and see how effective they can be.
I think, Jade, you pointed out earlier that you’re coaching a Scrum team, and you saw them doing the almost traditional like, “Let’s start cutting ceremonies because they produce too much overhead.”
Jade: Yeah, the wand of Scrum.
Derek: Right. Then it’s the inevitable, “Let’s start replacing all of our physical tools with digital ones because that would just make things so much better.” I think that those are the types of things that we really need to get them to try doing the things the right way first, and then let them change things up and make their own decisions.
Clayton: I think all the Lean, Kanban people just collectively face palms at the “Scrum Shock” article. But with that said, I think an important thing if you’re a manager dealing with self‑organizing teams is to really make that clear distinction about self‑directing versus self‑organizing. You should never say self‑organizing without mentioning self‑directing as well.
But assuming you can get that in place where you have some constraints, I think then you can switch into the role of, rather than being either the taskmaster or the tweaker or nitpicker person who’s just constantly looking for “whose shoulder can I look over?” that kind of thing, to be more of the enabler person who’s saying, “What’s my team missing, and how can I enable them to be successful?” I think that’s an important distinction to make.
There’s probably some argument to be made for letting the team self organize and maybe a certain regard to get going. Then as they become more comfortable in that space, they expand in that. I think over the life of the team, that box probably gets bigger and bigger and bigger until it gets to a point where the box is no longer important. But starting out, I think you could probably let them self organize on smaller things first.
I think with that said though, there’s probably never a good time to just say, “Now, we’re a self‑organizing team.” There’s always some impending release or something that’s coming up that’s going to, “Oh, we can’t do it now. If we waited six months, then it would be a perfect time.” And that time never comes. So you really just have to take the leap of faith, I think.
Derek: Continuing with the team theme, there was an article that I think we were discussing earlier today about, “Don’t try to hire a Rubyist.” I think Bob Martin ranted a little bit is, “Don’t hire a Rubyist. Just hire a good programmer, and they’ll come.” Then we had some fun memories of, “Hire somebody who is not a Rubyist. Throw him in the pool, and then say, ‘Stop drowning. Swim faster. Stop drowning. Swim faster.’”
So when building a team, what are your viewpoints on just hiring quality people as opposed to hiring people that are qualified for the job? And how would you integrate them into the team if you don’t go either direction?
Jade: I think I get asked this question a lot by managers or executives who are looking to build their teams. I fall back on the Agile Manifesto that you need to find motivated individuals, and some baseline skill set is of course part of hiring someone. They have to have some basic skills that would allow them to be a contributing member of the team.
Does that mean that they have to have the exact skill set that you’re looking for? No. You want to hire motivated, smart people that will adapt to whatever tools or whatever situation that they’re in and do a quality job.
I tell them to look for attitude and aptitude. Those are the foundational things that if you’re looking for a Scrum master, don’t just hire someone because they say they are a Scrum master, but find the person who has that right personality to perform the duties and the hard role of being a servant leader versus somebody who just wants to tell everyone what to do, but they happen to be a certified Scrum master.
Derek: I think Porsche has a great…I think their hiring motto is, “Hire attitude. Train skill.” I like the approach of doing that because I think we find a lot that people who are experts in their field tend to almost have a primadonna‑type nature to them.
The Ruby community especially is famous for this, which is what Bob Martin is ranting about, but I’m sure that the same carries over to the Java world, into the .NET world, and to every other world as well, where if you get a guy who’s an expert, he’s going to demand special privileges above and beyond the rest of the team.
He needs to have a lead in front of his title. He needs to get a higher paycheck and all of that stuff. Really, what that builds is a guy who doesn’t want to work in front of the team because he’s above the team.
Jade: Usually for me, the warning sign on that is when someone defines themselves as “I am a bloody blah. I am a Ruby programmer. I am a .NET developer.” That, to me, shows a very fixed mindset of that person.
Derek: I think you meant to say “Ruby Ninja,” Jade.
Jade: Yeah, I’m so sorry.
Roy: I solved that by saying, “I am a god.”
[laughter]
Clayton: I think it’s interesting though that if you’re a hiring manager and you’re saying, “We need more people on this team, and we need more qualified people,” they always want the people that are experts. “We’re trying to find people that know this technology like the back of their hand.” I think it’s a trick question.
At that point, you’re elevating the tools and the technology over the people that you’re actually hiring. I think if you were to ask those people, “Hey, look back in your career, and think of all the great people that you’ve worked with.” I doubt they would say, “I worked with this guy, and he was so awesome because he could recite any Java method, and he knew all the classes” or like some nitty‑gritty technical detail.
It’s never anything like that. It’s people that they enjoyed working with, and they collaborated well with, and they were able to produce great things. They were a friend basically. So I think it’s the wrong question to be asking. You don’t want to be hiring the perfect technical person. You want to be hiring people that for the long term would be good people to work with even though maybe they don’t have the exact skill set right now.
Derek: The only problem I see with hiring good people rather than experts is that it makes it very difficult from an HR standpoint, where you have an HR department, and they are responsible for looking for your candidate.
They need a checklist of stuff to check off before they can get the right person, and if your baseline, like you had mentioned Jade, is too low, then you’re going to get an influx of way too many candidates to go through, which makes it very difficult to single out the really good ones that you want.
I don’t think I really have a good solution for that where you can narrow the stack down because I think a resume is such a really poor way to see what somebody is like that I almost don’t want to see this part of the hiring process. But how do you go through a hundred candidates and find the one guy who’s really going to make your team shine?
Roy: I think that this is a big push right now. I am going back to what you’re talking about, Clayton, is the world is changing so fast. Ruby might be hot and popular now, but in three years, Ruby might not even be a viable language. I don’t know too many people that are looking for Studley COBOL programmers. That loop has gone from a 10 or 15 year arch to a five year arch in technology.
If you go with that attitude aptitude ability, to me attitude certainly is important, but aptitude is the thing that HR department should be looking at. Which is how do we figure out whether somebody is capable of learning new things? The world is going to change significantly during their employment here. How do we make sure that they continue to grow?
Jade: That requires a very different way of hiring. To talk to Roy’s point is, yes this is a problem for HR, but the problem is because of the pre‑existing practices that we have. The way that we are doing things currently are not adaptable for the new world that we’re entering.
This causes systemic change throughout the organization. If you want to hire the best people, you have to find the way to identify the best people and doing it through resume is not going to work.
Derek: With that we’re out of time. I want to add that if you are an HR person or an organization that is currently undergoing an agile transformation and has an HR department that are dealing with some of these issues, we’d love to have you on a future episode of the Scrumcast.
You can get a hold us at facebook.com/agileweekly, and we’d love to hear from you. Until next time, we’ll thank you for joining us. Thanks!
Jade: Thank you.
Clayton Lengel‑Zigich: Welcome to another episode of the ScrumCast. I’m Clayton Lengel‑Zigich.
Roy vandeWater: I’m Roy vandeWater.
Jade Meskill: And I’m Jade Meskill.
Clayton: Today we’re going to be talking about a hypothetical scenario that we’ve probably seen, in a few different permutations. The gist of it is, you’ve got the Scrum team and there’s a deadline approaching.
Maybe the business, or management, or product, or somebody has to set it that, “In order to release at this deadline, we need all these features, because these are things that we’ve promised to our customers. The sales guys are out there selling the stuff and we need all these features. So, there’s this finite demand of work that we think needs to be done by the release.”
The team for…maybe we’ll talk about some potential reasons…but the team, for whatever reason, maybe they’re underperforming. If you were to draw the release plan out, you would realize that. Say based on their recent velocity that there is no way that the recent velocity is going to be able to consume enough points to get all of the features done that the product team thinks needs to be done.
In that scenario what would you do? Do you treat it like a fixed‑scope project and say, “We’re not going to do Scrum anymore”? Do you switch to Kanban and try and get as much as you can done? What are some ideas?
Jade: My question is, “How does getting rid of your framework or the processes or anything you’re doing actually fix the problem”?
Roy: I can answer that.
Jade: OK. Go.
Roy: If you don’t have release planning, you don’t have to worry about a lot of the stuff that won’t get done until the actual release date, so you can put off that conversation for at least another month, if that’s how far the release date out is.
Jade: [laughs]
Clayton: There’s probably some validity to that. To answer that question further ‑‑ that’s a good topic to go down. Maybe the team thinks there is some waste in there or they think the process is slowing them down so they feel like if we just got rid of the process and had more time to work ‑‑ we need more time to code ‑‑ so if we stopped having these stand‑ups and these planning meetings and these retrospectives we’d have more time.
Jade: Let’s just turn our brain off and we’ll get more done?
Roy: Right. Being honest, how much behind are they? Are they behind enough that they’re considering throwing out their entire process, then is cutting out a 15‑minute stand‑up a day going to speed them up that much?
I would argue that it would even slow them down because now you have a bunch of independent people working and not communicating with each other. You are going to come to everybody trying to put their pieces together at the end and everything is going to hit the fan. It is going to be a total pain in the ass.
The overhead of those ceremonies don’t seem to be that big of a deal.
Jade: Let’s talk about that. What do you do? Clayton gave us the scenario. Do you let them throw it away?
Roy: I don’t know. If you realize that based off of the current velocity that you are not going to be able to meet your release plan, then that is the team’s time to have an honest conversation with the product owner. To explain to him that it’s not realistically possible.
Doesn’t matter what process you throw around. It doesn’t sound like these guys are just barely missing their target. It sounds like these guys are massively missing it. It doesn’t matter what process you put around it at that point. There’s no magic bullet to fix that.
Realistically, the stuff is not going to get done before the release date. They have to have that conversation.
Jade: What if they won’t?
Roy: I can’t help you if you won’t have that conversation.
Clayton: Let’s flip that on its head, too.
What if they think, if we just had more time to code? Maybe we didn’t have a certain person on that team? I think we should implement this big feature this certain way, but these people disagree with me. If only they could just let me do the work, and they didn’t have their arguments, then we’d be OK.
What if they’re being hopeful?
Roy: I don’t know. It seems like wishful thinking. It doesn’t seem very realistic.
It seems like you’re trying to throw out all the data and ignore it. Then say, “We hope everything is going to turn out alright. We choose to remain optimistic that everything is going to be great in the end. ”
Jade: We don’t like what the facts are telling us. Let’s get rid of those.
Clayton: Do you think this is why some people get to the cross roads when they’re trying something like Scrum, or any agile framework where things aren’t working out? They confuse the fact that scrum is just highlighting the problems. They think that it’s part of the problem.
They get to the cross roads where they start throwing things out or start creating scrumbutts?
Jade: Of course! It is showing you what the problem is.
First, your reaction is to run away from that or to stop the pain. What do we do when we have a headache? We’re going to take something to get rid of the headache instead of understanding there is probably some source for that.
Maybe I need glasses. Maybe my neck is out of alignment. Maybe there is actually some real root cause that is causing my pain. I might blame it on something else in order to not address the root cause.
Roy: Clayton, it sounds to me like this hypothetical team wants to throw Scrum out the window and just play it by ear. What’s going to happen when the release date rolls around and they still haven’t even gotten close, probably not even as close as their velocity would have indicated they’d get?
Clayton: If you think about, what would happen on a traditional team, let’s say, we’re doing waterfall and we say, “Six months ago, we set this, drew the line in the sand, and said the ship date is this, the release date is this,” whatever. If things are taking longer, what usually happens to a waterfall team?
Roy: You work overtime at the end and you start working 80‑hour‑work weeks to try to pull through…
[crosstalk]
Clayton: Yeah, you work as much as you possibly can to try and get it done.
Roy: …which vastly increases your defect rate.
Clayton: We’ve seen that, too. Even if you’re a Scrum team, if you decide that you’re just going to throw that out the window, you’d only have the framework in any of the best practices. It seems like you just revert to the slow death march thing, right?
Jade: Let me ask this question, is it possible if they did that, if they worked every available hour‑‑ in this hypothetical scenario ‑‑ if they worked every hour that they could, could they hit that release date?
Clayton: That’s a good question. I didn’t really think about that when I was coming up with the hypothetical, but…
Jade: I’m going to go with the eXtreme Programming XP thinking along this line and say that, “Overtime is not necessarily bad. It is when you have too much overtime that it’s bad.”
There are situations where it does make sense that we do have to put in some extra time to get where we need to go, but if it’s totally unrealistic and unsustainable. If we have to do this for six weeks just to get caught up or get to deliver, that’s insane.
If we had to put in an extra day, maybe that’s reasonable and the team could come to that. It sounds like, in your scenario though, they are too far off.
Clayton: I would say, that more underlying thing or the root of that is that, I don’t think, anyone really knows the answer to that question. If you, at least, had that information, you could make that determination. If you don’t know the answers, then, you’re going to just throw your hands up in the air, right?
Jade: Right. It sounds like there might be even more issues besides just the team getting work done.
Clayton: Let’s take that in another direction. Let’s say, the Scrum Master got wind of this plan to throw away Scrum and they stepped in and they said, “We’re not going to do that.”
But if the Scrum Master came to you and said, “We don’t know what to do. We’re thinking about switching Kanban or we’re thinking about enforcing some rule about who can work on what story.”
Can you give them any advice in that regard?
Roy: Ultimately, the team has got to be a self‑organizing unit. If the team honestly thinks that something like switching to Kanban or something a little bit less severe like deciding who works on what story, if they think something like that is going to drastically help, then it’s the Scrum Master’s responsibility to support them in that change, provided it won’t destroy the entire team.
As long as it’s not going to kill them, let them try it for a week. Then, force them to analyze the effectiveness of that decision and if it made a negative impact, strongly encourage them to roll back.
Clayton: That gets into another issue of, “At what point do you let the team self‑organize themselves to failure”?
Roy: Yeah, that’s really tough. I don’t think I have an answer for that at all.
Jade: I’d say, some of it depends on what’s the cost of failure. If it’s going to get everybody fired, then maybe it’s not a very nice thing to do to let them fail utterly.
If it was me in this situation…if I’m pretty sure they’re going to fail at this, I can’t tell them that. I can’t tell them what to do, if I’m a good Scrum Master.
But what is some way I could encourage them to fail the smallest? To say, “OK, that’s great. We want to throw this all out the window. Let’s do that, but let’s check in, in some short amount of time.”
Like what Roy said, “For two weeks, do whatever you want and we’ll talk about what that really means.” That’s the direction that I would go, if the team was really insistent on that. If we want to blame Scrum or we want to blame some framework for the challenges that we’re having, “Fine, let’s try without it. I’m pretty sure that those challenges aren’t going to go away.”
Clayton: The things in this scenario I’m trying to highlight the fact that Scrum or whichever framework you pick is not the silver bullet. You can still have all kinds of problems in the framework. It’s not the framework’s fault. It’s like you’ve mentioned, Jade, you disagree with the facts or you’re afraid of the facts or whatever.
In addition to that, there’s a real question if you’re someone that’s may be in like a management role, it’s pretty powerful to let the team fully self‑organize themselves into failure, but at the same time, you really just have to weigh the risk of what does it actually mean to fail and what point do I step in.
You want them to be self‑organizing, you don’t want to necessarily shelter them, but at the same time you have to have that, maybe it’s a really long leash or something. I don’t know the right way to think about it.
Jade: Let’s remember that self‑organization is not self‑direction.
Clayton: That’s a good distinction.
Jade: Or self‑governing. There is some container placed around the team that they’re self‑organizing within.
Clayton: I’m trying to think if there’s any other modifications we can make to the scenario. Let’s say that the release is say six weeks away and this team is doing one week iteration. If you’ve got six iterations left, let’s say that three weeks go by and their velocity has picked up a little bit, but it’s still not enough of what they need.
Let’s say they’re stuck with Scrum, we convinced them that they should stick with that. Is there anything that you would suggest at the three‑week mark maybe, when you’re half way there, that they may be changed or do differently?
Jade: Again, you can’t ignore the facts. If the historical velocity of the team is consistent or maybe it’s five percent better or some small improvement, that’s awesome. If you need a 100 percent improvement to get where you’re going, it’s not going to happen. This is the time to get everybody in the room and have a very, very, tough conversation.
If we look at some of the core values of Scrum and extreme courage is in there, this is that time to have extreme courage and basically stop the line and say, “This is not going to happen, something has to give, either the release date has to change, the scope has to change.”
One of those two has to give. We’re too close. We can’t just ramp up a new team, fix all these problems, and do all the stuff. We’ve got to change our expectations, if we’ve got to match them to reality.
Roy: There is one thing, we had talked about the extreme risk of failure in this case. Let’s say that not hitting all of the features by that date is going to be a huge downside, if that causes the firing of all the teams or whatever it is.
There is a Scrum game that all of us have played, and it’s one that you like to bring to your coaching engagements, Jade, which is the ball point game.
The essence of the game is that you pass a bunch of balls around in a circle and there’s some very specific rules on how it all functions and [inaudible 13:55] try to get as many balls around the circle and back into the bucket. That’s one of my favorite games because I remember when we played it with Integrum, back when we were doing application development, I remember what we got from it is we got to 70 or 80 balls around the ring in the two‑minute time period.
We started at 70, we optimized a little bit and got 73, we optimized a little bit more and got 75, and we hit around 80. We were like, “We’re awesome. This is as fast as it can get. We have optimized the crap out of this, and we’re kicking ass at this.”
Then, Derek steps in and says, “I’ve seen a team hit 160,” and suggest a completely different way to do it and all of a sudden with very little practice, our first time around, we hit a 100, and we’re not even going that fast.
The second time through, we were hitting 126. We now have almost doubled what our initial velocity was. I’m not saying that there’s a magic bullet like that for this team’s problem, but if the risk is so great that everybody’s going to lose their jobs and you’ve got nothing left to lose, it might be a good time to start taking some extreme risks to try something radically different and see if that makes a difference.
Clayton: The risk thing is a two‑sided coin, that’s a good point. I guess, we can, in the future, check back on my hypothetical team and see what’s going on.
Jade: [laughs]
Clayton: I appreciate the conversation. Thanks, guys.
Jade: Thank you.
Derek Neighbors: Hello! Welcome to another episode of the scrum‑cast, I’m Derek Neighbors.
Roy vandeWater: I’m Roy vandeWater.
Llewellyn Falco: I’m Llewellyn Falco.
Derek: So Llewellyn, you’ve got a site called Teaching Kids to Program and I know you guys are doing a ton of work with different teaching styles to get kids adapted and wrapped up into programming, obviously programming is a moderately complex task.
So for a young mind I’m sure that you have got to take a couple of different approaches.
I’m just wondering if you guys have learned anything that you could maybe take into the coaching or to the agile world or to the adult world about learning styles that you have seen and how you might apply those to teams that we are working with today?
Roy: Absolutely. In fact, I find that both. We take a lot from Agile into when we teach. I teach both kids and adults, and in both cases I’m taking techniques from Agile there. Then I find that in the same way as every time you do a retrospective, that you realize, hey, there’s something else you can do, it transfers back and it creates a neat cycle.
But the first thing that we’ve seen is just this importance of feedback. In the same way as it’s really important to get your code [laughs] in front of a customer, it’s important to make sure that you are getting constant feedback. Not just as to what the kid is doing, but the kid is getting constant feedback or the student is getting constant feedback.
Derek: Absolutely. I noticed that in one of the models that I’ve seen it really talks about how you give feedback can be monumental to fostering additional learning. So one of the theories currently out there is, if you ask somebody to do something and you give them feedback, and the feedback is like, “No, that’s wrong” or “Yes, that’s right,” that you actually discourage them from wanting to learn.
Where if you reward them for the effort placed in, regardless of whether the answer was right or wrong, you say, “That’s a really great job. You did a really good job of trying to solve that problem, but it’s wrong. This is how you solve it,” that you actually encourage continual learning. I know you are really interested in some of the mindset kind of concepts, and I think the author of that book talks a little bit about that as well.
Are you seeing patterns about how you give feedback or how feedback is applied dictates how much a participant will dive in or not, dive in in the future?
Roy: It sounds a little bit the everybody‑gets‑a‑trophy.
Derek: I don’t think it’s really everybody‑gets‑a‑trophy. It’s not saying it’s not OK to tell somebody that they’re wrong or that they’re right. It’s that when you say that all that matters is the answer, that’s where the problem is. If you say the process of getting to the answer, I’m going to reward you for the effort of trying whether you tried or failed, that encourages people to go ahead and expend the effort the next time.
If you have a right answer and I say, “Yup, that’s absolutely right” and I don’t reward you for the effort you put in to get the answer, you’ll actually still be discouraged from wanting to put the effort in in the future to get the answer.
Llewellyn: There are actually two things that are at play here that a lot of times get lumped together. One is feedback, and the other is praise. I think sometimes we consider them to be the same thing. Even if you did horrible, there’s a difference between saying, “Hey, you really suck at this, and you’re never going to be any good at it. You’re just bad” versus “You did bad at this, and you need to work harder at it. You’ll be better, but you have to try harder.”
One part is the feedback. “Did you do good or bad?” The everyone‑gets‑a‑trophy idea that says everyone is good regardless of what they did, and that’s not useful. In fact, that actually is removing a layer of feedback that’s important to the kids but the idea of then also how you praise.
Separating just the answer and the praise is a very important thing because it really is, and time and time again, the amount you work, the amount you practice. These things are really what determines where you end up.
Roy: I think it’s important to keep the two separated as well because in the past we’ve talked about the crap‑filled Oreo, right? Where it’s like the copout on how to give bad feedback is you give them a compliment like, “Hey, you’re doing a really good job.” Then you throw in something about the performance or something bad and be like, “But I notice you’ve been struggling in interacting with others.”
Then you follow it up with another compliment like, “But you’re doing a really good job, so keep it up.” Then the person walks away from the interaction not knowing whether they were rebuked or complimented or really where they stand.
Llewellyn: Yeah.
Derek: One thing that I know is really in working with kids I think more often than not for most kids, not all kids, they still have a pretty strong belief that they can learn new things or tackle new things. They seem to not quite give up as much. I know that in working with adults, a lot of times if you encounter an adult that doesn’t know how to program, they say, “Well, I’m just not good with electronics. I could never do that.”
Whereas a kid, you put it in front of them. So are you able to take anything you’re learning with working with the kids and that can‑do attitude of…So are you able to take anything you’re learning with working with the kids in that can‑do attitude of, “I’m willing to give it a try. Even if I’ve never really played with a computer before, I’ll try this programming thing” and take that back to teams who maybe say, “Well, we’ve tried that” or “We can’t do that” or “It’s not possible to do that”?
How do you get them to start to change maybe their mindset a little bit to be a little bit more like a child in being able to try new things?
Llewellyn: That’s actually really important. It’s weird to think about, but as a kid your life is so topsy‑turvy. Everything is changing. Your interests are changing. The people you’re around are changing. Each year you have a new grade, and your grades get bigger. You’re in smaller classes when you’re in kindergarten, but when you’re in high school the school is just massive.
In your world, you’re constantly in this state of flux. But what’s surprising is when you get to like 35 or so, all of a sudden you can do the same thing day in and day out and the same people. Your world becomes very much more controlled and smaller. You’re just not in the same kind of, “Hey, let’s go try something.”
To take just a very extreme example of that, think about in college when you head out to college in your dorm, you literally share a room with just some random stranger. That seems like an OK thing to do. But now the idea that, “Hey, I’m just going to randomly…” having a roommate, that’s a push. But a roommate usually means two rooms in the same house as opposed to the same room.
We have gotten ourselves into a much more controlled place, and that really cuts down on the experimentation. Kids are naturally in a better spot for that. What that means is you can just quicker do the thing that you need to do, which is crucial, which is get them doing something because for any kind of learning to occur, first you need some sort of experience.
Derek: I was going to say I think that’s something that definitely you can take back to teams. I think teams will debate things to death a lot of times when they don’t know. Even if it’s implementing a feature that maybe they’re not sure of the best technical way, they’ll want to beat that to death. “Let’s talk about it.”
Whereas if sometimes you’re going to say, “Let’s jump in and do it,” put out a spike, put out a tracer bullet, do something to just actually get into the doing side of things, how quickly they can come back to that childlike state. Whereas if you let them stay in that corporate state, it’s really easy to come up with a million reasons why “We can’t do that” or “We can’t try that” or “This isn’t viable” or “I don’t feel comfortable with that.”
Where if you just push them off the ledge, they go, “Hey, that was fun. I want to do the ride again.”
Llewellyn: One of my favorite quotes from Agile is “Don’t spend 15 minutes talking about something you can do in 10.”
Derek: Right.
Roy: Derek and I both volunteered with the First Lego League last year…
Llewellyn: Ah, fantastic.
Roy: …helping out. I guess if you don’t know what First Lego League is, it’s a program where you have teams of…I think it’s 8 to 14‑year‑olds. Is that right?
Derek: Yeah, 9 to 14.
Roy: 9 to 14, who work together as a team to build a robot to perform a set of tasks that’s standardized across all the teams. Then they show up in a competition and compete against each other, and then they also have to build a research project around that.
Llewellyn: This whole thing was actually implemented by the guy who did the Segway, and it’s a fantastic competition. If you have kids, I highly recommend it.
Roy: One of the things that we noticed when we were working with the kids is we’d try to implement Scrum with them and at the very least start it out with having retrospectives with them every single time. We only met once a week, so we would have a retrospective every single day that they got together, so once a week.
One of the things we noticed is, first off, they were a lot more open with their feelings and exactly what was bothering them than most of the adult teams that we’ve worked with.
Llewellyn: [laughs]
Roy: The other thing is that we ran into the exact same problems with kids as we ran into with adults.
Llewellyn: Yeah, to a large extent people are people.
Derek: It’s amazing seeing the engineering camp challenges be almost identical between grown [laughs] teams and teams of 9 to 14‑year‑olds because at the end of the day most team problems are people problems. People don’t change a whole lot in their core behaviors from the time they’re nine to the time they’re 99 in most cases without a concentrated effort to try to improve.
That definitely was a learning experience for us. We thought we needed a video series on, “This is you on Scrum when you were nine.”
Llewellyn: [laughs] You also pointed out a really interesting part that I’ve seen emerge as part of a pattern of teaching, where you get them doing something and then you have that retrospective. Sometimes the retrospective is just so that they can see the patterns, that you need to do something two or three times before there is a pattern to detect.
You need to get them engaged, and then you need to retrospect over it to see the pattern. Then, of course, as a teacher I think the job is to guide them to see patterns they haven’t noticed or explain patterns that they haven’t noticed once they’ve had a chance to have done it before.
Derek: Absolutely. Probably the best example of that was this last year when we decided to put all of the challenges up on the board that they could potentially complete. We asked them to go estimate them from a 1 to a 10 how difficult they thought that those were and to do them as a team. So basically do planning poker.
We didn’t explain what planning poker was. We didn’t explain anything about it other than just from a 1 to 10, how hard do you think it was? In about three minutes you had seven kids basically doing planning poker and pretty much being within one step of agreement of each other on almost every single challenge. I don’t think we’ve ever seen an adult team do that.
I think as adults, what the problem is, we have no ability to believe in something anymore, so we have to question every little thing like, “Why are we using points instead of hours?” “I don’t feel comfortable about this.” Whereas a kid, they’ve never estimated anything really before. So to them it’s like saying, “How many pennies do you think are there in a jar?”
They’ve got no problem throwing out some random number. If they’re wrong, they’re wrong. If they’re right, they’re right. Whereas in the corporate world, well, if I tell you that’s a three and then you’re going to calculate my velocity, then you’re going to give me a raise based on whether my velocity’s too high or too low, I’ve got all this baggage that makes me want to not actually give you an estimate.
Llewellyn: And not engage.
Derek: Right.
Llewellyn: This is the thing. You’ve got to engage first, and that’s why the first few iterations, of anytime I get a team together and we start iterating, are not indicative of how that team will perform. It’s after three or four sprints that some sort of stabilization occurs and jellied.
Derek: Yeah, absolutely. So what are some other things you’re seeing out there that have your interest right now?
Llewellyn: So talked about feedback, but I’ve found that if I get students to collaborate or pair, I think pairing is a very intense form of collaboration. It’s definitely not the only form, but it’s one that serves us very well, that they get a much better feedback cycle going. The environment for learning, there’s less control that’s inherent when two people work together. The control is already shaken.
They’re more willing to just try stuff, and they are constantly giving feedback. One person’s seeing something, but the other person doesn’t see it. You just get this much better environment for learning, and I’m actually surprised. When you walk into a classroom, it’s a very quiet place normally, and I think that actually really hurts learning quite a lot.
I see it in companies, too, where people don’t want to talk to each other. They just want to go into their own cubicle and work. While that might be good if you already know how to do something, I think it’s really bad for learning.
Derek: It’s funny that you say that. I think a lot of that’s modeled from the top. We’ve been doing a ton of work recently with school districts, principals within school districts, and superintendents of schools. We’ve got one school that we’re really partnering with on a regular basis, and we’re doing a lot of coaching and training of their staff on ways to be more agile in the classroom and be more twenty‑first‑century minded.
After just a number of sessions, leading a number of sessions with their staff with their principal with them, their principal released. I’ll put it in the show notes. He wrote a diatribe that he said that after coming in our workspace and being here for a fair amount of time, that he thinks it’s almost criminal that he has an office at the school.
He says, “When I go in there and I sit and I’m doing my email and I’m being productive, the thing that I’m really doing is I’m shutting out all my students and all of my staff from being able to have access to me and for me to really be effective.” So he’s actually looking to get rid of his office and start to work out of classrooms of the students so that he’s more available to his staff and to his students on a regular basis so that he’s there.
I think that the important part from my aspect is talk about the power of leadership saying, “I think it’s important to be collaborative. I think it’s important that I’m making myself available and I’m doing that.” He even stated, “I’ve had open‑door policies ever since I’ve been an administrator both literally and physically. But people don’t come in and interrupt me because the fact that I’m in my office makes them think I’m not accessible.”
Roy: Then he talks about, too, how he feels like he’s chained to his office and conjectures to imagine what students must feel being forced to sit in the same desk, shut up, and just pay attention the entire day but not be able to contribute to their own education.
Llewellyn: Which is horrible because again, once you start engaging and you start looking at it, that’s joyful. Learning in general is a joyful activity. Just to go into this idea of feedback and collaboration. Another concept that we’re seeing a lot, which is layering, which is you don’t learn everything at once. You build. You layer learning on learning. That’s how you gain skill.
One of the places that I think is doing this better than any other area in the world right now is video games. If you look at a lot of video games, there are a lot less instructions. The tutorial is becoming the game, and you’re getting amazing feedback in these nice little layerings. Through that and interaction you’re learning pieces of the game.
There are some really nice examples out there right now. Portal springs to mind, a really good one. Also, there’s a game called Limbo. Both of them are teaching you something with a very interesting model of instruction.
Derek: Absolutely. So we’re at our time. Any final words or parting thoughts before we head off?
Llewellyn: The first is go and teach your kids to program because it’s really on you to do it. There are a lot of neat resources out there. I know you guys run great stuff out there. Chandler, if you’re online, we have more structured courseware at TeachingKidsProgramming.org. Even if you do no courseware, just sit down with your kids and program with them, it’ll open whole new doors and worlds for them.
Derek: Absolutely. Thanks for joining us, Llewellyn, and we’ll see you in a later episode.
Llewellyn: Thanks.
Derek: OK.
Jade Meskill: Hello and welcome to another episode of The Scrum Cast. I’m Jade Meskill.
Roy vandeWater: I’m Roy vandeWater.
Perry Reinert: I’m Perry Reinert.
Alan Dayley: I’m Alan Dayley.
Jade: Today, we wanted to talk a little bit about corporate cultures. To get it started off, do you guys think that there is a particular type of corporate culture that is more naturally inclined to be Agile?
Roy: Yeah, absolutely, there is. Any kind of culture that really embraces change is one that’s definitely more Agile, more likely to be good at Agile.
There are different cultures where, I’ve been in companies where there definitely is more of an inertia that is against change. I’m also in companies where it’s, “Let’s make changes. Let’s make changes,” and it’s through the company.
It’s at all levels, and all different departments. “Make the change and see what happens. Make the change and see what happens.” That’s a good thing.
Alan: I think cultures that don’t have a stigma against talking back to your superiors, that’s not quite the way I want to put it, but the idea of the people in charge are open to input. Not just open, but constantly asking for input from the people that are beneath them.
I would even say that the flatter culture is the more everybody feels comfortable to add to the entire organization that that would help Agile adoption, and the organization would be Agile a lot, I think.
Perry: There are certain managers who, in my experience, naturally, or they’ve learned to allow, usually it’s individuals because they haven’t thought about it on a team level yet, but they allow people to self‑manage, or self‑organize as it were, in the Agile sense.
Cultures and managers, or departments that have people in charge that have already allowed the people that work around them, and with them to make choices and take risks. Those are the types of cultures that will accept Agile. Or just look at it and go, “Hey, somebody codified what we already do.”
Roy: Kind of to build on top of that, I think failure, and being able to fail, that’s a big thing. I’ve been in companies where the president or CEO stands up and says “Hey, I screwed this up. I made a mistake, we did the wrong thing. We learned from it, and let’s move on.” I think that attitude coming from the top really makes a big difference. Everybody sees that it’s OK to fail then.
Jade: I’m really glad you brought that up, because it’s not just a willingness to change, right? It’s, how do you respond when things don’t go according to plan?
Roy: Yeah.
Perry: Yeah.
Jade: What do you think leads organizations down that path? What has happened in that organization that has put them in a place where maybe they’re tolerant of risk, accepting of failure, and they’re willing to embrace change? What has happened in that organizations development that has put them in that position?
[microphone bump]
Roy: Perry is pointing at me, but I don’t have an answer to that question. I have encountered companies that are that way. I have encountered companies that are the opposite, if you would call it an opposite. They’re a different flavor that doesn’t allow failure, or is not a safe place to fail.
I haven’t seen a company change or been in a company when it’s changing that drastically, to know exactly, or be able to point out an instance, when that changed. The only one I can think of is when there was complete change of management in a department one time.
The managers that came in were considered a little more radical. But it wasn’t instantaneous. It took six or eight months before some kind of new thought around failure, and being allowed to try new things, happened.
Alan: I think a large part of it comes down to having the right people, especially to initially get a kick‑off. If you have already got an Agile organization, and somebody comes in that doesn’t necessarily fit in with the culture, it’s not as a big of a deal to indoctrinate them.
If you’re in an organization that has the wrong culture now, and you’re trying to transform the culture, I almost feel like you have to have the right people. In fact, the transformations that I’ve seen, nearly all of them, there has been significant turnover as the wrong people left the organization, so that the organization could transform the way they wanted to.
Roy: Yes, I’ve seen that also.
Perry: Yeah, I really believe, again, from the kind of leaders, on down and how they handle things, and that’s kind of what starts it. I think, having leaders that are either seen the success of making rapid changes and rapid corrections, failing fast and making those rapid corrections, or also seen the failures from not making changes.
Being sort of stagnant and you can end up failing that way also and that can be a big impact on the leadership.
Alan: Do you mind if I take this, Jade, in a little bit different direction because the subtle thing I’ve noticed recently about culture…
Jade: Yeah, go for it.
Alan: There was a company I was visiting with last week that their culture compared to many companies is good and the bosses are nice guys. The managers do well and they help their employees and they smile, and all that.
The culture at this particular company is that of the managers telling people what to do. They tell in a nice way and a kind way, but as they sit the employee down, and they say, “Here’s what’s going to happen and here’s what we’re going to do. Do you have any objections?”
I noticed that creates a kind of culture of compliance. Nobody is unhappy and they won’t say they’re unhappy, but the employees are not taking risks because they expect to be told what to do. When they’re told what to do, it’s presented in such a way that the decision has already been made.
I think this is a subtle culture that is hard to describe to people the negativities of it. I wonder if anybody else has seen that sort of thing and how do you point that out to people?
Perry: Yeah, I’ve seen that on all sorts of different levels. You’re right, when you’re telling people what to do, what that really does is that, just tells them that they don’t have to think about it. They don’t have to think about the problem or what to do.
You end up losing a lot that way because, there are a lot of smart creative people out there that think of things, and think of the ways to do things that are different than just you. If you’re not taking advantage of that and providing that freedom for those people to think that opportunity for those people to think, by just telling them what to do, you’re missing out.
Alan: I’ve also seen in kind of a similar way, where the management says that they’re open to criticism or open to new ideas but then, the people that work for the organization are almost guilt‑tripped into choosing what management wants anyway.
The choices are presented and you get an illusion of choices, but then there’s an obvious right answer and if you pick anything other than one of those three options, it doesn’t feel that you have more than three options and there’s only one right answer and those three options.
I’ve seen that happen in the past. I don’t know if that still works. If the developers still get a choice or if they consciously or subconsciously see right through that and if that really hurts them, I don’t know.
Jade: What are risks to the teams in a culture like that?
Alan: The Company that I’ve been thinking about is normally always doing Scrum and what they end up with is this ritual that doesn’t really have too much meaning.
They do the retrospective and they talk about the little things that can be changed, but not big things because they’re waiting for the boss to tell them, what the big things are and they plan things that are safe. They know exactly what the boss has told them through the product owner and maybe just the boss directly, what they should be working on and how they should create it.
They just plan it as if they’re going to do it the way they’re told and they don’t interject any contrarian ideas in the planning, etc. It becomes very flat.
Perry: I think, what problem we get with that is that you’ve a bunch of mindless drones that are working. You lose a ton of creativity and innovation because really you have one in that situation where everybody listens to the boss and then the boss comes up with all the ideas.
You have one creative person within the entire organization and there is no way, no matter how creative that person is, that he is ever going to be able to be even close to the sum of how creative an entire organization could be, if everybody was allowed to add their own experiences and add their own unique viewpoints and ideas to whatever the product is.
Roy: Eventually, they’ll self‑select. Your team will become the ones that are willing to follow and the ones that want to lead, want to try something new and stuff. They will find other places to go.
Alan: Yeah, I agree with all that especially the lack of innovation. I think you get less ownership, too, from the people that are working on that, whatever it is, less ownership. You kind of teach yourself out of the joy of being surprised when somebody overachieves and comes up with something great that you hadn’t thought of.
Roy: “The joy of being surprised,” I like that.
Alan: Yeah.
Jade: Let’s imagine that you’ve been brought in by somebody in this organization, who has realized that this is going on, but not the top leadership, how would you approach this with them?
Because they’re nice guys, they’re doing a good job, they’re treating their people well, what are you going to do?
Roy: Not the top leadership, but sort of the mid‑level leadership?
Jade: A second level manager has noticed that this is going on.
Alan: That sounds like that’s really tough, especially, when the entire organization thinks it’s a good thing and everybody thinks they’re as happy as they could be. That makes it really difficult to convince anybody that there is anything wrong especially like introducing change and having to see their CEO or whoever is at the top to try to convince him to start listening to the input is going to be hard on him, and why would he do that because he is happy as it is?
There’s a lot of benefit for the business as a whole and for all of the employees, but I think it’s going to be very difficult to justify that to somebody who has never seen the effect of that type of culture in person.
I would try to maybe see if you can integrate that CEO, or whoever the bottleneck, is into a culture that houses open quality and show off the benefits and show what’s possible when you allow that type of stuff to happen.
Perry: I would seek out experiential ways to show the benefits. I am trying to think of specific ones, but there are certain different Agile games, innovation games, etc., that even the playing field and create a situation where people who usually don’t talk or usually don’t introduce creative ideas are allowed that space to do so. Including, perhaps, doing some things that are just with the team members and not with management to try and create some safe environments to let some of the creativity blossom.
I’d have to go where I can look at some of those ideas, but I know they exist. I always remember the first retrospective I did with a team where we did the dot voting at the end where the most outspoken member of the team waited to the very end to do his votes. He went up to the board and he said, “I don’t have enough votes to make it go to the way I want.”
That was a radical change to the team because suddenly the rest of the members realized they had a voice, and they had a way to start speaking up and they could say things, and this dominating player didn’t have the ability to dominate in that situation.
Roy: I agree with all that, just more education, lots of reading material about this, self‑organizing teams, letting the team make decisions and seeing it done, going and visiting other teams, and watching how they work is absolutely a good thing.
Jade: What do you think is the root cause of a behavior like that?
Roy: I think, the root causes could be just coming from an organization that worked that way where you were expected to be that guy. You don’t have a team and you’re the guy who has to solve everything and so you solve that. As the people grow and the team grows, you still solve things and just tell them how to do it.
The traditional project management model is certainly much closer to that approach than the Agile approach.
Perry: In smaller companies, this is kind of a natural thing where you have a three to five person company that has grown a lot within a year and, say, they have doubled the number of people.
As those new people come on, they look to the people that were there, as they answer people and that can stick.
I am not sure how it creates in a large company, how you would have a department or a team or a group of teams that has these sorts of ideas. It could be the managerial breeding that you guys had at Scrum Cast recently about how we tend to hire people who think the same way we do.
If you think that you should tell people what to do, you’re going to hire people that think they should listen to what you say to do, and you can grow a whole company that way probably.
Alan: It feels good to be that person who is the one who rescues everybody. He’s almost got that martyr syndrome where it feels good to be the guy that saves the entire team every time. As soon as somebody else starts stealing your thunder, like as the boss, I could see how it would be really tempting to throw him out like “No, that’s mine. I get to save this organization. You get to be saved. That is your privilege.”
Jade: Does that mean there’s only one superman on this team?
Perry: That’s right.
Jade: All right, guys. Well, thanks a lot for joining us, and we will catch you next time.
Perry: All right.
Alan: Great, thanks.
Clayton Lengel‑Zigich: Welcome to another episode of the ScrumCast. I’m Clayton Lengel‑Zigich.
Jade Meskill: I’m Jade Meskill.
Roy vandeWater: I’m still Roy vandeWater.
Derek Neighbors: I’m Derek Neighbors.
**Jade:** So like Still Water…
[laughter]
Jade: …is like because you’re European…What you?
Roy: We’ll mix up the verbs and other things.
Clayton: Quite, you’re so European, you don’t even know, to get the things up.
Today we’re going to be talking about Digital Boards and Physical Boards. Let’s say that I’ve got a digital tool and has my Scrum board in it. And I’ve a physical collocated team, is that going to be problem or can never just look at a computer screen.
Derek: Certainly, everybody could. The question is what are the benefits of a Physical Board versus Digital Board. Andy Hunt’s “Pragmatic Thinking and Learning” is a great book that talks about some of the brain science behind physically writing things down versus typing them into a computer, or versus seeing them on a computer.
It cements something different in your memory. I like to equate this to when I see great schoolchildren or even college students, being asked to memorize vocabulary words or terminology. Usually the teacher requests that they write them down, write them in a sentence, write the definition down. Then they memorize from there. They don’t just give them a printed sheet and say, “Go read the printed sheet and memorize it.”
It’s because something in our brain is wired differently when we actually do the act of writing things out. When you’re forced to write out the story or write out the sprint items or the tasks, I think that something wired different in your brain happens. The second thing is, nobody goes to their computer to look at all that stuff.
When there’s big visible charts all over the walls, it’s much easier for somebody not involved directly in the project, or somebody on the outside, to ask questions. They’re not going to go look at the chart in some digital tool eight things deep, find something out, and then send an email, or not very often. Usually it’s too late. If they’re getting to the point where they know something is that wrong and they’re looking at the tool, it’s probably too late to help.
Jade: If you are physically collocated team, it’s much more difficult to hide from a physical board that has a presence in the room that you’re in, where it’s very easy to minimize a window and just essentially ignore everything that’s going on inside of the software system.
Roy: We’ve even seen examples where we would send emails of our burndown chart for example to everybody within the company or post a picture of it in the chat program we use, and still nobody really commented on it or noticed it even though it was being hand‑delivered to you saying look at me, it still didn’t really have the same effect as to something you occupy every day.
Jade: I saw a really interesting study that really talked about the brain and how when you move from room to room, that the doorway actually creates some physical barrier inside of your mind and that when you walk into a new room, it basically forgets everything about the old room. ref: Forget Why You Walked In The Room?
I started thinking, “Does that apply to windows in our applications”? Like when you minimized that window, does your mind like basically shift gears into, “Well, now I’m doing something new and I’m in a new room. I can disregard all the other stuff.”
Clayton: What are some of the other benefits that you would get if you were a physical team having a physical board? Does that help promote collaboration or communication? What are some things you would get from that?
Jade: I think it’s a lot like having a face‑to‑face to conversation. There’re a lot of things that are communicated without words, and by placing it up in a physical dimension, you can tell so much more out of glance than looking at your screen which can only convey so much information and so much detail, just due to its limited size.
You can get away with a whole lot more. You can have a lot of more informal statistics or data that becomes very difficult for a computer to calculate. If I want to write something up on the board, I can just do it. I don’t need a special place to put it or if I want to post something new that we’ve never tried before, I don’t need a code to let me do that. I can do it with a piece of paper.
Derek: Some of it goes towards…if you’re really trying to be agile, you want to be locked into some best practice? That starts to…
Jade: Or at least a practice. [laughs]
Derek: Yes, that starts to cramp. A good example on build now on what Jade said is, “The nice thing about blank index card is it’s a blank index card,” so anything your mind can imagine to do with and index card, from shredding it up to adding new elements to doing anything, is possible. Whether you want to use pushpins with different colors to meant different thing, if you want to use different colors with a type of marker, the sky is the limit.
So if you want to try something, a great example I’ve seen our teams do in the past on occasion is, “Hey, we really want to enforce time boxing. We want to see how we’re performing against tasks, because a lot of people are questioning that. It’s as easy as drawing, if we think this is going to be a hour long task drawing one square for each one of the tasks, and then filling it in as it’s getting completed.” That would be really difficult to do in a tool that didn’t have that functionality already built into it.
The nice thing is, you can experiment with that. If that works really well, great. Maybe you keep doing it. If it doesn’t work well, or you get the data that you need to make the decision, I think in a lot of the cases I’ve seen a team think, “Oh, well the problem is our tasking is really, really horrible. It’s taking us way longer than we think to do the task.”
When they do something like that, they realize it’s not that the tasks that we are putting out there are taking too long it’s that we’re doing really crappy planning. We are not putting out half of the tasks that actually need to be done to complete the work. We put task A is going to be half an hour, and task B is going to be half an hour. We find that it really only took half an hour to do each one of those tasks.
But we totally glossed over the fact that there were tasks C, D, E, F, G, H that we just totally didn’t even talk about in planning. In reality, we need to fix our planning, not fix the estimates of our tasking. It allows you to play with things in a lot more easy format without having to fight against the…you never hear, “Well the index cards don’t do that.”
Jade: [laughs]
Roy: Right.
Clayton: To play devil’s advocate a bit, I’ll ask, “Doesn’t it take a really long to update your physical board”?
Everybody: Right. Everybody…
Clayton: Yes, it does. Is that what you are saying?
Jade: Doesn’t it take a really long time to update your digital board?
Roy: Every Agile team at some point, it seems like, gets into the, “OK. We need to start replacing the physical tools with digital tools.” I feel like they always have four big reasons for doing that. The first as I say, it’s way too much overhead to update a real board; which I think is kind of bullshit, because it doesn’t take any less work in my opinion, than filling out a digital tool. And it gets you a lot of value.
Another reason why they oftentimes want to go with digital as opposed to a physical board is because they say they want to save paper, which I think is just bullshit altogether.
[laughter]
Derek: You’re European, so it makes sense.
Roy: The third reason is because they are a distributed team, which I think is the only reason that I can come up with that has any validity at all. The fourth reason ‑‑ I forget at the moment, but I’ll jump in a second with it.
Clayton: Oh, I have another one. I would use a physical board, but I need to keep track of everything we’ve done, because what if I need to look at it again later? If I have a digital tool, it will save it all for me.
Roy: Yeah. So, you’re never going to need that data.
Clayton: Yeah, but I really, really do.
Roy: No, but you really won’t.
Jade: When you need it, you can write it down on the index.
Derek: I think a lot of this goes back to…
[crosstalk]
Jade: You can save all the cards.
Derek: …a lot of teams still have project manager mentality. The idea is, “I need to track tasks and I need to track who is doing the tasks. I need to track the actual hours against the tasks. I need to track all this data because at some point I need to hold somebody accountable.” The truth is, if your team is doing that, you’ve got way bigger problems than for using a physical board, or using a digital board.
That’s because you don’t trust your team, and you don’t believe the team’s going to do the best decisions. The teams that want that information so that they can actually improve don’t have a problem collecting that data. I know that we’ve thrown together spreadsheets on several teams where it’s like, “Let’s collect the data for two weeks and find out what’s really going on.”
Then make an adjustment and collect another two weeks. But very rarely you need to collect that data long term. I think that it’s one of the classic be careful what you measure. If you’re concerned about measuring the number of hours of tasks, and who is doing what, well that’s what you’re going to get. You’re going to get people that try to game the system, so that they don’t look like dumb asses for the number of tasks.
If you’re actually trying to deliver software of value, make that be what matters.
[crosstalk]
Jade: Measure lines of code.
Derek: Make that be what gets measured.
[laughter]
Derek: Function points are my personal favorite. Some of that goes back to…that’s more of a management thing usually, than a team thing.
Or if it’s a team thing, it’s because somebody is definitely afraid that they’re kicking ass, and that they’re not getting credit for kicking ass, which I also think is an entirely big smell. That you’re not a team player if you’re only worried for getting credit for the work that you’re doing, and you’re not actually worried about delivering the best product and making it the best.
Jade: That or you know that Clayton’s doing a terrible job and you just want to expose it. That’s how you’re trying to come up with that.
Roy: Leaving your paper trail so you can fire him.
Clayton: Let’s say I’m a development manager, and my team comes to me. I have this Scrum team or whatever. They come to me and they say, “We’re using this digital tool now, but we’ve all talked about it. We listen to the really awesome podcasts. And we decided that we want to have a physical board.”
Roy: Is there a podcast out there that talks about this?
[laughter]
Jade: Yeah, we’ll send you the URL later.
Clayton: Is that something the team can decide? Should I let the team do that? Or should I just jump out the window and give up? Those are the two choices.
Jade: If I was a development manager…
[laughter]
Roy: What’s the title again?
Derek: If it’s got the word “manager” or “management” in it, you should just jump out of the window now. And yes, I’m kidding to all those people that are managers.
Jade: Should we let the team do it? I think if you truly believe in self‑organization, then, yeah, you should let the team do it because that’s their work.
I think you have a reasonable expectation to get the information that you need to do your job to report to the people above you and stakeholders and all that stuff, so that information should be delivered to you however you need it.
But when it comes to the team performing their own work and managing their own work, that is the team’s realm of responsibility, and they should be fully able to do it however they would like whether that’s a digital or a physical tool. I don’t think it’s management’s role to dictate that solution.
Clayton: What are some instances…You hinted at Roy, but what are some instances where maybe we would want to use some digital tool? Maybe we want a physical board, but we think we need a digital one.
Roy: The one that I brought up was a distributed team. That one I would say, “Why distributed”? But if you really have to be distributed, then you have to have some way of keeping track of everything, and I haven’t found a better way than a digital tool, but as soon as I do, I’m jumping off the…
Jade: [laughs] Teleportation.
Derek: I think anytime you got a lot of cash to burn and you want a bunch of licensing fees is a good time to…
Jade: Yeah, if you really like that tool vendor [laughs] .
[laughter]
Jade: I think a distributed team is definitely a situation where a physical board does not work. We’ve tried it many times being distributed ourselves to try to manage a physical board, and at some point, it completely falls apart.
Roy: It was a physical implementation of a digital tool because it would be, one person would maintain a physical board and take a picture of it and send it to everybody else.
Jade: Which was just insanity. It was…
[crosstalk]
Roy: …writing an intelligible digital tool that you couldn’t update immediately.
Jade: Yeah, it wasn’t providing value.
Derek: Another valid reason for it ‑‑ and I would say that this should be a short‑term reason only ‑‑ is if you are in probably a larger company whereby you are a pilot or one of the few teams in an agile organization and you still have reporting structures that are requiring some of the data that you might need digitally.
Now in those instances, I would really recommend to go ahead and let people use a physical board and then actually key the information that you need for whatever roll up reporting you need for your manager. But I would say that in that case, it would be worth double keying that information to allow the team the benefits of a physical board.
But I could see somebody saying, “It’s just not worth a waste of doing it in paper and keying it in.” I’d say, “I don’t think you understand the benefits well enough,” but if you really believe that, I think that that is another reason. If you have to report some of the upstream until you can convince them otherwise, that might be a reason why you would see that.
Roy: Another reason too in that exact same situation ‑‑ why you would want to double key the information? ‑‑ is nothing starts conversation as well as a board. I can’t tell you how many times I’ve been sitting around here at Gangplank and then somebody comes up and asked me, “What’s the deal with all these cards”? Even people that normally wouldn’t ask questions of anybody else.
Jade: We’ve seen that in client’s sides too. The CEO or some executive VP walks by and says, “Oh, what’s going on? What do these charts mean”? And you can start to have a real conversation.
Derek: Absolutely. One of my favorite stories along this line is, we implemented cards, and I was sitting more where the executives were not necessarily where the team was, so the team had decided to put the board in that hallway, which I thought was bad for the team, but I thought it was good because it got a lot of management highlight.
I had one of the members that wasn’t on our team ‑‑ she’s not part of the development at all ‑‑ walk by, and she’d called me “card man.” We joked and laughed. She said, “Even though I’m teasing you, I’m serious. I really liked it.” She showed me cards that were for…The output of the software directly affected her department. It was the tool they used.
She said, “Right here, it says this, but it’s missing one. Do you know when they’re going to do that”? I said, “Well, they chose to not do that this sprint.” She said, “Well, why not”? She actually got really upset like, “That’s the most important thing, and it’s not even on there.”
She was able to go back to that development manager and say, “Hey, how come your team didn’t do this”? They gotten to a lengthy discussion, and it brought out all sorts of things about the inefficiency of the particular tool. She would have never done that if they were using a spreadsheet or some tool because she wouldn’t have ever known that it even existed.
That it’s those serendipitous moments that we don’t even really talked about very much that sometimes provide the most amount of value by having things out in the open and able for feedback from anybody.
Jade: What do you do if you’re a distributed team?
Roy: Cry [laughs] .
Clayton: Also jump out of the window is an option.
Jade: Jump out the window. Yeah, OK. So I’ve cried. I’ve jumped out the window. And they brought me back from the dead for this project [laughs] . What do you do to try to get the advantages of a physical board and a distributed world?
Roy: One thing that I’ve tried in the past is to use an online spreadsheet tool, like Google Spreadsheets, because it gives you a lot of flexibility while still maintaining somewhat a structure.
Although, I found that that works great for two weeks, and then it starts to get really disorganized as we try to make the same types of adaptation that look perfectly organized on the index card, but it starts to look very messy on a spreadsheet.
Derek: For me the problem is that you’ve got a much bigger problem than your board once you get distributed. I think that not being within proximity of other people is a much larger problem when you’re distributed than whether it’s physical or digital boards.
I’d say the first thing I would do is try to do everything humanly possible to simulate being collocated even though you’re distributed, whether that be Skype, whether it be pair programming, whether it be some kind of online instant messenger app, anything that promotes a lot of communication that is asynchronous and can simulate real being in a physical presence to someone.
I would really stress that that’s probably the most important. Once you have that, I think then you can start to add ways to say, “Hey, maybe every so often, we’re going to post the current burn down, or we’re going to do something, or maybe we’d add another stand up or something.”
I think there’s ways you can start to say, “How do we incorporate what we’re putting in a digital tool into the conversation”? But most distributed teams just don’t even have the conversation, which is, I think, absolutely critical to have.
Clayton: To wrap up, can we go around and get one thing that you think will make the most of your physical board, something that will make it better than it could be on its own?
Jade: Colors.
Derek: For me, the biggest one is big, visible charts.
Jade: I should say “meaningful colors,” not just random rainbow.
Roy: What I’ve seen help a lot was Derek’s example, where you show your time box by indicating the black boxes for you’re still using your time box. For every 15 minute increment, you draw a square. As you exceed your time box, you start drawing red ones. It becomes very easy to see.
At an overview, you can see an entire board. You can see where sections are red and where sections are green. It becomes very easy to see which stories cause the most problems throughout that week, and which ones went a lot faster than expected.
Clayton: For me, I would say updating the board in real time and collapsing things. You collapse all your tasks that you’ve completed down so that over time, as you’re passing by, in your subconscious you can look at the board. It looks different. It starts looking smaller, and it looks like things are going away.
Derek: I think that’s a really powerful one.
Jade: That’s good.
Clayton: Thanks guys.
MISSING CONTENT
Clayton Lengel-Zigich, Derek Neighbors, Drew LeSueur and Roy van de Water discuss story sizes, naming your sprints and partial credit:
20, 40, 100 story point sizes
Less accurate as they get bigger
Naming your sprints
Rally point for deliverables
Historical data
Sprint goals
Partial credit for points
Does story size matter
Symptom of a deeper problem
Too focused on velocity
Paycheck advances
The defect board as a debt collector
The post Episode #44 – Story Sizes, Named Sprints and Partial Credit appeared first on Integrum.
**Roy: vandeWater:** Hello and welcome to another ScrumCast. I’m Roy: vandeWater.
Alan Dayley: I’m Alan Dayley.
Derek Neighbors: I’m Derek Neighbors.
Perry Reinert: And I’m Perry Reinert.
Jade Meskill: And I’m Jade Meskill.
Roy:: I would like to welcome you to a special edition of the ScrumCast. About 12 months ago, we all got together and came up with several predictions on what we felt were going to happen throughout the year, with regards to Scrum and Agile. We’d like to take a moment, real quick, to reflect on our predictions of last year and see how well that went, and then also make some new predictions for the upcoming year.
Alan, you made several predictions last year? What you felt really happened and didn’t happen?
Alan: I thought the most promising thing was to start losing the labels around the different frameworks, and I saw a movement happening in that regard. I think that was a pretty safe prediction. It’s happening.
My secondary one, on community, I also predicted there was going to be some conflict around that movement. In my opinion, at least on the email lists and other places where conflict seems to grow, those sorts of things aren’t happening. We’ve got some people who are adamant about losing the labels and mixing and matching different parts of different frameworks.
They’re very upset when somebody says, “No, we need to do Scrum or we need to do Kanban or whatever it is.” I think those are pretty safe predictions. They did happen, and they continue to happen.
Winners or losers, I failed implementations. I have a client right now in fact, that is doing really well, or was doing fairly well on their own, but told me, “No, we don’t need you,” and then several months later said, “Yeah, would you come help us”? I think that’s happening a lot.
Roy:: Perry?
Perry: Yeah, I definitely, I was jumped onboard with Alan on the verbiage. I think we had, my notes show legalism and frameworks. That’s the sort of getting spun‑up on the details versus the real concepts around Agile.
We’re definitely making progress. As it grows up, as we get more mature, as more people actually really understand Agile instead of just, “Read the book and try to follow the recipe,” then they’re in a better position to adapt the real principles to what they need to do.
I think we’re still making progress there. I also had around community predicted changes in certification. I think we’ve definitely had changes around certifications. We’ve seen the spring up of IC Agile, Scrum Alliance has made some changes, just for example, the CSP has changed from the 10‑page form to that’s now an exam.
I think we’re going to continue to see changes in there also. Winners and losers, I had developers who would continue to win in the Agile world. I think there’s no progress in there, but I’m really feeling like that’s still the next big thing to trying not to get into future predictions now. I think we made progress, there’s more progress there.
New things, I said exploring lean principles in usability. The lean principles definitely, all of those Agile practices and principles I think are coming together as we mature and usability is still a big thing. I would have liked to have seen even more progress there, but I think we’re making steady progress in those areas.
Roy:: Derek, how did your predictions and the beyond?
Derek: I think my first prediction was getting back to the roots of the manifesto not being quite so process focused, and I failed that one miserably. I think I’m about three years ahead of the curve on it. I suspect, in about two years, we’ll actually get there.
I think step one Alan and Perry got right on, and that’s now everybody’s just bitching and fighting about which process is the right one. I think ultimately they’ll come to find that it’s really about the routes of the manifesto, and the processes that we use don’t really mean shit when it comes down to it. They’re just tools to implement the bigger things. I think I failed on that one because it was a little too early.
On powershifting away from trainers back to coaches, I think that’s starting to happen a little bit. I didn’t accelerate quite as much as I thought, but Scrum coach retreat certainly saw a number of CSTs that are now doing a lot more coaching engagements instead of training.
They’re not feeling as fulfilled doing the training, they understand that they’re not seeing the lasting change in organizations when they just come in and train, and there’s not coaching there. I think that’s starting to play out a little bit last year and I think we’ll see a little more of it this year.
Winners and losers, I said everyone loses if we don’t have people challenge how we currently do things. I think that we started to have people challenge it. Right now, they’re challenging it by saying, “My framework’s better than your framework, ha‑ha‑ha, I challenge you to prove me otherwise.”
That’s starting to unearth deeper and deeper issues with like the Stoos gathering to just recently happened. I granted that was this year, I guess earlier this year. Before we recorded this, they are trying to challenge some of management smother things that are going a little bit deeper then process. I think that there is some challenging happening.
Roy:: Jade, how about your predictions?
Jade: I said that there would be a lot of growth of agile outsie of the United States and that is certainly happening. One of the things I personally missed was, I talked about inspiring a lot of bottom up adaption of agile. For me, personally, I have actually been working a lot more with executive teams on top down adoption of agile. That’s quite an interesting thing.
[laughter]
Roy:: Alan, you said last year you were planning on working harder to train, encourage and train productive conflict. How do you feel that went for you throughout the year?
Alan: I do not think it did very well. The team I had in mind to do that with was disbanded shortly after that podcast and I have to admit that I lost focus on that. It’s an interesting conundrum how to tell people that the conflict is good if you to do it the right way you do it with trust. I just don’t feel like I either haven’t focused on that, or I haven’t felt like I have been on the situation, to focus on that as the hard problem that the team has.
The teams that I am working with now have the hard problem of portfolio prioritization and how to get backlog right. We seem to be spending a lot of time with that and I am not sure that I have had the opportunity to do that but that maybe an excuse.
Roy:: Perry, you had said that you are going to explore and practice some different lean principles into your work and try to do a very good job to understand the customer and increase its ability.
Perry: Lean principles not so much other than just touting, [inaudible 07:45] , and maintaining. The team needs to be aware when stories are backing up and they are completed but not releasable types we have harped on it. Now, what I really want to do there, the usability we have made some progress.
It’s more around how do you get from product management having ideas of what to do and understanding, and how to figure out what the customer really wants. We call them the target benefits and what those are. We’ve definitely made tons of progress in that.
Roy:: Derek, you said you tried to get teams to value relationships in humanist and encourage creativity by looking bigger than the product.
Derek: I think the first one happened on a scale larger than I could ever imagine but not in the way that happened. That was within our own Integrum team. We made a significant radical shift in our team size and what we value as a team. I am on the most human team I have ever worked with, the most transparent and vulnerable group of consultants and I am really proud of that.
But that’s not what I meant when I said that. I was actually talking about targeting external teams. I guess being your own dog food is a good thing. Now we know what is involved in some of that and what happens when you get really real. Encouraging creativity by looking outside the product, we are starting to do that and looking to start an engagement that is looking to do this in a fairly radical way.
If that works, hopefully next year I would be able to talk about some of the success we had with that. We are doing quite a bit work with education. Work outside of the software industry altogether where the product is actually somebody’s education. It came through seventh or eighth grader and that excites me to be thinking about it in that way.
Roy:: Jade, you said that you try to inspire bottom‑up adaption of agile.
Jade: Like I said earlier, because of the shift in the way that Integrum has changed, I ended up actually working with more executive teams, talking about how to make not only their development teams more agile, but the executive teams themselves.
Roy:: Awesome. Looking at the upcoming years, what do you guys feel is the most promising thing that is going to happen in 2012?
Derek: To me, I think a most promising thing is that I think we’ll see more early adopters of agile, realizing that just implementing agile processes didn’t have the results that they really wanted. They had short‑term results, but not the long‑term results they wanted, and that they start to dig deeper to go into the actual principles beyond the process.
I think that we’re just going to start seeing that scratch the surface that you’re going to see some companies start to potentially make some significant change outside of process around agile.
Jade: To jump on that bandwagon, I think this is the year of leadership. This is the year that people are really going to start paying attention to how they are leading their teams and how they can lead their teams and their companies well. I don’t think we’re going to make a whole lot of progress during this year, but I think the awareness is really going to bubble to the surface.
Perry: I see something that perhaps can be tagged as a negative, but I find it promising. There’s a shift, a tide, that’s coming for us. Particularly, I’m thinking of companies in the United States. There’s a lot of companies that continue to work the way it was state of the art in 1970 or 1960, with mentalities about factory workers, et cetera, even though they’re doing creative things, or attempting to do creative things.
That has worked for a long time. For several decades, anyway. There’s a lot of things happening in the world that is going to, I think, surprise some companies and shock them.
Hopefully, the positive spin to this is that, I think, some people who are not willing to look at agile, or haven’t been willing to look at agile and some of those principles, whether they call it agile or not, they’re going to start looking and thinking about how to create some creative environments for their people to work in as opposed to factories.
Alan: I’m not sure if this is what I think is going to happen or just more of a hope, but I’m still back on the training and the education. I see the changes that are coming. I’ve seen Scrum Alliance make changes, the ICAgile outline for additional…I think it’s just deeper training.
I think that’s the key, because, like last year, I felt like all we really had was CSMs and CSP. Now I’m starting to see a lot more training. Integrum is doing trainings on release plannings. I’m seeing those very specific, real, just‑in‑time targeted, and I just want to say real ‑‑ again, real training, and that’s where I think the community as a whole will actually benefit from that type of training.
Roy:: Speaking of community, how do you think that the agile community will be changing, or what do you think is going to happen within the agile community throughout the next year?
Derek: I think it’s going to get more fractured and more tense, at least in the beginning part of the year, and, I suspect, it’ll go throughout. You’ve got three or four different organizations trying to do certification, you’ve got the “my process is bigger than your process,” and everything in between.
I think that’s going to heat up and come to a boil before the good stuff comes. I think you’re going to see more of the “choose your allegiance, choose your side, we’re going to war,” David Anderson and Kanban versus [inaudible 14:23] and eXtreme Programming XP, Scrum Alliance, Mike Cohn, whoever, doing their throwdown.
I think, overall, most of those guys know that it’s about the deeper principles, but they’ve got empires to, somewhat, protect, so it’s difficult to let some of that go and not be steadfast about your beliefs. I think that it’s going to take a while to shed some of that.
Perry: On that, though, because there’s that competition, it will blow up, but they’re trying to leap‑frog each other a little bit. These trainings, I think, are going to be trying to outdo themselves ‑‑ I’m hoping. It may not be this year, but I think that’ll be a good thing, all of that turmoil.
Alan: The other shoe, or the other side to that coin, I see a lot of discussion with some people, at least, that I think are leaders in the agile community, not necessarily those that have a vested interest in one framework or another, are coming to realize that the training that’s specific to a framework, or the training that’s just generic, doesn’t always fit.
I had a recent discussion online with a gentleman in Europe. He writes a lot of interesting things about agile and some of the things that we live by, but he goes and he researches, finds the source, and discovers that they’re myths. That’s not to break down agile or to tear it down, but he’s trying to create reality around it.
We’ve had discussions that point out things like there are literally 100,000, how many there are, CSMs out there, the vast majority of them probably should not have been trained as CSM. They probably should have been trained with CSPO product owner, or they should have been trained as developers, or whatever. The CSM was the generic stamp of agile.
Derek: To point to some of those numbers, I was looking the other day ‑‑ they released them yesterday or the day before ‑‑ I believe there are currently 150,000 CSMs, but there’s only, I want to say, 9,000 CSDs. I can’t believe that their management ratio is that high between number of developers…
[laughter]
Derek: …to number of Scrum Masters or Project Masters, whatever classification they were coming from.
Perry: Right. I think people are starting to realize that one size doesn’t fit all. We’ve got to figure out what is best for each person, and then you balloon that up what is best for this organization ‑‑ is it Kanban? Is it XP? What’s the thing that should happen first? It’s not always the generic answer that has been for a while in those people’s minds. I think that’s a positive thing for the community.
Roy:: Jade?
Jade: I think that, if we look at the Tuckman model, this is the year of storming.
[laughter]
Roy:: Last year, you made predictions ‑‑ not predictions, let’s call them commitments ‑‑ on what you would do to improve yourself with regards to Agile throughout the next year. Alan, or some of you, what are you going to do this upcoming year to improve yourself?
Alan: I have recently figured out that I was much happier when I wrote more, so I’m going to write more. This is a very individual, personal thing.
I think, as I write more, it lets me formulate thoughts and learn them better, so that I can help the people that I’m trying to help. I can help much more efficiently and effectively.
I’m saying here, in the most public way I can, that I’m going to write more on my blog and I’m going to write more on my own personal diaries, if you will, that I used to keep a lot. I got away from that this last year, and I need to go back to that.
My personal self improvement goal is to use writing as a way to process my thoughts and pass that benefit on to the people that I work with.
Roy:: Perry, how about you?
Perry: I wish I could say writing. I’m going the opposite route. I’m going with reading.
This year, I’ve set goals right around the 30 number for the number of books that I’d like to actually read this number.
Jade: A month?
[laughter]
Perry: Read this year. I wish it was a month, but for me, that’s an increase. That’d be a good number for me to get to this year.
Roy:: Derek?
Derek: I’ve got a couple. One of the big ones is to explore seriously frameworks outside of Agile that are complementary to Agile, around leadership, systems thinking, human systems dynamic, or the Cynefin network. Other frameworks that people in other disciplines are talking about and to see how to start to map those to organizational or leadership type of roles.
Additionally, I really want to make a big push for having organizations gain agility outside of software. I think, one of the biggest problems that we currently have is the only real samples we use are software. We make all these crazy exceptions and do all these really stupid things because it makes sense for software from a process perspective.
I think, if we were dealing with something that wasn’t a deliverable product, like software, maybe we would have better definitions of what our beliefs really are. Then, the last one is this is the year that I’m going to make a concentrated effort to try to save the Scrum alliance from themselves.
That is, right now, their position to really hold the champion flag for Agile, from a resource perspective and from a number of members’ perspectives, they are really falling down on the job. I’m really going to try to see what I can do to make a difference in that space.
Roy:: Jade, how about you?
Jade: My goals are frighteningly aligned with Derek’s. I think we are very much on the same page there. One thing I would like to do is really talk aggressively with organizations about, “What does it really mean to have an innovated culture”? That’s it really time, right now, to adapt or die.
That there’s capitalistic Darwinism happening and now is the time to get ahead of that curve before you’re one of the dinosaurs.
Alan: That’s great.
Roy:: Awesome. Thank you guys all for joining us. I hope you enjoyed this special edition of the ScrumCast. Bye‑bye.
Jade: Bye.
Perry: Bye‑bye.
Alan: Thanks.
Derek: See you next year.
Clayton Lengel‑Zigich: Welcome to another episode of the ScrumCast. I’m Clayton Lengel‑Zigich.
Roy vandeWater: I’m Roy vandeWater.
Derek Neighbors: I’m Derek Neighbors.
Clayton: Today we are going to the Twitters. We looked up some tweets using the Scrum hashtag. We’re going to just go through those and rapid‑fire talk about them.
The first one, this one is the San Diego Times, perhaps, the SD Times who ranks Kanban, Lean, Agile, Scrum among top trends of 2011. What do you guys think? Are these trends fads? Are they just becoming popular? Maybe they are making some mainstream media concept. What do you think?
Derek: I believe the SD, Software Developer Times.
Clayton: Oh, that makes a lot more sense, though.
Derek: Yes, I think in some ways they are trends in the sense of…these stuff that’s up‑and‑coming, will they last? I think that the Agile principles and the values are fairly timeless. I think the process implementations, if they’re truly Agile, people are going to inspect and adapt on them over time; which means that they will be different, and we will probably discover new ones as well.
Roy: I think too, that lately I’ve seen a lot of companies that are saying that they want to be more Agile, or want to implement Scrum or LEAN or whatever. I think that a lot of them are just saying that, based out of articles they’ve read, or people they’ve talked to, and don’t really understand what it’s going to take.
Oftentimes, it’s going to take some sacrifice from themselves and from the organization in order to reach that end goal. Once they find out that that’s part of the process, they’re going to be disenchanted with the concept.
Derek: Kind of like I really want to lose another 50 pounds but I don’t want to stop eating donuts?
Roy: Sure. That would be a good way to put it.
Clayton: It seems like with any software development stuff, there’s always going to be trends and waves of popularity. But it seems like some of the stuff has been getting a little more mainstream. But it definitely feels kind of faddy, in some degree. But I think you’re right, the Agile values and principles, that stuff will be pretty timeless, I think.
Next up, here’s kind of a fun question. What do you get a Scrum Master for Christmas?
Roy: A box of index cards?
Derek: I think you’ve got to practical joke them in some way or another, just not having enough fun. I’d fill their cubicle, if you have cubicles, up with popcorn and peanuts or something. Short sheet them, move their desk into a bathroom, something interesting.
Roy: For a while, we were actually collecting our used index cards. Once the sprint was over, we’d collect our index cards and throw them in a box. It’d be great to save up a year supply of those and fill this cubicle with them.
Derek: Perfect.
Clayton: Or if they have a sunroof you could pour them in their car, that might be a little more fun. There’s a tweet about someone got turned down for a Scrum master role because they were too experienced. How do you become too experienced as a Scrum master?
Roy: I think that it sounds to me like what happened was they didn’t want to hire him for some other reason and they were too much of a chicken to say what the real reason was, so they told him he was overqualified for the position.
Clayton: They got that “You’re too experienced” answer?
Roy: Right.
Derek: Yeah. I think most companies that do that for a position, what they’re really saying is your salary range is beyond the scope of what we’re willing to pay. Therefore it’s easier to say, “You are too qualified for us” than it is to say “You are too expensive for us,” because one makes you sound good and the other one makes us sound cheap.
Clayton: Yeah. I wondered about, I think a lot of companies have a hard time defining exactly what the Scrum master is supposed to do. I would be pretty impressed if there is a company that had a formula, so narrow down they’d be able to tell if you’re overqualified or not.
There’s an article that came out and this tweet references it, but it’s about the concept after some time has gone by, most of the agile “projects” are really, the author described them as water Scrum fall. There’s some kind of waterfall implementation of requirements gathering and figuring what it is.
Then the work itself is done additively and then there’s some kind of release process that still waterfall it. What do you guys think of the Scrum or fall stuff? Is that real, does that exist?
Derek: I think it depends on how you really define it. I think in one respect I think that most Scrum is mini waterfall in the sense of you’re doing all of the cycles within an iteration.
You’re only doing enough design, only doing enough architecture, only doing enough requirements definition at the beginning of a sprint planning meeting to last for a sprint. Therefore could you say that because you do that every single time that these aren’t falling to waterfall category.
I think the determination for me is the actual process is a little bit different. You’re not saying “We’re spending one day doing requirements definition, we’re spending one day doing development design. One day doing development, one day doing testing and one day doing releasing and that’s a sprint,” or something thereof.
I think design and architecture and things evolve over time within a sprint. I don’t think things are set. I can certainly see how people say. You’re doing all these activities in a pressed time period, but in reality you’re still doing them sequentially, meaning I don’t think we could ever do a Scrum where we say, “Hey, we’re going to jump in and we’re going to start testing before there’s code and before there’s actual, the entire stack of the code.”
I definitely think we can jump in and say “We don’t even know what the story is but we’re writing code.” That would be irresponsible.
Roy: I think the article that linked, as well mentioned a second article that talks about there are three types of Scrum teams. Ones that don’t practice Scrum at all, just say that they do. Ones that practice Scrum to the book and a third team that does Scrum, but they make a lot of concessions due to their corporate structure or whatever other factors in a place like the traditional Scrum buts.
The main article that we’re talking about suggest that that approach of doing strict Scrum but them making the concessions where needed might be the most pragmatic approach. Because it’s the easiest to implement and it’s less painful.
Looking at that as pragmatic might be a mistake because if you’re doing that you might be ignoring the problems within your organization that strict Scrum is trying to uncover and that you’re avoiding those problems in the name of pragmatism.
Derek: Yeah. I definitely think it’s the pragmatic approach in the sense of, the most being for the buck right off the bat. The problem you have is this is where we see the curves that say, your implementations going whether you have a code, you don’t have a code. Your performance going up and then it plateaus and the will drop back down and the will plateau and drop and never gets as high as that or first initial piece.
I think that’s because people do make all the concessions. It’s the race to implementations i.e. we know we’re going to do shorter races, we’re going to do some things. We’re making a lot of tradeoffs to get that to happen.
What they do is they never deal with the real problems. And so what happens is after the newness of this new process wears off people fall even further back in to the bad way of doing things and performance drops again. Then it’s “OK, let’s get serious about Scrum again or Agile again” or “Let’s switch to Kanban,” whatever the motivator is and then you see an uptake again until that pain reaches.
If they’re going to be pragmatic about it when they get to the plateau stage they have to start to say, “OK, now we’re going to start removing the “but” parts. We’re going to start saying how do we get to the real implementation and deal with what it exposes.”
Clayton: The next tweet goes towards some of the Scrum versus Kanban stuff, but it says Scrum as a diet, Kanban as a mirror. This is getting at the Scrum, makes you or suggests that you make some changes to your process where Kanban has got it more, let’s visualize what you’re already doing.
This is an interesting anecdote. It’s a great tweet because it’s link BD, it’s been re‑tweeted a few times here. I will say there’s probably a lot of overweight people who have mirrors in their house, but that doesn’t seem to help much. I don’t know what that says about this.
Derek: I saw an excellent Ted talk in the last few days that talks about some methodology about a sailor going through where the sirens are located. He wanted to hear the sirens but he didn’t want to be lured in to the sirens. He asked the captain, the crew on the boat to actually tie him down to the mast of the boat so that he couldn’t get out.
The theory there is that it’s a commitment post. All the time in life we use commitment post that say we’re going to put something. If I’m losing weight maybe I say, “I’m not going to let any junk food in the house.” Maybe I say that “I’m not going to go to these types of restaurants,” because I know that there’s a weakness there and so I’m going to commit myself to not being tempted by that.
At times some of what we do in Scrum would be a kin to that. I don’t know if a commitment post is necessarily a bad thing. If you rely on it long term it’s probably not real healthy. I would pose it, a mirror doesn’t tell you a whole lot in the weight aspect of “OK, maybe I see myself getting fatter.” If I have no clue on how to lose weight, a mirror doesn’t do shit for me.
Whereas if I have guide post that say like, “Hey, here are some rules. Don’t consume more than 1,200 calories a day. Don’t eat after…,” whatever those commitment posts are. I rely on them and I start to lose weight now maybe the mirror becomes a better tool for me to say, “Hey, I see myself bulging back up again. Now I know maybe I need to go back to those commitment posts.”
So I think doing it the opposite way is just a much longer more painful way of doing things.
Clayton: I think this is a funny little anecdote that cuts both ways. I can imagine lots of different ways that I could probably stand in front of the mirror and make myself look different. You still have to perceive it somehow.
This is kind of an open ended question, and it links to somewhere. The question is, when do you use Agile methodologies and techniques like Scrum? I think a lot of organizations may be going back to the trends of 2011.
A lot of them say, “We have a supper project, and Agile is going to make us go faster, so we’re going to use that.” What are some ways that may be a better way we can think about when should I apply some of these methodologies, and maybe when should I not?
Roy: That’s a tough one to give a blanket answer for.
Clayton: It depends?
Roy: I think some examples of situations in which you can use an Agile methodology like Scrum or Lean but it becomes very difficult is when you get into areas where there are strict compliance regulations, like if you’re trying to do HIPAA compliance, or if you’re trying to do FDA ones or anything like that.
Then it gets very difficult because a lot of times those compliance regulations require a lot of up‑front documentation and you have to get that approved or they could potentially turn it down. If you’re doing that as you go, you might end up wasting a lot investment money producing a product that gets turned down by the FDA when you could have caught that at the documentation stage.
Derek: For me, I would say Agile methodologies could be used any time you’ve got a team of two or more people. They’re really principles and values for how you work with other human beings. I think that’s vital regardless of what type of work you’re doing.
As far as an implementation, i.e. Scrum, or Kanban, or et cetera, I think that’s really going to depend on what kind of product you’re trying to deliver, what kind of project it is, and what things are important for success in that. I think the core methodologies apply to any kind of team.
Currently today we’re doing it inside of school districts. We’re not doing Scrum, but we’re applying a lot of these self organization techniques, and really even pushing it down to empower the students in the classroom to do retrospectives with their teachers and get them more involved. I think the principles go pretty much anywhere you’ve got groups of people.
Clayton: This next one is a good Scrum question, there’s actually two things inside. It says, “Am I nuts to invest in specialization where I get the idea that Scrum is generalizing the team?” Two things. Is Scrum really generalizing the team? And then assuming it is, should you invest in specializing in some certain thing?
Roy: I personally am of the opinion that a jack of all trades is more valuable in the long term than a specialized individual. I’m also of the opinion that a specialized individual could be dangerous to your organization.
If you’ve got the one guy in there who knows how to do any particular task, let’s say he’s a DBA, or he’s the only guy that knows how to do the build, that means that you now have a bottleneck. First off, your organization doesn’t pass the “hit by a bus” test. The guy could be a total dick and you’d have to keep him around just because he’s the only one who knows how to do that, or he could demand whatever salary.
I think that ideally you have a team in which everybody is able from every task. It’s OK that no one of them is able to do it as well as a specialist would be able to. I think the trade off that you get there where you get a huge increase in flexibility is more than worth it.
Derek: For me, the big thing here is I’ve been in technology long enough to see how fast it moves. The people that were highly specialized 10 years ago, maybe I’m a Java programmer or a Delphi programmer, I’m a client side programmer. I’m demanding top dollar. I’m totally on top of event driven window programming. I’m the crap. In two or three years it switches to all web platforms, and web platforms now are pushing weave ins, and SQL databases away.
The problem is, if your career is going to be 30 or 40 years long and you’re in technology, you’re going to have to relearn a specialization every three to eight years if you want to stay gainfully employed, doing interesting work. Be fairly general, but if there’s something you like, maybe deep dive a little bit into it, but I wouldn’t get so myopic as to be totally specialized.
Clayton: I don’t think that there’s anything wrong with having some people on a team that maybe know more about something or may be more of a specialist, as long as there’s some kind of overlap, and you stick to the idea that the team is cross functional.
Roy: I think ideally you get a bunch of team members who are passionate about different things and will take the time to go out and learn it. We’ve got Drew on our team who is extremely passionate about JavaScript, and Clayton, you are very passionate about testing.
That ends up benefiting the team, not because you guys create information silos and lynchpin yourself in, but because you take every opportunity to teach us about the stuff that you guys know so that you’re able to spread that knowledge.
Clayton: This next tweet, it’s a good one. It says, “I have never met a proponent of story points that hasn’t ultimately described them as a proxy for time.”
Derek: This person has never met me.
Clayton: Do tell, Derek.
Derek: To me, it’s all about sizing, and I don’t think that really has to do with time. I think it much more has to do with effort. I guess at the end the goal is to take velocity and be able to say, “Do predictions.” Those predictions generally have to do with time, but I would not be a proponent of saying, when I’m explaining what story points are to somebody, that we use those to translate to time.
I never say, “Three story points translates to X number of hours.” You can make some assumptions about that and say, “Based on prior performance we might guess that that’s the case.” But to me it’s really a matter of what are they in relation to each other, i.e. story points are only relevant to other story points, not necessarily to time.
Roy: I think I’ve seen some great examples of this in action where we estimated a project at a specific number of points. We pulled in a bunch of stories that were relatively easy, they were twos or threes. We worked on them throughout the week and realized that what the product owner had intended for those was way more complex than what we thought.
We felt that those twos and threes should have actually been fives and eights. Then the following week we got into the fives and eights and those ended up being twice as complex as we thought too. Even though it was twice as hard as we thought and we felt we should double the points, it was actually fairly accurate. It just shifted everything up because everything was twice as hard as we had originally thought.
Derek: I think that’s the best way to explain it, Roy. That is that if you’re really doing things relative to each other, if you find out that a three takes you a lot longer than you originally expected, you don’t have to go back and re‑estimate everything.
If your stories were actually relatively sized it’s going to come out in the wash in that you’re going to be able to recalculate your velocity based on the level of difficulty being different.
I think that where people get hung up on is they try to say it’s a time based thing. The whole reason you use points is because they’re not time. If we estimated everything as ten hours, and then we found out it really took 40 hours we’re going to have to go back and readjust all of our estimates.
If we did it as a three and a five and we found out a three took 10 hours, and maybe in our original velocity estimates it would have calculated out to three hours, we don’t have to go back and re‑estimate everything, we just have to adjust our velocity, and that’s going to shift time.
Clayton: I think we see this a lot because the team will estimate something using story points and it works itself into velocity, and then everybody comes to that conclusion because ultimately they say, “We did a 20 point iteration and it took us, say our iteration is two weeks. So that means that 20 points equals two weeks.”
I think that everybody consciously or subconsciously makes that assessment. Then the people that maybe abuse the system want to try and extrapolate that out, and say, “OK, well that means that, when are you going to be done? That means that that many points takes that long and this story estimate point five takes two days and one takes half a day, or whatever you want to do.”
It seems like everyone tries to go down that road but I don’t think that’s the fault of story points.
Derek: So going to our earlier conversation, if you have a mirror you don’t need to own a scale.
Clayton: [laughs]
Roy: In the past, we’ve had some discussions, internal at Integrum, where we were talking about the idea of relative complexity versus relative time. The example I think we used at the time was, it takes me a few minutes to walk across the street, it takes me an hour to walk to work. But they are about equally complex. So when you are estimating those, would you rate those both the same points or would one be significantly more than the other?
Derek: No, they would be significantly more than the other because it’s amount of effort.
Roy: So you would say that it is amount of relative effort as opposed to relative complexity?
Derek: Right. I would say it is a combination of those two things.
Clayton: All right, well that does it for the tweeters for this time, so thank you guys.
Clayton Lengel‑Zigich: Welcome to another episode of the ScrumCast. I’m Clayton: Lengel‑Zigich.
Roy vandeWater: I’m Roy vandeWater.
Chris Coneybeer: I’m Chris Coneybeer.
**Derek Neighbors: I’m Derek Neighbors.
Clayton: And joining us today, we have Howard Sublett. Howard, if you could just say hello to everyone and tell us a little bit about yourself.
Howard Sublett: Hi, everyone. My name is Howard Sublett. I work at BigVisible Solutions out of Boston. Long time employee of the Scrum Alliance. Enjoy the space, worked with a guys over the years at Integrum and at Gangplank, glad to join today.
Clayton:: It’s good to have you. Today, we wanted to talk about a couple different topics. One is shared resources. How do we manage pulling people off of teams and moving people around? Also multitasking, or being responsible for multiple commitments and people being spread too thin. Right after that, guys, what do you think?
If I’m the manager and I have a couple of teams, and I’ve got one person that I’m expecting to be on both teams, is that a good idea, bad idea?
Derek:: That’s a sign of dominance with your ability to be highly efficient with resources.
Clayton:: Can you break that down into layman terms, Mr. Derek?
Derek:: Yes. You’ve just fucked your teams.
[laughter]
Clayton:: Can you smarten it up a little bit for the podcast audience?
Derek:: Yes. One of the MBA fallacies is that you have to be a really good steward of resources, which means you have to slice them infinitely thin. It’s not uncommon that…especially in silent organizations or organizations where you’ve got very specialized employees.
Maybe I’ve got a database architect or a UI person. There’s a UI person for every single team. I now want to slice them across four or five different projects. What you’ll find is that they can’t identify with any of the projects that they’re on. They have no ownership of any of the work that they are doing. They’re generally overcommitted, yet there is no real visibility of that even in the highest performing of teams.
Roy: How do you deal with something like that, where you have an architect and he is your primary architect guy and, really, all of your projects need to have architecting expertise, whatever that means, how are you going to deal with that type of situation?
Derek:: For me, some of it is to start to learn with the damage you’re doing. One of the things is why do you rely on a sole person? You’re setting yourself up for the hit‑by‑the‑bus syndrome and what happens that person when they decide to leave your organisation or something happens to them, how cripple do you become?
You probably want more than one person to be responsible for it. The other thing is how are you really getting a team to coalesce, if the team is looking to a single person to do a certain part of it? How do you get that ownership? The cross‑functionality to me is a core principal in a lot of ways in Agile work. We don’t sit around and say, “Well that’s so and so’s fault, they’re the ones that were supposed to do that.”
As a team we say, “If so and so is not available we will figure out how to do it at whatever level we can do it at to the best of our ability.” Some of that is getting to the point of how do you start to challenge that mentality?
This is not going to happen overnight. I’d say the other way that I would combat it is I would make all of the teams to have shared resources on them absolutely positively use a committed‑driven approach in planning so that they know what resources are being committed and at what level. So that somebody who is a shared resource doesn’t over commit themselves.
They go like, “Oh, yeah I could do that, oh yeah I could do that,” and then at the end of the session they have over committed themselves to five different teams.
Clayton:: Yes it may go beyond just the commitment point of view. One thing I have always liked is, “If everything is important then nothing is important.” If am on every team then am I really on any team? What are the team or the people effects of having a senior developer or DBA or an architect or something bounce around? Does that person ever feel like they are on a team or do they ever get to be part of a team?
Howard: I was just having a conversation about this with one of our clients today regarding designers. One of the things we talked about was the ownership. We were having issues with the ownership and also that individual once we started talking to them about the issues. They felt like they were being siloed.
They saw how these other teams were trying to open up and they were trying to have more involvement and have better transparency on the team but they felt like they were being put into a silo because they were being treated as this one‑off resource for everything. They weren’t involved. A lot of it came down also in amount of ceremonies. How do we get that person involved with ceremonies when there’s multiple teams being run?
Derek:: That’s something I definitely see. I see people that are part of multiple teams when you transition to Agile when you start getting into the thick of it.
They get pissed off because they are being asked to go to five different planning meetings, five different stand ups, five different sprint reviews and [inaudible 05:22] says, “I can’t get any work done, I am in meetings all day,” which is the exact opposite of what you try to do in Agile which is you basically have constant interaction and you minimize the amount of ceremonies or meetings that you do by compressing them.
But to me that’s a complete red flag when somebody in an Agile organization screams that they are in too many meetings. Is that it’s probably because they are on too many projects.
Roy: It sounds like it would be really hard to commit to a project as well, because if I’m hopped onto a project just for the design phase. I’d be on that project thinking like, “Oh I just got to stick it out for two or three weeks until this part of the design phase is done. And then I’m onto the next project so I don’t have to give it my all, I just have to get through it.”
Derek:: Plus if you have a design phase, aren’t you Waterfall?
[laughter]
Clayton:: That’s a good point. The idea of being involved in a lot of meetings or that kind of red flag ‑‑ that speaks to having multiple commitments. But is there ever a time when it’s appropriate for a person that maybe on a team or maybe an architect or something to have multiple commitments? Is there a low limit or is it a not at all? Or do you think that’s a bad idea in general?
Roy: I guess my question would be why are the individual’s making commitments? Because it sounds like the whole team should be making a commitment and if you have two separate things that need to be committed to, then perhaps the team can decide how best to handle that. And the team should commit to getting both things done and then whoever’s available will do the work.
Derek:: I’ve seen this done a couple of…I guess I would start with saying it depends. Just like with distributed teams if you don’t follow the prescriptions of Agile, you are going to pay a penalty. The question always becomes is the penalty worth whatever benefit you get in exchange for that.
If I say, “Well, I need this security expert, that just knows the in and out of security, up and down.” But I can’t afford a security expert for every single team I have. Therefore they’re going to have to be a shared resource. I’m making a conscious choice to say, the benefit I get from having a specialized security person outweighs the penalty I pay for making them a shared resource.
Another way I would think about using those type of resources, whether they be more of the operation IT team, whether it be security team, whether it be architects, whether it be database, whatever. Or maybe you have one or two of them or three of them but they need to be split across five or six teams. I would actually create them to be their own team, and have the other teams treat them like a third party.
Which is, I can’t commit to work that relies on them unless they’ve already done the work. If I need a bunch of database changes, those need to be to be done before I go into my sprint, in order to commit to them. Because just like a third party, they’re not committing, so I can’t commit to something that they’re not committing to. Which is another way you can deal with it.
Howard: Derek, don’t you see that some of the problems come in when the architect is being shared amongst multiple teams. I mean I’ve seen that before in organizations and they have to, they have to share them that way. They can’t afford somebody for every team.
But the problems come in is when the teams feel like that they are actually committing as part of the team instead of sitting outside the team helping with guidance documents and stuff, over how they are going to write code over this section of architectures.
Derek:: Do I see that? Or do I see a problem in that?
Howard: The problem for me is when the architect feels like they’re a team member in every team. Because they can’t really commit to every team because they’re doing nothing but going from meeting to meeting to meeting.
Derek:: Yeah, I don’t see very often that they actually feel like they’re part of the team. I usually see that they feel like they’re not part of the team or they identify more with one team than other teams.
Generally it’s very hard to be committed to five teams at once. Not only is it a time constraint thing, it’s an emotional constraint thing. It’s very hard to make bonds and have trust with five independent teams that have five different visions, that have five different commitments.
That’s very difficult to honor.
Clayton:: We’ve been talking a lot about architects and DBAs and the development side of things. Howard, I had worked with you in the capacity of a Product Owner.
Do you think that had you been the Product Owner of multiple projects or multiple teams you could have been as effective? Is the Product Owner role immune to this splitting problem or do you think you would see the same issues?
Howard: You definitely would have the same problem. I would assume that unless the teams that you’re working with and the product that your working is so closely aligned that it feels like one to you. I don’t know if we as human beings context switch as well as people make us out to. I think it’s more difficult than what we pretend it is.
Clayton:: One thing I see is that some organizations seem to struggle with the idea of a Scrum Master, where if you have, say, five different teams, do you have five different Scrum Masters? It seems like some people have a hard time making that decision, maybe from a budget perspective. Can you be an effective Scrum Master for five different teams, or is that the same kind of thing we’re saying here, where you probably can’t?
Howard: For me, I would say it depends. It would depend upon the maturity level of the teams.
In the beginning, it would be very difficult to be a Scrum Master for multiple teams. As the teams matured, I think that would become easier. You would have a primary team you’re focusing on and a secondary team you’re working as a coach or shepherd on.
Depending upon your skill set and the maturity of the teams, I think that role could work that way. Derek, you may disagree with that.
Derek:: Again, it goes back to, everything’s a trade‑off. The more ways you slice a Scrum Master, the less effective they’re going to be. It’s a matter of, how much are you willing to pay that penalty? In the case of, you already have high‑performing teams, maybe the penalty’s not all that high, so it’s very palatable to do so.
In the case of new teams, the penalty might be extreme enough that you’re not willing to do it. Some of it goes back to the capability of the Scrum Master. A more experienced Scrum Master might be able to balance a team or two, where a new one might not be able to.
I think it’s rough. These are trade‑offs that people make, from Product Owner to Scrum Master to database person to security to programmer to testing to you‑name‑it.
The real thing that people are talking about is budget. They don’t want to allocate enough budget to do things properly. It’s all a trade‑off. Where are you going to cut costs?
The problem is that people aren’t real or aren’t honest about the real penalty about some of the ways they cut costs. They say, “So‑and‑so’s ‑‑ Howard’s a really great Product Owner, so he’ll have no problem being a Product Owner for three different products.” That’s the lie we tell ourselves.
Agile’s role is to expose the truth. It does that fairly well in that when you share resources, you get poor results. I think that usually surfaces up.
Howard: Do you think it’s, in some ways, the way Agile has been sold? I’ve bumped across quite a few people that really feel that the number one benefit of going Agile is that, number one, it’s faster, but it’s cheaper, too, as well. We can deliver quicker, and it’s less cost than the way we were doing it. They’re going with a mindset of a cost savings, in a way.
Derek:: I think there is some of that that happens. I definitely think that we are marketing the wrong things. I don’t think we should be marketing “faster” and “cheaper.” Those are by‑products that happen as part of the process, but they shouldn’t be the necessary endgame of the process.
What happens is, yeah, you can move faster, but it’s not immediately. You do have to make significant change to get that speed and quality improvement.
Roy: The “you” is the entire organization, not just the developmental team.
Derek:: Yes, that’s correct. That’s where I see a lot of, “We made this big change over here in developers, so we can skimp on Product Owners.” No, not really. Or, “I made this really big investment in Product Owners, so we can skimp on developers.” It’s not that simple.
People still try to have a “nine babies in nine months” problem. (Mythical Man Month) You can go faster, but you can’t beat physics, so to speak, in some of these cases. That’s what we’re really up against.
Clayton:: To wrap up…
Howard: The Duggars did…
[crosstalk]
Clayton:: Go ahead, Howard.
Howard: I was going to say, the Duggars beat that statistic, I think.
[laughter]
Clayton:: To wrap up, is it possible for a team or, maybe, two teams or three teams or whatever to become mature enough where you could move resources around, or is that always going to be a detriment, and that’s something that nobody should really strive for?
Roy: I think I agree with Derek that it’s probably always going to be a detriment. You might be able to minimize that detriment a lot by having more efficient teams, but you’re always going to lose something.
Derek:: I want to make a small clarification. It’s absolutely, positively possible to move people around within teams, just not within a sprint or within an iteration.
If I’m bouncing between three teams within a sprint, there’s going to be a significant penalty. If I’m on one team one sprint and another team another sprint, there is a penalty but not a significant penalty in that.
Roy: We had Adam Sroka on a few weeks ago. One of the things he was talking about was software craftsman tourism or something like that, where companies would, essentially, do foreign exchange programs between each other with their developers to gain a new perspective.
I think that while you probably get a penalty in velocity and probably a penalty in the team’s cohesiveness, you might get a potential gain in innovation just from adding that new perspective to the team that they didn’t have before.
Clayton:: That’s a good point. Howard, as our special guest, you get the last word. Is there anything ‑‑ a tool or anything, really ‑‑ that’s been interesting to you lately, that you’re real hot on and you’d like to share with the audience?
Howard: Absolutely not. I can’t think of anything that’s just really, really zinging me right now.
Clayton:: The audience gets a view into your boring life, then?
Howard: Absolutely.
Clayton:: That’s too bad.
Howard: Absolutely. Totally boring right now.
[laughter]
Clayton:: All right. Thanks, Howard.
[background music]
Clayton:: We appreciate you joining us today. Join us again for another episode of The ScrumCast.
Howard: Thanks, guys.
Derek:: Thanks.
Chris: Thanks.
Jade Meskill: Hello and welcome to another episode of SCRUMcast. I am Jade Meskill
Derek Neighbors: I am Derek Neighbors.
Roy vandeWater: I am Roy vandeWater
Drew LeSueur: I am Drew LeSueur.
Alan Dayley: I am Alan Dayley.
Jade: All right Alan, so you had an interesting question for us. Why don’t you go ahead and ask the group?
Alan: Well, we continue to encounter the issue where companies and teams talk about how they are able to talk to the customer’s office. They would like, for example, the extremes from, the customer only shows up for a review or the customer proxy, if you will. Maybe the product owner doesn’t really know everything that the customer wants, all the way to, we haven’t seen our customer in six months.
What are some of the issues or ways that we can to help encourage customer to participate more. Do they really need to participate more? Are there things we can do to mitigate these sorts of things. That’s been something I’ve encountered just recently.
Derek: OK. When you say customer, do you mean end‑user of the product? Do you mean the person who’s paying for the product? What do you really mean by customer?
Alan: In the, two cases I can think of at the moment. In one case is the sponsor; the customer that’s paying for it, but they’re contracting with someone to build a app for their customers. In the other case, it’s an end‑user where somebody is paying for a specific development to happen and they just disappear after the initial couple of rounds looking at a product backlog or something.
Derek: In both cases there’s a proxy user of some kind?
Alan: Yes.
Derek: What is the team’s challenge with a proxy user? Is it that the proxy user just doesn’t have enough information, so, “Hey, how do you want this implemented? Do you want it in red and green in the proxy user’s?” The answer is, “I don’t know”? Is it a matter of the proxy user says, “Oh, green,” and then when you go do this print review, the actual customer says, “Why is this green? I clearly wanted this to be red” and then the team is frustrated that they…
Alan: It’s more of the latter. There’s a story told to me recently of a project that went on for three months and when it was delivered to the absent person paying for it; the customer, it was considered a failure because just too many things were wrong. Yet the team was frustrated because all along they were asking for participation, and obviously didn’t have it from the right person.
I suggested things like, “Well, stop working,” all the extreme stuff. You bring up extremes to make people think and have conversations, but the extremes sometimes aren’t practical to implement.
Jade: Did the team know that the person they were dealing with was the wrong person, or were they under the impression that this person had the proper authority and decision‑making power?
Alan: I don’t know the answer to that question, in this specific case.
Derek: I think sometimes the extreme thing is really not all that extreme. What I mean by that is, I’ve seen this a lot in third party development. It certainly can happen in enterprise development as well. If you don’t have the stakeholder or the customer, the person who’s actually paying for the work, really signing off on the work or being an active participant in the work, and you get to the end or at some milestone and virtually all of the work to date that is done has to be thrown out, which is more extreme?
Either not getting paid, if you’re a third party developer, for six weeks’ worth a work, which I don’t know about you, but most people would say, “That’s pretty extreme, to work for six weeks and not get paid,” or in an enterprise type of project that you do work for six weeks and it gets drawn out, and now you’ve lost six weeks worth a budget, which is the converse to doing that. Sometimes I think that’s not as extreme.
I would say, “Could you use your definition of ‘done’ to help mitigate some of this?” Could you start to say, “Maybe we don’t need the customer in every detail or available every day, every stand‑up, or every planning meeting, but could we get to a point that in order to have sign off it has to be signed off by the actual customer? In that way, we’re never getting more than a sprint’s worth of work done.”
What we’ve done in the past ‑‑ we had done some third party development work in the past. One of the things we’d do is a kind of a mini little contract. We say, “When we’re going to engage with you as a team, these are the things that we will do. We will have a planning meeting every sprint, we will have a daily scrum every sprint. We will review the budget as part of the sprint review. We’ll review progress, how we are recording the release planning every sprint.
We expect you to do these things. We expect you to be there for every planning meeting for clarification. You don’t have to be there in person, but you have to be available if we have a question, you are there to answer the phone if we need clarification. I think you can say if you’re not willing to live up to your half of the contract, we can’t live up to our half of the contract.
Drew: I think we’ve tried in the past when we were still doing that type of consulting work. We tried to use proxy product owners every once in a while where the actual person or head of the organization or whatever that was actually paying us to do the work wasn’t able to meet with us and would have a subordinate meet with us.
I think it’s…Pretty much in all cases it ended up rather poorly where we either had a problem where the person that got delegated to be our proxy product owner either didn’t know enough about the product to make his decisions, or every time we bring something up in the planning meeting, he’d say “Oh I don’t know the answer to that. I got to go back to the product owner” and we get a response a week later which for us is a whole sprint, or we’d have the other example that Derek gave, where they’d go ahead and make a decision and then we find out three weeks or four weeks down the road when the actual product owner gets a chance to look at it that none of it is the way that he intended.
Roy: I think following the money is a important lesson to learn here. Who’s really signing the check and making sure that they’re involved in some way. Especially that there is some feedback mechanism for that person to be able to let you know that, if they have created a proxy or delegated some of that, but that person is actually making correct, informed decisions and if they’re not, there needs to be a retrospective or some time for reflection to help the real product owner understand that that person is telling the team to do the wrong things and that issue has to be has to be dealt with.
That’s not the teams fault. They don’t know. They are being told that this person fully represents me and is your product owner, listen to them, but if that person’s not doing the right thing, there needs to be some feedback mechanism between that proxy and the real product owner to address a lot of those concerns.
Derek: Even when you have the real product owner being your product owner and you are not going through a proxy, I’ve been on multiple projects where the real product owner made bad decisions because they didn’t get the product out the door fast enough and into users hands.
They made all these assumptions about what the requirements were, based off what they thought users would like, whereas if they had released early, like within a month rather than six months, they may have saved themselves five months of development time realizing that the user had no interest in the product or had a significant amount of interest in one feature but none of the others, or didn’t care about certain defects or whatever the case was.
I think, even if you have the actual product owner at the development team, you should push the product owner to release his product as early as possible. I don’t know who said it but I really like to quote that “you should be embarrassed about your first release of whatever product that you are working on.”
Jade: [laughs] How does that contrast with “you only have one chance to make a first impression”?
Derek: That’s a good question. I don’t know. I think that in the past, that was probably more true than it is today. You are seeing with…I’ve seen multiple times now where there are products that are coming out, where they are almost offering data access to users. They get to use it for free or at a discounted rate.
You see that with Google, with Gmail when that first came out. You see it with games every once in a while too like, “Minecraft” is a really good example of this. Where users today and especially in my generation, are OK with having an incomplete product, they’d rather have an incomplete product for less or even for the same price but earlier on…
Alan: You little kids.
Derek: …than have a fully developed product that’s perfect.
Alan: The expectation is being set, that you are an early access user. That this is not the final product, right? That’s a clear thing. You are not just releasing the first release…
[crosstalk]
Derek: …Sure.
Alan: Well that’s…that was crappy, so let’s try again.
Derek: Absolutely. That should follow with whoever is releasing that product, should do that. I totally agree with that expectation is to be set. You can’t just release and say “This is awesome, it’s totally finished”! We had this exact example with Migo here, right? Where they released this product and they’re like “We’ve got this totally awesome finished product.” Everybody was all excited, go home and play with it and found out that it was still completely in development stage. Which most of the people here would have been completely fine with but it was presented as a finished product and that’s what totally killed it for everybody, I think.
I don’t want to divert too much here but I think that one of the things we see is that…A fundamental shift that has happened is, we don’t do box software anymore. The concept of version here is gone. The best example of this right now today is Facebook. I mean, Facebook is probably different every single time you log in to it. It’s got new functionalities shipping nearly every single day. When features come on, they’re not fully baked.
They’re not fully where they need to be but people’s expectations are, “It’s OK because it’s going to continue to improve or continue to change.” It’s not the world where you walked into egghead or best‑buy or 2999 and you got version 1.0 and it was going to be another year before you get the next version.
People are a lot more forgiving about a current product state than they ever have been in the past. When you’re talking about absent product owners or proxies, for me, the most telling part of a product owner or a customer is their commitment to the product.
It is a red flag in every way [inaudible 0:11:11] perform when I see a product owner, a proxy user or a proxy product owner put in place because there is not enough time. It’s really hard to feel important as a team if, “Hey, this is a company’s next big thing. This is what we are bent our future on. This is the most important thing,” but I can’t give you 20 minutes for a planning meeting for questions.
I can’t partake in a 20 minute demo to tell you what it is. To me, that is so indicative of how that stakeholder or that customer really cares about the features set. That’s why I have no problem doing extreme. If you can’t show up for the demo meeting on a regular basis and give feedback, we’re done.
At the end of the day, you are not going to want to write the check for this because you really don’t care about it. If I threaten that I am not going to do it and you really care about it, you will find a way to get to that meeting or to get your input in, because not getting it done is not an acceptable answer.
Drew: Yeah, I totally agree. I think a key concept here is the concept of iteration. If by 1 iteration, be it a week or 2 weeks, we should be able to know that sort of thing. Is the product owner or whoever was put in place to be the product owner, do they care about the product?
If it is in their hands and they can see it, they can improve it, “Yeah I like it,” or “No, it’s going the wrong direction.” If it takes you 3 months to figure out whether they really like it or not then your iteration’s probably aren’t real iterations.
Roy: This is something in recent… sorry I was co training a Scrum Master class last week. It’s always interesting in those classes when I did the portion that talked about the definition of done.
When you turn to the class and tell them you need to create the definition of done, let them expand and keep including stuff until every sprint you can give it to your end‑user.
You could see the fear on half the attendees’ audience faces because there is a whole new concept to them to actually deliver something and deliver it often.
Jade: I have been told by so many teams that that’s impossible.” How could we ever deliver anything in two weeks? That’s just insane. We could never do that.”
You don’t have to release the whole product but, can you deliver something of value in that short amount of time? If you can’t, you probably doing something wrong.
Derek: Are you questioning our two sprint release sprint?
Jade: Yeah, that’s right.
[laughter]
Derek: I think it goes back to what Derrick was saying about things like Facebook where you can have incremental value added week by week or even day by day and I think that’s the key.
If I can’t spend one week or two weeks, and work on something that has real value that people can really use, then what’s the point of working on that. When you do that and release it, then you’re releasing something real.
Jade: I do think we need to be careful with that generalization. That works really great for web software, but in an embedded world there are other constraints to pin on your market world, where that’s not just possible to deliver to the market that fast, but you should be able to have some sort of internal delivery system where you are delivering something that is of value and is of production quality for each sprint.
Roy: In the embedded world, I spent a lot of time there. The goal we always have is to be able to do sprint demos such that those few times that we actually had the VP or the CEO or somebody who doesn’t understand engineering, they could still see the demo and see value being produced from that demo even if it was just a prototype word, so that you try to pull all the way down to the end user and the non techie so that the business value is evident.
Derek: At least some feedback where they can see that value.
Roy: That’s as far as I’ve got with this question at the moment anyway. I don’t expect this podcast will solve those questions forever.
[laughter]
Roy: We will hear more of it over again.
Jade: Yeah, definitely.
[background music]
Jade: Well, thanks for joining us for this scrumcast and we will catch you next time.
**Jade:** Hello and welcome to another episode of the Scrumcast. I’m Jade Meskill.
Roy: I’m Roy vandeWater.
Chris: I’m Chris Coneybeer.
Jade: We have a special guest with us, Darrin Ladd, from “BigVisible”. Darrin wanted to talk about management inbreeding, why do bad cultures grow and thrive at large companies, right Darrin?
Darrin: Yes, it’s a topic near and dear to my heart seeing that I’ve been working with the same large organization for the last two and a half years doing coaching.
Jade: Wow. Why don’t you tell us a little about why do you think this happens?
Darrin: It’s a great question. Why don’t we define first off what this means, what I mean by management inbreeding. The idea is this, that within large organizations it becomes, sometimes this feeling of we don’t know what to do with this person. Let’s take a very commanding control Project Manager, who is really upsetting all of the project teams that they are working with and everything.
The HR organization and maybe there management doesn’t know what to do with them, sometimes unfortunately they say, “Maybe we’ll just try a new position, maybe we’ll try him as a team manager.” They suddenly get into the position of quite a bit of influence around, how people are rewarded formally and informally. As most people do they have, people are need this person had a strong need to survive. They kind of change themselves and what they do is they start to mold themselves around, how kind of the success that this person defines for them.
People who may originally have been very collaboratively minded, wanted to work together, wanting success for everyone, may suddenly become very focused on themselves, very much trying to be the Superman that stands out above everyone else and solves all the problems and makes everyone else look bad.
There is all sorts of, of course all the things that we have run into that we have seen that can be negative and suddenly that is, what they are doing to shine for this person. The interesting thing that happens is that this person recognizes that the person who stands out the most or does the most negative things, or it least negative to me, they recognize that as a positive. This is because they see a reflection of themselves in that person and they start to reward that significantly.
Soon what happens is that person who was a manager gets promoted to a senior manager or director or whatever your organizational structure is. They start promoting up underneath them the people who most closely reflected their own image.
Soon what you have is a whole organizational structure that has been grown up underneath this negativity. It’s very difficult for them to see any other options. That’s what am talking about management inbreeding, this perpetuation and growth of negative views. What happens within this is a self reinforcement because of the fact that as this individuals get promoted up they’ve been successful in this bad way of working, bad way of interacting or negative way.
The people above them and around them are like minded to them and therefore they continue to be rewarded for this. That’s really what I’m talking about here. I want to stop talking and open it up to you guys.
Jade: [laughing] That’s great and I don’t think that it is limited to just large companies. I’ve seen very small companies that exhibit the same behavior. A lot of that driven by whoever that leader is, the CEO, the President, essentially doing the same thing. Maybe not to the same scale but replicating that same kind of behavior.
Roy: A question I have, Darrin, is that you talked about working with some of the large organizations and Jade you brought up small organizations. Do you think that this inbreeding goes deeper and deeper especially if a larger organization is or the longer the organization has been around?
Darrin: I see it worse in the larger organization. I definitely recognize that it can happen in a smaller organization. The reason why I feel like it happens more strongly in larger organizations is because the influence of just a couple individuals in a small organization and their seeing things in a different way can be larger.
The reason why I say that is even if you think about your circle of friends, if you are together with four other people and you are all having this debate, maybe it’s not even a debate, you are all agreeing on the fact that the current president is horrible or this or that or whatever. Sometimes in that small a group, all it takes is one other person walking over with a different perspective to start to change the conversation.
Whereas if you’re in a huge room of a hundred people and you section yourself off into a little group and you start having that conversation and everyone agrees with you and you reinforce that, an introduction of somebody else within that whole organism, within those hundred people isn’t necessarily going to change your conversation, your self‑reinforcement of your own views within that small group.
It takes a much larger effort to start changing that larger culture or that [indecipherable 6:07] cultures that happen within larger organizations.
Jade: This manager inbreeding, the big promise that it causes that it creates a lot of [indecipherable 6:17] within the company? Because I guess the question that I’m thinking back to is this perpetuation of negative qualities. Is there a particular reason why it is only negative qualities that are perpetuated and not positive ones, like a [indecipherable 6:31] bunch of positive qualities as a manager and I see those positive ones in people below me that I promote for those types of things?
Darrin: That’s a great, great, great point. It really points out the whole other side of this that I should have introduced when I started talking about this. Which was, it doesn’t necessarily have to be negative qualities or negative interactions. It really is just a set of people who are all like‑minded.
If we look at…I don’t know, large organizations, Nike is a good example of a large organization that had market dominance back in the early 80s. They had market dominance in just men’s sports shoes. If they had stayed with their sweet spot and continued forward, they would have limited their ability for growth and their overall success in the long run. Who knows, maybe they would have even had a downfall and disappeared like some of the other just strictly sports shoes retailers.
What they did was they started to realize that having all of these people who were single‑minded in the pursuit of men’s sports shoes wasn’t going to make them successful, and so they said, “We need to get new ideas. We need to get new perspectives. We need to have people in here that don’t think the way we do to challenge what we believe.” So, in the early 80s, they hired their first female director. They started hiring people that previously to that, they never would have thought of hiring. Suddenly, one of the things that came out of that was they started to align women’s leisure shoes which now they are the market leader.
It’s the trap of this idea of like‑minded. I’ll tell you, I’m one of the people who do a lot of the interviewing and hiring for my company BigVisible, and it’s a trap that’s very easy to fall into because when you’re interviewing somebody, you’re looking for how easy are they to talk to, how easy are they to work with. You really don’t want that, not on all cases. You want somebody who’s going to challenge the norms. You want somebody who’s going to think slightly differently, give those different perspectives.
It maybe feels a little bit uncomfortable to work with them because they don’t see things the exact same way that you do.
Jade: That’s great I think. In Integrum our room, we have no problem with that. We’ve got a lot of very different perspectives. We don’t [indecipherable 9:05] It is a very good point. That’s a very important part of the company culture.
I think your example about Nike is a great one. From a company recognizing that they have a problem from the top‑down and taking drastic steps to change their culture and inject new life. What happens when, maybe, you’re a little bit lower in the organization and you’re seeing this monoculture ahead of you, what can you do to try to gain influence or make difference within the organization?
Darrin: That’s actually a really, really tough thing to do, I believe, especially from within the organization, a lot of times, when a culture has built up that’s basically uniform and it has all of those self‑reinforcing antibodies that it’s built up. It’s extremely difficult to start working your way through that and help people to see that there’s a benefit from different perspectives.
I’m an external consultant. It’s a lot easier for me than somebody who’s internal within the organization.
Hopefully, I guess one of the things is brings somebody in from outside who can start modeling some of the different types of behaviors: questioning things, asking the questions that everybody else is thinking but too afraid to say, because they’ve seen time and time again that this leadership or organizational structure culture beats it down.
There’s a safety there that can be very scary, especially in larger organizations. You run into people who have been working for this org for 10‑15 years, and there’s these legends out there of that person who asked the wrong question in a meeting, got on the blacklist, and never saw their career go anywhere, but stayed with the company for another 20 years and languish.
Those are the types of things that really hurt the ability for people to feel like they can start to challenge these cultures within organizations. I know I didn’t answer your question very well, because I honestly think it’s extremely difficult to do internally.
Jade: Yeah. I think it’s hard. I think one thing I’ve seen that’s successful is start to model those behaviors in the area that you do have influence, even if it’s just you and your peers, and start to show success. That usually gets some attention, and people will at least give you some sort of consideration. Hopefully. [laughs]
Darrin: Yeah, that’s a really good point, because what I have seen as well is that, sometimes, the culture isn’t as bad as perceived, so there’s a perception of not allowing certain things, not allowing these types of questions, not allowing doing things differently.
Sometimes what you can do individually is find someone maybe higher up that you have an individual conversation with, asking these types of questions or pushing the envelope a little bit, and you find that bright spot. You find somewhere within the organization where it’s like, “Hey, you know what? This person gets it,” and you start from there and you start having that grow virally.
You’re right, there are ways of doing it. I was thinking more of that big step forward, which is very difficult, but small steps, absolutely.
Jade: Yeah. You can’t go about it with just reckless abandon, because you will end up being blacklisted.
Darrin: Yeah, definitely. I call them antibodies, and I use that term very meaningfully, because there really is a whole organism.
Jade: Darrin, why don’t you tell us, do you have a success story where you’ve seen this culture begin to change, transform, and turn into something that is vibrant and has a whole new life?
Darrin: I have. I do. At the beginning, I said that I’ve been working with a company for about two and a half years, and there are lots of subcultures and larger, grander cultures within this organization. One of the ones that, actually, was really exciting was…there is the tip leadership culture within the organization, was one where everyone was completely afraid of ever questioning, basically, the CIO, the highest‑up person.
Any time she was in a meeting, they shied away from making any statements that might be considered even negotiable at all. Anything that might be something that you could go either ways. It was very politically charged. Slowly, what we started doing was actually asking some of those questions ‑‑ not the really tough ones, not the ones where you’re putting anybody on the spot or anything like that, but just started asking, “How do you see that?” or, “Why do you think that way or this way.”
The amazing thing that started happening was we started seeing that the CIO, that would sit down and say, “This is the way it is,” in the meetings, she would very visually and very verbally change her mind, show that, given some different inputs, she could change the way that she perceived certain situations.
This started to open up the group of executives to start questioning each other in front of her and start questioning her, and not questioning her or each other in a negative sense, but really like, “Wait, why do you think that way?” “What do you see that makes you feel that way?” “Wait, can you expand on that? Because I don’t quite understand.”
Suddenly, there was a culture of really trying to dig into things and understand it rather than try and stay safe and cover things up. You ask for a big one, and that, to me, in my mind, was the biggest one, because this was a group of individuals that, up to that point, were playing a major zero‑sum game.
If one person asked a good question, everybody else was angry because they didn’t ask that question rather than really trying to collaboratively work together.
Jade: Do you think it takes that person to make themselves vulnerable and show that that strategy can work in order for other people to get on board?
Darrin: In that case, I think it did, because, in that case, they all looked at her to see how they should act. There was a very hierarchical view in that case. I don’t think that’s the case in all scenarios. I think there are even situations where you have a group of peers that are very much collaborative in nature and work together as peers, but there still needs to be somebody who starts that, that single point, that single bright spot that starts to show that there’s a different way of acting that could be positive.
Jade: That’s great. I’m coaching an organization right now that’s going through some pretty radical transformation. They’re quite large. I see them teetering on the edge of making some of these mistakes. They have some open positions and they’re getting nervous about trying to fill those positions, so they’re just casting about looking for someone to fill in.
What would your advice be to an organization that is in this precarious position, where they’re in the midst of a cultural change, but they might pull in the wrong influences that could start this whole management inbreeding all over again?
Darrin: That’s something that I’ll tell you my company actually struggles with all the time. Why I say that is because my company itself has more work than people to do the work, or has more opportunity ‑‑ let’s put it that way ‑‑ than people to do the work. As a small consulting company, it hurts every single time you say, “OK. We can’t do this one. We need to get this away to a partner. We need to suggest that they talk to this person or that person.” But what we found is that, that’s absolutely the right call.
It’s keeping the integrity of your organization and making sure that you have that right cross‑section distribution of people and that the people that you’re bringing in truly align with your values. Not necessarily of the ways that you might see things, but of your values is crucial.
Giving up some market opportunity, giving up some business that you might be able to get to be be able to sustain the culture that you have. Maybe slow down some growth, I think, in the long run will actually make you more successful. That’s my opinion. Do I have a lot of examples of how that’s worked in past and how successful that’s been? Actually, I don’t.
I haven’t done a lot of research on that. It’s my gut feel right now.
Jade: Once again, I’d like to thank Darrin Ladd for coming on and joining us on Scrumcast. Very much enjoyed the conversations about inbreeding inside organizations. Hopefully, it helps our listeners try to open up their minds and think about, “How can we start to challenge the norm?”
Darrin, thank you very much for being on. We hope to talk to you again in the future. Is there any information you’d like to give out for our listeners?
Darrin: Sure. First, something I want to say. It’s been a pleasure. Thanks for having me on. Really good conversation.
Jade: Thank you very much.
Darrin: The company that I work for is BigVisible. You can find us at bigvisible.com. I’d be perfectly happy to hear from people given…if they have some opinions about this or even just to reach out and talk about other topics. So, thanks.
Jade: OK. Thank you, Darrin. Thank you very much for joining us. We’ll see you on the next Scrumast.
Darrin: All right. Thanks.
Jade Meskill: Hi. Welcome to another episode of the Scrumcast. I’m Jade Meskill.
Roy vandeWater: I’m Roy vandeWater.
Chris Coneybeer: I’m Chris Coneybeer.
Derek Neighbors: I’m Derek Neighbors.
Chris: I was reading an article this morning by Todd Landry, called “What is the right duration length?” He was bringing up some experiences that he had in trying to discover what the correct duration length is. He says that when they first started forming an agile team, they were new to the concept. They figured they’d do one week iterations. They’d have a really quick feedback loop and be able to adjust as quickly as possible.
He says they did that for a little bit. They felt that the overhead of all of the scrum ceremonies for one iteration, got out of hand, so they increased it to two week iterations. He felt that that worked a lot better for him. He says around the holidays they started an iteration where they said, “Well, we can’t really do a real iteration, so we’re going to start now, and we’re going to end when the last person leaves the building.”
It ended up being about a four week iteration, and he says that that was a complete nightmare.
Roy: Yeah, it sounds that way. I was about to unleash on that one, but…
[laughter]
Roy: At Integrum we have done a lot of one‑week sprints, and you guys have all been a part of those one‑week sprints. What do you think, what was the positives from doing one‑week sprint?
Chris: I think some of the positives were that the ceremonies were very targeted. We had to learn how to keep them under control. I think that’s something the teams go through is that they don’t do a good job of making sure they keep those ceremonies under control, and that’s why they get so much overhead from them.
Derek: Yeah, I tend to agree. The number one thing that I hear from people is that the overhead on one week sprints is too high. The only ceremony that I believe has that amount of overhead is, really, the sprint review including the retrospective. The main reason that I say that is planning should be a rough estimate of a percentage of time in your sprint.
If you’re doing a four‑week sprint, you might spend an entire day. If you’re doing a two‑week sprint, you might spend a half‑day. If you’re doing a one‑week sprint, maybe you’re doing two hours. I think that what happens is a lot of teams doing one‑week sprint spend a whole day planning, and that’s where they feel the overhead is. I think they’re just being inefficient in how they plan. I, actually, think it’s poor planning that hurts one‑week sprints, not that there’s too much overhead.
We’ve played with this on and off. On the retrospective side of the fence, say, we’ll only do the retrospective every other week, or do a light version of the retrospective, where we at least catalog real quickly some high level frustrations, but don’t dig too deep. Then, on the opposite week, dig a little bit deeper, and spend a little bit more time during that.
From a demo perspective, which is really the other element of it, you should be demoing your work pretty much as you complete it. You shouldn’t be building up a whole lot of sprint demo time to begin with, so…
Roy: I think there’s a lot of teams that don’t follow that particular piece of advice, where they’re demoing constantly.
Jade: But even if they’re not demoing constantly, if they are only demoing one week’s worth of stuff, then their demo shouldn’t take the same length of time.
Derek: I think another thing that kills people too is there’s this really bad stigmatism that you have to deploy when you have an end of a sprint. A lot of teams, deploying is very painful, and so that eats up a lot of time. It’s actually getting things deployed so that they can actually demo. It’s why I find, when there’s a poor build environment that, generally speaking, teams are less likely to want to do one week sprints, because the deployment for demoing takes up half a sprint.
Roy: I always tell people that they need to unhinge deployment and releases from their sprints.
Jade: However, I kind of feel like, if you’re doing the deployment every two sprints, then that kind of builds up a cadence. It does almost feel like it would make sense to…
Roy: I think it’s nice, and it’s good if you can get there. But I don’t think they should be solely dependent on each other.
Jade: I think in an ideal situation, you’re deploying as often as you’re demoing, which is daily, and you don’t have to worry about it.
Roy: I think that’s a pretty highly evolved product or organization that can live in that continuous deployment world.
Derek: I guess where I get really concerned is, I’m even OK, as much as I might bag on it, on a 30 day sprint, or a four week sprint, as long as a team understands that that’s a segment of where they’re at, not where they should be going.
I get concerned when somebody starts with a one week sprint and then pulls back to a two week sprint, and says, “For us, just a two week sprint works better.” Because what they’re really not acknowledging is all the problems that are keeping them from being able to do a one week sprint. I see teams do one week sprints all the time, really, really effectively, which means it’s doable.
If it’s not doable for your team, there’s probably other symptoms that are happening. Either you’ve got poor deployment practices. You have bad product ownership. You have poor planning meetings. A myriad of different things can be coming up that are preventing it from it.
Sometimes when people kind of roll back to this less‑than‑ideal state, if they don’t do it with a, “We’re only doing this for right now until we can get better at the other things,” then I think that that’s dangerous.
Jade: I think that there’s some huge downsides, too, to doing one‑week sprints. I’m sorry. Downsides to not doing a one‑week sprint, specifically when it comes to regards to research tasks. If I’m doing commitment during planning and during my planning meeting, I find out that I don’t have enough information and I need to write research tasks.
If have a one‑week sprint, then it’s relatively low‑cost. I spend one‑week doing the research. In the following week, I can immediately do that task. If I have a four‑week sprint, that means I do the research task. That even means it’s four weeks until I do the research task. Then I don’t commit to getting it done until four weeks after that.
It’s going to be eight‑weeks until that story gets done. Or I do the research task immediately, but then it would be four weeks before I, actually, address the story. Then it’s four‑weeks between research tasks.
Derek: But, if it takes you nine weeks to deploy, that’s all OK.
[laughter]
Chris: Something that we’re talking about is that some of these teams that we hear when they’re doing one‑week and then they go to two‑week, how many times do we hear it’s right in the very beginning? You’re talking about retrospecting, realizing, “What do we need to change,” where they’re getting used to this, so it’s probably talking them longer than it would.
Are they really retrospecting, going, “Are we getting better at this? Can we stay at one week?” I have some questions in regards of what did the team think of and why did they go to two weeks?
Derek: Too much overhead.
Roy: I think it’s reduces that pressure like Derek’s saying. Doing a one‑week sprint requires a lot of discipline, and a lot of willingness to introspect and really pay attention to yourself. When you see people getting really uncomfortable with that, it’s because they’re trying to get a little bit more of a buffer to feel a little bit safer.
I think that’s OK in the early adoption phase. But like Derek said, if you just get stuck in that rut because, “Well, that’s just what we do,” I think that’s a bad place to be. You should really be trying to challenge yourself, but I think that’s reserved for teams that are a little bit more mature.
Jade: With longer sprint‑sizes, you’re increasing the risk in a self‑organizing team. Because when a self‑organizing team comes up into retrospect, and comes up with an idea and they try it, in a one‑week sprint, they can cancel out that new thing to try within one week. But if you have a four‑week sprint, you’re stuck with that for four weeks. That can be devastating to the company.
Roy: You could also do retrospectives disconnected from your sprint.
Chris: That’s true.
Derek: I think, as an industry, most people are doing two‑week sprints. I don’t know many people that are really on a 30‑day or four‑week cycle, but one thing I’ll say that I noticed with almost every team I encounter. The teams that like two weeks sprints only can pull in two or three stories, generally, per sprint. When they task out to do their commitments, it’s usually in terms of days.
I don’t mean ideal days. I mean, “Well, I’m going to work on this task today. Tomorrow, I’m going to work on that task.” When I see teams that are OK with one week sprints, and actually prefer one week sprints, I usually seeing them pulling in three or four stories, at least per sprint. They’re pulling in tasks down to a 15 minute, nothing bigger than hour or two.
I think that that gives them a lot more fine grain control over, are they ahead or behind schedule. It really helps to pick up pace. That’s not to say that people doing one‑week sprints complete more stories. That’s not the goal of bringing in more stories.
But, they have a habit of decomposing things to a smaller level which gets them a better accuracy from a standpoint of when something’s going wrong, they know that’s it’s going wrong a lot sooner. It’s not because they’re in a one week sprint. It’s because they’re not having to wait until the end of the day to figure out, “Oh, I’m kind of behind schedule.” They know that by lunchtime of the first day.
“I’m an hour behind. Or the team’s three hours behind.” It allows kind of those course corrections to happen within an hour of a sprint opposed at the end of a week, or at the end of two weeks.
Jade: I think that we all agree that it seems like the shorter the sprint length or, at least in our case, we feel that a one‑week sprint provides the greatest ability to react to change to minimize the risk and offers a lot more advantages. Oftentimes, a desire to go for longer term sprints are a result of other pains on the team. Or other malfunctions within the team that cause them to shy away from that.
Roy: I think you need to take the rest of the organization into account as well. I see a lot of challenges, sometimes, for development teams that are willing, and able, to go to one week sprints, but there’s some impediment at the organizational level that’s preventing them from doing that. I think…
Jade: Product Managers.
Roy: [laughs] . I wasn’t going to name names, but I think that does factor into that as well. It’s important for teams to be cognizant of that. Also, I think, try to work towards solving that. What’s wrong, or what’s happening inside the organization that’s preventing the other part of the team, the product owner, from being as responsive as the development team.
Derek: It’s not just product owners, design too.
Roy: That’s a whole other Podcast.
[laughter]
Jade: I think that’s it. Thank you for joining us.
Chris: See you next time.
In this video we talk with Rose Hess-Nunn about what brought her to the User Story Class and some of the challenges she faces.
The post Special Episode : User Story Class Interview with Rose Hess-Nunn appeared first on Integrum.
Derek Neighbors: Hello, and welcome to another episode of the ScrumCast. I’m Derek Neighbors.
Roy vandeWater: I’m Roy vandeWater.
Perry Reinert: I’m Perry Reinert.
Chris Coneybeer: I’m Chris Coneybeer.
Derek: Today we’re going to talk a little bit about “Communities in Scrum.” One of the things every team struggles a little bit with is, “How do you get outside of just your team”? Meaning, you can inspect and adapt all you want. But if the only model you have is your own, you probably are not going to inspect and adapt nearly as much as if you were influenced by other teams, other models, coaches, et cetera.
How do we get outside of our own insular team, and how do we get into a larger community? How do are you guys seeing people engage in community around Agile and Scrum currently?
Chris: For us, here at Integrum, we actually participate in the local user group, the Scrum Alliance user group, which is something where we get to meet people all throughout the valley here in Phoenix that are involved in Scrum and we get to talk to them about some of the issues that they are having their implementation and we get to learn from them.
It’s very beneficial, and Roy and I were just at a last week and had a great time.
Derek: Scrum communities are great for that type of stuff and even exploring some of the user groups that are for other Agile methodologies, like let’s say you’re doing Scrum, it definitely doesn’t hurt to try to attend somewhat on Lean or maybe Kanban type user groups as well to try to see things from another perspective, even if you have no intention of switching over to something like that.
There’s a little bits and pieces or technical practices that you might be able to steal and apply to your team as well.
Roy: I know a lot of communities have eXtreme Programming XP groups as well and that some of the bigger metro areas have XP groups. There is usually IIBA, Institute of International Business Analysts and PMI which both are starting to bring on some Agile methodologies.
For somebody, that’s a good place, maybe not necessarily to learn as much, but to share some of what’s going on. Especially, if you’ve done a Agile transition recently, probably a lot of people going through similar things to be able to share experience and share stories with.
There’s a ton in the way of good conferences and good ‑‑ I don’t want to say coaching opportunities ‑‑ but training opportunities out there as well, the Agile Open Series, the Open Spaces as well as Agile 2011.
Maybe as part of that, Perry, you were recently at Agile 2011. What were some of the things that you saw from a community perspective that you really liked at Agile 2011?
Perry: There was a ton of community. Just the way they structured the conference was really built around community. They had different stages. They had all sorts of different specific like birds‑of‑a‑feather type groups. After‑hours events were with those same various birds‑of‑a‑feather groups, and it was really cool from that standpoint.
Derek: For people who maybe live in an area where they’re not sure if there’s a Scrum user group, how would somebody go about finding a Scrum user group in their local area?
Perry: For us, the Phoenix Scrum user group, it’s really easy. We’re one of the top searches. If you just go out and search for Scrum in Phoenix, you’ll find us on Google. But since it’s a Scrum Alliance‑supported activity, we’ve registered with the Scrum Alliance. Anybody can go out to Scrum Alliance, and they actually have a find‑a‑user‑group‑in‑your‑area link.
You can look in your area and find a user group. We have a website, PHXSUG.org, and most Scrum Alliance‑based user groups do have their own website within their city.
Derek: Definitely I’ve noticed a lot of LinkedIn groups as well that seem to be regional around Agile and Scrum, that’s another good place to essentially get plugged in as well as maybe looking at Meetup.com and some of other areas or even Facebook searching some events.
Being involved a little bit in Phoenix SUG, tell me a little bit about what it entails. A lot of people may not have a local Scrum users group, and maybe they’re a little bit afraid to make the jump to actually run a users’ group.
Maybe tell us a little bit about what it took to get one up and running and then what it takes on a monthly basis. What kind of commitment does it really take to run a Scrum user group, and is it worth your time to do it?
Perry: First of all, I definitely think it’s worth our time, and I’ll back up to the beginning. Anybody can just start a group. Get some friends, start a group, and start marketing. The next step for us was to make it a Scrum Alliance sanctioned user group.
What that allows you to do is to advertise on the Scrum Alliance site, post your meetings there, and it also allows you to use the Scrum Alliance logo with your web site. That gets you going. To get a website and have some page where you can post the date and the time and what the meetings are.
In terms of the monthly work, what we’ve done is, we have a steering committee. That’s just the original four guys that started. We meet once in between sessions, once between the general meetings. We think about what it is that we’re going to do for the next couple meetings.
It’s really about scheduling the next talk. Once you get the next talk done then it’s the marketing.
Putting in a plug for InfusionSoft here. We actually have InfusionSoft. It’s an application that manages ‑‑ it’s really made around lead management ‑‑ but that application, we have a web form up that collects people that are interested. They give us their name and address, goes right into the database, and then they’re automatically sent the updates, every month, about who’s talking and what the topic is.
For me to manage that is just incredibly…it’s like an hour a month now. Once that was setup, the form on the website to capture name and email, goes right into the database, and the emails go out automatically.
Then we also advertise, we have Yahoo! Groups, and LinkedIn. We do some other postings as well.
In terms of the actual amount of work during the month, if we all get together, then that’s an hour or so of generally pretty fun discussion about what to do, and we always get on some sort of Agile topic talking also.
Then there’s the meeting, which is, we run them six to about eight, once a month.
Chris: When a lot of people are trying to get user groups up and running, one of the questions that comes up a lot of times is content. How are you going to get speakers? How are you going to get somebody to get up in front and present? Are there any tips or tricks that you have for maybe four or five guys who are getting together and trying to start a group?
Perry: Yeah. First of all, usually those four or five guys are good for one or two talks each. Get one to kick things off. What we were actually able to do…and if you are a new group starting out, you’ll probably have a good chance at doing this. We actually were lucky enough to get Ken Schwaber to come and give, I shouldn’t say come, he gave the first talk.
That was actually a challenging talk. He did it remotely and in the end, for that one, we ended up holding a cell phone to a microphone to handle the audio. So, I don’t recommend doing a remote talk.
Derek: A very tight inspect and adapt loop.
[laughter]
Perry: Yes. That’s exactly what it was. It’s great. If you can do that, and kick it off with a big name like that, that’s great. We had 80 or 100 people at our first meeting. That really helps get the word out and then market it.
Our email list now, because we have that web form, I get five people every month that just sign up. That’s been going on for over a year. Plus, we started with a bunch. I think our list is 5‑600 people now that get the emails that say, “Somebody’s come, here’s the talk.”
Derek: Another thing that we’ve started to do that helps a little bit too is ‑‑ we’ve tried to make relationships with the CSTs that are teaching in the area. Whereby we help them promote their upcoming classes in exchange, at their classes, they let their students know that there is a community here. After they’re done with training that they can plug in to go look deeper is to participate in a group, helps quite a bit.
Perry: Yeah, that’s really a good point Derek. It’s one of the things they love to come, give their talk…You’re looking at 20, 40 new people potentially and it’s also easy to get them relatively easy to get them to cough up a free CSM Certification as a giveaway and that’s always nice to have to.
Roy: Something else that helps to, that I’ve seen, you guys have known for the last few meetings is having retrospect at the end of each one. So that the people who attend this Scrum user group actually get a say in how it’s going to continue and what pieces to keep and what pieces to throw out. So it’s not you guys guessing what we as attendees want, but actually listen to our feedback.
Perry: I agree. That’s something we’ve incorporated actually relatively recently and it’s really working out well. Everybody likes it.
Chris: Speaking about the user group, is there any downfalls that you’ve had over the last year plus and anything that you would recommend?
Perry: No, No. There is really no downfalls, the only challenge is that every once in a while you end up where you have a month like when you don’t have somebody scheduled and that always feel like, “Oh, we got to do something, we got to do something.”
But like I said, if you start with that core set of guys, and as you start branching out, and if you let people know that you’re looking for speakers…We always have somebody who wants to speak and there’re so many topics out there, on fun stuff, on games, on just all the topics available. We always end up getting it.
It’s not always a big name or a CST, but we always get it. It’s funny because a lot of those turn out to be really good ones, because you end up talking about something that local people want to hear and it’s not a canned talk from a CST. It’s real.
Derek: Yeah, I would say, two of the best scrum groups I’ve have been to wherein the presenter was more of a facilitator in letting questions coming from the audience and then letting the audience talk about the questions and you’ve got some real scenario‑based takeaways and people got really engaged.
I really encourage, even if you don’t have a speaker, just get another practitioners together and talking in a format is extremely beneficial.
Perry: You’re absolutely right. Any meeting you can get, however many people, five people and say let’s build the backlog of 5 or 10 things to talk about and prioritize the backlog and pick the first one and start talking about it.
You’re right. We’ve done that probably three or four times over the last year or so and those turned out to be really good talks.
Derek: Any final thoughts or questions?
Chris: Not from me.
Roy: You’d mentioned earlier a little about Open Spaces and I think you’re talking about the [inaudible 13:42] one, and there’s few other Open Spaces.
If you can find one that’s in your area and attend that ‑‑ that is really a great way, where you’re almost forced into meeting a whole bunch of people that are active.
That’s where you’re going to find out where all the best user groups are and you’re going to meet a whole bunch of friends where maybe you’ll find out that there isn’t one in the area and you must get a group of friends at it to start one, if that’s what you decided to do. So, that’s really a great way to get started.
Derek: There’s definitely one in Southern California](https://agileopencalifornia.com/san_diego.html), one in Northern California, and there’s one in the Pacific Northwest that alternates between Portland and Seattle, every winter, every February. All of them are really great opportunities.
Perry: And I was going to add to that also, just get out there, all those user groups, go to conferences, go to open spaces, other users groups that are related that aren’t even necessarily agile user groups.
If you go to those groups, you’ll meet people and you’ll be surprised because there’re lots of people going to non‑agile, non‑scrum user groups that are actually really interested in agile, and scrum and those technologies.
Derek: One of the things that you think Scrum user group is doing in accordance with the scrumcast is we’re publishing interviews after every one of our meetings and they’re available on iTunes, as part of this podcast.
It gives you the idea of who attends user groups and the stuff that is important to them and makes them tick and we’d love for you to share what your Scrum user group is doing, if you got one as well.
Thanks very much for joining us then, we’ll see you next time.
Perry: Thanks.
In this video we talk with Sandra Bufford about what got her interested in attending the User Story Class.
The post Special Episode : User Story Class Interview with Sandra Bufford appeared first on Integrum.
Clayton Lengel‑Zigich: Welcome to another episode of the Scrumcast. I’m Clayton Lengel‑Zigich.
Roy vandeWater: I’m Roy vandeWater.
Clayton: Joining us today, we’ve got consultant at Industrial Logic, Adam Sroka. Welcome, Adam.
Adam Sroka: Thanks for having me.
Clayton: Taking a little back straight to the audience, we met Adam at Agile Open in California few months ago or weeks ago now. You had some interesting things to say about some kind of things in the software craftsmanship, maybe more of the technical side of things, so we’re curious what you thought about that.
What do you think of the software craftsmanship movement or how that’s affecting the industry right now?
Adam: That’s an interesting question. For the most part, I’m a fan of the software craftsmanship movement. There’re a lot of really good ideas coming out of there and people really pushing some things forward that I think came out of extreme programming that maybe have gotten neglected by a lot of folks in the community as they go other ways. Software craftsmanship is backlash is against that.
Although, sometimes I have to admit I feel they go too far the other way, pushing against the Scrum. Kill all the managers, kind of thing.
But I think that we really do, as a community, need to focus on being technically competent because it’s so important to what we do. Especially, look at Lean Startup and those kind of things, how they are really pushing the boundaries of what we can do as businesses based on having these technical disciplines.
We are going to have to practice those to get them to that level where they are really going to make money for people.
Clayton: Let’s say that I’m a developer and I’m working on the Scrum team or in some Agile team or whatever, I am interested in the software craftsman thing, but I don’t really know where to get started. What’s a good first step? If I want to improve my technical skills, for instance, I say, “I realize I may be deficient. I want to get better. Where do I go next?”
Adam: There are a lot of good places you can go. I think it depends somewhat on language, what environment you work in because there are some really good books out there. There are really screen casts and stuff where you can watch the way other people work and learn from them. Just as a minimal investment kind of thing, just getting in where you are.
Then of course, if you’re willing to travel and go and meet people, there’s some excellent software craftsmanship oriented conferences now. There’re lots of code fests and those kinds of things, so there’s community opportunities to learn from other people. Even people who are really willing to invest a lot, have gotten into this touring craftsmen idea.
It really depends how much you want to put into it, but the resources out there are really amazing. Compared to when I first started programming, I don’t really have any of these things out there. I had to figure it out on my own. It’s really cool nowadays.
Clayton: If I flip that question on its head and say, what I am say, a Scrum master or a product owner, or something. I realize my team’s generating lots of technical debt. We have lots of defects, and we were not testing. I hear about all these things when I go to user groups, but my team’s not doing them.
What are some ways that you could drive that from that side of the equation to try and help people who are on your team become better in a technical sense?
Adam: Sure, it’s challenging. A lot of folks find themselves in a position where they’ve been developing on some project for a really long time. Maybe they more recently adopted Agile, and they feel like they don’t really have a lot of this. They say, “Oh, all this tester and development stuff and everything, that’s really cool. But there’s no way that it will work.”
Sometimes you’ve got to build incrementally towards it, and try little things. I don’t know that there’s one right or wrong answer of how to start there. It helps to have some skilled help, to get a coach. But you can do a lot just by experimenting and seeing where you are, and definitely measure it. Pay attention to what you are doing, and measure the results.
How long are you spending re‑factoring in the red, and those kinds of ideas. If you invest in figuring those things out, then you have metrics on which you can improve. I think that’s the area that really is pushing the boundaries that we really need to get more into as a community.
Clayton: A few minutes ago you mentioned a term that I didn’t hear before. You mentioned a concept called a “touring craftsman.” Would you mind explaining a little bit about that?
Adam: Yeah. I don’t know where that started, but it’s become popular in the craftsmanship community. Particularly in Europe, I think it started more in Europe.
There are some folks around here, Corey Haines, in particular. He left the job and toured around the country in his car going from shop to shop volunteering his time working wherever they would let him work. Now, others have copied that.
In Europe, they have this idea of industrial tourism where like two companies will actually just swap people for a brief period of time, so they get exposed to the other environment, get to bring back new ideas, challenge some of their own assumptions about how they should be working, that sort of thing.
I couldn’t send you straight to any of the links, but if you look at like the software craftsmanship Google group, there are folks in there talking about doing it. I think some people have even been talking about putting together a website where you can kind of list the companies who are willing to participate in this.
Industrial Logic has been doing it for a while, very informally. Anytime you’re up in the Bay area, you can show up at the Berkeley office. If Joshua or anybody is in town, you’re welcome to compare or pair on our code with us, that sort of thing. It takes a lot of different forms, but that’s the idea.
Clayton: In your experience, doing some consulting, working with different teams, things like that, what’s a common pattern that you see that kind of violates some of the eXtreme Programming XP principles or maybe violates some of the kind of technical excellence stuff? What do you see a lot of teams doing?
Adam: There’s a lot of different ways to go with that question, but the one that I guess I’ll focus on because it bothers me the most is your teams adopt Scrum coming from something else, whether it’s just sort of a hacking environment or a cowboy coding type of thing or a more formal like waterfall process, but they come into something like Scrum and they’re told we got to have shippable software every two weeks.
Then what they try to do is they try to take whatever they did before and shrink it into two weeks. It just doesn’t work.
That’s just not the right way to look at the problem. It’s not the right way to solve the problem. Figuring out how to get to smaller resolutions, when we’re working really the way at least Agile craftsman like to work where it’s truly TDD or BDD, so you’re working very tiny cycles and you can compose those tiny cycles into much larger changes, but they happen very incrementally. That mode of working is so vital to being able to really realize the benefits of what something like Scrum is promising.
That’s the thing I wish more people were aware of and more people were focused on. We don’t just want to bang it out in two weeks. We want to get disciplined at working in these tiny increments.
Clayton: Yeah, that’s a good point. I think we see a lot of people that are told that they have to start doing Scrum. You’re right, there isn’t a lot of direction from a technical setting. That’s kind of a thing that’s becoming a little more pervasive in Scrum or in other Agile communities. It’s not enough just to say that you’re going to do this methodology. There are some other things that go along with it. That’s a very good point.
Adam: I like the way David Anderson puts it from the Kanban site. He made the point that if you estimate two weeks’ worth of work and you expect to get those done in two weeks that should happen about half the time because there should be statistical normal variation in your estimates.
Aiming for two weeks’ worth of work is kind of missing the point, need to do something different to get two weeks’ worth of value.
Clayton: In the introduction you talked about some people may be taking the idea of software craftsmanship too far. Where do you see the downfall or maybe some pitfalls of software craftsmanship or maybe some things that people who are not as nuanced might be getting misled? Where do you see the problems or the side effects?
Adam: I really have a lot of respect for the people who are sort of the leaders of the software craftsmanship [indecipherable 09:49] right now. I think that they have the best intentions and they’re working in the right direction.
Where I would caution people, is anytime you get a new sort of movement, it tries to differentiate itself from the thing that came before it. There’re a lot of sort of anti‑Agile or post‑Agile ideas coming out in the craftsmanship community.
I try to caution people about that. Craftsmanship really isn’t saying anything particularly new, at least the underlying principles were there in XP since the beginning and probably in whatever came before XP as well. It’s not like, “Throw everything else because here’s this new thing.” It’s another piece of the puzzle. It’s another way of looking at things. It’s valuable that way.
But, don’t say, “Oh, you know, I’m a craftsman now, so I don’t need iterations or I don’t need to have a Scrum master or whatever.” That’s taking it a step too far, I think.
Clayton: Looking at it from another perspective of somebody who’s in charge of an Agile team, whether I’m the product owner or the PO of a company, and I’m seeing that they’re constantly producing unstable output that is defect ridden and is causing all sorts of problems.
How would you recommend that that type of would motivate their team to start caring more about software craftsmanship?
Adam: It’s tough. It’s a complicated question. It’s really a people question.
So really you’ve got to get down into the details of, “Why are people doing what they’re doing? Why aren’t they doing something else?” In order to get that, you really need to bring in expert people who know how to uncover those kinds of things.
What it really implies is does the company care enough about this idea of producing great software and not having defects and all these kinds of things? Does it care enough to invest the money it’s going to take to really get under the covers and figure out what that issue is?
Because I really doubt it’s the fact that you’ve got an office full of professional programmers who don’t want to act like professionals. That just doesn’t seem plausible to me. I think there’s probably something more going on there.
Clayton: Where do you see the software craftsmanship movement or the community? Where do you see that in say like two years? Which, I guess, in this industry is a long time.
Adam: I hope to see a lot more of the same. I hope to see that there’s been some interesting movement in terms of tool support in some languages. We’re doing some actually cool stuff in Industrial logic in terms of being able to measure what developers are doing inside the tools and figure out, “When did they re‑factor? When were their tests passing or were they failing?”
Some of that’s been around for a while, but we’re going beyond what we’ve had before and hopefully soon building some really new cool stuff. But, that’s sort of the idea, measure what you do. Balance what you’re doing to improve against what the measurements are telling you, you need to improve. That’s what I hope to see more of in a couple of years.
We’re already leaning that way, but I think, also, maybe we’ve extended like the [indecipherable 13:24] metaphor as far as it’s going to go. Repeating the same thing over and over again isn’t going to get us what we want. What we want is to really measure it and improve it scientifically.
Clayton: From a personal development or professional development perspective, what are some things that you can look back in your career, your experience that you feel really helped you improve either from a technical sense or from maybe the process sense? Is there anything you can pinpoint, any experiences in particular?
Adam: Yeah, I think moving around a lot. There are good parts to that and there are bad parts to that. But, I’ve seen a lot in a relatively short career.
I’ve been doing this professionally for about 13 years now, so I know a lot of guys who have been doing something like what I’ve been doing for maybe 20 years. But, they haven’t necessarily done more jobs than I have because I’ve just moved around a lot.
That helps. It gives you a broad perspective. It gives you that consultant’s mentality of, “Yeah, this is where you are today. But, you could be at a better place if you tried this, that or the other because I’ve seen it.” That I think has been really valuable to me. But, it’s not the path for everyone.
The other thing, too, is just continuing to focus on the technical side of things. There have been plenty of opportunities in my career where I could have gone to management side and maybe made some more money, but it has never appealed to me.
I always wanted to stay in the details. I’ve been able to make a decent amount of money and have an influence in the community while staying technically focused and I think that if you want to do that, you should do that.
Clayton: If someone listening wants to find you online or go to your blog or whatever you have, where would they go look?
Adam: You can look for me on Google Groups (software_craftsmanship). I’m particularly active on some of them like the Scrum development and XP, Yahoo Group and I’m all over them. If one of them interests you, hop on there and you may see me. I don’t have a blog up right at the moment.
If you Google my name, there’s some old ones out there on the bigvisible.com and a couple of other places. I should have a new one coming up sometime soon, but I don’t know the details of that yet. So stay tuned.
Clayton: Is there any tool or a website or person or process or something that you’ve been real hot on or real excited about in the last couple of weeks maybe that you want to plug or let everyone else know about?
Adam: I just recently started Industrial Logic, so I’m trying to get up to speed on things going on there. I haven’t been paying too much attention to what’s going on outside of it, but Industrial Logic is worth checking out.
Are You Learning is excellent, particularly for folks working in Java, C#, C++. They’ve got some really excellent stuff there. Like I said, it’s moving. We’re trying to move it to the next generation where we’re really measuring what you’re doing and helping to give you useful feedback about how to improve.
Clayton: Awesome. Well, we really appreciate you taking your time to do the podcast. We look forward to talking to you in the future.
Adam: Yeah, thanks. Thanks for having me.
Alan Dayley interviews Doug Hall after the October 2011 Phoenix Scrum User’s Group.
The post Special Episode : Doug Hall Phoenix Scrum User’s Group Oct 2011 appeared first on Integrum.
Jade Meskill: Hello, and thank you for listening to another episode of the Scrum Cast. I am Jade Meskill.
Roy vandeWater: I am Roy VandeWater.
Derek Neighbors: I am Derek Neighbors.
Jade: We have with us a special guest today, Ainsley Nies.
Ainsley Nies: Hello. [laughs]
Jade: All right. Ainsley has co‑written a book with Diana Larsen called “Liftoff: Launching Agile Teams & Projects towards Success.” Why don’t you tell us just a quick 30‑second overview of the book and what it’s about?
Ainsley: Well, as you can tell from the title, the book is about starting agile teams right and projects, of course. We talk about liftoff as the primary way to do that. Liftoff is when at first get together that you have once a project has been initiated.
Also, in that, we believe that chartering belongs in every lift off, although there are certainly many other things, activities that you can do during a lift‑off.
Jade: OK. Awesome. What was your motivation for writing this book?
Ainsley: Well, both Diana and I had done some chartering independently and on our own. We had both found that that’s an important step to take. However, we’ve both been involved in lots of retrospectives. As you know, Diana has written and co‑writes with direct respective books. So she knows a lot about that. But, I also have been doing a lot within HP.
One of the things that we discovered in just casual conversation, besides our interest in this, is that we had learned from doing as many. Literally hundreds between us of retrospectives that a lot of the things that come up. Especially repeatedly in retrospectives could have either been eliminated or mitigated had people really started their projects off right.
When we say “right” we mean with some kind of chartering effort. We looked around and although, we both know people who have been talking about this for a long time. We didn’t see anything written or any way to share what we knew. So we decided to fill the void.
Jade: Great. I’ve read an advanced copy of the book and really enjoyed it and have actually put quite a few of those techniques to use with great success.
Ainsley: Wonderful.
Jade: What do you think are some of the biggest challenges when you are starting off a new project?
Ainsley: As we always say, it depends. Many things can get in the way. The first, of course, is communication. For instance, one of the bigger steps in chartering, besides understanding the framework for it, is that the chartering process, itself, really emphasizes understanding, practicing, and communication. Learning to trust each other so that you can have good communication. Some of the steps throughout chartering actually emphasize how to do this. Communication is a big one. If you don’t have clear communication, none of the work you do during chartering itself is going to stick.
We talk a lot about communication. We believe that chartering actually catalyzes the interactions needed to accomplish a lot of the project work. It accelerates the team in collaborating and communicating.
Communication is really huge. There are more specifics, like common misunderstandings about what you are actually supposed to do. Again, communication is part of that. Part of our structure, we have something called the P ‑ A ‑ C ‑ model. The PAC model as part of our frame work. That’s purpose, alignment, and context.
In Purpose, that’s where we cover the product vision, the project mission, and project measures. Actually, management tests, we call them. Understanding those three elements of the larger purpose is part of what creates that sense of knowing what you are doing. The discussions that are involved in understanding and developing each one of those elements of purpose also helps create that clear understanding of what purpose is. Purpose is inspirational and it should add be motivating for the project work itself. Part of the reason we focus on purpose is to make sure that people have a common understanding.
Derek: You mentioned that you guys did lift off also addressing creating teams as well, correct? In the book?
Ainsley: I’m not sure I got your first? Creating teams? Is that what you said?
Derek: Starting off teams or chartering teams.
Ainsley: Oh, yes. Because we believe that when a project first launches and all the initial steps are done. Somebody had a vision. This has agreed to finance the resources and the people to do it. There has been a sign off and you are ready to go. A team has been assembled. Then needs to be some and it usually always is some formal start that goes on. That is what we call a lift off.
In order really to start the project right, we believe, you can do things like have activities in your lift off, performing skill development, a boot camp or some kind of team building. But chartering, actually that process in composes a lot of the team building work just in the act of doing it. In the specific to teams, besides understanding this alignment of purpose, there is also a larger alignment. That has to do with the team itself. Understanding what are working agreements, what are values and principles, who are we, what makes us up.
Those are the three things to go in the alignment element. Not all teams go through this working together to understand this. Sometimes teams often have working agreements, of course, and those are operational things, what is the definition of done. That is excellent work that could go on. But understanding values and principles that the team holds and the project community, actually. It really speaks to the beliefs and ideas about how the work is done itself. Just like the manifesto has some values and principles back it up. It is the principles that really talk about behavior. As I said it is different than working agreements.
A principle helps with decision making. If the team is stuck, say “How they are going to manage something or deal with a certain situation”? The principles are often there as guides. One of the principles that we used at HP in the Agile special interest group, in our work, was quality trumps expediency. That is the activity, even just having the team pull together to sit down and have a good discussion about values and principles. Helps align the team and the project community because everyone that has or shared an understanding of the work itself and how it is going to happen.
Derek: I think a lot of people that come into teams do not realize how often an organization adapts something say Agile, Scrum, exTreme Programming (XP). Something that comes up front high, that we have seen in numbers of engagements.
We have been into where a management says the want to do a quote on quote the agile and to management that means that stuff is going to get done faster and it is going to cost less money and the quality is going to be up. Then you talk to the project manager or the product development team or somebody doing the work, and they think of it as, “Oh, we get to be self‑organizing, and we get to be empowered.”
We had talked to one customer or one client that when asked, “What are the goals of why you guys are even doing agile?” because they didn’t seem to want to actually embrace any of the agile principles or values. So we said, “Why are you even doing this?” Their answer was, “Well, because the CEO says that they want the agile implemented by the end of the year by all of the teams.”
So if I’m in a company and I’m faced with implementing the agile by the end of the year, is “Liftoff” something that can help me maybe get the business side of the fence. The CEO, the CIO, and the project management team or the product development team to share its principles, or is it strictly really just for teams themselves?
Ainsley: You could certainly do chartering at multiple levels. An adoption, an agile adoption is a project undertaking in and of itself. If people’s answer of why they’re doing it is because the CEO said so, that’s sounds like an adoption that’s going to have difficulty.
[laughter]
Ainsley: It sounds like there hasn’t been communication, and people haven’t actually sat down together to talk about much. The purpose itself of even the adoption isn’t clear. What was the vision for this? Because purpose is comprised of, as I said, vision, mission, and mission test.
I assume it’s some high‑level executive that made this decision. What was their vision for? What did they see as a result of this? Then what’s the mission of this particular work team that’s got a product to deliver? Then what are the tests?
How is this executive going to know or the executive team going to have any sense that this adoption has been successful if they haven’t even thought about that when they start? The team has no guidance.
Jade: I like what you said that agile adoption itself is a project. That’s a great way of thinking about it.
Applying the techniques and the process that you outline in the book would be fantastic for a company embracing agile for the first time ‑‑ learning scrum, whatever it is that they’re doing ‑‑ to move themselves towards agility. That would be a great way to help them understand what it is that they’re doing, why they’re doing it, and how they’re going to get there.
Ainsley: I agree because in a liftoff, say, for adoption, as I mentioned, you could do many things in a liftoff depending on what the intention is. So you could do some scrum training as part of the liftoff because ideally of course you have people together, physically together. Even though some parts of the team may be distributed, if they’re ever going to be together, it needs to be during the liftoff.
So you could get your training done in any other of that team building stuff as well as the chartering. Which helps the team form not just in a standard team‑building exercise way but in a much deeper way because of the things that we cover.
The fact that dealing with not just the purpose and alignment…We haven’t even talked about context yet, which is very critical and probably one of the pieces of chartering that’s…The impact of understanding context is probably the less recognized of the other two pieces that I’ve talked about. So you could really design your liftoff to cover a broad spectrum of things while everybody’s there physically together and leverage it to the absolute best.
Jade: Yeah, that’s great. I worked with a team recently, like I said, using a lot of these techniques, and when we talked about context and drew out the context map and diagram, it was fascinating.
All of the issues that have not been thought of, all the communication pathways we’re just assumed by certain people on the team, and other members of the team had no clue what they were talking about. It was an incredibly useful exercise that was really, really important for that core team.
Ainsley: I’m glad to hear that.
Jade: I found that very valuable.
Ainsley: That’s great. That’s great. Understanding context is so important. It really helps define the limits. The boundaries so much depends on that that people make assumptions about it.
Jade: Yeah. We like to talk a lot as a company about restoring humanity and bringing more humanness back into the organization. As I was working with this team who was a newly formed team who had known each other for many, many years but had never really worked on a project like this, I took them through a lot of these exercises.
It went from a chore to something that was really enjoyable. Watching them gel as a team over the week that I was there coaching them, talking about shared values and principles was just a really incredible experience. I got a lot out of it. The team got an amazing amount of value out of it. It really set them off on the right foot. The project is moving forward, going strong, and I think a lot of it does have to do with that good solid foundation that they were able to start with.
Ainsley: I’m glad to hear. That fits with most of the experience we’ve had using these techniques. I must say hearing you talk about it, my guess is, because this is certainly what I hear from other people too, is that as you facilitate this, you can’t help but start to internalize some of it yourself and take a look maybe at how you think about things, “What are my values about work?” Things like that.
Doing the work itself and facilitating other people, I think, also adds value because you get a chance to reevaluate yourself, do iteration through yourself while you’re doing it.
Jade: Yeah, that’s great. Do you have a good story or a good experience that you could tell us of a successful liftoff that you’ve been a part of?
Ainsley: Mine are pretty old for what I was doing at HP. Diana has a very recent story, so it has used the techniques that we’re talking about here, specifically. What her undertaking was an adoption kind of situation. I can tell you that they had multiple teams because this was a very large project with a number of teams.
All the teams sat down, and did a basic charter for themselves. The scrum masters got some training individually about how to facilitate this. They all sat together in one large place as a group, and did their chartering, each team.
And then got together afterward, and did a discussion about what each team had done, and how they compared and contrasted with each other. This was in a very large company, and it’s gone on. They are continuing on this project, and it’s been successful so far. That’s kind of an adoption story.
Jade: What do you think about if we have a team that’s already been formed, we’ve already been moving forward on such‑and‑such a product or project? How does the advice and the techniques from your book come into play for a team that’s already halfway down the road on this project?
Ainsley: In a way, every time, as with many other things in Agile, anytime there’s new information, the charter needs to be updated. It’s a living document, once you’ve created your charter at the beginning, it’s an initial pass. The assumption is it will be updated whenever there’s new information.
So as you’re working through, as with working agreements, once you’ve got them down and useful, you usually roll one out and bring in a new one, right? Because you have to remember it, it goes up in your big, visible chart.
The same is true with the values and principles, or with anything else in the charter. Your context diagram changes, at least that’s been my experience, as work goes on. You wind up working with new people in different ways, the exchanges are different. Whenever there’s any kind of flow change, you want to change that context diagram as well.
Jade: If I have a team that…Let’s say we didn’t go through this at the beginning of our project, do you think we could at some point…Say we don’t have the vision, and mission, and mission tests, do you think it would be a good idea to stop and go through a lot of these exercises to get a better understanding of the project?
Ainsley: Absolutely, absolutely. Pretty much any time you see a place where there isn’t alignment, say between the core team and parts of the project community, or even within the core team itself, about the project work, you can go back to take a look at the alignment part of this model.
Also, you can re‑charter whenever it’s needed. In the same way people use retrospectives…There are retrospectives that you do on a rhythm basis at the end of an iteration or at the end of a release, there’s no reason you can’t do chartering or work on the elements of the charter whenever there’s a need.
It doesn’t have to be on a rhythm, but when something comes up that you need to deal with. It’s not just for the beginning of the project, it’s when the need arises.
Jade: That’s great. I think that’s really good advice to teams who maybe even if they did start off on the right foot, and have found themselves in a place where they’re just not getting along, or something’s going wrong. Always reevaluate everything that you’ve got, and take a look and try to identify where there’s an issue.
Ainsley: It just has to do with being agile. If there’s new information, did something change? What’s the best way to deal with it? Often that takes you back to looking at pieces of the charter.
Jade: As we’re wrapping up here, I’ve got one more question for you. What do you think will be the hardest thing for people to swallow from your book? What’s going to be the hardest technique or piece of advice that you’re giving them?
Ainsley: [laughs] I haven’t thought about what’s the hardest thing. My experiences is that every group has different people that…And the variety of people each have their own issues with certain parts. So a single part, I don’t know. I think there’s often a misconception which we try and dispel all the time.
The chartering means documentation, so that could be very off‑putting or difficult. However, this is really a limited documentation piece of work, and when we do talk about documentation, it’s often, or mostly actually, things that go up on big, visible charts. We’ve tried to keep it in line.
I think things having to do with communication and trust, especially if it’s a new team, could make this difficult, but that doesn’t make this process any different than any other kind of communication.
Jade: That’s great. When can we see this book? When’s it going to be out for everybody to read?
Ainsley: We’re looking at next month at this point. We’re working on some cover art, and a couple of other publishing level things. We’re, right now, looking at next month.
Jade: Where are people going to be able to find it?
Ainsley: The publisher is called Onyx Neon Press, and they’re in Portland.
Jade: How’s it going to be available? PDF?
Ainsley: Right now, we’ll probably have some kind of…I don’t know what format it’s going to be, but some kind of non‑paper version.
Jade: So Onyx Neon, you said?
Ainsley: Uh‑huh.
Jade: All right. Well, thank you so much, Ainsley, for you time and for coming on the show with us.
Ainsley: You’re very welcome. It was good talking to you, and it was great to hear that you’ve been using this successfully.
Jade: Yeah, it’s been great. I can’t wait for the book to get out, and for more people to take a look at it and give it a try.
Ainsley: Great.
Jade: Awesome. Well, thanks, and we’ll talk to everyone next time.
Derek: Have a great one.
Ainsley: Bye, bye…
Clayton Lengel‑Zigich: Welcome to another episode of the Scrumcast. I’m Clayton Lengel‑Zigich.
Roy VandeWater: I’m Roy VandeWater.
Derek Neighbors: I’m Derek Neighbors.
Clayton: Today we’re going to be talking about a blog post that Derek sent out to the team. It’s titled “Technical Excellence in Scrum,” from Dave Rooney. Derek, can you explain a little about that post and why you sent it out.
Derek: It was talking about technical excellence missing from Scrum, but specifically there is some talk about leadership. I believe it was Jeff Sutherland who had sent an email at one point ‑‑ or there is a famous email floating around ‑‑ where they talked about the first Scrum team that really was an eXtreme Programming(XP) team that started implementing Scrum in all of the XP practices in some form but were held up during their tenure.
When Ken and Jeff decided to take Scrum to the bigger community or to the industry, Ken thought it was worth taking the technical practices or XP portion out of it and focusing just on the Scrum framework ‑‑ not because XP wasn’t important, but because they felt that if you implemented Scrum properly, you would have impediments and when you ran into the impediments, one of the first things that you should do is look at the technical, excellence pieces or the XP principles to help unblock the impediments that you got to.
There was a recap at Snowbird recently, a 10 year anniversary, and one of the things that came up from a number of people is that if you are not really gung‑ho pushing towards technical excellence then you are not an Agile leader.
That Agile leadership has completely fallen apart from a standpoint of ‘they no longer push the technical practices in the ways that they should,’ and it’s to the detriment of teams and projects. I believe that the author was saying, “Hey, is that really true”?
Meaning, do most Agile leaders actually spend quite a bit of time trying to press, push forward, technical practices, but the business and the team pushes back and says, “We don’t have enough time to pair,” or, “We don’t have enough time to test,” or, “It’s too hard to get to continuous integration up.”
Is it the actual teams that are pushing back on the technical practices and not the coaches or the leadership that is failing to communicate those practices? That’s the argument. I thought it was relevant because I fall on the side that we don’t talk about technical practices enough ‑‑ we just gloss over them.
Clayton: There are two questions here. Is it a case of taking the author’s perspective and saying “Hey we’re working really hard to get these technical practices out there but the teams just aren’t responding”?
Is it the way that we’re delivering that message or talking about those things? Maybe that’s not effective. As Agile leaders we need to find new ways to explain those things to teams. Which side of the fence do you guys fall on?
Roy: When I was first reading through it and he was talking about “Well I push these things to the team and I’ve been doing it for years. Every time I get the same excuse. I get the, “We don’t have time to test.” I get the, “We don’t have time to pair because we’re coming up on a deadline.” It’s something that I’ve seen a lot in teams as well.
Part of what he is saying too is “I keep trying and they keep pushing back. At some point, when do I give up? And is that bad on my part that I kept pushing but I wasn’t able to convince them to actually go though with doing testing or doing pairing or any of the other XP practices”?
I think he tries to absolve himself from responsibility. I don’t want to necessarily put those words in his mouth but I feel that you do almost get that as a reader where “Oh, it’s not my fault because it’s the team’s fault that they’re not doing Agile…”
That’s a dangerous position to take, no matter what you’re doing. You should always go from the perspective of, “What can I do to make it different”? That said, I don’t think it’s right for a Scrum Master or a product owner to dictate to a team that they have to do everything test driven or they have to do everything paired. I think if you do that the team is going to rebel against it and it’s been mandated from the top and it won’t work. There are other ways to get the team to buy into that.
Derek: I definitely think it’s a leadership problem or a co‑team problem. To me, it’s two‑fold. One is when I look at most people that are currently coaching ‑‑ they’ve not been technical practitioners for than a decade. It’s really hard if the last relevant project I coded on was a C project for a Curses interface and I’m working with a team that’s delivering huge data sets to the Internet via APIs, high availability.
It’s really difficult for me to have any kind of respect from the development team when I say, “Well, just test, just pair, and just this,” and I’m not able to sit down and do those things with them.
I like to use the Dreyfus model, some people like to use ShuHaRi. I think some of it is the the Miyagi‑san thing. “Daniel‑san, paint the fence.” At some point Daniel‑san blows up and says, “Hey, bastard, why are you making me paint the fence”? Miyagi’s able to show him that painting the fence was a blocking technique that he needed to perfect.
We fall into two different categories. One is, we, or most coaches are not able to actually demonstrate the techniques to the team, therefore the team tries it once and says, “Testing is hard, it’s too slow, it’s way, way slower.”
When the teams that I’m on and the coaches that I see are highly proficient, testing doesn’t slow them down at all. If I can sit down and complete things as fast as a pair that isn’t testing, that throws out the argument that testing is slower.
I can frame the argument as, “Because you haven’t practiced testing enough, you are currently slower. You need to work on your skills as a tester to the point where testing does not slow you down, because it is possible to write tests and not be slower.”
If I can’t prove that, it sounds like, “Yeah, sure, asshole. You just want me to work harder and faster and put all this time in and you’re just a liar.” Some of it goes back to these little practices where you might say, “You need to do this because I say you need to do this for right now, because you don’t know better. You’re too early in the Dreyfus model to really know.”
The problem is I think we have a lot of coaches who do that, but then they’re never able to pull a team into maturity. When Daniel‑san says, “Hey, I’m pissed off. I don’t want to do this anymore,” they’re not able to go, “Here, let me sit down and show you, based off observation and my skill, what’s happened over the last three weeks when you’ve done this. And this is what you’ve really learned from that.” Instead they just go, “Don’t question me, just keep doing it.”
I do think it’s a leadership problem. I think teams have valid reasons why they don’t, but the best reasons are the worst excuses.
Roy: I’ve seen the exact same thing happening with pairing, where the Scrum Master, or whoever, comes in and says, “All right, we’re pairing now.” And the two people go to the Internet and look up what pairing means, and are like, “Oh, that means we stick two people in front of a computer.”
Then after a week of taking turns coding while the other person plays on their cell phone, they determine that it slowed them down significantly. Well, yeah. No shit! That’s what’s missing a lot ‑‑ if somebody came in and paired with you, taught you the appropriate ways or showed you some different pairing techniques that helped you stay focused, and brought out the benefits of pairing ‑‑ that would make a huge difference.
When we see a lot of people who are in Scrum Master positions, especially with a lot of the large organizations that are converting over to Agile, you’re getting project managers have taken that role, or you’re getting organizations that don’t even have Scrum Masters, and product owners which are former project managers. These people haven’t even touched code in a very long time.
Derek: I definitely think that contributes to the problem.
Clayton: Right now, at least in the community, there seems to be this kind of delineation between, “I’m an Agile Coach, and I do stuff for the organization,” versus someone who does technical coaching.
What it sounds like you’re saying, Derek, is that we cannot afford to have that delineation. If you’re the person that’s going to be doing coaching of an Agile nature ‑‑ I guess this kind of gets to Sutherland’s point ‑‑ you really do need to be up to snuff on your technical skills and you do need to be able to demonstrate pair programming, test first, and those kind of things.
I think that’s going to alienate a lot of people right now who are using the phrase ‘Agile Coach’ because they’ve spent a lot of, the last say five years, driving towards the organizational, C level, that kind of coaching. They don’t have any concept. Maybe they weren’t even ever developers, or they were developers 15 years ago. How do we re‑align? What’s the new normal?
Derek: Yes. I’ll use baseball here, an analogy ‑‑ I think one of the things that pissed me off more than anything with the Scrum Alliance, is CSC Application Process is their definition, I believe, the way that they look at a coach right now, is a coach is basically a Scrum Master that works with the organization instead of with the team. I think that’s an absolutely bullshit approach to what should be considered a coach.
I think you can be a coach, and only work with a single team, and make that team excellent. To me, if you’re working with multiple teams, doesn’t that make you a manager, instead of a coach? So I think we need to reframe a little bit what we consider a coach. I think, if you look at the XP coach definition and terminology, it’s much different than the “Agile” coach or the Scrum coach type of designation.
When I look at it ‑‑ I go into the baseball analogy here ‑‑ is I don’t know any manager currently in baseball that doesn’t know all aspects of the game at a pretty deep level. If they see somebody hitting, they know the hitting techniques. Maybe they haven’t played for a while, but they are still up to date on the most current hitting techniques, batting stances, how the pitchers pitch ‑ they’re fully informed, or they have access to staff that is.
They have a hitting coach, they have a batting coach. If you go to football, you’ve got a line coach, a kicking coach, a quarterback coach. That’s for a reason. When it comes to technical things, there are certain things that you can only know from experience.
You don’t have to be the best software developer, the best coder, or the best tester, but you have to understand the principles about being the best coder, the principles about being the best tester, so that you can get the most out of people who are talented and maybe do a little more.
I think we’ve gotten so far removed now that I think most Agile coaches, if you tried to ask them to code an application and do it all test‑driven, they would fall all over themselves. That would be an impossibility for most of them.
Roy: I understand where the Agile coaches are coming from by specializing and dealing with the organization rather than the developers directly so much. I think we’ve seen that going into a lot of organizations as well that a lot of the organization’s problems stem at the top.
There are definitely technical practices and things you can bring into a team, but, a lot of times, implementing those technical practices is something that’s blocked from on high. Like, you want to bring in something like pairing, and the teams wants to try it, but they try it, love it, and then, all of a sudden, you get management coming in saying, “Why the hell am I paying two guys to sit in front of a computer? I don’t understand.”
Derek: I absolutely agree, in the sense of, sometimes a team can’t be empowered to do the technical practices until the organization is ready. So you have an organization that says, “I’m ready to be Agile,” but in reality, that just means, “I want my team to work faster and have less bugs.”
Sometimes, it does take some organizational coaching. The quality teams out there, or the quality organizations out there, are ones that have people that have a broad skill set, either have a broad skill set to be cross‑functional, or, if they’re going to specialize, that they have multiple people on the team, just like the baseball team.
If I go into engagement, I’m going to bring a technical coach to work with the teams on the technical issues, get CI, pairing, whole‑team collective code after refactoring, get all that stuff under there. Maybe I’ll get another person on my team that is the organizational coach, and he’s going and talking to the CIO and the product development team in another group.
Maybe I’ve got another process coach, that’s more about the Scrum framework and how to get the most out of the business value, and those things. So, if you’re going to be specialized, I think, if we’re going to change it, we need to say, “OK, there are multiple coaches.”
If you’re not a coach that can coach all of the different pieces, then we need to call coaches what they are ‑‑ I’m a technical coach. I’m an organizational coach. I’m a process coach. If I can do all three of those things, then I need to specifically say what I can do.
Roy: That makes a lot of sense, to split it up like that, because I’ve seen before where we’ve gone into our organizations, where, if you start out by helping developers, it’s almost like you’re seen as a developer as well.
That puts you in the wrong position among your social hierarchy of that organization to help out with, for example, executive‑level coaching, where, even if you have the knowledge and the ability to do that stuff, you are almost seen as beneath that role, and you are no longer able to effectively help those people up there.
By splitting that up into multiple people, even though those people are able to work across those different fields, it almost makes sense to have those be distinct, different people, just so that they can fill their own slots in the social hierarchy of the company.
Clayton: It sounds like we’re agreeing that, to further Agile, that coaching and leadership in Agile needs to be in tune with technical excellence. Is that a fair statement?
Derek: Yes. Don’t confuse technical assholes with the software craftsmanship.
[laughter]
Clayton: That’s a good distinction. OK. To change gears a little bit, we wanted to go to Twitter and look up an interesting tweet. This one comes from Sandy Mamoli. That’s @smamol. She says, “Dear manager, it’s self‑organizing, not self‑managing. We still need you. Cheers, your team.”
What do you think? Managers in Agile ‑‑ do we need them, or can we throw them out the window?
Roy: I don’t know quite what the tweet is trying to imply.
Clayton: Were you tempted for a second thinking about throwing the manager out the window?
Roy: [laughs] I mean that might be kind of fun.
Clayton: Cause you to pause for a moment?
Roy: I think that tweet almost sounds like a cry for help from the team. I don’t know. It’s hard to tell if the person is the manager that’s saying that.
Clayton: No, I think they’re saying that we still need managers. I don’t know if this person is a manager or not, but…
Roy: I think that’s a very difficult thing to say, because there are so many different views of what a manager’s roles are. I think that some managers think it’s their role to completely control everything and then figure out who it is that screwed up, and that’s all that matters.
There are other people who think it’s very important that they protect the team from the outside, and that they need to allow the team to make their own decisions and provide a safe environment for them to do that type of stuff. I think those are two entirely different roles that can both be called manager.
Derek: To me, the two key terminologies they use to sum it up were self‑organizing versus self‑managing. I think that’s something that a lot of people get confused. A lot of times, a team will be given the empowerment to say you’re self‑organizing.
The delineation is if you are self‑organizing, you get to choose how to do the work. If you’re self‑managing, you get to decide which work to do. It’s very difficult to be on a team where you get to decide what work to do and you get to decide how to do the work. That is a lot of leeway, and it takes a very disciplined team or a very disciplined set of people to be able to work in that style.
I think what this person is saying, and I don’t want to put words in their mouth, is that, when a team that has been given the ability to self‑organize, the management is not stepping up and telling them what needs to be done, they’re just saying, “Hey, man, come on! Perform”! And the team is saying, “We want to perform, but you haven’t told us what you want us to do.”
A lot of people have a lot of anxiety. I know, in Integrum, we’ve had periods in our culture where we’ve allowed things to be fairly self‑managed, either by design or by accident, neglect, and I think we definitely saw people’s uneasiness really grow, because there’s a lot of doubt ‑‑ “Am I doing the right thing? Am I supposed to…”
So, if you have a structure, but your boss isn’t telling you what to do or what will make them proud, this would be like a parent saying, “Do good, kid”! “What would make you proud, dad”? “Just do good. Just do good stuff, and I’ll be happy.” That’s very difficult to get approval. I think teams crave approval, and you can’t have that if you are self managed.
Clayton: One example that I keep seeing come up in a few different places is the question of in an Agile team, or on an Agile team, how do I gauge individual performance? One thing that keeps coming up is that the manager can assess individual performance, even though they’re working together as a team.
There’s still a role for management. I think this question is topical. It comes from both sides. There are probably lots of managers who are in organizations that are adopting the Agile, and wondering, “Hey. Where do I fit into this whole thing”? There’s also some people on the teams that are, kind of what Derek was saying, they’re craving that, I don’t want to say approval, but they need some direction.
Roy: And feedback probably. OK. Thanks guys.
Clayton: OK, thank you.
Clayton Lengel‑Zigich: Welcome to another episode of the Scrumcast. I’m Clayton Lengel‑Zigich.
Roy vandeWater: I’m Roy vandeWater.
Derek Neighbors: I’m Derek Neighbors.
Drew LeSueur: I’m Drew LeSueur.
Clayton: Recently, we’re having a discussion on the team. Roy had mentioned that one of the things that he saw was that someone at the higher level of the organization was saying that they think that every… was it ticket, Roy? Every ticket, every emergency, every interruption, everything should be super important and there should be a sense of urgency around everything. Is that accurate?
Roy: No. I think it was more along the lines of every ticket should have a sense of urgency. Like every ticket is more important than another. When a ticket is more important, that its urgency should be felt throughout the entire organization. The entire organization should feel like the team is rushing to get it done as quickly as possible because we know it’s important.
Clayton: Can you describe what a ticket is just for some context?
Roy: In our case, a ticket would be like a story. It could be anything from a defect to a feature that needs to be implemented, just something that needs to get done.
Clayton: So everything is super important and there should be a sense of urgency around everything. So everything is urgent?
Roy: No. Not everything is important. I think that’s a big thing I took away from that…the thing I brought up to the team here, was about how the things that are important, like the rest of the organization.
Like, we have customers that interface with the organization. When they have something brought up, it is important to the organization that that customer knows that they are very important to us and that we are working very hard to fix that issue, and working very quickly, as quickly as possible, because we know that it’s important and they need it now.
Clayton: When I think of “sense of urgency,” I think of if I were, say, in some management position. I could say, “I want my team to have a sense of urgency so they feel like they need to get things done and it’s not just screwing around.”
From the customer perspective, “sense of urgency,” it seems like “sense” takes on a different word where it seems like you’re saying, “I want to give the customer the appearance that what they’re saying is very urgent to me. So I want them to have a sense that we are being urgent about getting their things solved.”
Roy: Right, exactly. I think sometimes too, because some of our stakeholders are people that are within the company, they also should feel like their stuff is very important.
Clayton: Derek, you were at the center, maybe playing devil’s advocate with this one earlier. What are your thoughts?
Derek: I see this expressed a lot of times in terms of velocity. I’ll see a team, “We’re going to commit to 20 points,” let’s say, and they are at 15 points on Thursday and to the outside world it looks like you’re not going to hit your 20 points and you seem to not really care about it.
I think I’ve seen this even internally, “Hey, we’ve committed 75 points and so at the end of day one we should be five points burned or zero points burned. At the end of the day two we should be 14 points burned and we’re no points burned.” Yet there’s no visible difference of the team from if they were completely out of track.
I think that a lot of time scrum masters or product owners or stakeholders start to say, “Where is the panic? A team should be panicking at this point.” I think that’s something I get conflicted with because in some ways I agree with it and in some ways I disagree with it.
The ways that I agree with it are that I think that a high performing team should constantly be pushing themselves to their limit but not overstretching themselves. I would akin this to say a long distance runner. A sprinter sprints all out and then has plenty of time to recoup, a long distance runner has to meter themselves.
I think in a sprint you’ve got these…most marathoners I know go by miles. They say, “I want to be running in an x minute mile for the first two miles and the next three miles I want to be running this. They have some pace that they’re trying to get to and if they’re behind pace they’ll try to improve that pace.
I think that when teams don’t set a pace or a velocity and they’re not trying to keep in rhythm with that and they don’t have any urgency to that. That’s to me a sign that they’re probably not on the path to be a high performing team.
However I think that it’s also dangerous to say that a team should always be panicked. Because most competent marathon runners I know don’t run a race completely panicked. They’re measuring themselves, they’re checking themselves, they’re pushing themselves accordingly but they also know what their bodies are like. They’re very self‑aware, so they’re not panicked all the time.
I think that to me, it depends on which direction you’re coming from. If you’re coming from the direction of like, “I’m really upset because my team doesn’t look like they’re panicked all the time. They must not be trying hard,” that’s dangerous. If it’s, “The team doesn’t seem to be pushing themselves” I think that might be valid.
Clayton: Let’s say that I as the manager have decided that…my understanding, it’s not good for me to say, “I want my team to be panicked and I want to rush them along” or something like that. I acknowledge that I want them to be pushing themselves to improve and all those things. What are some positive ways that I can help them or that the team can go towards that type of behavior rather than just being “everything’s urgent and I’m real panicked”?
Derek: In going back to the marathon runner, everybody knows what my body type is like, because I’m not a long‑distance runner in any way, shape or form. Some of this is setting goals for yourself, measuring yourself against those goals and then reflecting. This might be, “I’m going to set a velocity of x and my goal is to hit that, and it’s part of if I’m doing a one‑week sprint or a two‑week sprint or a four‑week sprint, whatever that is, I should be able to calculate some interval whether I’m on pace to hit that or not.”
A team that says, “We’re going to do velocity of x over some duration of y,” and they do not break that duration down to smaller segments to check themselves velocity‑wise ‑‑ that to me is a sign that they’re probably not a super high performing team, because what they’re doing is they’re hoping that at the end of their sprint, that they got the time or velocity that they’d hoped for.
Good, strong teams have some way of saying, and this is where the burndown chart comes in, but I think that people abuse the burndown chart and they just look at it as, well, here’s the burndown chart, and they’re not actively pacing themselves against that burndown chart.
Hey, we’re two days into a 10‑day sprint and right now we’re charting to be off by 5 or 10 points. What are we going to do to fix it? Are we going to put in some extra time, are we going to reduce scope, are we going to try to negotiate? What are we going to do to try to be able to finish on time? To me that’s not the same as panicked, but if a team’s not having those conversations, I’m going to suggest that they’re probably going to fail more often than they’re going to succeed.
Roy: Let’s say I’m in charge of a team that’s working beneath me and I recognize that they’re not performing. Would it be a good idea for me to try to push them by setting goals for them?
Derek: I don’t think so. Let me rephrase that. I think that you can ask them ways that they can be more successful. You could probably suggest setting smaller goals within a larger goal and then if they’re not hitting those smaller goals, start to have a conversation about, “Hey, how come we’re not hitting this”? “What could we do to potentially hit this”?
You could do that. If you’re actually setting a goal ‑‑ you say you’re going to do 20 points in the next five days, therefore you need to do 4 points a day and if you’re not I’m going to crack the scrum whip on you. Probably not a real effective way to get the team to perform.
Clayton: One of your other examples that you were talking about, Roy, was that this person who wanted this kind of sense of urgency was talking about it not just for the team, for the development team, but also for the whole organization. In talking to that and having that meeting, what do you see the other people in the organization, maybe the stakeholders or the product owner, how do you see them implementing this new drive toward sense of urgency about everything?
Roy: If something comes in that’s very urgent that it gets to cut everything in line that’s inside the current sprint. We don’t really have the concept of a sacred sprint, where nothing can get into it.
That’s something that’s been very difficult because every time the development team tries to push for something like that, we get a lot of pushback from the organization because they have demands that need to come in the middle of the week and need to get done right away and they can’t wait until the following sprint before they get done.
Clayton: It sounds like “sense of urgency” means let’s break the scrum, iteration contract and sense of urgency really means I get to interrupt you with whatever I feel like is most important at that moment in time, and you have to do it because if you don’t that means you don’t have a sense of urgency.
Roy: That’s definitely a loaded way to put it, but it’s not inaccurate.
Drew: That’s part of it and even in the sprint there’s a sense of, this has got to get done before the sprint ends. It’s got to get done by Wednesday or something. Derek brought up the burndown chart and maybe it’s Thursday and your sprint ends tomorrow and you haven’t got all your points in. Then you have to have the conversation of, do you scope or do something, what do you have to do to get it done? This sense of urgency goes right along with that.
When you have a visibility either with the burndown chart or communication with the stakeholders, then you can talk about things that might not be apparent if you didn’t have that conversation.
For example, if there’s this ticket, or task, or story that comes in, and it needs to be done, and there’s a sense of urgency on it. If you’re being visible with the stakeholder on where your progress is then they may be able to say, “Hey, all right. We’re not going to hit the deadline here, what can we cut out”?
“Can we remove all the fancy styling? Can we remove all the fancy colors, and just get the thing out”?
If you have the visibility then you’re able to have those conversations. If you don’t have that visibility then you might start implementing some fancy styles, or whatever it might be, that’s just an extreme example, without knowing that that’s urgent, or that that aspect isn’t as important.
I think a real big part of the urgency thing is the visibility and the human interaction with the stakeholder or the client.
Derek: I was just going to say, I really like analogies. I’m thinking back to an analogy from an operational day.
I think some of it is that there’s this mythical IT creature, or software developer animal, that a lot of business people have that says, “Really good developers like to slave away in the middle of the night, and be fed pizza and beer, and solve really hard problems, and grind themselves to death.”
“By golly, that’s the American developer dream. It’s to just burn yourself until you’ve got nothing left.”
I think sometimes the sense of urgency is, “My friends on the golf course talk about the developers that are working until three o’clock in the morning. When they come in from their golf game the developers are just leaving for the day.” I think that what gets difficult for development teams that are trying to have sustainable pace is that urgency is defined in a funny way.
The analogy I like to say is I was an operations manager for a Macy’s department store. We had six different escalators in the building. We had one particular escalator that had all sorts of problems. It would consistently seize up and it would throw people, literally, off of the escalator when this would happen. It happened to be in the middle of a chain of three other escalators, so it would impede all traffic going up or down when this thing would go down.
We were short‑staffed usually during the highest traffic peaks because the people that would handle that sort of thing were the stock managers and the people that worked overnight and early in the morning.
What would happen is we would have one or two guys on‑call. This thing would go out, and they would call in. They would demand, “Drop whatever the hell you’re doing. The elevators are down. All business is down. Get somebody here right away.”
My staff would complain all the time, “Every third day we get a call that we have to get interrupted.” Then I would chew them out that they didn’t get their job done. They’re like, “Well, you know, the elevator went down three times, and I had to go run and get the keys.”
It was funny to me that it was always so urgent when that happened. But when I would go into the staff meetings, and I would ask the store manager what the update is on calling the Otis repairman to come out and repair the elevator, it was never a priority. It’s like, “Well, which is it”?
I think that product owners and stakeholders tend to do the same thing. “Oh, I want this thing right way,” but there’s some other bigger issue that could really solve the problem, other than technology, but that’s beneath them. So what, it’s just a stupid IT guy. Let him go program this or fix this defect. We don’t care about quality to actually go write an automated test, or something, to prevent this in the future.”
“It’s not worth our time. It’s not our priority there. But it’s a total priority that you get interrupted and then we scream at you that you don’t get your other work done because we keep interrupting you.”
Clayton: I think that does it. Intergrum will be at Open Agile Southern California in the next couple of days. We’re going to record some podcasts.
If you’re interested in that and you can’t attend make sure you listen to some future, upcoming podcasts. We’re going to have some material from there.
Roy: Won’t that be in the past when this gets released?
Clayton: No.
Roy: No?
Clayton: We’re going to release this one, and then we’ll release the others in the future. If you’re listening to this one then the next few episodes you’ll probably get some content.
Derek: He’s not saying, “Join us at Agile Open California.” He’s saying, “If you missed Agile Open California be sure to check in on our summaries.” If you have a time machine you can join us at Agile Open California in Irvine.
Clayton: Great Scott!
missing content
Clayton Lengel-Zigich, Derek Neighbors, Drew LeSueur and Roy van de Water discuss controversial tweets.
@PMOObserver: “Always deliver what you commit to. No more; no less.”
@elizabethraley: “Scrum Rule: No Additional Requirements Can Be Added to a Sprint!”
@scrumology: “Comparing velocity between teams: Not everything that can be counted counts, and not everything th…”
@rslawrence: “In case you missed it over the weekend: ‘Why Longer Sprints Probably Won’t Help’”
@rramirez4444: “What are the TWO best qualities of a good Scrum Master? #agile #scrum (non-SM respondants given more weight on this one..)”
@alechardy: “Purpose of sprint review is to inspect and adapt. Demo during review is to prompt inspect and adapt conversation.”
The post Episode #33 – Agile Tweet Controversy appeared first on Integrum.
missing content
Clayton Lengel-Zigich, Roy van de Water, Derek Neighbors and Drew LeSueur discuss the use of agile tools and what their place is in a philosophy that favors individuals and interaction over process and tools.
Manifesto says to not favor tools and process
Tools remove the “Human-ness”
Distributed teams are often a big reason for wanting to use tools
Digital tools severely decrease visibility
Tools can prevent/impede conversations
Writing something physically forces your brain to engage
Blank index cards are more flexible than any tool
Tools become a crutch for bad decisions
The post Episode #32 – Usage of Agile Tools appeared first on Integrum.
missing content
Clayton Lengel-Zigich, Roy van de Water, Derek Neighors and Drew LeSueur talk about White Elephant estimating, a new way to generate estimates for stories to instead of the same-old planning poker.
Compare stats against planning poker
80 stories
5 minutes to discuss process/application
25 minutes to do estimation
10 minutes to get velocity
Team is moving around and more enganged
Everyone had to be active
Nobody can set the tone
Disagreements were resolved quickly
Made easier by having a trusting team
Link to blog post: http://blog.mikepearce.net/2011/05/02/how-do-i-estimate-how-long-an-agile-project-will-take-before-we-start/
The post Episode #31 – White Elephant Estimating appeared first on Integrum.
Missing Content
Jade Meskill, Clayton Lengel-Zigich, Roy van de Water, Drew LeSueur and Chris Coneybeer talk about leadership and how you might identify leaders within your team.
A leader bring the people around him/her
Teams can have multiple leaders
Leadership is based on trust
People will step up to fill a leadership vacuum
What is the value in identifying the leader?
Having trust/respect makes it easier to lead
Improving the team can be to the short-term detriment of the leader
The more self organizing a team is, the less important the leader is.
Leaders are willing to take responsibility for the team
The post Episode #30 – Leadership and Finding Them On Your Team appeared first on Integrum.
Clayton Lengel‑Zigich: Welcome to another episode of the Scrum Cast. I am Clayton Lengel‑Zigich.
Roy vandeWater: I am Roy vandeWater.
Drew LeSueur: I am Drew LeSueur.
Chris Coneybeer: I am Chris Coneybeer.
Jade Meskill: I am Jade Meskill.
Clayton: Last week, I had sent out an article to the team that I’ve found on InfoQ. The title was “How Rigid is Scrum?” And, kind of, It’s a collection on different quotes and some observations that people have made about the flexibility or a lack thereof of the Scrum framework.
Just to get going, what’s everyone’s opinion? Is Scrum flexible or inflexible framework?
Drew: This is Drew. I would say that it’s flexible. Because, it’s overall very simple. It’s got a couple of artifacts, a couple of ceremonies and just your basic structure. In between that, there’s a whole lot of room for movement, for change, for inspecting, and adapting. Because of the overall simplicity, you can explain the general idea to somebody, in maybe, 10 minutes, or so. There’s a lot of room for change.
Roy: I think that Scrum should initially be rigid, and become more flexible over time. It is a good starting off point, you get yourself to that point, and then start adapting, and figuring out whatever works best for you. That produces the best results.
That means doing things that Scrum allows for. Sticking to Scrum by the book, you still have a lot of flexibility to do your own thing. Even breaking some of the rules of Scrum. As long as everybody is on board with what is going on, and you try one, or two things at a time, so you minimize overall risk, and are able to measure the impact. I don’t see anything wrong with that.
Chris: This is Chris. I agree with Roy, and I think that that’s specifically, what Scrum was built for. That it’s built to be rigid. At first, not rigid, but it’s built to be something that you can follow, and you can learn from, and then adapt, and change. I don’t think it’s rigid overall, no.
Clayton: It’s funny that you mention, the idea of, Roy, of maybe it being inflexible, or rigid upfront, in doing Scrum. One of the detractors in the article mentions that, it sends alarm bells, when a team says that they are going to do Scrum by the book. Another point in the article mentions that, some teams seem to Scrum by the book, and they make it very rigid from the start. They’re afraid of doing it wrong, and they just want to make sure that they are doing the right thing. Do you think that that’s a mistake?
Roy: I don’t think that that’s a mistake, and I think I brought it up in a previous Scrumcast. Which, is that a lot of times when you’re first gaining experience with Scrum you want to break some of the rules of Scrum because it’s easier. What I said before that you can feel free if you know what you’re doing, and the entire teams on board, and all of that, and you’re measuring the changes, and you’re breaking the rules of Scrum. I don’t mean that you’re doing that to find something that’s easier. I mean to find something that’s better. That gets more business value, and that produces a more reliable result.
I think a lot of times people will take a particular rule, like let’s say one product owner, and they’ll say, “Well, that doesn’t work for us, because we have a whole bunch of different people. Let’s just set up a whole bunch of product owners, and we’re just going to go ahead and break their rule. Because that doesn’t work for us.” That ends up causing problems down the road, and really what they’re avoiding is they’re avoiding a really difficult conversation where they start having to make decisions. Instead they just cater to everybody at once, and that ends of not benefiting the entire team in the long run.
Clayton: This came up at Agile 2011 in somebody’s talk that I was in, and they made a great reference to Pablo Picasso. They brought up some of his very early works, and they’re very traditional paintings that you would really expect from a normal painter. What he said is that Picasso had to learn the fundamentals and the basics of painting, and how to paint, and how to replicate exactly what he was seeing, before he was able, to then throw out all the rules. Break all the rules, and come up with amazing innovative paintings that he was able to create later. I thought that was a really good way of putting it.
Chris: This Chris, I just want to add to that, and the fact that I’m working with a team off site right now. I think that some of the problems I had when I first got with this team, really come from where they took Scrum, and they wanted a process because they were so used to having processes and waterfall before. That they treated that process as if it was inflexible. It wasn’t’ that Scrum wasn’t inflexible. It was the way that they treated it because it was their culture, and that was the way that they were used to doing things. I think if people are going in, and they’re being well coached, and they understand that this is so that you can learn and make decisions later, and then you make changes based upon what really works for your team instead of just when it hurts. That it can be a great platform for you to start building upon.
Clayton: That brings to another point that someone made to the rigidity of Scrum. Is they mentioned that they didn’t really like the stand‑up meeting, because they felt that the 15‑minute time box, and the idea that each person was going to say their piece and move on, didn’t really let spontaneous knowledge sharing occur. It was hard to have a 15‑minute time box because the team would be going in a certain direction that they thought was a productive direction, and they were having a good conversation and then the stand‑up had to be over.
Is that a misapplication of the stand‑up rules? Or is that the purpose of the stand‑up, to keep that stuff short and maybe not everyone benefits from that or not everyone agrees that they were going on the right path?
Roy: I think that’s a good example, where the stand‑up rule should have applied. It makes actually a lot of sense, because there were certain members of the team having a great discussion that they felt was really productive. What you don’t know is, either two or three or four or however many members of the team felt that this was wasting their time, because it touched something that they had nothing to do with.
So, I think that the 15‑minute stand‑up would have allowed it to come up, so everybody who’s interested, is aware of it, or everybody who feels like they’ve something to contribute is allowed to become part of that spontaneous interaction. Then, push it towards offline, so you stick to your 15‑minute time box, and immediately after stand‑up, continue the discussion. Only with the people that want to be part of it, and feel that they’re able to contribute.
Drew: Yes. For example, today with our team we had a spontaneous, you could call it a meeting, but it was more like a team conversation, where we even pulled in more stakeholders and it was spontaneous. Just because the scrum framework doesn’t prescribe any spontaneous meetings per se, it doesn’t mean you can’t do them.
Clayton asked if that was a misapplication. Let’s say if there was a legit purpose for extending a morning meeting longer that didn’t follow within a stand‑up, you can call that just another meeting, I would say.
I do agree with your point, Roy, that if something is uncomfortable to have a rigid stand‑up, it doesn’t mean you shouldn’t do it. Try to do the uncomfortable parts of Scrum because it might expose issues. You really have a great point there, probably two or three of those people aren’t getting anything out of that extended stand‑up.
Clayton: Is there a chance that some people might confuse, regardless of the agile methodology, having a rigid system or the system being inflexible with something that’s maybe exposing a bad behavior that they currently have on the team? Something that they’re used to doing, that maybe they shouldn’t be doing, but it feels wrong not to do it, and so they inappropriately apply that as an inflexibility of the methodology.
Roy: Got you. Like for example the multiple products or anything like, “Oh, well, Scrum is all the fuss because it requires only one product owner, and that’s just not possible,” something like that.
Clayton: What are some examples of where, maybe people, for this particular instance, are used to having long morning meetings that one or two people think are very productive, but everyone else in the team thinks are not. It would seem that the 15‑minute time box is restrictive.
Roy: Or, another example could be, “Our development cycle’s too long, there’s no way you could have a four week spread like that, that’s never going to be able to happen. That’s a limitation of Scrum that doesn’t fit our eight‑week cycle model.”
Jade: I was thinking back to where we first started adopting Scrum inside Integrum, and so many things that we said were impossible are the things that we do every day. I think it was because it made us uncomfortable and was not part of our culture that we wanted to resist those foreign elements coming in to how we do business. Once we got over that and started to pay attention to the benefits that the constraints were giving us, that’s when it became much easier to accept those limitations, embrace them, and actually use them to make us better.
Clayton: So, it’s good that you bring up the idea of the concept of constraints. I think where the article drives towards, eventually, is that there are certain sets of constraints that every application, every agile methodology is going to have, whether it’s Scrum or whatever. You’re going to have these constraints and maybe you just need to make the choice that, if you can’t live within those constraints, then maybe this isn’t the right framework for you. Do you think it is appropriate to say that if you can’t live within these constraints of Scrum, don’t do Scrum at all? Or is it OK to, maybe, do parts of Scrum?
Jade: Yeah, I think there’s great parts of Scrum that are really great that’s practices. No matter what it is that you’re doing. No matter how what you want to apply the framework. So, I certainly think that you can pick and choose certain practices from Scrum, but I don’t think that you’ll get the full benefit. You won’t see the maximum effectiveness without embracing the whole thing.
Chris: I agree with you. It think that there’s so much that practice is built upon the other practices to help bring the teams together and to help everything work better and to achieve that efficiency. People that cut and chop it up, they never realize that. Then, it gets even harder for them to understand why some of the points that they’re trying to stay with, why they’re painful.
Clayton: Yeah, so, I guess to wrap up. What are some ways that if you’re on a team and maybe you’re trying to adopt scrum and you’re feeling like it is inflexible…Where do you reach out or how can you be sure that it’s the framework that you’re running into versus something that’s inherent to your team? That’s baked in. Maybe a bad practice that you already have.
How do you know which is which? How do you approach that problem?
Drew: I think that’s something that’s very difficult to discover. Especially if you have very little experience with it, I don’t think that you’re going to be able that determination without getting some kind of mentor or bringing in somebody that has more experience or…
Even if it’s just an outside person that’s not so closely attached to the problem, is able to make that determination a lot better than you so far, especially if you’re just starting with it.
Roy: Also, I think…
[Cross talk]
Drew: Go ahead.
Roy: Also, I think that…how do I determine if this is just not right for me or if I’m doing it wrong or what…the cool thing about Scrum 2 is the inspecting adapter, the iterations. So, how about for one iteration or whatever you want to call it, you hardcore try this principle of Scrum that you don’t think applies to your team?
Maybe you have to do it for more than one iteration, but at least for one and inspect and adapt. There’s always obviously going to be the first uncomfortable part about it. But, try it out. I think that’s a huge thing. Even if you don’t think it applies. A lot of people say it works. Try it out and see what the results are.
Jade: I think that’s good. Going back to what Roy said, I think it is challenging to see from the inside your own problems.
I do think it can be done, but you have to be almost psychopathically dedicated to looking at yourself and introspecting and really digging deep all the time and pushing the limits, all the time of what it is that you’re doing to see where the core problems lie and what’s really going on.
So, I think you can benefit from a third party because they’re not weighed down by all that baggage, but it’s certainly possible to overcome yourself and your own challenges with a lot of hard work.
Clayton: All right. Thanks, guys. That brings us to next time.
missing content
The Integrum team traveled to Irvine, California to attend the Agile Open Southern California on September 15th and 16th of 2011. During the event we had the chance to be able to interview some of the attendees and talk to them about the Open Space that they had just facilitated. Open Space Technology conferences are great events where the attendees get to create and completely control the content of the “conference”.
Enjoy this video as we talk to Alix Holmes about her Open Space on integrating user experience design with agile processes.
For more information on this event or their sister event Agile Open Northern California check out the site at www.agileopencalifornia.com.
The post Special Episode : Alix Holmes – Integrating User Experience Design with Agile Process appeared first on Integrum.
missing content
The Integrum team traveled to Irvine, California to attend the Agile Open Southern California on September 15th and 16th of 2011. During the event we had the chance to be able to interview some of the attendees and talk to them about the Open Space that they had just facilitated. Open Space Technology conferences are great events where the attendees get to create and completely control the content of the “conference”.
Enjoy this video as we talk to Chris Scripca about his Open Space on Game Programming for Fun and Keeping Thousands of People Happy.
For more information on this event or their sister event Agile Open Northern California check out the site at www.agileopencalifornia.com.
The post Special Episode : Chris Scripca – Game Programming for Fun and Keeping Thousands of People Happy appeared first on Integrum.
missing content
The Integrum team traveled to Irvine, California to attend the Agile Open Southern California on September 15th and 16th of 2011. During the event we had the chance to be able to interview some of the attendees and talk to them about the Open Space that they had just facilitated. Open Space Technology conferences are great events where the attendees get to create and completely control the content of the “conference”.
Enjoy this video as we talk to Ainsley Nies about her Open Space on “Agile Chartering“.
For more information on this event or their sister event Agile Open Northern California check out the site at www.agileopencalifornia.com.
The post Special Episode : Ainsley Nies – Agile Chartering appeared first on Integrum.
missing content
The Integrum team traveled to Irvine, California to attend the Agile Open Southern California on September 15th and 16th of 2011. During the event we had the chance to be able to interview some of the attendees and talk to them about the Open Space that they had just facilitated. Open Space Technology conferences are great events where the attendees get to create and completely control the content of the “conference”.
Enjoy this video as we talk to Scott Dunn about his Open Space on Strengths Based Team and Personal Growth.
For more information on this event or their sister event Agile Open Northern California check out the site at www.agileopencalifornia.com.
The post Special Episode : Scott Dunn – Strengths Based Team and Personal Growth appeared first on Integrum.
missing content
The Integrum team traveled to Irvine, California to attend the Agile Open Southern California on September 15th and 16th of 2011. During the event we had the chance to be able to interview some of the attendees and talk to them about the Open Space that they had just facilitated. Open Space Technology conferences are great events where the attendees get to create and completely control the content of the “conference”.
Enjoy this video as we talk to Jason Kerney about their Open Space on using creative processes to drive development.
For more information on this event or their sister event Agile Open Northern California check out the site at www.agileopencalifornia.com.
The post Special Episode : Jason Kerney – Using Creative Processes to Drive Development appeared first on Integrum.
missing content
The Integrum team traveled to Irvine, California to attend the Agile Open Southern California on September 15th and 16th of 2011. During the event we had the chance to be able to interview some of the attendees and talk to them about the Open Space that they had just facilitated. Open Space Technology conferences are great events where the attendees get to create and completely control the content of the “conference”.
Enjoy this video as we talk to Julie Smith about her Open Space on reluctant team members and participants on agile teams.
For more information on this event or their sister event Agile Open Northern California check out the site at www.agileopencalifornia.com.
The post Special Episode : Julie Smith – Reluctant Team Members and Participants on Agile Teams appeared first on Integrum.
missing content
The Integrum team traveled to Irvine, California to attend the Agile Open Southern California on September 15th and 16th of 2011. During the event we had the chance to be able to interview some of the attendees and talk to them about the Open Space that they had just facilitated. Open Space Technology conferences are great events where the attendees get to create and completely control the content of the “conference”.
Enjoy this video as we talk to Marsha Garczewski about her Open Space on “Getting Started with SCRUM“.
For more information on this event or their sister event Agile Open Northern California check out the site at www.agileopencalifornia.com.
The post Special Episode : Marsha Garczewski – Getting Started with SCRUM appeared first on Integrum.
missing content
The Integrum team traveled to Irvine, California to attend the Agile Open Southern California on September 15th and 16th of 2011. During the event we had the chance to be able to interview some of the attendees and talk to them about the Open Space that they had just facilitated. Open Space Technology conferences are great events where the attendees get to create and completely control the content of the “conference”.
Enjoy this video as we talk to Woody Zuill about his Open Space session titled “Intro to Agile“.
For more information on this event or their sister event Agile Open Northern California check out the site at www.agileopencalifornia.com.
The post Special Episode : Woody Zuill – Intro to Agile appeared first on Integrum.
missing content
The Integrum team traveled to Irvine, California to attend the Agile Open Southern California on September 15th and 16th of 2011. During the event we had the chance to be able to interview some of the attendees and talk to them about the Open Space that they had just facilitated. Open Space Technology conferences are great events where the attendees get to create and completely control the content of the “conference”.
Enjoy this video as we talk to Darrin Ladd about his Open Space on How Can I Help My Teams Continue to Improve?.
For more information on this event or their sister event Agile Open Northern California check out the site at www.agileopencalifornia.com.
The post Special Episode : Darrin Ladd – How Can I Help My Teams Continue to Improve? appeared first on Integrum.
missing content
The Integrum crew decided to head to Agile Open California South this year as a way to spend some time together. We took the opportunity to capture some pictures and video to share with others. Sometimes it’s important to get out the office and meet new people. We hope to see you around.
The post Special Episode : Integrum Invades Irvine appeared first on Integrum.
Jade Meskill: Hello and welcome to another episode of “The Scrumcast”. I’m Jade Meskill.
Roy vandeWater: I’m Roy vandeWater.
Derek Neighbors: I’m Derek Neighbors.
Drew LeSueur: I’m Drew LeSueur.
Clayton Lengel‑Zigich: And I’m Clayton Lengel‑Zigich.
Jade: This week I had somebody ask me…they had just formed a new team, they’re building a new product, and they heard about the Scrum thing, and they really want to implement it. Their question to me was, “Where do we start?” Let’s talk a little bit about starting Scrum from ground zero.
I’ve heard of Scrum. I think it’s cool, I think it’s the way to go, but I don’t know anything about it. What do I do?
Drew: I think it make sense to start with retrospectives. I think we’ve talked in the past that with Agile…
Jade: What’s a retrospective?
Drew: We start with weekly meetings, in which we review the last week, and think of how we can do things better.
Jade: Why every week?
Drew: Why not every week?
[laughter]
Jade: Who runs this meeting?
Drew: Whoever is in charge of the new team.
Jade: Who is in charge of the new team?
Drew: I don’t know. I assume there’s somebody in charge. [indecipherable 1:14] asked here the question.
Jade: Who’s the team?
Clayton: I think one of the first things you can do is identify the roles. Who’s a product owner, who’s…
Jade: What’s a product owner?
[crosstalk]
Drew: This is the E‑Course.
Clayton: I’m talking from ground zero. I’ve heard of Scrum. Where do I begin?
Drew: That’s a problem. You have a lot of roles that need to be identified…
Clayton: Where do I find Information about this?
Drew: You are not going to be able to afford to go to a Scrum training class, if you’re a start‑up trying to figure this out for the first time.
Clayton: OK. So?
Derek: There’s the Scrum Primer. It’s a two‑page document, very simple basic, what is Scrum, what are the roles, the ceremonies, the artifacts. That’s where I would start.
Clayton: Awesome.
Derek: Have everybody read that.
Clayton: That’s what I told them to do.
You’d start with the Primer and just learn the basic elements of what makes up a Scrum team, and what are the ceremonies involved.
Clayton: I guess when I think about it I question, “Do we really want to be advocating Scrum to people, just because they’ve heard that Scrum is this cool new thing? How do we know that Scrum is or isn’t viable for their organization”?
I can think of at least one organization we’ve dealt with at one point, and we asked, “What’s your goal of doing Scrum and Agile”? The answer was, “I don’t know. That’s the project, we have to implement Scrum”.
Roy: It was to implement the Agile.
Clayton: Right. I guess what I mean by that is, are there things that you could take to an organization or suggest an organization that could get them to start thinking about some of the principles behind Scrum, before they necessarily jumped in and said, “We’re ditching whatever we’re currently doing and going full board into Scrum, doing absolutely everything Scrum‑based.” When we say just go look at the primer, somebody looks at that and thinks, “In order to do Scrum I have to do everything on here,” which is true.
But the question is, do you have to do Scrum in order to improve your team? Could you do just a retrospective and improve your team? Could you do just a stand‑up and improve your team? Could you do just a planning meeting and improve your team? At some point you would have to do more, but I’ve seen a lot of teams that they don’t even talk to each other. Just talking to each other would be an improvement to their team.
Roy: I think those are really good points, but let’s just imagine that you don’t have hours and hours to coach and counsel them on what it is that they need to do. They’ve expressed an interest in going this particular direction, and it’s easy to say, from your perspective that, “Yes, maybe you don’t need all these pieces,” but they are not going to know that.
Unless they have someone that’s experienced working with them and helping them along, they’re not going to have that context to understand that, “Hey, we just really need to start by doing stand‑ups.” You’re not going to have that insight into what their team makeup is, and they’re not going to be able to share that with you, in passing.
Clayton: My recommendation would be, “If you have decided to go Scrum, as your Agile framework, then you follow it strictly. Don’t take just pieces out of it, because, if you don’t have the experience to know which pieces, why they exist, and what impact they have, then you probably have not the experience to make that decision.
I think human nature will tend to avoid the difficult things, and there are some parts of Scrum, some of the ceremonies, that specifically expose those difficult things. It almost seems it’s those ceremonies that produce the problems, when really they’re uncovering the problems.
If you don’t have the experience to see that, “Oh, it’s actually an underlying problem, we need to solve this,” your natural reaction may be to shy away from doing that particular, “OK, we won’t deal with having just one product owner, because that just doesn’t work for us. We’re going to avoid that because that’s…” when really that’s a huge problem for your team and maybe you should be addressing the problem, not what exposed it.
Derek: Yeah, I agree, but that’s different between saying, if you’re going to do the ceremony, follow the strict guidelines of the ceremony versus saying, do the ceremony or don’t do the ceremony.
I guess where I’ll play devil’s advocate is, I’ve seen teams do virtually every step of the Scrum and not do Scrumbut, and still completely fuck it up, meaning just because you have a planning meeting and you say, what we did yesterday, what we’re doing tomorrow, and any impediments, you can still totally screw that up.
I was in a planning meeting today and it was, we said what we did, said what we’re going to do, and then we said, here’s the impediment, and passed the token to the next person, and nobody talked about actually removing the impediment.
Jade: That’s the Scrum master’s job.
Derek: Yeah.
Jade: [laughs]
Derek: I’ll also go against a little bit of what you said, Roy. I think that different teams are at different levels, so when you say, do everything for Scrum if you’re going to do Scrum, don’t pick and choose which ones that you want…I don’t know if that’s what you said…
Roy: Sure, I think I’m more saying that, if you’re in [indecipherable 6:33] , if you’re in the position where you don’t know anything about Scrum, and nobody on your team knows anything about Scrum, but you know you want to do it, I would say you’re in no position to pick and choose what works best for you. I’d say that’s a very dangerous choice to be making.
Drew: I would agree with that.
Derek: I’d also say that, maybe you want to experiment with one feature, and you can gain value…it’s true, like you said, at the beginning. Start with retrospectives. You can gain value over just one aspect or one ceremony or one artifact of Scrum as you transition into it.
Roy: That’s true.
Derek: It depends on what level the team’s at, and maybe how committed they are.
Roy: I could definitely see that, doing one thing, adding one thing at a time and measuring what effect it has. I think that would get you a really good understanding of what that particular thing actually does.
Clayton: I think to me, we put way too much emphasis on experts. I think that the whole premise of Agile or Scrum, if you look at it from an inspect and adapt method, is that there is no prescribed, real formula. It’s really all about saying, what are we doing? Is it working? How could we make it better?
Certainly, experience helps accelerate that, and to me, that’s the difference. If you’re not willing to invest in training, if you’re not willing to invest in doing a ton of reading, if you’re not willing to invest in hiring a company to come in and do coaching or hiring in somebody experienced to put them on your team, you’re going to have to go through some learning phase.
It doesn’t matter if you read every Agile book out there. At the end of the day, when you go to apply it to your team, you’re going to run into things and you’re going to make wrong choices. I see experts every day make wrong choices, and that’s OK. The thing is, how can you iterate over those choices as quickly as humanly possible to speed up an improvement.
I think when you’ve got more of an expert eye towards things, you can make that change happen quicker, just because you’ve seen the patterns before. But I think that we need to stop trying to circumvent learning in organizations.
Drew: I feel like some of the stuff that you’re saying there, in terms of what the principles are and everything, are some kind of based on nuance or your experience. I think if you’re the average person that says, “OK, I’ve heard about Scrum, and I want to implement Scrum at my company,” they’re going to go on the Internet and they’re going to watch some videos and read some things and they’re going to say, “I have to do these 15 things, this list, and I have to follow this order. I think that’s what they’re going to do.
They’re not going to immediately jump to, “OK, I just need to inspect and adapt.” I don’t think anyone out there that’s selling Scrum…I think most of the stuff out there for Scrum is really promoting Scrum for a commercial reason. “Here’s how you do Scrum, and I know it’s very confusing, so come and talk to me.”
Because of that, no one’s saying, “Hey, you can get started with Scrum by doing this simple thing. Just inspect and adapt and just do a couple things and see what works and learn from that.” No one’s really talking about the nuance of it. It seems almost impossible, if you are not really part of that culture or part of that community, to understand that that was the case, and understand there’s a different way of doing it.
Jade: Going off what you’re saying there, could you…and the situation that I’m faced with…could you come in and do Scrum in 10 minutes? What would that look like? You have 10 minutes to explain Scrum to a team that wants to implement it. Go.
Drew: It seems like, if you had 10 minutes, you’re going to focus on more of the principle stuff, and then it’s not going to look like Scrum necessarily. I wonder, if you were to do that, then would you begin some kind of mixed messages? Then, where do you go from there?
Because, if you go seek out the next step, or, “OK, we’ve been doing this for a few weeks now. What do we do now? Now I’m going to look for Scrum stuff, and it’s not the same thing I have learned already.”
Clayton: Yeah. I think some of it is we highlight Scrum as this panacea or this magic pill that, if you just do it, all your problems go away. I think that, if someone were to come directly to me, what I would probably tell them is, “Hey, here are some resources, here’s the primer, you might want to read my koans, user stories applied, [indecipherable 10:59] menu planning.
You might want to read a couple of different books that help you accelerate your learning. But, ultimately, it’s really, really simple, but it’s really, really hard. Don’t get discouraged. Just make sure that, every week, you’re improving. As long as you’re on the journey towards improving, don’t worry about whether your implementation of Scrum is perfect.”
I think maybe that’s the chicken’s way out, but I think that the problem that we do is we do this [indecipherable 11:30] . I think the community has this thing that, once you know Scrum, then you have to do exactly Scrum. You’re not allowed to do in Scrumbut, and, if you have any problems and you’re failing, it’s because you’re not doing the exact prescribed elements of Scrum.
If you would just do those, you would stop failing. I think that’s bullshit. Human beings are involved, and, even if you follow the process to a T, you are going to have failure sometimes. I think every human being is different, so every team is composed of multiple humans. You’re going to have a unique problem on every single team that no Scrum guide can solve for you.
Roy: That’s definitely true, but I think the beginner’s approach, often, is the think that every problem you run into is your own unique problem, and it’s very difficult to get away from that. Without experience, it’s impossible, really, to see that this isn’t a unique problem. This is actually the problem that the ceremony or whatever was directly designed to address, and it’s exposing the problem.
That’s my concern. I think it’s important that you inspect and adapt. It’s also important that you start out with some kind of framework. If we’re going to go with Scrum, just going over a set of principles, like Agile in general, then it seems to me that you’re interested in having a starting‑off point.
You inspect and adapt, but you start off with something that you can inspect and adapt, so you don’t have the blank page problem, where you sit in front of that and you don’t know what to try first. At least, Scrum gives you something there, but it’s difficult to make a [indecipherable 13:03] to say, “This is working for us” or “This isn’t.”
Drew: Yeah. I would imagine that it’s pretty easy to say…the person that came and talked to Jade says they want to do Scrum. Jade points them in the right direction. They start doing Scrum, and they get to a point where there are some psychological issue with people on the team, and that’s a totally separate thing that is not necessarily discussed in the primer.
I think, unless they are willing to go above and beyond, maybe they’ll go do some more reading and say, “This is a deeper issue.” Then that’s how you get into doing Scrumbut, where it’s like, “We had this problem on our team which I didn’t read anything in the book that says anything about this, so we’ll change it a little bit.”
We’re still doing Scrum, and then you get to the point where it’s like you’re not doing Scrum at all. You’re doing this weird bastardization of it.
Jade: So it doesn’t matter?
Drew: What?
Jade: If, let’s just say, I end up going down that road. I learned the very basic principles of Scrum, and now I’m changing it to fit our situation, but maybe it’s not the “right way.” Does it matter?
Drew: I guess it doesn’t matter in the sense that you would be doing maybe just as bad, and you’d be doing it in some other way.
Derek: I think it doesn’t matter, the one thing being that you cannot accept stagnation. You cannot be willing to accept that you refuse to improve. Because I think I’ve seen that before, where people come up with their own derivative of Scrum, and they say, “This is our Scrum,” or, “This is our process,” or “our method” and then they start making changes, they start looking at anything that has changed around them, and they just stick with the exact same thing.
Clayton: I think that is the problem. What we tell people right now is, “Go read this primer, and, if you implement Scrum, all your problems are solved.” So what they’ll do is they’ll go implement Scrum, and they’ll find little things here. Maybe I can have one product owner, so I have to, or maybe Scrum doesn’t really address velocity, hours, or something else, so we roll our own based on some anecdotal evidence.
Then, when somebody comes in and says, “We’re frustrated. We’re still not delivering on time. We stopped using Scrum, because Scrum doesn’t work for us.” Then you talk to them, and you say, “What you’re doing is not really Scrum, and you’ve got these other problems,” but what happens is people stop inspecting and adapting.
What they’ll do is they’ll say, “I implemented Scrum. It didn’t work for me, whatever part. I made this change, and that didn’t work either. Therefore, I’m going to just stop trying and go back to just whatever we were doing before that didn’t work either, because this Agile stuff just doesn’t work.”
I think the crime that we’re committing is we’re not telling people that making the first deviation is actually OK. But, when that deviation doesn’t work, you should be asking why didn’t that deviation work and trying something else. Maybe you’ll get two, three, or four deviations before you finally go “Ah! Light bulb moment! Now I understand the strict version is this. Maybe I need to back and try that based on what I’ve learned.”
I think we teach people that it’s not OK to make changes to Scrum, which isn’t novice. I think it is dangerous to do that. I really do. I’d recommend to try to implement a fairly strict version of Scrum before you make any changes. But, if you start to make changes, don’t give up if those changes don’t work. Keep making changes until you find what works for you.
Derek: Right. I think, even if you implement the ideal version of Scrum, and if feels like it’s working good, still keep making changes, because it could be better.
Jade: Still inspect and adapt. Maybe not necessarily make changes.
Derek: That’s true. No. Actually, I want to take that back. That’s not true. I would say, even if you are happy with your results, still make changes, because, what if it could be better, and you are just on the other side of the hill and there’s an oasis on the other side. I would say, even if you feel everything is going great, still make changes and still take risks.
Jade: Any last parting thoughts for new teams looking to implement Scrum or explore Scrum for the first time?
Roy: Yeah. I like what Derek said about you’ve got to understand the underlying principles. I also like what you said, Jade, about if you had 10 minutes to describe it, what would you say? I think we can combine the both. Nobody is going to learn everything in one go around.
The principle of inspect and adapt is huge, but, if had 10 minutes to describe it to a team, I would talk about the basic principles: weekly iterations, a deliverable product after each iteration, teach them the Scrum primer, and then have them continue to learn and grow, and don’t reject it if it doesn’t work the first time around or if it exposes issues the first time around. That’s what Scrum’s all about.
Clayton: I think the thing that kind of uncovered this conversation for me is I don’t think it’s realistic to say “How do I implement Scrum?” Then I’m going to tell you what to do, and then you’re going to go on Scrum. I’m going to tell you what to do now, and then we’re going to have to keep you talking about it. It’s going to have to be an ongoing relationship, and ongoing thing. As you go through the motions of implementing Scrum, and you get the growing pains and everything. You’re going to need someone to talk to, and discuss what’s happening. I think the only way you can say “How can I implement Scrum?”, is to have an ongoing conversation.
Drew: I think one thing I would add too, is to try to get the entire team to be open and honest about their feelings regarding their teammates. Especially regarding how they are feeling about the current process. I think it’s going to be impossible to successfully implement a, or maybe at the very least extremely difficult to implement a successful version of Scrum. Unless you get buy‑in from the team. If you have an entire team of people that are against you, I think that that’s fighting an uphill battle, and at the very least you should know about it going into that.
I do think that you should promote the honesty. Just because they don’t agree with you it doesn’t make them wrong. It’s better to know how they feel than it is for them to hide it for fear of pissing you off.
Jade: Thank you for listening to the Scrumcast. We’ll catch you next time.
Drew LeSueur: Welcome to another episode of “ScrumCast.” I’m Drew LeSueur.
Derek Neighbors: I’m Derek Neighbors.
Roy vandeWater: I’m Roy vandeWater.
Drew: Today we are going to talk about stand‑ups, why we do them, why people sometimes don’t want to do them, and why they’re important.
Roy, we were talking earlier, and we talked about a team who didn’t want to do a stand‑up. Why do you think that is? What are some of the reasons teams don’t want to do stand‑up?
Roy: The most common reason that I’ve heard for not doing a stand‑up is, “We feel like it would be wasting our time. We want to spend these 15 minutes doing development work. We don’t have time for this bullshit stand‑up, where we’re just going to stand there, and talk about nothing that matters. We could be coding.”
Derek: I definitely think that some of it is people don’t believe that they’re really going to be 15 minute meetings. They’ve never been to a meeting that’s probably taken less than an hour before. The thought of doing five meetings, each an hour, you’re looking at five hours worth of meetings per week. If you’re only there for 40 hours, that’s a pretty huge commitment. Sometimes it’s fear of is this really only going to be 15 minutes? And if it’s only 15 minutes, can it provide any value at all?
Drew: That’s a good one. Another one might be, we’re all in the same room, if you know they are in the same room, and if we need to talk to each other we’ll just say it. That might be another reason why they don’t think they…they can just talk to each other, they don’t need anything extra and special or ceremonial to discuss.
Roy: That’s referred to as the water cooler effect. You know we’ll see each other at the water cooler later so why have a personal conversation now?
Derek: I’m on an engagement now. It’s kind of interesting, one of the teams did not really want to do a stand‑up. We kind of had a scrum of scrums type of stand‑up. Each one of the managers had started to on their own bring the concept of the stand‑up back to their individual teams before we even brought it up as something they might consider doing, except for one group.
The one group was told, “Hey, everyone else is doing this, this is working really well, you should try it.” They were a little reticent to do that for a number of reasons. It was interesting. They ended up having their first stand‑up, and everybody on their team went around and gave. They’re checked in and did their stand‑up portion. At the end the manager said, “I’m amazed that none of you guys said anything at all about this massive thing. We’ve got this huge thing coming up [laughs] in like five days, and none of you guys said anything at all about it.” They’re like, “Oh, yeah. That’s right.”
Here is something that the team thinks is clearly on the front of the manager’s mind that, “This is a big deal, and we’ve got to get it done. I’m not thinking about much else.” Yet everybody else on the team was like, “Oh, yeah. I totally forgot. That is happening in three days.” Like, duh. That’s just proof positive that one of the hardest things about communication is understanding that you don’t really know what the other person is thinking.
Here’s a manager who thought that everybody on his team had this on the front of their mind, and in reality it wasn’t even on their mind at all. Just by having something that simple is awareness that, “Holy crap. Nobody on my team is thinking about this. I better get them to start thinking about it.”
Roy: I do think though that while stand‑ups are great for that type of interaction and getting everybody on the same page, I’ve been part of a lot of stand‑ups that feel like they drag on forever and that probably exceed the 15 minute time block and more. People are taking up such a long period of time to express whatever their concerns are for the day that I just completely am not able to pay attention. I’m trying with every bone in my body to pay attention, but I just can’t do it.
Derek: Yeah, and even if they don’t exceed the 15 minutes, they can still drag on too long. Roy, you’re good at doing this. If a side conversation starts happening during stand‑up, you’ll say, “OK, why don’t we take this offline?” That way the two parties or the two developers involved can have a deeper conversation if needed, but it doesn’t have to affect everybody else and the rest of the stand‑up.
Roy: Yeah, I definitely think that there are a couple of key things. Either a Scrum master or somebody on the team needs to be really good about respecting time boxes. That is the most powerful element of a stand‑up, keeping it time‑boxed because it really teaches the team about respect and about respect of a time box in a very safe manner.
A couple of things that I’ll do is absolutely, if somebody’s getting a little wordy, take it offline. Or feel free to say, “What are you getting at?” We’ve had on our own teams some people that get a little diarrhea in the mouth when it comes to turning it into more of a status update and wishy‑washy. It’s OK to say, “Well, is there anything blocking you?” If the answer’s no, go, “OK, great. You’ve lost everybody.”
The other thing that I’ll do if I start to see things going is to tell people, “It’s OK, we’re going to start the stand‑up at the same time whether everybody’s here or not. We’re pretty much starting it, and when the 15 minutes is up, if you’ve got something that you need to be doing and you feel like your time is being wasted, feel free to go ahead and basically check out.”
Obviously, here, we like to use core protocols. Feel free to check out and show people that your time is being disrespected. When you start to do that and you start to be honest with each other, it starts to be like, OK, maybe I need to not be so verbose during this.
Derek: In line with the core protocols a bit, when you’re doing stand‑up to have a very rigid structure for what everybody’s supposed to say. Like, whether it is three quick phrases or one to two quick phrases that say whether you’re happy, mad or sad about something. Or if you use the standard stand‑up thing, which is like, “This is what I did yesterday, this is what I’m doing today, and these are where my blockages are,” That’s very important, too.
If you get into the stand‑up where everybody is kind of free form speaking, that’s when you get into where people are kind of like, first off, people feel like they have to say something, so everybody says something. Then they also just drag on and on because they’re trying to remember if they’re forgetting anything important.
With the format, you’re like, OK, that can itinerize very quickly. These are the things that are going to be blocking me. Let me get those out, because those are realistically, in my opinion, the most important, because those are the other things that the team can help me on, then also the things that I worked on yesterday and today and then should be done with it and move on.
Roy: Yeah, I definitely think a lot of people try to make them status meetings. In a status meeting, if you’re not talking a lot, it means you must not have done much yesterday. I find that certain personalities really try to be verbose because they’re trying to make it sound like they’ve done a ton of work, when in reality, what they’re talking about, nobody really cares about.
Another thing that we’ve played around with a little bit here, too, is, once you start to get a high performing team, what did you do yesterday and what are you doing today really are not that important.
It’s really about what impediments are standing in my way. Where do I need help. One of the ones we’ve tried to start to bring in, not so successfully, but it’s going down the road. That’s, what do I feel exposed on? Where am I scared? Where am I feeling inadequate at?
In a high performing team, those types of questions become much more important, because they’re really talking about, how do I get better? How do I remove the roadblocks? How do I not feel afraid?
Derek: Also, the attitude of stand‑up where everybody has to speak, with core protocols is great, because you go around the circle very quickly. But if you’re doing just a quick what I did yesterday and all of that and you’re really just concerned about impediments, it’s not necessary for everybody to speak.
I’ve seen a ton of times where people are working in pairs, so two individuals did pretty much the exact same thing in a given day. When they’re listing off what they did yesterday, they both repeat almost verbatim what the other person said. That’s not necessary. We could have cut the entire stand‑up in half if everybody’s paired up.
Roy: Yeah, that’s one of the reasons I don’t really like the whole status kind of piece so much. Especially on the slightly larger teams, you might be working in code based pieces that are different enough, that if you’re really trying to give any kind of level of detail about what you did, the other people are checking out because it’s irrelevant.
Derek: Like when Coney starts to list down acronyms for startup projects.
Roy: Yeah, if you’ve got your ADO, right, exactly. It becomes really easy to kind of check out. Whereas, if you keep it at a much higher level, it gives people insight to say, like, “Oh, I’ve worked with PDF before, generating PDFs before. If you need help, let me know. I know a lot about that.” Or Rest our API or Soap or whatever. If you keep it at that high level, it’s meaningful. The minute you start to drop into, like, implementation, it’s probably better to be offline if you really need to talk about that stuff.
Derek: I liked one thing you said about saying how you feel exposed. That’s a great way of bringing out some lurking problems and bringing them to the forefront, because there are a lot of things, as we develop, as we do things where, hey, I feel a little bit exposed. In the future, I can foresee an issue here. Even if it might not be an immediate impediment or an immediate roadblock, you can still feel exposed on some lurking issue. That’s a great place to bring it out, in stand‑up.
Roy: Yeah, some of the other things with stand‑ups, too, even once you’re doing them, it’s hard to do them well. It’s hard to get everybody to show up at the same time and not be late. I remember here at Integrum we probably had three years worth of fighting to figure out what the right stand‑up time was. To figure out, do you punish people that are late? Do you not punish people that are late?
Derek: Do you lock them out of the room?
Roy: How do you do that?
[crosstalk]
Roy: Not until in the last three or four months have we really gotten to the point where stand‑ups flow really well. There are not people pissed off that somebody is not there because people are only not there if they’ve got a good reason to not be there, that they’re efficient and effective.
It’s a lot like pair programming. It’s something that’s really, really easy to start doing. “Hey, we’re pairing. We’ve got two people sitting in front in the same pairing station. Hey, we’re doing stand‑ups. Everybody meets for 15 minutes.”
Doing them well and effectively and getting the most out of them is very, very difficult.
Derek: This is one, I’ve seen quite a bit with people that are first starting out doing stand‑ups. “Stand‑ups, do you really need to stand‑up for it?”
I always tell them, “If you want the meeting to be 15 minutes or less, I highly suggest it.”
Drew: There is saying, “Even if you do your stand‑up, sitting down.” I’ve always stood up for it. I’ve never found a need to sit down for it.
Derek: The best part is when you ask them, “Well, why don’t you want to stand‑up.” The response you get, “Because it’s uncomfortable.”
That’s the entire point of the stand‑up, everybody in that meeting wants it to be over with as quickly as possible. If you’re at a meeting in a board room with comfy leather seats and donuts, everybody’s going to take that time away from work and just relax and be happy that they’re away from the daily grind for a little bit.
Whereas, if everybody is standing up, it’s uncomfortable, but it’s a necessary uncomfortableness that everybody tries to get it over with.
Roy: It’s hilarious that you bring that up. In a recent engagement, this happened just the other day, is I instituted a talking token or a token to pass around for stand‑ups at an organization.
All of the groups that are doing stand‑ups are using stand‑up tokens. We usually use a marker or something, whatever is close by.
They pass it around and one of the teams that was not doing stand‑ups and was kind of allergic to them, when they did their first stand‑up, their manager started off by telling them that, “Hey, the stand‑up thing, I know it seems really stupid and it feels dumb, and passing this token around is really childish, but I thought the same thing when I was in my first stand‑up. Give it a chance because it has really improved communication amongst the team I’m doing it with. It would really help our team do it.”
It was funny to hear somebody who was visibly uncomfortable during stand‑ups, but when he tells his team, really articulates that this feels really childish, this feels really stupid, but give it a chance because there is something kind of magic to it. That is some of the key to a lot of the Agile, not ceremonies, but some of the ceremonies as well as a lot of the activities or the thoughts or the principles are they take us back to that more childish state where you’re almost uncomfortable doing them, so you get duped into paying offense “Tom Sawyer” style.
All of sudden, you’re like, “Hey, what a minute. I just got tricked into giving away vital information that I didn’t really want to give away.” There is some magic to that. It’s OK to feel uncomfortable.
If you’re just starting out, it is absolutely, positively, normal for stand‑ups to feel uncomfortable…
Roy: Oh, I know.
Derek: …when you start doing them.
Roy: For my, at least, first two or three of mine, I had this crazy way to put hands where I’m standing up. Then, the waiting for everybody else to speak, it felt really awkward, but it’s something that you get used to.
Drew: That’s it for today. See you next time.
Jade Meskill: Hello and welcome to another episode of ScrumCast. I’m Jade Meskill.
Clayton Lengel‑Zigich: I’m Clayton Lengel‑Zigich.
Roy vandeWater: I’m Roy vandeWater.
Derek Neighbors: I’m Derek Neighbors.
Drew LeSueur: I’m Drew LeSueur.
Jade: Today we want to talk about the new addition of the Scrum guide that came out from Scrum.org. There’s been a lot of controversial changes that have been made. Some tweaking to the language, a few different things and we’re just going to go down the Scrum update bullet point by bullet point. Share some of our feelings and opinions.
To kick it off, let’s talk about the first change that they talked about here. The team of people performing the work of creating an increment, is the development team regardless of the work performed by individual team members, they are known as developers. What do you think about this?
Roy: I like it. I can tell by the way you are looking at me that you don’t like it Jade.
[laughter]
Jade: I’m just moderating here. [laughs]
Roy: I like the essential idea of it because I’ve seen with multiple scrum teams that when they go in they run across the concept…we even came across with this at Integrum last week where we said, “What if only one guy is able to perform this specific task”?
We have all these people who are able to work but there’s one thing like, “That’s Jade’s job. Jade’s the only one who can handle that.” I think that’s a big problem. I think that is what they’re trying to address here, is that everybody should be cross‑functional, everybody should be able to perform any of the work inside of this sprint.
Clayton: I think some of the hangup comes from as a developer, like software engineer, you think of the word developer meaning someone who writes software. I think if you take a step outside of that you could say the word developer really means someone who’s developing something that gets to potential shippable software. I guess I’m OK with this one. I don’t think there’s too much wrong with it.
Derek: I think that one of the problems you have is on a lot of teams you might have Q&A, and database administrator, an architect. Everybody identifies themselves differently, and so in other language if it’s said the programmers there would be people who say, “I’m not included in the team because I’m a Q&A person, I’m not a programmer.”
By switching it to developer I think they’re using a little bit softer language. I think you could even argue that it allows for scrum outside of software. So from a project management framework perspective, a developer could be anybody creating something. If I’m developing something, whether it be a courseware, or a piece of art, or whatever, I’m a developer. I think that they are softening the language for the some ability to go outside of the network.
Drew: Yeah, I agree as well, I think the core idea of this change is to unite the team, and let’s give them the same name.
Jade: All right, let’s move on. The next bullet point ‑‑ Development teams do not commit to completing the work planned during the sprint planning meeting. The development team creates a forecast of work it believes will done, but that forecast will change as more becomes known throughout the sprint.
Roy: That sounds like the exact opposite of a locked‑in sprint. The idea’s always been ‑‑ we lock in the time, the development team gets to establish the scope. If, now we get half‑way through the week and I don’t think I’m going to be able to make it. In traditional Scrum, that would be a huge deal and you would have to have an early sprint termination, and you’d have to replan or restart your sprint, and that should be a painful process because that should happen very rarely.
Derek: To me, this is the pussification of Scrum.
Jade: That’s the exact word I used before we started.
Derek: Straight up ‑‑ it went from, this is a contract whereby you commit to the work ‑‑ you get to decide how much work you commit to, you commit to it, and the other side of the contract is that you do not have to accept change that comes in as part of that contract.
In fact, at one time, my understanding is that the right way to abnormally terminate a sprint because of change, was to physically throw yourself on the floor and scream bloody murder like a young toddler until you got your way that the change went away or that management was sufficiently known that bad things were happening between the contract ‑‑ between the team, the development team and the product owner.
And now we’re using language that says, “Well, you know, the team just kind of says that they would like to get this stuff done, but if the world changes, and stuff happens and we’re not really making a commitment.”
Roy: I think, too, the guy that coined that way of doing an abnormal sprint termination is Ken Schwaber, one of the guys who signed the…
Derek: That’s correct. I think what they are trying to do is remove absolutism or pragmatism, and I think by softening the language they’re going to do the exact opposite of that. So they went from something where it’s very hard ‑‑ you terminate the sprint in this way, and you’re a total asshole about it ‑‑ even if it’s the right thing to do.
To now, “We don’t want to ever say you ever really make a commitment because that’s sometimes not the right thing to do,” and I think that really it’s a middle ground where you should be making a commitment.
The commitment should be something that you really honor. But, if there is valid reason to change, to terminate, or to do that, or there is some ability to negotiate, I think you should be able to do that. I think, by going to the wishy‑washy language, they really don’t help anybody. You’re going to have teams who say, “I don’t have to commit to anything. What are you talking about”? If I can only do a 5, even though I told you I could do a 50, that’s Scrum.
Clayton: Yeah. I think that the second part of this, where it talks about how more we’ll become known during the sprint, I think that’s just another way of saying “negotiation.” I think we do that now already, where, if something comes up, you can negotiate that. Maybe it’s a big deal, maybe it’s not.
I think the change from commitment to forecasting, what’s been interesting for me is, if following all this on Twitter, there’s been a lot of people that have said things like, “I think ‘commitment’ is a great word, because I want the development team to feel the weight of the world on their shoulders, like they feel like, ‘Hey, this is a really big deal.’”
Then, other people are saying, “Gees, the weight of the world, and I want to make the development team feel like they have to do it.” Those are all very negative words. I agree with you that’s a pussification.
Derek: Scrum pussies.
Clayton: Right. It’s like, “Let’s be very gentle and let’s be very cautious of not making people feel bad,” that kind of thing. I agree that there’s a lot to said be for the feelings, the emotions, and the words that we use, but, at the same time, I don’t think that the “commitment” stuff is negative, necessarily. I don’t think that has to be a negative thing. I think that can be viewed as a positive thing.
Roy: I think that too. As far as the negative emotions of saying, “You have to get this done,” “Well, yeah, I committed to it. I said that I would get this done,” and whether you see that as negative or not, it shouldn’t be a negative thing. If I said I can get this done, then there shouldn’t be anything negative about me getting it done. That should be a positive thing.
Derek: I’m pretty trying to go back to my wife and say that I’m not really happy that we’re married and I made a commitment. I would like to forecast that we will be together for the next six to seven years…
[laughter]
Derek: …and we can renegotiate another six to seven years…
Jade: …as more information becomes available.
Derek: …if we get more information.
[laughter]
Clayton: I will say that, since I read the actual longer‑winded update about “order” versus “prioritize,” which we’re going to get to in a second, I will say I will withhold judgment on this one until we get the full explanation, but my gut feeling is that it’s what we’ve been talking about.
Roy: My other thing is one of the things that Derek mentioned when he was talking about the pussification of Scrum, where the idea of the commitment is that I say I’m going to get this done and commit to absolutely getting this done and locking the sprint. That’s my part of the deal.
The other part of the deal is that I won’t get interrupted with any requests. That’s not really a sacrifice, but, if I don’t make that promise that I’m going to get something done, and if I don’t give something from myself, then why should the other people, why should stakeholders or product owners respect the fact that I have a locked‑in sprint? If I can change my mind halfway through, why can’t they?
Drew: Also, I think, with the word “commitment,” right, Clayton, you talked about how people might feel bad if they don’t get it done, or it’s the downer term. But still, I think, obviously, there are going to be times where you don’t reach your commitment, through whatever reason.
But the fact that it is a commitment and they set it as a commitment, and then you didn’t hit it, that brings up a conversation: What causes you to not hit your commitment? And that brings up, maybe, an underlying issue: If you just say it’s a forecast, and, “Oh, we didn’t hit it. Oh, it’s OK, because it was a forecast, anyway,” then, maybe, the underlying issue of the real problem, “Why you didn’t hit your forecast or commitment”? It’s not going to be brought up.
Roy: Right. We’re almost getting into the wishy‑washy territory of having the commitment be the same thing as estimates, where you’re like, “OK. Well, we didn’t do this in twice the amount of time as the other tasks, so our estimates are wrong. Well, who cares about estimates”?
In this case, they’re forecasts, but a forecast should be commitments, and they should be accurate. If they are wrong, we should do something about it.
Derek: Yeah. I think it is they’re trying to soften the language to change the emotional tone. On that level, I don’t have a huge problem with it, but I also think that it does fundamentally change the contract or the original intent. This really changes it more to, “Ah, we’re estimating what we can get done this week,” opposed to, “We’re going to get this done.”
To me, one of the biggest things that I see people interested in adopting Scrum for is they want predictability in work, so that they can understand, as a sales team or as a CEO, how can I determine what the future of this company looks like based on the work that can be committed to. If it really becomes a super loosey‑goosey, forecasty type of thing, the predictability goes way, way down, because nobody trusts a forecast, especially when it’s really seen as a forecast.
Maybe over time, if you hit your forecast considerably and do that, then maybe it is something that people feel can be predictable. But I don’t know. I’m a little torn over this. I think they’re going a little bit too wishy‑washy for my liking.
Jade: Let’s keep moving down. Scrum does not mandate a burndown chart to monitor progress. Scrum requires only that remaining work for a sprint is summed and known on a daily basis. Trending toward completing the work of the sprint is maintained throughout the sprint.
Roy: OK. If you don’t want a burndown chart, you want to represent it using something else, whatever. That doesn’t bother me. I think it’s a good idea to have a burndown chart, but I don’t think that particular format needs to be the case. I like that it says how much work is left. It needs to be known every single day. That makes sense.
Clayton: I think they clarified this in some of the other documents where they wrote about the documentation. They say that they’ve tried to remove some of the tips and best practices, and they’re going to put those out as a separate document, so I think this is thinking that out.
Jade: So they’re just going to move to best practices.
Clayton: Right.
Derek: I think this is a case where they so specifically said everything that happens in a burndown chart that it almost makes it say, “Really, you have to do a burndown chart unless you can come up with a better way to achieve all the exact same objectives of a burndown chart,” which, to me, is a good way, I don’t think they’ve softened what they’re asking for. They’re just being more open to different ways to do it that they may not know today.
Jade: Let’s keep moving quickly through here. Release planning is a valuable thing to do when using Scrum, but isn’t required by Scrum itself.
Clayton: I think it falls in the same category.
Jade: The sprint backlog is the product backlog items selected for the sprint, plus a plan for delivering them. There is no longer a required concept of spring backlog items, although that technique can make a great plan. A self‑organizing development team always has a plan.
Derek: I think one of the clarifications here is that sprint backlog items is generally what I think a lot of teams call tasking. When you dig your stories from the backlog into the sprint backlog, the sprint backlog items are not the stories that you’ve selected from the backlog, moved into the sprint backlog, they’re actually the tasks for those stories, is my understanding of their original concept of a sprint backlog item.
In this case, I think they’re saying, “It’s not necessary that you task out all of the details of the stories to do the work, but a good team has a plan for how they’re going to do the work.” I take that very similar to the burndown effect, where they’re saying, “You still have to have this element if you’re doing a good job, but we’re not going to say the tasking is necessarily the way that you do that.”
Jade: All right. Finally, the product backlog is ordered instead of prioritized, providing flexibility to the product owner to optimize value in his or her unique circumstances.
Clayton: When I read this one, I had the same reaction as the forecasting commitment. At first glance, it’s just semantics, where it’s like, if you were really taking to the letter of the law, and you were saying, “I have to prioritize these, and, to me, priority means the most important ones at the top and the least ones at the bottom, and there’s no other way I can do it,” I guess, if you really took it that way, and you’re really being pedantic about it, then yes, that’s what you would think.
But I feel like you would be able to exercise some flexibility and say, “There’s some other ways.” This is more important, and I think they get into that with the blog post that they posted today about order, not prioritize, where they actually go into the details about this. I think they do a good job explaining why it really is just…they’re opening up the different ways that you could prioritize.
Priority is not maybe the best way to do it, and there are lots of different ways to order a good backlog. You don’t necessarily have to order by ROI all the time. There’s some things that would be more valuable than others at different times, and there are a lot of different relationships that certain backlog items have.
You have to look at them all together. I think the document they’ve put out since then has really explained what they mean by this, so I think it makes more sense. If this helps people to understand the intent or the meaning behind what it means to order or prioritize a backlog, I think it’s a good thing.
Roy: I agree. I’ve seen situations in the past where a product owner would go through, they’ll take 20 backlog items to go through, and 5 of them are priority one, 3 of them are priority two, and so on. Then they don’t think of it in terms of which one gets done first.
They’re like, “This one is really important. This one is more important than all of these other ones, but these are all about equally important,” and, when we get into sprint planning, that makes things very difficult, because, then, when we start the week, they don’t know which ones to pull in.
If you spend the time thinking about ahead of time, and the article that you mentioned talks about doing a bubble sort, where you take each story, you compare it to the one above and the one below, and say, “Is this one more important than this one”? Or, “Should this one be done first, or should the other one be done first”?
If you go through and order the entire backlog that way, I think you’ll get a lot more value out of that than just assigning a priority number to each one.
Derek: Pussification of Scrum again.
[laughter]
Derek: I think the problem is you’ve had 15 years or 10 years of, basically, poor definition of the word “priority” to product owners, probably from Scrum Masters or the development team, so everybody thinks of priority is low/medium/high, important/not important, critical…those are the words we think of when we think of priority.
I don’t think that’s the definition of priority. I think priority can be one, two, three, four, five, six, seven, and, when somebody says, “One through five were all the same to me,” I can call bullshit. Do you want to be in fifth place or do you want to be in first place? Those are not the same things.
You need to learn what is really number one, what is really number two, what is really number three, what is really number four…
Roy: I think that’s the order addresses. That’s less ambiguous than prioritize, because prioritize can mean different things to different people, but order is always the order that they are on the backlog.
Derek: I agree, but I also think it pulls out and also makes things a little bit less of a language do. Order doesn’t have nearly the urgency to being ordered. If you say, “Can you order those”? Yeah, you can order them, but is there an urgency to having them ordered?
Where a priority gives to me the thing that is on the top of the order is more important than the thing on the bottom of the order. If I order something, I can reverse‑order something, and the most important thing then be on the bottom or top. When I call something a priority, I expect the thing on the top to be the most important.
I think where they’ve gotten this muddy language is they’re like, “It’s by business value, or by this, and there are different ways you can prioritize, so we need to…” No. That’s not the fucking problem. I think that you can definitely prioritize by different things, and you can do that on a case‑by‑case basis.
You can come in and you can prioritize one week based on business value, and, another week, you can base on customer demand, whatever. You’ve got the ability at the end of each increment to move this however you want. The problem is that they don’t want to talk about the real problem with the language, and that is that telling product owners that they may have to make hard decisions. You have to know, “Is this story more important than this story”?
I think that most teams get away with letting product owners go, “Well, this block of things are all the same to me.” I don’t think calling it ordered is going to make that problem go away at all. I think it’s just going to compound it.
Roy: I think there’s a problem too even with they’re using the word “important.” I think Drew and I have had discussions on this in the past. Let’s say you have two items. One is pretty important, and I’ve got another one that’s about half as important, but it takes a fifth of the time to complete.
When I’m talking about “important,” I mean it’s going to earn me a dollar value. The other one is going to earn me half the dollar value, but it’s also going to take one fifth of development time.
Derek: That’s why the product owner gets the big bucks. He has to make that decision to say which one is the one that needs to be done first: the one that takes longer but makes me more money, or the one that I can get done quicker and doesn’t make me as much money?
Roy: Or which ones I have are higher priority. I think “priority,” in this case, is a loaded word. That’s why I like the idea of doing it from order, like, “This one is first over the other one.”
Derek: How is calling it “priority” over “order” any different?
Roy: Because, even in the way that you described ‑‑ you said, “This one is more important than the other one” ‑‑ it’s not more important. It’s half as important. But it gets me money faster.
Derek: How is it not more important? If I want it done first, it’s more important.
Roy: I don’t think that’s necessarily the case.
Jade: Priority doesn’t mean importance either.
Drew: Right. People attach maybe money value with importance. “This makes me twice as money. It’s going to be more important. It’s going to be more priority.” But that’s not necessarily the case.
Clayton: Yeah. The problem I have is I think a lot of the reasons they give for why they switch order is they talk about how there’s so much complexity about, to quote this article, knowledge of evolving market windows, market conditions, engineering dependencies, knowledge of business.
There are all these things that go into it. I feel like, if you’re the kind of person that really understands those things, where you could make use of this concept, the actual paradigm difference in ordering and priority, if you actually understand all those things, I don’t think you get hung up on the word “priority.”
I don’t think you say, “I have all this knowledge, I’m a very intelligent person, and I understand all the nuances, but the word says, ‘priority,’ so I have to do it by priority.” I don’t see that happening, so it seems almost meaningless at that point.
Roy: But with the beginners, just people first coming into it, I think they do get hung up on the word “priority,” and I think that “ordering” would set them on the right path quicker than using the word “priority.”
Clayton: But I think the point they’re making is that you can order a lot of different ways. I think you can prioritize a lot of different ways. In the product owner training that I attended, there were lots of different ways to prioritize. It wasn’t that you just prioritize by one…
Roy: It wasn’t just alphabetical.
Clayton: It wasn’t just you prioritize by ROI. There are lots of different ways to prioritize. I think, if you understand that and you realize it’s not just by what’s most important or just ROI, then it’s meaningless at that point.
Roy: But I think it’s harder to get people to actually understand that and internalize that.
Clayton: Yeah. Had they called this “order” originally, and then now they’re changing to “priority,” I guess we would be just having this exact same conversation.
Derek: Here’s my problem with it: it’s the definition of why they’re making the change. If they said, “We’re going from ‘priority’ to ‘order’ because we feel “priority” is a loaded word that confuses new product owners,” I would be totally supportive. That’s not what they’re saying.
They’re saying, “We changed from ‘priority’ to ‘order’ because you can’t prioritize things by different things.” That’s [bleep] . I’m sorry. I’m sorry, flubber. You’re a [bleep]. Now, if you want to say that you changed it because the language is confusing, I absolutely buy that. “Priority” is absolutely a loaded word. But that’s not what they’re saying. I disagree with their reason for the change.
[laughter]
Jade: All right. Hold on that wonderful note. Let’s wrap this thing up. Let’s take the next 30 seconds or so and just talk about what are your feelings overall with this change, what are you most afraid of. 10 seconds each, tell me what’s you’ve got.
Clayton: All right. I think it’ll generate a lot of discussion on social networks, podcasts, and things like that, and, in six months, it’ll be totally forgotten.
Roy: I think that generating the discussion is a good thing to bring visibility to the Scrum and agile. The only element on this that I’m really concerned about is the term “forecast” instead of “commitment.” The rest, I’m either impartial or I actually prefer.
Derek: I love the fact that they’re actually making change for a framework that’s all about, and “Inspect and Adapt” has not changed much for 10 years, so I cannot give you credit for having the balls to make change.
[laughter]
Derek: The thing that concerns me the most is the comment that says that we have worked “closely with the community,” and they name two people that they’ve worked within the community. I’m sorry, this community is now tens or hundreds of thousands of people. The way you approached change is probably not the best.
Drew: Yeah. The only thing that I’m really fearful of is the “commitment” versus “forecast” change. I think that “commitment” is a good, solid word, and I would like to hear people use that.
Jade: All right. Thanks a lot with that. We will wrap up this ScrumCast. Thanks for listening.
Roy vandeWater: Hello, and welcome to another ScrumCast. I’m Roy vandeWater.
Derek Neighbors: I’m Derek Neighbors.
Clayton Lengel‑Zigich: I’m Clayton Lengel‑Zigich.
Drew LeSueur: I’m Drew LeSueur.
Chris Coneybeer: I’m Chris Coneybeer.
Jade Meskill: I’m Jade Meskill.
Roy: A few weeks ago, Derek posted an article by John Hagel on the Trust Paradox. Derek, do you want to explain why you presented that to all of us?
Derek: Absolutely. When we deal with teams and we talk about teams quite a bit. If you look at Patrick Lencioni’s “Five Dysfunctions of a Team,” trust is one of the pillars or the key elements to building a team. We see all the time people talking, “Yeah, yeah we need trust,” and even “Oh! Yeah, yeah our team’s got real high level of trust.”
Then you see all sorts of behaviors that are entirely counter intuitive to how people who trust each other will really behave. I think the article really did a good job of talking about that everybody acknowledges that trust is important for team building. The way that most teams go about trying to build trust with each other, is the exact opposite way in which you would build trust.
He kind of comes up with the term, it’s kind of paradox, that the things that people are doing that they think are building trust within their team mates, are actually destroying trust in a much more rapid pace. I thought it was relevant to say, “I think that the biggest part of software development with Scrum, is building team and how teams interact.” Trust is probably one of the biggest values that we have to deal with in being successful or what we do.
Roy: What are the values that people feel builds trust, and how do they conflict with what actually builds trust?
Chris: In reading the article I thought one of the things that was pretty interesting is we talk about teams nowadays, and the fact that too many times people think they have to be perfect. People think that you can’t have flaws. You can’t have issues, and when you are trying to put on this perfect face all the time, and you’re trying to act like all your skills are perfect. You don’t want to show you have deficiencies with the team.
That is one of the points that is counterproductive to trust, because you’re hiding something. If you want to trust somebody you can’t just have trust and parts of relationship. You have to have trust in the relationship as a whole, and that’s for the positives and negatives. Look at any relationships that you have, be it a marriage, be it a team, somebody you pick up on the street, whatever. If you want to build trust with them, you have to do on at all levels of that relationship.
Derek: I think one of the best stories I heard about this, we were talking at one of the scrum gatherings about peer programming. Mike Cohn mentioned that he was one of the first people to start with one of the pair programming, and the story of how we got there was kind of funny. That was, “I had been working with one of the big five consulting firms,” or I can’t remember the exact place he was working.
He took an assignment that was all code and C, and he said I really have never had really coded in C before, “But I had kind of done some C in school. I figured I could probably fake my way through it, and learn over it. I really wanted to do that particular work.” He said, “I flew out there, and got in there, and was really nervous that I was going to be ousted that they would realize I didn’t know C.”
“The next day another guy that was joining the team from the company came and flew in. We started talking about the work and push came to shove and I felt vulnerable for a minute. I went ahead and I told them, ‘I just want to be totally honest with you, I really don’t know C, but I’m a bright guy and I really think I can get up to speed. I kind of fluffed a little bit my experience on this but I’m sure you guide me, and you’ll never know the difference.’ The other guy said ‘Oh, shit I did the same fucking thing, we’re screwed.’” They said, “How about this, every time were working on code we’re working on the exact same piece of code, so that if we completely fuck this up they have to fire us both. They won’t know who to fire, because we’re both doing the same thing.” He said, “I’m sure we invented pair programming because of that.”
I think that you know why it’s a funny story. I think it’s a perfect evidence of how when you actually build trust, and are vulnerable, which I think is one of the key components of trust, to be able to say, “Hey, I just want to let you know I’m not really confident in this, but I’m willing to make up deficiencies, and work my best to get the best out of this,” and somebody else is able to make the same thing.
They came up with a solution that ultimately was better for everybody. Meaning the project was entirely successful they both really got up to speed with C, best of all outcomes. Whereas if both of them were to hold up and try to lay blame, “Oh, well, he doesn’t know what he’s doing,” or whatever, the project would have failed. It just would have been disaster across the board. I think too often teams there’s no availability to express vulnerability that actually allows for good solutions to happen, and good bonding to happen.
Jade: By saying that, you’re going against tons of management advice, and personal growth advice. You’re supposed to never let them see you sweat, and always project confidence, and be the big alpha dog. What you’re telling me now is I’ve got to be this wussy guy, who lets everybody know and cries whenever something goes wrong, right?
Derek: I pretty much carry a binky and a blanket wherever I go.
Jade: Oh, OK.
Roy: I thought I’d seen you with that. I was wondering what that was for.
Drew: One of the things I thought that was interesting in the article where they talk about the kind of thing you were talking about, Jade, was built on how corporations treated branding for so long. It was, you only show your strength and you hide your weaknesses and act like they don’t exist. That’s how people treated their personal brands.
You look at any resume, most people look at resumes, and if they look at their own resume they think, “Oh, this is all great stuff,” and they read someone else’s resume and they’re like, “Man, this guy is so full of BS.”
I think what Derek’s getting at is the idea that we need to be able to expose our strengths, and by exposing our strengths and acknowledging where we have deficiencies, like what Chris was saying, that’s the new way to be confident, and project confidence and do the right thing, and make progress.
Jade: What you’re saying is when somebody asks me what my greatest weakness is in an interview I shouldn’t say that I work too hard.
Drew: Yeah, I interview at companies where people ask stupid interview questions.
Roy: I feel like, intellectually, there are at least a few people out there who know that but don’t act on it because it’s very difficult. It seems to go against human nature. Why do you think that is?
Chris: I think part of it is, one, it’s against human nature, but also, take a look at the training we had. Take a look at the way that we’ve been raised in a lot of corporations. We’re on an engagement right now where I’m seeing patterns that I used to work and live in. I worked and lived in this non‑trust culture, and now I have a level of trust with my team and my family here to be able to say that…
Jade: There’s the crying again.
Chris: …to be able to say that. I can stand in front of you guys now and say, “I suck at this,” and somebody will be willing to help stand me up. I can ask stupid questions and people are willing to help me, because we realize that we’re building on one another, but also, you don’t turn around and go, what a dumbass for that.
Where before, in the corporate world, you were treated like that. I think that goes back to, how are we teaching people? What is excelling? What is making you different than somebody else? Sometimes that’s all about finding your secret project, and working on it, and hiding it from everybody instead of making sure that you’re doing something as a team and learning together.
We’re seeing where we have silos right now and some of the information on our current engagement, and there are trust issues at the very bottom of that. I think that if these people were able to trust and open up a little bit more instead of worrying about somebody else looking at them and going, “You suck at this,” they have so much knowledge that they could bring together, they could move together. They could move forward so much faster.
Derek: Yeah, I think a lot of this, too, is fear‑driven, fear‑driven and peer‑culture driven. What I mean that is, I believe it’s Ken Robinson talks a little bit about this. If you take a five‑year‑old into a crowd of people, and you tell them to dance or to perform, they’ll do so, no problem. If everybody in the room starts cracking up, they’ll probably get even more crazy with whatever they’re doing, because they’re getting a reaction.
If you take a 35‑year‑old person, and put them in a room of strangers and say dance, they’re like, “No way.” Even if they did, if somebody criticized it, they would stop immediately and totally shut down, because of response.
I think we have the same self‑preservation mode, this mechanism that says, I don’t want to be vulnerable, because if I’m vulnerable to my peers, and my peers react in a negative way, I have no other way to deal with it, and so my way to deal with it is to shelter it or camouflage the weakness, so that I’m not attacked in that area.
I think from Robinson’s perspective, a lot of that’s the heart of where creativity is. When you’re in a mode where you’re able to say, I’m going to try things that people might laugh at me for, is when you have the highest propensity to do the most magnificent things. When you’re operating in a mode that, “I don’t want to do anything that anybody could possibly laugh at or criticize at,” you’re actually shutting down. You’re limiting yourself severely.
I think that teams and organizations fall into that trap, where they’re so concerned about looking bad to each other, or being laughed at that they, basically, strike out all ability to do any kind of innovation, or do any kind of really gel at that next level. I think it completely impacts the way they’re able to interact and be vulnerable with one another.
Clayton: I agree with that. When that is the status quo when you’re working with a team like that or organization like that, it’s a perfectly rational thing to have that behavior.
If my performance review, my pay raises, how I’m viewed on this team, and my advancement in this corporation are determined by my strengths and weaknesses compared to people at the same level. It’s perfectly reasonable to say, “OK, I’m going to hide all my weaknesses. I’m going to have my secret project, and try and make everyone else look bad.”
That’s a very rational thing to do.
Roy: If you’re in that type of situation where you have a culture of people that are throwing each other under the bus, and trying to make themselves look better. Drew, if you were working in an environment where everybody was throwing each other under the bus, what would be the best way to approach that, and try to rectify that type of culture?
Drew: Showing an example of openness would probably be the best way to do it. Be the one where if you make a mistake, “Hey, it was my fault. I did this. Can you help me figure this out?” and pull in another teammate or something.
Jade: Then you’re fired, and no problem.
Drew: Maybe I’m wrong on that, but I think people will see that. If everybody’s throwing each other under the bus at a corporation, people are going to notice. Higher ups are going to know that, “OK, they’re always just blaming each other.”
They’ll probably take a dose of transparency with happiness, and they’ll probably embrace that, and enjoy that. It’ll be refreshing to them. That’s probably how I’d do it.
Chris: Hope the guy throwing you under the bus is your manager.
Jade: One of the mistakes a lot of people make is they believe that their success is hinging on their ability to perform some skill to the best of its ability, not realizing that what’s more important, especially to management, is your ability to make everyone around you better.
If you can rise to the top as leading that type of a change, people respect you much more for that than your ability to be the best .net developer out there, when it comes to this particular niche technology, “I’m so awesome, and I can code anything.”
In a team situation, it’s really more about what you’re contributing to the team. If you can make everyone on your team at that same level, then that’s way more impressive, way more valuable. That’s going to build a lot of trust by investing back into the people around you.
Derek: There’s two segments to it. The first segment is, if I’m a CEO or a manager that’s trying to get a team to have trust, you’re spot on, Drew, that there’s really two ways to do that. One is, to model it. Be open and transparent, and really model that to the team, and look at how you’re incentivizing the team.
Whether that be through their performance appraisal, whether that be through how you articulate and express that you’re happy with them. Make sure that you’re reinforcing behaviors of vulnerability, transparency, and authenticity, and not performance.
You’re putting more reward towards people modeling a value system of trust than you are whether they’re succeeding or not. As a team member who wants to create a more trust‑filled team where you aren’t getting management support, I would say the same thing. It’s really about modeling.
I would also say, one of the things that Hagel talked about in his article that is totally relevant is, for 30 or 40 years, brands got away with being absolutely inauthentic in masking what they were horrible at, and highlighting what they were great at. Everybody believed that.
We’ve come to a point now that, once you spill 100 million gallons of oil into the ocean, it doesn’t matter what you do to try to PR that up, people know that that PR is bullshit.
Anybody who’s been the workforce for any amount of time, any amount of time being twelve months or more, knows that there’s so much bullshit in teams that they know when people are glossing, when people are highlighting the right things, and pushing the bad stuff under the table.
It’s such a breath of fresh air when a team member comes in, and is authentic, helpful, and vulnerable that it becomes really hard to ignore that. You earn the respect of management and of your peers so much quicker, because you stand out so much more than everybody else around you. It’s almost contagious.
That’s the hopeful message in this because, right now, most teams are fundamentally broken. It only takes one person within a team to start modeling this for it to become contagious, and start to infect the team and organizations involved with the team.
Roy: That’s it for today’s ScrumCast. Thanks for joining us.
Clayton Lengel‑Zigich: Welcome to another episode of the Scrumcast. I’m Clayton Lengel‑Zigich.
Derek Neighbors: I’m Derek Neighbors.
Roy VandeWater: I’m Roy VandeWater.
Jade Meskill: I’m Jade Meskill.
Clayton: Last week we as a team went and did paintball. Wooh. It was a lot of fun, and one of the things we noticed that a lot of the principles that we use day to day really translated pretty well into paintball. We were all surprised by that, as we talked about it more and more, at the end of the day.
Roy: How nerdy is that! [laughs]
Clayton: Yeah, I know.
[laughs]
Clayton: As we talked about it more after lunch, after we did paintball, we were pretty surprised. One thing that’s kind of funny, to give a mental picture to everybody, is that the opponents for paintball were a bunch of 13 year olds.
Roy: At best. [laughs]
Clayton: Yeah, at best, so think about that.
[laughter]
Derek: With pro gear.
Clayton: That’s true.
Jade: They did play everyday.
Clayton: One of the principles that I think we kind of discovered that we did…As we went through the different rounds, the format was basically, we played three games with two matches each or something like that. We did a pretty good job of inspecting and adapting. Who wants to jump in and comment on that one?
Roy: I thought one of the things that’s pretty cool is that it felt natural. We didn’t even realize that we were trying to adopt, inspect, and adapt principles until way after we went home, after the paintball event, right?
Like it just came natural that “All right, we did this, that didn’t work. Let’s try something else.” We were constantly reflecting and spending the time between matches, coming up with what we were going to do better to follow the match.
Derek: I think the thing that stuck out to me the most is we didn’t really talk at all about the other team. When we had success or failure, every time we were looking for improvement, it wasn’t anything about “They’re doing this. We need to do that.”
It was all, “These are the things we need to do and to improve.” I thought that, that was kind of interesting. Our focus wasn’t like, “Oh, they’re killing us at this. So, we need to respond to that.” It was like, “These are the little, itty‑bitty incremental things that we need to do to improve how we’re doing things.”
Jade: Which was interesting because when we first started, this is the first time that almost all of us had ever played paintball. We did end up playing against a bunch of 13‑year‑olds, but they really did have pro gear. They came in every day like this is what they did, but our focus really wasn’t on them at all. We were a little worried we’d get our butts kicked the first time in, but we just didn’t sweat it, man.
I thought that was really cool when you pointed that out afterwards, Derek. We just never even mentioned them. It was all focused on ourselves.
Clayton: One of the thoughts that I wrote down was that, ultimately, the first game we probably tried to beat the other team and then after that it was just how can we beat ourselves from the last round. I thought that kind of encaptures that thing.
One of the other things that we’ve started to do after we did the paintball, it was easier to describe in a kind of a paintball you’re talking about being shot at and those things, but was the concept of exposing your vulnerabilities. There was times where you’d say, “When I go over here, there’s a guy that can shoot me from that little window or whatever.”
We talked about that a lot, and we found ways as a team to solve that problem. How does that really relate to the software side of things?
Derek: I think a lot of times we go into standup and we really only talk about, “What did you do yesterday, what did you do today, and what are your impediments?” While all of those things are really relevant, I think the things that are usually the largest risk to a team are the things that the team is actually afraid of or exposing themselves to.
I don’t think we really talk about risk during a lot of our different ceremonies inside of Scrum, and I think that that’s something that we need to, as teams, as we become more trustworthy with one another and become more vulnerable with each other that we start to say, “These are the things I’m worried about,” or “Hey, by doing this, we’re leaving ourselves open to that.”
During paintball, one of the things I saw was we were doing something like duck and cover type of maneuvers where, “Hey, you’re going to send somebody out and I’ll cover you.”
The first time we did that, we were fairly successful except at one point when we advanced almost all the way to their base, our guys got nailed. When we came back, the adjustment was, “The problem is when you’re covering me, you’re covering me from the wrong angle and therefore, you’re leaving me exposed. When I get to a certain point, your angle was no longer effective cover for me and so I’m exposed, could you adjust and give me a slightly better angle so that I have more cover.”
I think we don’t do that enough as teams to say, “Hey, if I take this risk, I’m going to be exposed and if you could just shift over and do this thing for me, it would really cover and help me manage the risk that I’m taking to take that risk.” I don’t think we do that.
I think that’s why a lot of teams don’t take risk. The second part during the last game we had I thought we were super aggressive and it had everything to do with trust meaning that, by the sixth game, I knew that if [inaudible 00:05:24] said, “Go ahead and advance, I’ve got your back,” I could pretty much just stand up and run right to the target and stick a gun in their face, and not have to worry about getting hit because I knew he had my back.
When as teams you start to provide adequate cover to each other to take risk, the amount of risk you can take is monumentally huge compared to the cover‑your‑ass perspective of, “I’m not going to take any risk because I can only take care of myself.”
Roy: I think what’s important there too is that when you have somebody covering like that, the risk becomes less of a risk.
Derek: Correct, that’s correct.
Roy: There’s is less chance of this going wrong because I know there’s somebody that’s got my back.
Derek: Absolutely.
Clayton: So one of the other things I think we did a good job of from game to game we kind of improved on small things, so it’d be kind of do some incremental improvement. We all had our own ideas of what those things were, but I was curious what you guys thought. What are some things you thought we did better incrementally over time?
Roy: So I think one of the things that we started doing was splitting off into [inaudible 00:06:27] of teams. So we’d start off at six and split off into three, and then eventually we decided actually do pairing where we would have each person buddy with another person and kind of work from that perspective because that gave us more flexibility and it was really difficult to keep track of three people [inaudible 00:06:41] . Like we actually split up into smaller chunks, but we realized every man for himself was not practical, or feasible.
Derek: Yeah, I think the other thing that was interesting is I thought we did a fair amount of self organization and self direction within. So after the I think it was the first game or the second game, and we kind of decided to split up into pairs, we kind of did direction where we said, “OK this pair you guys get the right flank, this pair you get the left flank, this pair’s going to hold and cover the base or do whatever.”
But that was as far as the direction went, and then it was really up to each pair to say, “This is how we plan on attacking to the right, or attacking to the left, or holding position.” The rest of the team didn’t even have to know what was going on from that perspective.
It then kind of goes back to the trust issue for me, right. If I say, “OK, Clayton and Jade, you guys have the right side, Roy and I are going to take the left side,” we’re not worried about are you really going to take the right side. Right, you’ll let us know, you’ll scream at us if you lose your position, you’ll let us know that. Until then we just trust that you are doing that, we don’t have to worry about it.
Clayton: Kind a good parallel was the team, maybe this was just because they were 13, but the other team I noticed that they were pretty much everyone for themselves, and when something would go wrong it was always like, “Oh man, why didn’t you see that guy, or why…”? It was always someone else’s fault.
But with our team we did a pretty good job of when someone got out it was a…OK now that we’re starting this game over, or the next game, like, “Hey, why did you get out, what’s going on, and what can we do to improve next time?” I thought that was a pretty direct parallel. I think most teams you got a bunch of individuals that are all going their own direction, and it’s kind of a blame game when something goes wrong.
Derek: Yeah, I think one of the things I noticed too was I think you heard us talk the entire game. Like definitely between the pairs there was definitely a ton of talking, and I don’t think I heard the other team do very much verbal talking at all.
Jade: No, I never heard them, because I think they thought that that was a strategy to keep them safe. Right, was to keep quiet and keep your head down. I think we definitely bucked that and just kept in communication the entire time.
So Clayton, you said that we’ve started to use this idea that we came up with of exposure. Maybe you can explain to the listener how we are incorporating that into our stand‑up, and how it flows in the stand‑up, and what are some of the results that we’ve seen from that already.
Clayton: Yeah, so we’ve started doing something towards the end of this tenure. If you feel like there’s something that’s happened recently, or if you feel like you’re going to get into a situation, or you’re going to be exposed, where you are going to be facing some extra risk or something like that thereon, communicate that with the team.
Earlier this week we’ve had a situation where someone said, “Hey, I was making good progress and things were going well but my pair they’re sick, and they’re going to be out now. I am going to be exposed because I’ve got some meetings, and I was going to rely on them today, but now that they are out what am I going to do?”
Those are things that normally people would kind of ignore that, and it might come up the next day, but that’s something that we were able to discuss before it even became a real problem.
That’s pretty much the flow has been, if you’ve got something that you feel exposed on, even if it’s not anything directly related to the work that you’re doing that day, but more of a concept of, “Hey, we’re going down this road with this solving a certain problem. It seems like it’s going to be OK, but I’m a little worried.” Even that kind of stuff has been helpful to get out and exposed to the team.
Jade: Do you think that’s helping us to preemptively recognize things that could possibly be impediments, but, instead of ever materializing as impediments, we’re catching them sooner because we’re getting ourselves in that mental mode of thinking defensively?
Clayton: Yeah, I think it’s a good way to put it. I think we’ve treated it like preventative care, almost. Normally, it would have been acceptable or OK or part of the process to say, “Yesterday, I had this impediment that slowed me down,” but now we’re getting ahead of that.
We haven’t solved every single problem so far. There have been times when we have said, “Hey, I’m exposed,” and the team says, “OK. There’s not much we can do,” or whatever the situation is. But it’s at least been out there and been on people’s minds, and we have been able to prevent those things before they become real impediments.
Derek: To me, the biggest benefit is it really puts people in a state where vulnerability is OK, where it’s OK to say, “I’m worried about this technical challenge,” or, “I’m worried that my pair is not going to be fully available and that it’s going to be hard for me to focus or to achieve the volume of work,” or, “I’m worried that XYZ is going home, and that’s going to impact my ability to participate ABC or be distracted.”
For teams, it’s very difficult to be vulnerable. So, by putting within a ceremony an ability that allows people to, in a safe way, express what they’re feeling exposed to can potentially, if not abused, help build trust by encouraging people to be vulnerable in a safe manner.
Clayton: Yeah. I think vulnerability is the key there. When people say “trust,” a lot of times, if you’re not really familiar with what that means on a team, I think a lot of people think that just means, “I trust Roy to do his job.” But vulnerability is really the key aspect of the trust, when people talk about it in relation to a team.
Jade: It’s been interesting to watch, because, a while back, we implemented from core protocols the check‑in and then talk about some of our feelings and emotions to try to get to some of that vulnerability. We still glossed over a lot of things, because we weren’t thinking in that defensive mindset.
It’s, “OK, here’s maybe some raw emotion. I’m mad because blah, blah, blah,” or, “I’m sad because of this,” but it’s really helped us have a frame of reference to think about how am I exposed today and what’s going to happen today that’s going to leave me in a potentially vulnerable state, and sharing that with the team. I don’t know, what you guys think about that.
Clayton: One thing I always thought was interesting was we do week‑long sprints, so there’ll be times, towards the end of the week or retrospective, someone will bring up some problem that they had, and then maybe they were trying to be vulnerable. They were talking about something that was a problem.
But then, come next sprint, over the weekend, it was like they forgot about it, and the behavior never really changed. What was interesting with the paintball was that it was so quick. Basically, there were maybe five minutes between the matches.
Sometimes, we took a longer break ever now and then for 10 minutes. But it was so fresh on everyone’s mind that, “Here are the problems. Let’s talk about them,” and then, at the beginning of the next one, everybody knew what we needed to do. We knew all the issues that we had, the vulnerabilities. So it was easy to come back and immediately go into that. That’s been part of the problem with some of the core protocol stuff that we’ve been doing.
I think that we’ve been glossing over that, but it’s easy, especially now that we all have paintball on the mind when we’re talking about the exposure stuff, so it’s easy to think in those contexts of, “OK, I’m going to talk about what I’m vulnerable or how I’m exposed. And I’m not going to gloss over anything, because I know that I’m going to get some impact from the team, or something is going to happen right now. It’s not going to just wait. I hope someone says something later.”
Jade: As we wrap up here, what would you recommend other teams do who are maybe struggling with building up some of this trust or talking about the vulnerabilities and exposures that they have? What would you recommend for them to do?
Roy: The core protocol portion of the stand-up, and having people start talking about their feelings, is a good place to start. Because the facts are great, and all, but as Jade likes to say, perception is reality. If people are feeling a certain way and perceiving their own realities in a specific way, then it’s good for the rest of the team to know that, so they can understand where that person is coming from.
Derek: I’ll provide a counterpoint to that, and I’ll say I absolutely agree that perceptions can be reality, but I’ll also follow with feelings aren’t facts. I would say that when I’ve seen teams do the best when it comes to vulnerability is when they have a shared vision.
Because of that, basically, it allows all the baggage and all the bullshit to be dropped. When everybody is going a different direction, there’s all sorts of grandstanding and lobbying, and there’s always this undertone of, “I’m trying to convince you to do my direction, and Clayto was trying to [inaudible 00:15:44] somebody else to do their direction.”
There’s all this silly political bullshit underneath the surface, where I think then vulnerability is locked out. When it comes cut and dry is, “Is this pushing forward to our vision? Yes or no?” It becomes a lot of easier to say the hard things and have the harder conversations, because they’re not loaded with all the baggage of the feelings, so to speak.
You can say, “This is how I feel,” get it off the chest, and then have the real conversation instead of play that political back and forth, like, “I’m trying to jockey to determine what direction to take things.” I would say the best thing a team can do is get on the same page with where they’re going and then start to talk about their feelings once they’ve got that set. I think the rest works itself out over time.
Clayton: Yeah, that’s what I was going to say. No. I’m just kidding.
[laughter]
Clayton: I think that talking about vulnerability and being vulnerable with the team mates is pretty difficult. I think the team should start with trying to find ways to get more into healthy conflict and not having the perceived “everything is OK” feeling. Basically, a lot of stuff that’s in…
[phone rings]
Clayton: A lot of the stuff that’s in the…
[laughter]
Clayton: I’m sorry. I’ve got to take a call.
[laughter]
Clayton: To find dysfunctions on a team, and the chapter that talked about, there’s a list of things that teams who don’t have trust, these are the bad habits that they have, and here are ways you could figure out. If your team does have trust, they should exhibit these traits. I think driving into some of those is a good step in that direction.
[background music]
Jade: Thanks for listening to ScrumCast. Hopefully, you’ll catch us next time, as we continue to expose ourselves.
Chris Coneybeer: Hello again. Welcome to another addition of ScrumCast. I’m Chris Coneybeer.
Roy vandeWater: I’m Roy vandeWater.
Derek Neighbors: I’m Derek Neighbors.
Drew LeSueur: I’m Drew LeSueur.
Chris: Today, trying to go through topics and something we thought about was large corporations and the need for artifacts during sprints and during projects using agile methods. I’ve worked in several large corporations where have been beaten under with pages and pages of requirements, tracking, and all kinds of other documents or artifacts needed for managing a project.
I want to get the group’s feedback on what your feelings are and also with some of the people here that have been working offsite at other teams. Have you come across these issues? How have you tried to deal with that in adopting agile and scrum techniques?
Roy: I think part of it with the documents ‑‑ what is the real value that they are trying to get out of these documents? What are they trying to accomplish by having these documents as part of their process?
Chris: I think traditionally what I’ve seen with a documents is that they have been put in place to try to enforce processes, when other ways weren’t working for making sure that these processes were happening ‑‑ such as release management, and making sure the security have happened, code checks have happened, just sign off.
People weren’t doing their jobs. People weren’t being held accountable, and they weren’t doing what they said they were going to do. Documentation and processes were put in place to try to clean that up.
Roy: Would you say that most of these documents or most of these artifacts are documentation of accountability?
Chris: I think accountability, but also user requirements. I’ve seen some rather large user requirement documents that if you had interactions, if you had conversations with a business owner and the stakeholders, you could do a lot better job in understanding instead of just throwing a document over the wall, and then waiting for something to come back over.
Derek: It’s right, because I used to think of the desire to over document. I think we can all agree Agile is not about documentation. But I used to think it was all about cover your ass ‑‑ meaning that the reason that most of the managers I saw that were demanding documentation as a team member, I always felt that they were doing it because they didn’t trust the team.
They wanted some artifact to prove that if their boss yelled at them, they could say, “Well, look. We documented all this. The documentation has been for a long time, and nobody commented on it. How would we know?” But the other night, I was re‑reading Lisa Adkins’ “Coaching Agile Teams” book. She said something in it that made me just now think about documentation.
She said when she was a typical project manager before adopting Agile, one of the things that she said is she didn’t ever have to deal with conflict. The reason she’d never had to deal with conflict is because the way that the processes were built. Everybody was siloed. You were only on a project for a certain amount of time.
If I am the manager of a testing team, I’m only on the testing project for a certain amount of time. There are all sorts of conflict in whatever brewing up it doesn’t really matter, because in four weeks we’re not on this project any more. All the conflicts we had with other people were gone.
I think this was one of the key reasons big companies really want documentation, is they are so siloed. They play pass the baton so much, that they’re definitely afraid of it. It’s almost like having turnover every four to six weeks inside of a company. If you could think about your entire team leaving and another team picking up where you left off, that’s really scary.
The best way to combat that is why I want all sorts of documentation. When I’m the new guy coming in, I’ve got my cheat sheet to go back to if I get confused. To me, is this part of the problem with big organizations? Is it they’re not fluid enough. They’re not cross‑functional enough. It incurs the desire to have documentation to cover up for that.
Roy: I think that’s a really great point. Obviously, there’s less of a need for as extensive documentation when you’re working in a more open environment, where the team communicates verbally, primarily. I also really think the comment, or the phrase, or the idea that the main artifacts should be the code and the tests, is really powerful.
What actually is happening? The documentation can say whatever. It can become outdated. But the code and the tests that pass are, actually, real concrete documentation, and commit histories as well. I think in an environment where you’re more open, where you’re not siloed, where there’s more of verbal communication, and where you have good code and good tests then there’s a lot less need for extensive documentation that is probably not read very much, anyway.
Chris: The one thing I throw out there is that in regard to this documentation conversation. I don’t want people to get confused and say that we’re trying to say throw out all documentation, because there’s still going to be some documentation that’s needed. You’re going to have compliancy issues. You are going to have maybe general architectural diagrams for a high system level understanding. What I have seen, though, is that since I have been at Integrum I have learned communication.
Communication is everything and team ownership of code is everything. That makes a big difference and what I have seen in corporations is that they are replacing communication with documentation. That is where, Derek, maybe the reason some of this turnover is happening is because there is no communication. Who is happy on a team when you are not communicating with anybody? They don’t realize it and maybe that is why people will get upset at what they are doing.
How do we try to replace communication? Replace that documentation that is being used as communication that we are used to in the projects that we manage?
Roy: Part of what Derek initially stated where you had previously believed that it is a lot about trust. I think a lot of that still is true, a lot of is about trust, and that if you have a team that is consistently underperforming and whether it be because they have only been on the project for two or three weeks, because everyone is on the project only two or three weeks at a time.
If people stay on a project for longer and start performing and start doing well, I think that their managers will find less of a need to require documentation of them. Because they know that this team is going to do what they say they are going to do, regardless of whether or not they fill out the whatever report. Also as far are teams switching out really frequently, what is the primary reason for that?
Derek: I think it is because everybody is specialized. If I am the enterprise architect, I am only needed really at the beginning of the project full‑time, and then after that you just consult me if you feel that there is a change in architecture.
If I am the QA team, and you really consider a story done when it is coded, not when it has gone through full Q and A, I am looking at the project in a much different time than everybody else. I need all sorts of artifacts to come along with me, because you are on another project. As a developer you are working on another project potentially by the time I am doing a large portion of the QA, or the enterprise architect is now on another project by the time it gets to it.
I think that there is something to be said for communication pathways. I think large companies have larger teams, which means it is harder to communicate face‑to‑face or person‑to‑person. It is easier to say we need to write that down so that anybody on the team can have access to that even when we are on the same project.
But when I think you add in the silos and not being cross‑functional, to me, it really comes down to people are treated like resources instead of like people. Managers treat everybody like a completely interchangeable widget that they are just pushing and plugging, so it is really easy to say, “I really like the work that Roy is doing and I need Roy this week, so I am going to pull him, pull that widget out and plug him into this other product.”
Now all your knowledge is gone, and because now you are on another team, it is no longer culturally acceptable for everybody on your old team to communicate with you to ask you information.
If you didn’t leave a litany of artifacts and you hadn’t been communicating with that team, all of your knowledge is now gone. The way managers try to protect themselves from that, I believe, is they want people to document absolutely everything so that they are guarded. If their resources get taken away, they’ve got a backup plan or a transitional plan to bring on new resources.
Chris: That goes so much back to silos.
Drew: Yes, I agree as well. Even if there is a situation, like you were saying, how somebody is just kind of plug and play like a widget out from one team to another, I still think that the need for extensive documentation is still not needed if the coders, if the programmers write good tests, write good code.
Sure, maybe give a shorter overview of written documentation that is not part of the code or test as needed just for kind of a big picture. But if they are doing things the right way, then yes, still extensive documentation, extensive artifact, extra artifacts are needed.
Roy: Do you feel that it is necessary for large corporations to have all of these specialized roles? Like people who are…
Derek: No.
Roy: Especially because I understand that if we take it to a tool shed metaphor. If you have one employee who is good for everything, something that is used for everything like a hammer that you can use for whatever tool. It is great to have on hand, because you can use it wherever you go, but having a specialty tool is way more effective in those key circumstances. Does that metaphor carry over into the business world or is that a broken idea?
Derek: I don’t think it does entirely because the two things that I think that it leaves out is, one, it leaves out what you get from somebody who is well rounded meaning that when you’re really talking knowledge work, it’s not cutting dry of, “Here’s the band saw I need. Cut the band saw, and now I’m taking it over and using sandpaper, and sandpapering it.”
The work that teams do is dynamic enough that you really need to understand the whole concept of woodworking. It’s not just a matter of being able to understand like, “I’m the best drill press guy in the world.” You’re probably not making a whole lot of great furniture if you only know how to operate the drill press.
If you get to be a little more rounded, you may not be as good as the guy who only works the drill press all day, but you’re now also be able to create things that somebody else that is unifunctional is not capable of doing. I think that that’s probably the biggest piece that, to me, pulls on to the second side and that is that you’re not nimble if you have a bunch of specialist, because you’re limited by your resource allocation.
If I say I’ve got one of these guys, five of these guys, six of these guys, or eight of these guys, and all of a sudden a competitor pops up, and I need to handle something. I need to extend the software. I need to create a new project or do something, and I don’t have an enterprise architect ready right now.
Now I have to wait to when is the next time an enterprise architect’s ready. “OK, six months.” “OK, we can’t start that project for six months.” Whereas if you got well‑rounded people, it’s a lot easier to be able to pivot and to shift because even though they might not be the best in a particular thing, they’re able to get up and running with that.
If you’re in an environment where there’s communication and self‑organization, what I see is people make the right choices. If I really suck at JavaScript, and I’m going in a project that’s heavy JavaScript, I could tag out and say, “You know what, Drew, you really need to be on this project. I’m not the right person for this. We need to shift places.”
If we’re allowed to do that, the right things happen. Or, “Hey, I need you to pair with me on this, because I want to get better at JavaScript, but I don’t want to slow this project down, or I don’t have the expertise to do it.” I think if you let people make good decisions, they’ll un‑silo themselves.
Chris: You got any other comments on that?
Drew: I think that’s a great point, the pairing. It merges into cross‑functional teams discussion a little bit. But yeah, pairings pave for that.
Chris: I think it really comes down to a lot of, like you said, Derek, getting the teams to communicate, being able to get people to work together, and also, not just communications on the teams but communication throughout the business. Let’s get rid of 500 page requirements documents and start the communication channels with the people that are involved with the software.
Roy: I’ve met quite a few developers that are not a big fan of doing communication. There’s a lot of people going into the computer science industry that I remember from college that couldn’t wait to graduate, get their own cubicle, and never have to deal with another human being again.
How do you feel that people like that that are hiding behind documentations and using documentations as a wall around them, so they don’t interact with people? How do you think that affects the company?
Chris: For myself, I think it impacts the company poorly because how are you going to really understand what you’re writing software for if you just surround yourself with documentation?
How many times does it help when you, actually, have a one on one talk with a user, and you see the frustration, you see their eyes light up when they think about something, or you actually watch them work? There’s something to be said about that, because at the end of the day, we’re writing software for human interaction, so we need to have human interaction to understand how that works with the software.
A piece of paper doesn’t tell me that. All a piece of paper does is signify what made it through the process that probably higher ops or whoever’s in charge of the project [inaudible 13:55] out and say, “No, this is as important as this is,” but they aren’t the people using the software at the end of the day. There’s something to be said about having that communication.
I think no matter what we’re always going to have people on the field that are going to stand behind the documentation, and we need to learn how to get them on the team, and how to use them as effective resource.
Like Derek said, make sure that they’re not just a hammer. Make sure that they’re well rounded, and we can use them in many different circumstances. But make sure that also you have components on the team that are able to have open honest communication about what are the problems that you’re trying to solve.
Drew: Coneybeer, I really like your answer to Roy’s question, people who wall themselves away with documentation. There’s also that documentation of user requirements where that can be minified or reduced with just communication.
Here we’re not talking about just communication between the team but communication with the end user. I really like that, because the communication in the team and out of the team reduces the need for endless writing.
Roy: I think a lot of times it unlocks a lot of innovation too where I, as a product owner, may build the requirements documents and say, “I want a piece of software that performs all of these functions and has all of these features.”
In a non‑communication sense where it’s purely documentation, I received that requirements document, and I start building the software based off of that. At the end of the day, I give them some software, and they say, “This doesn’t give me the value that I’m looking for.” The developer can say, “But look, I can check mark all of the requirements and [inaudible 15:23] those.”
But if they had taken a moment from the beginning, taken the time, and got together, and talk about what the user really wanted or what the product owner really wanted in that case, they may have come up with a way better solution that’s maybe easier for the developer to implement, that maybe gets the value to the end user better.
That would have been a better overall solution. Instead, they choose a limited form of communication to try to tell the other person what they want when they really know what they want.
Chris: Because how many times have you had that conversation were you do get a chance to talk to somebody, and all of a sudden, you both go on the same page and go, “Wow, we could do this, and it’s going to be hell of a lot cheaper, hell of a lot easier. It’s going to be a better solution”?
But too many times when people write up documentation, they put these limitations on their knowledge ‑‑ what they know how to do or what they’ve seen ‑‑ that hampers and changes the way that they’re writing out that documentation.
Then, you’re already starting with some limitations in place based upon what that person knows. When you have that communication, you’re able to figure out better solutions just like you said. How many times do we have that where it’s just like, “Oh, we could do this so much easier”?
Derek: To me, I think the question was something to that effect of, “What happens to the person that just wants to hold themselves up?” To me, this is one of the biggest detriments we’ve seen in this industry in the last 20 years.
When I look back at the ’50s and the ’60s, some of the most prominent software developers were women. You didn’t have a cube. You had a computer room that was bigger than most offices that you had to operate in.
There was a much more communal aspect to computing in the early days of computing. I think that it showed in the type of innovation, and the type of work that was being produced at that time, and the quality of the work being produced.
I think as we’ve turned into the, “Put the programmer in the dark cave, and feed him food underneath the door, and he’ll spit back code” has really hurt our industry and innovation that we see.
I think what we’re starting to see right now is, as teams start to adopt agile methodologies, they become much more diverse. They attract a much wider range of individual. You start to see their solutions has become much more creative, and you start to see the people who want to work on those teams interact in a much different way.
I think you might see a day where there’s not very many jobs available for the coder that just wants to go in, and basically bang out code, and be left alone because I don’t think that’s where innovation lies. I don’t think it lies in one person’s head, and I think history proves that to us all across the board, medicine, architecture, you name it.
It’s not one person in a dark room being inspired by what’s in their own head. It’s by being inspired through conversation and interaction with the environment. I think that’s the type of development we are moving to. It’s a more humane style of development.
Until then, see you next time.
Derek Neighbors: Hello, and welcome to another episode of the Scrumcast. I’m Derek Neighbors.
Jade Meskill: I’m Jade Meskill.
Clayton Lengel‑Zigich: I’m Clayton Lengel‑Zigich.
Chris Coneybeer: I’m Chris Coneybeer.
Derek: Today, we want to talk about is it ever responsible to not test?
[all men gasp]
Derek: I had to pick the guys up off the floor but…
[laughter]
Derek: This has come up a number of times. I remember personally arguing about this with James Shore and a few other people at, I believe it was, Agile Roots probably two years ago, maybe 2009. Then, recently, Obie brought this up in a blog post as he’s doing his own start‑up, and he talks about maybe he shouldn’t be testing for his own start‑up in some ways, shapes, and forms.
I just wanted to, obviously, be in a group that’s pretty adamant about testing and pretty focused on quality, what we think about that.
Clayton: I read an interesting post the other day that was supposed to be an argument against TDD. It was one of those things where half of it was drawn in, and then the other half of it was, “To prove my point look at how crazy Bob Martin is. When he talks about testing, he’s crazy. That means testing’s crazy.”
[laughter]
Clayton: It was funny, but there were a lot of people that had commented on it that were like, “Oh, I’m so glad that someone finally came out and said this,” like it was some Oprah show or something where someone was revealing this great truth.
I thought that was interesting, but at the same time, no one was really getting into the like, “Well, hmm. Maybe it isn’t responsible to test everything all the time,” counteracting the Bob Martin or some of the people that are really into the test‑all‑the‑effing‑time kind of stuff. There’s something to be said for that.
Jade: A lot of it is the degree of which you’re testing. Advocating a position where you don’t test at all is very dangerous and completely irresponsible. But do you need unit tests that cover every single edge case, as well as, acceptance tests, as well as, request testing? There are so many levels of testing that you can get into, especially with a web‑based application.
When you’re running a Lean Startup and you’re in move‑fast mode, totally experimenting, and trying to figure things out, it can be quite a bit of overhead to do a complete full‑stack top‑to‑bottom, outside‑in testing.
Chris: Even if you’re doing your Lean Startup, there should still be some testing in there for acceptance. There should be some testing around what is the core criteria of the application I’m writing for, not of the unit testing, testing out every single line of code. I understand the coverage being a lot lower.
But I still think that, no matter what, if you’re doing acceptance tests, even integration tests and depending on what you’re building, what you’re doing, you’re going to think about a lot more things, and have more confidence in that code. Not confidence in being perfect but confidence in your not going too far away from what you’re trying to get to.
When you start writing everything with no test ‑‑ I just would have no faith that I couldn’t break something and not be aware of it. Then, if I’m a starter that could have a bad presentation to any end users or people I’m showing the product to.
Clayton: I heard a good way of describing testing, and a lot of people think of testing, especially if you read stuff on Twitter, like TDD. It’s all about, “Oh, TDD is so great because I realize that I broke something before I got it to production,” or whatever. So, testing becomes all about making sure you’re not breaking things.
The next level of that is, the code I heard was, “You should be doing testing so that you can verify that you’re delivering the value that you say you are with your application.” That would be really important if you said, “From my Lean Startup, I’m going to test the value parts and the rest of it is…” Maybe, I don’t do that. Maybe, not test those things. That could work.
Jade: One of the arguments that came into is, when you’re funding somebody as an investor, the truth is you don’t give a shit about testing. They want, you just don’t care. What you care about is, can you compete in the marketplace? At some point, testing or quality factors into that. But sometimes getting to market or getting to discovery, quality is not the most important thing.
So, if I say, “Clayton, I’m going to give you a hundred thousand dollars and I need this list of 15 features. If you can’t get those 15 features done, regardless of what the quality of those 15 features is, this project’s done and we’re not going any forward, and ending. If you deliver those 15 features to me, regardless of the quality, if you can demonstrate on some level that you can complete these 15 features, I’ll give you another million dollars to continue on with this product.”
That, in a Lean Startup mode, is where it starts to become a little difficult to say, what is that threshold? Is it OK to go four weeks without tests? Is it OK to go 10 weeks without tests? Is it OK to go 90 days without tests? Is it OK to only have 10 percent coverage or only have the value items covered?
I mean, there is a point and you could say the same thing, even not on Lean Startups. When you’re in large enterprises that have millions of lines of code with no test and you want to do new development and it’s not reasonable to go back and write tests for every line of code that’s already written, at some point you have to make trade‑offs to say, “What’s the acceptable amount of testing that is responsible.”
That’s a word we use a lot but we drop real quick when we get into our wars, when it’s all testing all the time no matter what. We drop the whole like, “What’s responsible?” Maybe, we could talk about. What are some of the things that we see that are responsible or, maybe better, what we see that is irresponsible?
Chris: For me, I really embrace the core idea that BDD, a behavior driven development, is less about test coverage and the percentage of testing, but more as a technique to help me discover the problem I’m trying to solve. So when I approach it from that angle, I’m not really interested in necessarily ensuring that every single line of code is covered.
I’m more concerned about, “Am I creating a quality design that is good enough to solve the problem that I’m trying to solve?” There’s a bare minimum level of test coverage that you can implement when you’re going down that path that is going to cover you in 90 percent of cases, especially, as your software continues to grow and add new features. You have some level of confidence that you’re not completely destroying the application by changing a few things around.
So when I’m testing in Rails, I really like to do acceptance testing, some more outside‑in testing. I’m coming in as a user and following the path and making sure that things are working the way I anticipate them, but I can change around a lot of the implementation details behind the scenes without having to go back, refactor all my tests and worry about this whole gigantic test suit.
There’s a bare minimum level of coverage that you can get where the testing is pragmatic and simple but good enough for the time being. It really comes down to risk. How much risk are you willing to take and how much risk can the product or project that you’re working on afford to take?
If you have a hundred thousand dollars for the start‑up and it’s make it or break it, you can take a lot of risk with your software because the bigger risk is that you don’t deliver anything. If you spend all your money and engineering time doing testing, you’re not going to get to market anyway and it was just a waste of time
Derek: On your thousand dollar example, if you treat it as a prototype, people readily acknowledge that you should build the prototype and throw it away. If you can be responsible to do that, you should also recognize that maybe doing a full testing is irresponsible, because that’s something you’re going to throw away.
At the same time, I’m kind of torn, because I know that when you get to a certain point, I acknowledge that, there are benefits that you get from, say, TDD that are like architectural decisions. You get other benefits that are not really what you’re specifically testing. Those are harder to get and more people think that they understand those and get those than they do.
I could see a lot of people saying, “Well, you know, I do TDD because I have to test everything, because we’ve got all these great TDD benefits,” when maybe, they’re not really getting those and it’s a prototype that they should be throwing away anyway.
Chris: How many people do you think have the discipline to actually throw away that prototype?
Jade: None.
Derek: None.
[laughter]
Jade: To me, where the argument comes in is what’s that time frame? I mean, I would argue. To me personally, it’s probably in the four to six week time frame, so you can lie to yourself that it’s kind of a prototype for four to six weeks. Once you get beyond that sixth week, if you think of it really in terms of technical debt like financial debt, I might bootstrap a startup with credit cards and that becomes irresponsible to a certain dollar figure.
Is that dollar figure $50,000? Is it $100,000? Is it $200,000? I don’t know it’s going to be different for everybody. It’s kind of the same thing. If you’re doing an application without tests, you’re incurring a certain amount of technical debt, or you’re making it more difficult to pay down technical debt that you do occur.
At some point, whatever that time frame is, it’s pretty damn short. I want to say less than six weeks, but it really depends on who you are, but then, you’re just lying to yourself.
Chris: How could you gauge that? How could you find that limit, that threshold, between test all the effing time and no testing at all? How do you, as a team, determine what that pain threshold is?
Jade: For me, after playing with a bunch of test frameworks lately and really pushing through, most people feel that testing makes them slower. When you’re comfortable with your framework, that’s simply not true.
Testing often makes you faster, not slower. Even though, you’re writing twice as much code, what you’re doing is you’re thinking much more about the code you’re going to write, therefore you actually end up writing less code in probably a quicker amount of time that produces more functionality.
I would say, that a team that is used to testing, this isn’t even an argument, because to them, they don’t see testing as slowing them down, even in a new project, if they’re testing properly. If they’re over testing, 100 percent coverage, then that’s a different story.
What I would say is, if I was doing a different prototype and I wasn’t really comfortable with the test framework, what I would do is, I would probably say, if I’m breaking something down into stories or tasks, I would give myself 10 or 15 minutes per task or story to say, “Can I feasibly write a test for this?”
If I get stuck, I immediately throw the test away. But I have the scenario, I’ve got the harnessing for testing, so if I come back later, presumably, it’s easy for people to add specs or to add tests in there. Additionally, what that allows is that allows maybe other people on the team that are more comfortable with testing to test instead of just saying, “Oh well, nobody is testing, so I’m not going to test.”
That’s a fine line, as well. That’s a reality. Not everybody is really good at testing and testing quickly and making responsible test decisions.
Chris: There are a lot of languages and frameworks out there that haven’t yet made it easy for people to do that minimum level of testing.
Jade: If you’re choosing those, you’re probably not very Lean Startup anyways.
Chris: [laughs] Wow.
Clayton: That’s a good point, though, because a lot of the, and maybe, that’s just because we live in this community, but a lot of the, “You’re an idiot if you’re not testing everything.” A lot of that comes from Ruby, for instance, on Rails, where it is really easy to test. If you’re using Rails…
Chris: It’s ridiculously easy.
Clayton: …it’s like, “How could you not be testing? But if you’re some guy who says, “I have a great idea and all I know is C‑Sharp.” It’s like, “Maybe, it isn’t so easy to get 100 percent bootstrapped and do the testing.” Maybe, that’s why you don’t see that from that community and it’s easy to berate those people.
Jade: What do you think, Chris? You’re familiar with the .net community.
Chris: For .net community, it’s been building up for the last couple of years. We’ve been learning a lot from other frameworks. Now, it is a lot easier to get up and running and do acceptance testing on there.
You have tools available and you have a lot of frameworks. You go out to get hub and search for TDD and for .net, and you’ll turn up a ton of frameworks and a lot of tools that are available for you. You can grab Selenium down and start doing acceptance testing.
For me, that’d be the first thing I would want to do. Speaking in this idea of a Lean Startup with 15 things, I want to, as much as I like to do integration testing for contracts against other systems and things like that, I would take those 15 things and start writing that out, putting that into some steps and running that through acceptance testing.
That way, I have a contract as to what my user wants. Yes, I’m not getting all unit testing. I’m not getting everything underneath, but I’m using acceptance testing as a type of contract to make sure that I’m going to get back to what is it that I’m supposed to be delivering. I mean, it’s completely possible in .net, no problem.
There are a lot of tools out there available and a lot of tutorials and slides available to get you through that. Even if you take a look at the Microsoft stack alone, take a look at Team Foundation. Team Foundation System now has test runners and has all that. You can get that continuous integration right there in front of you. There are open source tools available for that, too.
Jade: Cool.
Clayton: What’s the verdict? Is it you’re responsible to not test in your Lean Startup?
Jade: I’d say, irresponsible.
Derek: It’s irresponsible, if you’re not at least having a discussion about why you’re not testing.
Chris: I’m going to equivocate on this one and say it depends.
Clayton: I fall in the category of I feel like I’m not super slow when I test. If I were doing a Lean Startup, I’d say, it was irresponsible if I didn’t.
Jade: I will say, I’m not as fast as Clayton at testing. At this point, I would say, I was irresponsible if I did not do some testing for my start‑up.
Clayton: With that, we’ll see you next time. Thanks for joining us.
Clayton Lengel‑Zigich: Welcome to another episode of The Scrum Cast. I’m Clayton Lengel‑Zigich.
Drew LeSueur: I’m Drew LeSueur.
Roy vandeWater: I’m Roy vandeWater.
Chris Coneybeer: I’m Chris Coneybeer.
Clayton: Today, we’re going to talk about a carryover discussion that we had together at a team lunch earlier this week about going into a team organization and implementing either pair programming or a continuous integration system. There was some discussion along those lines. Roy, you were a vocal person on one of those fronts.
Roy: Never.
Clayton: Never.
Roy: We were having this discussion with Derek, who unfortunately isn’t able to join us today, so Coney has decided to take his place.
Chris: Hello. [laughs]
Roy: My opinion was that when you’re first starting to implement Scrum, you get the most value, first off, out of retrospectives. As soon as you start getting the team reflection on what they’re doing, that’s when you start to see improvement, because that’s when they get the opportunity to come up with their own creative ideas.
I think Derek pretty much agreed with me on that point, and I think you do, as well. Then what the second implement was, Drew and myself are a big proponent of adding pairing. Pairing is something that you can do that’s relatively cheap from an investment standpoint, immediate investment, and something that gets you immediate results.
Chris: From my perspective, I’m more on the continuous integration side. The reason being is I do agree pairing has a great value, and should not be looked away from at all. My main concern is that you have repeatability with the continuous integration.
You’re starting to have where when code is being checked in, you can insure that the code is in good shape, and also that it’s buildable, and the code is not in a bad state for people. I think that out of that pairing is a big culture change for a lot of shops, and culture is really we want to get down to when we want to change.
I think that the continuous integration, and some of the benefits, and also the, what’s the word I’m looking for here?
Clayton: Confidence?
Chris: Confidence. Thank you. Confidence in the project, and what’s going on. I think that the confidence that CI can give you is a great place to start.
Clayton: I agree that continuous integration is great from a pairing perspective. I think that it’s a simpler change that you can implement. Coney, I remember when you talked about cultural change. Culture’s huge, and it can be hard to change. If somebody wanted to implement pairing, they could try pairing for maybe one day a week or a couple hours a day just to try it out.
That’s super simple to integrate and to talk about how that went, talk about the pros and cons, what people learned. Continuous integration is a good thing.
If you’re talking about one change you could first implement, continuous integration can take a long time. It could take a lot of investment, especially if there’s an existing system that’s really not designed well. There’s no test. It’s hard to deploy, all those sorts of things.
Roy: Right. I think a lot of times, and that’s where something like continuous integration itself comes from, too, is that those things are generally warning signs, right? It’s bad if you have a system that’s hard to deploy, and I can completely understand the desire to address those things. I think that you can address those things better while pairing, and that’s why I’d want to start off with that.
Drew: One thing that came up at lunch was while you could probably implement pairing quicker, the argument was you could technically do that, but maybe it would be in name only. Because I think we can all speak from experience of coming to Integrum and actually pairing. That’s pretty hard, and it’s hard to get two people. Even if one person is experienced with it and the other person’s not, it’s hard to do quality pairing.
So maybe you could implement pairing quickly, but would it be as valuable if the pairing was not very effective or if the two people that were doing it, didn’t really know what they were doing?
Chris: Going to the culture side of it also is that, with the pairing, if people are having good conversations with their pairing. If they’re not having effective pairing like you said, you’re not really changing culture at that point. All you’re doing is setting two people beside one another.
You need somebody to help teach them and help get them there. Where with continuous integration, I’m not saying that either. I am more on the continuous integration side, but also, like I said, I see the benefit in the pairing. I think that it is easier to implement, but making sure that it continues to happen.
Like you said, Drew, you could say, “Start off with pairing one time a week or two times a week,” but how do you know the next week that people are going to sit down and do one, two times a week? Where if you do put continuous integration in, you make it part of your standard process in what’s happening there. You’ll be able to get immediate feedback on the builds.
The team can start to maybe build that culture where they start to have team accountability for the code because pairing gives you that, too, the team accountability for the code. When you have a continuous integration and everybody sees what’s going on, that also gives benefit.
The team may start having more discussions as to, “Why are you breaking the build every day, Roy?” And,” Drew, why are you always having to fix it?”
Drew: I think we’ve seen, too, on the flip side, where we have seen projects where the projects are massive. The immediate demands to build features or to go back and fix defects is so great, that while we’ve tried to implement a continuous integration solution, it takes us six months or it takes six months and we’re still not done. It seems to me that even starting from no pairing experience at all, getting people up to speed on pairing is much quicker than that.
I do think that depends a lot on the existing project and the existing situation. Not in all situations is setting up continuous integration going to be so non‑trivial. If you’re doing a real simple app, start off with continuous integration. Why wouldn’t you? But with another app, it might be a lot more difficult.
Chris: Definitely right there. That’s one of those things where you try to pick the easiest thing that’s currently a technical issue. You try to pick that, and you start to attack it. If it is a huge build issue, then that’s the point where I would lay off and say, “Well, do we pick where we can automatically deploy it to death?” Maybe we start there and we set up an auto deploy to that.
Maybe it doesn’t run all the tests and everything else automatically, but we start walking towards it. That would be one of those instances where I would definitely look at it and go, “Well, pairing does make sense here, but let’s work on this as a pair maybe,” and you can get that in there fast.
Or have people start having that discussion about, “What’s going on? What problems are we trying to work through?”
Clayton: Right. Another thing about pairing, too, when we talk about culture is I bet there are a lot of places or companies that would be uncomfortable or teams who would be uncomfortable pairing where they’re used to working alone by themselves with their headphones on, whatever.
There’s a lot of other places, too, where they want pairing, where they feel like pairing is missing, or they feel like they would be pairing if they were able to pair, but they don’t because they’re supposed to be working alone. I come from an experience where I used to not do any pairing, and I really wanted to do pairing. On the few chances where I was able to do pairing, I felt like a total productivity increase.
It was awesome to be able to communicate with my teammate. We got things done quick. Also looking at that from that culture perspective, too, where people are needing and wanting pairing.
Roy: I think something that’s also like what Drew brings up as far as the siloing is that we have gone into companies before where everybody does work in their own cubicle with their headphones on, and nobody actually communicates. When you start pairing, at the very least you start having those conversations of, “This is a pain in the ass.” The other guy goes, “Really? I’ve been thinking that, too. I just didn’t want to say anything,” right?
You start recognizing some of the problems and realizing that you’re not the only one who has them, that it’s not due to your ignorance or your incompetence. These are legitimate problems that everybody’s facing, and then you can start to work together as a team. I think for a lot of teams, too, it finally gives them an opportunity to almost meet their team members because they haven’t been working with them at all.
Clayton: What do you say to the proponents of a continuous integration system that would say it’s like maybe a testing, where you could make the argument that if you don’t have automated builds that anyone on the team can run at any point in time, if you’re not doing that, then there’s no confidence in the system.
Maybe you’ve developed all these fantastic features. You did pair programming. Everything’s great, and the team all loves the features.
But when it comes time to deploy them, it’s a total guessing game. Everyone in the organization gets very concerned, and it turns into a two‑day process of making sure everything went right.
Drew: I can completely empathize with that. I have definitely experienced that a ton in exactly that type of situation. I’ve also experienced where doing the deploy has been extremely strenuous even when you’re using continuous integration, although it’s much less likely to be so.
I definitely agree that that’s a really a bad situation to be in, and it is something that should be addressed. I just think it’s the next thing on the list.
Clayton: You think it’s more important to have paired features than it is to have confidence in the build?
Drew: I’d say you gain a lot of confidence in what you’re building when you know that you built it with somebody else. Like if I build a particular feature, I think, “Well, I may have messed up, or I may have been approaching this all wrong.” While that’s still possible with a pair, at least you’re discussing it and thinking about it differently. I find that it’s much less likely that you’ve done that.
Chris: Also from the development side of this, so we’re talking a lot about the pairing and developers working, talking, and getting through this. But in Scrum the idea is that we want to build a better team all the way around not just with the developers themselves, but also with the product owners, with the people that we’re building software for.
That’s one of the things I like about the CI side of it, is that I’m also able to start to build up. Like you were saying, Clayton, I can start building up this confidence with the people above me, the people that I’m building my product for because we have some testing. We have some confidence in our ability of being able to deploy it because of the CI on there.
That starts building a better relationship for the team as a whole. Not just the developer’s side, but also the entire team that may be working on this project such as product owners, management, and other things going on.
If you’re able to take where it’s usually two days of crossing your fingers praying and hoping that it works and dealing with bugs and because you’ve been able to do a CI on this, now you know that you can push it out a lot better. Then you start to build that confidence up above.
You could start building a better team, a better environment, and a better foundation there. The pairing does give you a better foundation at the developer level.
Roy: Another concern that I have is I’ve seen multiple times with people where they hop onto the testing scene, and they start doing unit testing or integration testing. They start developing features in a test‑driven manner, and it’s great and they love it. Then their first build happens, and there’s a bug in their code.
It’s like their dreams are shattered, and all of their expectations have been ruined because they thought that they were going to have perfect code because of those tests. Everybody who starts out testing always has that realization.
All of a sudden they go, “Oh, crap. It’s not enough to have tests. I have to have good tests and then good code. Even if I have those, shit can still go wrong.”
I think that’s something that might be really discouraging to a team that’s just starting out adapting Agile. They’re like, “Well, retrospectives are great, but this testing stuff feels like a waste of time because I spent all this time writing these tests. Then we’ve spent all this time setting up this continuous integration server, and we still have bugs. Like what the hell?”
Right? I think that’s something that I’m really worried that people would back off of Agile because of that.
Clayton: Yeah, so I think that’s one thing that we’ve been missing. We’ve been talking a lot about pairing and CI. Another aspect of that maybe eXtreme Programming XP or engineering kind of stuff is testing and test‑driven development. I would say, there’s probably a lot of people maybe more on the software craftsman side who would argue that testing and test first even trumps CI or pairing, although…
Roy: Why do you say that, Clayton?
Clayton: Well, I think we should be clear that these aren’t mutually exclusive. We’re talking about which one is the best value. I don’t know that, I would say, that testing is more important than all of them because testing is difficult to do, and it’s difficult to do correctly the same way that pairing is difficult to do and difficult to do correctly.
I think that’s probably why I lean on CI as the one, I think, is the best value because it’s something that’s pretty straightforward and clear‑cut, and there’s a lot of institutional issues that get brought up.
One of the examples that Chris gave at lunch was the idea of saying, “We want to release this build, but I have to go talk to Joe over here. He’s got special password keys or whatever. He has to go do this thing. Oh, crap. He’s at lunch, and then he has to go to his kid’s soccer game.”
All that kind of stuff. That goes out the window. I feel like you get a lot of bang for your buck without having to actually be really good at testing or pairing.
Chris: Something just popped in my mind when we were sitting here thinking about it. There is a lot to be said in the fact that pairing and testing and other things have a bad way that they could be done. You can really waste a lot of time, or you can really go down a bad route and cause some issues that then have to be cleaned up or a lot of learning that goes along with it, where CI is more technical.
CI, you’re not getting into where you have to start looking for the smells. You’re still going to be doing retrospectives, but with pairing you’re going to have to talk about, “Hey, we didn’t pair that well. Let’s see how we can get better in the future.” Where when it comes to CI, especially if you’re working in Brownfield and you already have something that’s being deployed regularly, you know how to deploy.
You know that “blah‑blah‑blah” runs on these different scripts. I can automate this. It’s technical. It’s not getting into changing an environment, changing a culture, changing a lot of things. You’re getting into building confidence as a team.
Clayton: Well, I think that might leave the discussion as the “it depends” answer.
[laughter]
Clayton: Maybe we can pick it up again later after we’ve got some more experience. Thank you.
Jade: Hello. Welcome to another episode of the scrum cast. I’m Jade Meskill.
Roy: I’m Roy vandeWater
Derek: I’m Derek neighbors.
Drew: I’m Drew LeSeuer
Jade: This evening we’re going to be discussing vision. When I say that word, what do you guys think of?
Derek: How bad mine is?
Roy: I was thinking of the phrase that there’s always money in the banana stand.
Jade: What does that mean?
Roy: I don’t know. It’s from arrested development..
Jade: All right.
Drew: Yeah. I think of, something that’s sitting out there that kind of anchors you to where you want to go.
Derek: Yeah. To me, it’s really, I guess it’s linked to purpose, right? I think if there’s a solid vision then you understand why you’re doing what you’re doing. I think anytime you’re dealing with teams or having to deal with motivation. I think that becomes a core factor into what and how you do things.
Jade: So give me some examples of some organizations or a product that you’ve been on. That’s had great vision. And what were the outcomes?
Derek: Early in my career I was lucky that I was on a team that had two different products ship that had really reasonable vision. The first one was they did mortgage document delivery system.
They were an all DOS-based system and windows 95 had just come out. Most of their client base which happened to be large banks did not adopt windows 3.1, but they were starting to adopt windows 95. Because of that, they, made significant investments to move, thousands of desktops over to windows 95.
And so they were expecting windows applications with that, and so the kind of the product vision was to take the existing product and convert it into a 32 bit a windows version. So there’s a very defined goal, a very defined outcome, very defined, reasons from a business perspective of, large clients that we would lose.
If we didn’t get this done and large clients that we would win by being one of the. Companies in that space to actually deliver a product on that platform or native to that platform. And then the second one, same company was in doing a document delivery for closing documents online through the internet.
It’s time, nobody’s really doing it. And a lot of people thought it couldn’t be done. Thought there were a lot of securities thought there were no, no way to really anonymously do that and be able to print them in. So there was a very unifying goal of, this is what success is. Not only from a technical perspective, we can achieve this technical thing we’ve succeeded.
But also that if we do this technical thing, this is the financial success that comes from it. And I think for me, that’s one of the big things I see missing. Most companies don’t even have a vision, but even sometimes when teams have vision, there’s no business value behind that. So it’s, Hey, let’s add this feature set or let’s ship this particular thing.
Where’s the business value. What’s the, okay, great. We succeeded at that, but the company went out of business anyways.
Roy: So would you just say that having a vision that doesn’t add business value, which. Any, still some benefit to the team?
Derek: I think it’s a huge benefit to the team. I think the team has to have a unified vision or a unified purpose to be able to rally around, to really gel as a team.
If you don’t know what the what the, what defines success for you as a team and what’s expected of you. I think it becomes very difficult. To become a team and I think Jade and I, we might’ve had this discussion at one point. I think one of the things that’s difficult about software is there, there is no trophy, right?
There is no. Who, how do you determine who wins? Or who gets first place or, there is no world cup, there is no playoff. And in order to push yourself as a team, you have to self-define. What your championship is, right? My championship is, getting into the playoffs is doing X, getting into the championship is Y and winning the entire thing is Z.
The problem is that may or may not provide value to the business. So is it important to the team? Absolutely. Does it make a huge difference to the team? Absolutely. But I think a team can totally gel totally succeed and totally fulfill their particular vision. And if the company doesn’t have a vision, that’s in alignment with that.
The company can actually fail.
Jade: Yeah, I agree. That, that team that Derek is talking about, that’s when Derek and I first started working together and that was one of the first like real software projects I’d ever been on. And I remember being so energized and so motivated by, having that clear vision of what it was that we were going to ship and we didn’t know how we were going to do it.
The, like Derek said, some of the technical challenges. Pretty, they’re pretty high hurdles. But having that vision and knowing what the outcome of success was going to be really helped push me to, come up with some pretty innovative solutions.
And I think we created some pretty awesome technology with very simple tools. It was very S a very small thing that was easy to manage, but it accomplished a pretty amazing outcome for the company. But that same company, the broader company vision was so poor that I became very disenchanted working there only a year, even though we’d shipped this amazing product and, it was extremely successful.
It wasn’t a place that I wanted to work at.
Roy: I think we saw to here with Integrum where we were for a while, didn’t really have direction. One of the go where I think you described our company vision, as we build stuff for people. Yeah, or something generic like that, where we didn’t really know where it was going.
And it became very difficult to want to put an extra effort or to want to help out the company, because you don’t know how you’re helping the company. Cause you don’t know where the company wants to go. And we also, I think found it. A lot of people disagreed with each other because we realized we’re a lot of people that wanted different things.
And I think that moment when we had a had a big meeting and decided what we wanted to do and although we lost quite a few people, I think the people that stayed are much closer and now it’s much easier to rally behind. The organization.
Derek: Yeah. I think when you don’t have a vision it becomes very difficult to make even the smallest decisions because every decision has, multiple touch points, multiple pathways that it can take in.
So something as simple as, okay, we’re going to tackle challenge a if I’m a designer and I think that everything in the company should be about design. I’m going to focus on every decision to. What’s the best design from a visual design perspective. And if I’m a feel like the company’s all about software craftsmanship, and that’s what we’re really about.
I might take this as a reason to try every new technology and spend an inordinate amount of time on dealing with all of the, how the system works or is architected or how it interplays. Where somebody else might say the company is really about doing these amazing, innovative game-changing things.
I don’t care as much about design or as much about craftsmanship. I care about, doing this deep, meaningful, product development type of push. And you go into every decision and you’ve got three people on the same team that all have a different goal. Even if they come to a decision, you’re going to have two people that are pissed off the entire time that they didn’t get their way.
And that decision where if you come in and everybody says, the goal is craftsmanship or the goal is designed, or the goal is product development or whatever that the goal is, or that the vision is it becomes a lot easier to go, okay this is a simple, like we, we would never go try out this new technology.
That’s going to take all this time because that’s not what we’re about. We’re about shipping product, right? So we need to do whatever it takes to ship the product.
Drew: That’s one thing I was thinking too vision’s great. And you can have all these great ideas. You’re going to change the world. At the same time.
I like what you said about you have to ship it, right? So you’re great vision of changing the world or where you want to be. It has to be coupled with the reality of, okay, what are the steps that I need to take to get there? What days do I need to ship in order to get this released and what do I need to do now to make it so that I can ship on this day?
That’s one thing, and in my learning experience with scrum and agile is. That had such an impact on me. When I saw that I saw a contrast between someone who said, yeah let’s do all these great things, but we never released it. Or it took forever to release. And another between, Hey let’s do all these great things let’s release on this day.
And if we’re not ready to release on this day, what can we cut to release on this day? And that felt more in line with the envision. When you actually get something.
Jade: What you’re saying is that having a great vision also depends on a great implementation.
Drew: Exactly.
Derek: I think so. I’m trying to think of some samples of where perhaps a business vision didn’t align with team vision or technical vision in some of the problems that come out of that.
And what kind of thinking back to two, two projects where I think that from a. Business. Perspective they’re are products that wanted a large market penetration for their particular vertical segment. And they wanted to surpass kind of everybody else that was on the scene, which meant that they wanted a whole lot of features that, we have to have more features than our competitor in order to own the space was the feeling or the vision from the product owner and not criticizing.
Saying one way or another, my thoughts on that, but that was their particular vision. However, from a team perspective or I might even say a team perspective. People within the product ownership team had a vision that it had to look better than everything else. And so there’s this constant kind of push yin and yang of, I want to be pixel perfect on absolutely everything.
But I need to ship, 10 times more features than the product that’s eight years old in the next two months. And some of, what does that cause? What are some things that you guys have seen that where you saw a misalignment either within the team or from the team and the product owner or the stakeholder that caused impediments to actually getting the work done or shipping the product.
Roy: So I think we’ve seen some cases in which companies have been fairly successful already and are now at a point where that they kinda have to choose whether they want to continue to move forward and bring in more business, or if they want to stay where they are at and just keep bringing in the continuing income and not take the risk to go further.
And. Actually in situations where there’s been a divide within the company where half the people want to go one way and have two people want to go another way. And that causes a big problem when you’re trying to make decisions because who’s making the decision or, what particular issue is largely decided by those facts.
Derek: So that might be, I’m a fortune 500 company. I obviously did some innovation to get, to be a fortune 500 company. And now either within the team or within the company I’m starting to get risk adverse because I don’t want to lose my spot in the top 500 perhaps. But some people within the organization want to move to the top 100.
And in order to do that cost cutting or, getting incremental efficiencies, not enough to go from four 50 to 100 you’ve got to do something, bigger, better brighter. But that has downsides. And just even being out of alignment on something as simple as that can cause issues with a development team, what are some of the other impacts that you guys see out maybe outside of the development team or inside the development team?
Some manifested manifestations.
Roy: So I think we’ve seen in the past, like we clicked Clayton. There’s always in our team championship, a champion for testing. And we’ve seen for quite a while. Some of the team didn’t quite buy into the testing solution. And so they try to find ways around it while the the portion of the team that did believe in testing the things like set up an integration server and set up our our fill board and all of these tools to both both be able to test and also to provide visibility to test coverage and whether or not the test pass.
And in the meantime, the other half of the team was trying to find ways around that and trying to find ways to. Accountability and duct needing to do all of that stuff because they didn’t believe in that
Derek: any other samples. So I think that might lead for a good segue. Next time I think that where I think we’re talking a little bit about vision and in pragmatism and Obie Fernandez, his recently done a blog post that kind of talks about. And maybe if you’re a lean startup, you shouldn’t test it at all or should radically think how you test then maybe that’s a good segue into that for next time.
Jade: Thanks for listening. Talk to you next time.
Jade Meskill: Hello and welcome to the Scrumcast.
My name is Jade Meskill.
Roy vandeWater: My name is Roy vandeWater.
Chris Coneybeer: I’m Chris Coneybeer
Derek Neighbors: and I’m Derek Neighbors.
Jade: All right. Today we will be talking about the cost of interruptions. So why doesn’t somebody start us off with: What do we consider an interruption to the normal scrum daily workflow?
Chris: I think that an interruption is anything it’s going to be pulling me off of the work that I’ve actually tasked out and I’ve committed to doing this week. Anything that’s outside of my particular commitment that I’ve already made for the week.
Roy: I definitely agree with that definition too.
Anything that could potentially harm my my commitment or takes away the hours that I have available throughout the week that I committed to and then reallocates them to something else.
Derek: I was thinking right before we walked in here, that more often than not companies that have a lot of interruptions.
Have a culture of interruptions. Wouldn’t it be funny if we went around and said “you might be a culture interrupted company, if” similar to “you might be a redneck, if”. So, let me start with, you might be a culture interrupted company, if everything you have to do is top of priority.
Roy: You might also be a interruption driven company, If your interruptions are interrupted.
Chris: Yeah.
Jade: Yes. That made me think we were like three interruptions deep one time at one of our clients, it was like inception interruptions. I believe is what we ended up calling it.
Chris: Wow.
Derek: You might be an interruption driven company, if there’s a hierarchy to who can interrupt.
Jade: You might be an interruption driven company, if you have a person on staff whose job is to manage the interruptions that you get.
Chris: I can’t think of any good ones right now.
Derek: So I think those at home tweet out if you can think of a, “you might be an interruption driven culture, if”
Jade: Yeah, that’s great. Roy you’ve recently, you’ve been working with a client that kind of has this problem.
Tell us what the daily flow feels like while you’re over there working with that team.
Roy: So it started out at the beginning. We were going through standup and are expressing, we have a standard where everybody expresses their mad, glad, or sad about something and everything they say must start with one of those three.
And even though it isn’t one of those three, we always get the, I hope that today there’s no interruptions or we referred to it as slack. So we hope that there’s no interruptions today. Then sure enough, as soon as standup is over, the first thing we get is an interruption. Then we start working on that.
Then we get the next interruption. I would say on average, one of our resources is occupied with interruptions at least the entire morning. Then if you’re that one resource when you get to lunch and you’re like, I haven’t burned on anything on my commitment yet.
We’ve got to be behind and oftentimes we are.
Jade: What do these interruptions look like?
Roy: A lot of times they are things that the person probably knew about ahead of time. They realize now, they need it immediately. I think that’s the majority of interruptions.
Jade: In this case, you’re working in a live production system, that is managing a very physical process, right? There’s a lot of money and things are very time dependent. Do you feel that is a major contributing factor to the interruptions that you’re having?
Roy: I can empathize with some of their need for interruptions.
We see that there are clients that call in with their own emergencies. While I think that we should work towards mitigating those and decreasing those over time. There’s a lot of interruptions that have nothing to do with clients. Because there’s been an interruption culture, interrupting culture is almost bred from the fact that people knew their work wasn’t getting done.
So somebody would put an item in the backlog and the backlog item would just sit there and not get done because all of these interruptions were constantly taking place that would precede it, that were higher priority. So if you added something to the backlog, you knew your stuff wasn’t getting done.
So a much more, a much safer tactic as one of the stakeholders is to wait until the very last moment. Then say, “Hey, I got this huge priority item right now, and I’m going to throw it in and I need this done tomorrow”, because then you actually get it done tomorrow.
Derek: I definitely think that’s a huge symptom of a culture that is completely interrupted driven. What starts to happen is all planning goes out the window. So I know I need this deliverable in six weeks, but I’m not going to really say anything about it, or I’m going to casually say, “Hey, I need this thing in six weeks, but don’t worry about it”. It’s not a big deal right now. Then when I’m two or three days out for needing this thing. It becomes, this is the highest priority this has to be done, or the world ends. I think what happens is when you get into that interruption culture, one of the costs is people think that if something’s not on fire, it’s not worth doing.
I think most people who deal with their dental health feel this way. Until I need a root canal, I don’t go to the dentist. Where if I was brushing my teeth and flossing on a regular basis, I could probably prevent ever needing a root canal. I think that companies fall into this same kind of mentality.
Especially when your mouth is just full of cavities all the time. It’s I don’t have time to get my teeth cleaned or to brush my teeth. I’ve got a dentist appointment I’ve got to get to don’t you understand that? One of the cost of interruptions is people start to stop people, stop being able to realistically prioritize what’s valuable.
Chris: Because I’ve worked at a company before that, it was a culture of interruptions. It really starts to break down team because what happens is it starts to become who has the most power who has the most say so, so and that’s a person I’ve got to talk to for my interruption to hurry up and get pushed through. It starts to break down us working together because all of a sudden you’re depending on who has the biggest say so to get my interruption in. There’s no true planning and it throws a whole team into chaos and chaos for this is not good.
Roy: It also makes it impossible to prioritize the backlog because everybody’s holding their stories up until the last moment and release them. You can’t really come up with a six week plan. Because during that six weeks, there’s going to be tons of people that are going to come in with stories and say, “I need this done tomorrow”, and that’s going to happen three weeks from now. There’s no way I can anticipate that ahead of time.
Derek: Yeah. When we’re talking about costs. I think another huge cost is good decision-making. If you have to make a judgment and you’ve only got 30 minutes and I put a gun to your head and I say, “a or b right now, come on to a or b right now or I’m pulling the trigger”. You’re probably not gonna make a really great decision on that.
Jade: Know plenty of product owners that would have been shot by that point.
Derek: What happens is by delaying things until the last minute, until they are emergencies, people make all sorts of shortcuts to quality in how they solve the solution, whether the solution really needs to be implemented because it’s, if we don’t do this right now, it is like this person’s going to die.
If we don’t cut their leg off, the person could die. Whereas if we were able to treat it six months earlier, could we have come up with a better solution plan that would have prevented them from having to cut their leg off.
Chris: Also customer service issues. If you’re talking about, a live environment, when you’re hurrying up, like you talked about in the amount of shortcuts that you take.
What am I going to see with my customer when I’m having issues? We made so many shortcuts and a lot of times in that environment, you never pay attention to that data. You’re never looking at that to make better decisions in the future. It’s always just fix it now.
How are you affecting your customers?
Jade: That becomes a vicious cycle of just absolute destruction.
Roy: As a developer, it seems reasonable at first. You’d be like, oh, let’s just an interruption, but the people who are interrupting start to learn from that. They think, oh, this is how it gets stuff done.
They keep doing it. Other people catch on and soon all you have are interruptions and there is no longer a process.
Derek: Yeah. And I would say another cost talking about costs are, I think you lose innovation because instead of being able to make good decisions and to be able to get creative. You’re always just dealing with “I just have to get this out of the door”. I don’t really have time to apply any kind of creativity here. I just need to get it done and get it over with and do whatever it takes to get it done.
Chris: Creativity and collaboration. Because a lot of times with that, it’s an idea that somebody had four months ago. Like you’re saying, Roy, they waited until the last minute. It never gets vetted. It never works through a team process. So the collaboration’s gone and you have a single person that could be very well pushing through decisions.
Jade: What are some of the things that we can do to expose this? I think a lot of these things happen subconsciously and it just gets built into the DNA and the culture of the company nobody’s doing it intentionally to screw you or try to work around the system.
Some people maybe, most people that’s just, “it just is what it is”. So how do we expose that to their conscious mind and, show them in such a way that they realize, oh my gosh, this is what’s happening. How do we fix this? How do we drive people to make that realization?
Roy: So initially we tried to just have a whiteboard up and on that whiteboard, we list out every single interruption and how much time.
We use a ticketing system. So at first just a ticket number and then how much time it took. Then it grew so that columns kept getting added to it. So who worked on it? A brief description of the problem. Who was notified. Quickly even at the point where it was just an ID, a ticket number and a time, it wasn’t any fun and nobody actually bothered to update it. We’d get to the end of the week and we know we’d been interrupted more than five hours, but that’s all we have up on the board because nobody managed to track it. So one time during team lunch I had a great discussion with Derek and with Clayton. Clayton suggested that we blow up one balloon for every 15 minutes of interrupted time.
We tried it that week. Every single time somebody came in and said, “Hey, I need this quickly done”. We say, “that’s fine”, and immediately start blowing up a balloon as we’re listening to them describe it. Then as the first 15 minutes passed by and we’re working we’d set that balloon aside and would add a second balloon.
By the end of the week, our entire bullpen, the coworking space where we were working, was just filled with balloons and there were balloons everywhere. Everybody walking past thought it was hilarious that there were so many balloons. It was a great representation. The fact that the entire floor is coated balloons, and the reason why is because we get interrupted so much.
Jade: So how did they react to introducing something like that?
Roy: As soon as I heard this, I thought it was a fun idea. We went out and bought some balloons and we’re just going to do this.
Then when we brought it up with the team nah, we’re not going to do that. That’s silly. What if we have salespeople walking around? Or what if the CEO walks past and he thinks it’s ridiculous. We’re going to have to explain this to him. Wait, we’re spending all our time blowing up balloons instead of working he’s not going to.
Jade: And so how did you handle that?
Roy: So that’s it, to be honest, we just started blowing up a little bit. We just did it. And then it caught on because the balloons became fun to play with while we were working. While you’re thinking, tossing balloons back and forth, and it sounds like we’re not working, but I don’t feel like there was less work being done because of it.
What ended up happening is the CEO actually ended up walking past one day and going what’s up with all these balloons and we ended up explaining. And he’s really? That’s what they’re for. And we’re like, yeah, that’s, we figured we wanted a good way to visualize this. The board wasn’t working.
So we started blowing up balloons and he just thought it was the best idea ever. And he was super excited about it. So it ended up not being that big of a deal. And we didn’t end up looking too silly after all.
Chris: So I was just going to ask at the end of the week with the CEO and whoever else was involved, did people look at this in the day and gain insight, did management.
Roy: I will say that we were able to count up how much slack we had and that allowed us to, because we were just able to count up the number of balloons. So we knew that we had 75 balloons that equates to 18 hours of interrupted time. And so we were able to look at that and say wow, we didn’t realize that all this time was actually being used for interruptions.
And so we were able to say it isn’t just five hours a week. It is 18 hours a week. And now that we’re actually taking the time to track it, we can see that this has a huge impact.
Derek: I think the nice thing about doing something visual is it’s fun for everybody, right? So instead of being like negative oh man, we’re getting interrupted again.
It makes the interruption a little more tolerable for the person getting interrupted, but it also provides an introduction to a conversation point for the person who’s doing the interruption. Hey, why are you blowing up the balloon? It’s an interruption and it’s keeping me from doing what I need to be doing.
And so this is how we’re tracking it. Hopefully that person starts to think twice. Wow. I never really thought of it that way. I’m interrupting Roy by coming over here, maybe I need to be a little more mindful of that, whether that happens or not, hopefully, if it was continued, people would start to see okay there’s a real, very real impact.
Roy: I think you see that they aren’t the only ones I think a lot of people that come and interrupt us, they only ever see us working and they don’t see us getting interrupted by other. And so they come in and they think oh, it’s no big deal because it’s just me asking for an hour of time of there.
Then when they see entire cubicle fields and they’re like, what is up with all these balloons? I thought I was just giving you guys an hour a week. Yeah. It’s you and 15 other people that are also constantly coming.
Chris: Are you still continuing this right now?
Roy: We’ve been doing it every other week and it’s been noticeable that our successful weeks, and we’ve only done it for three weeks now with two weeks with balloons.
And when we close out and it’s been noticeable that the two weeks with balloons have been really successful. I wouldn’t say that it’s because of the balloons, because I don’t have enough data to go on at this point. It’s certainly more fun when the balloons are around and we do a, and we definitely track slack better.
Like the second we dropped the balloons, it was back to five hours a day, a week of interruptions
Derek: of measured interruptions.
Roy: Exactly. Sorry.
Jade: So we’ve got just a few seconds left here. Any other tips or tricks that you guys want to throw out there for dealing with an interrupt driven culture?
Chris: I really think sitting down and trying to have some conversations with the people that are making the interruptions.
And also guys, that are also behind allowing the interruptions to continue. Because you have the interrupters and you also have the people that are in control that allow the interruptions to continue. And I think that. Especially, not even if you’re working in a scrum environment, I think having conversations about productivity and amount of hours, and then also something visual.
I think the idea like Derek said, it’s something that’s fun. It’s something people can, you can give a quick look to, I think that’s really good to do ha have conversations about what it’s like to be interrupted, how many are seeing, and then try to do something visual, try to do something that’s fun.
So people don’t feel like you’re trying to attack and push back on work. Just open up the conversation in a positive way.
Jade: Great. Thank you for listening to another episode of the scrum cast. We’ll catch you guys next time.
Clayton Lengel-Zigich: Welcome to another episode of the Scrumcast. I am Clayton Lengel-Zigich
Ray vandeWater: I’m Ray vandeWater.
Jade Meskill: Jade Meskill.
Derek Neighbors: I’m Derek Neighbors.
[laughter]
Mike Vizdos: I am Mike Vizdos.
Jade: We have Derek and Mike on Skype with us.
Clayton: Today we are going to be talking about the cost of change, when I hear that I think of certain things and I am sure you guys think of other things. I am just curious Derek, from your perspective what is the general definition of that so we can get started.
Derek: Change or the cost of it?
Clayton: What do you mean when you say the cost of change? Who are you talking about and who is involved?
Derek: When I am thinking of this, I think of it both on an individual level, I’m thinking at a team level and an organization level, so I think that a lot of times developers or managers might say, “Hey I really want my team to do Scrum because we’re going to get all these benefits,” and they don’t think about the ramifications that’d happen when they do that. A number of things change whether you implement pair programming, whether you have a wide open work‑space.
I remember one of the first things to change at Integrum when we really started going full bore is, we went away from personal desks and went to paring station, and just the ramifications of people not having somewhere to put some their personal things, and some of their emotional baggage that came out of that that we had to deal with, was certainly something we never even considered as being one of the byproducts or the problems with that.
Derek: What happens to HR when you have totally cross‑functional teams and they’re completely dependent on a job title to determine how to pay somebody or to determine how much square footage they get as an employee. I’m a CEO and now I’ve got an actual team that’s doing an implementation that is starting to expose problems with maybe the way I incentivize my sales people, is actually damaging the organization and now I have to think about how I compensate sales people to be different so that they can be a better part of the whole organization. To me it’s what are those elements of change and what can one really start to expect and how you cope with that.
Clayton: Mike is someone whose maybe experienced some more of this stuff in a large organization. Kind of like what Derek was talking about, where you maybe have a group of people that are cross‑functional and it’s hard, murky water to determine pay scales and bonus programs and those kind of things. What are some patterns you’ve seen, or some things where people get it wrong?
Mike: A lot of times they don’t involve HR right away. Remember HR in a lot of large enterprise organizations have very different priorities than this little scrum team. Maybe that’s starting to take hold.
You really have to start to get on their radar early, and often, and understand that any kind of changes are going to be maybe years away. Being able to get HR on board is especially important. Especially when you’re talking about the matrixed organizations where you have scrum teams working in large waterfall projects.
Clayton: You mentioned getting HR involved. There are a lot of times where I think a lot of companies have slow moving HR departments. Or just in general there’s some red tape and bureaucracy. How does that contrast with the way that we think of Agile and the way we think of making change, and implementing things quickly and iterating and those things when the typical life cycle of doing almost anything is usually much longer than, say, a sprint?
Mike: Part of that involves really, again, getting people on board. Normally when I start teams in large organizations I’ll let them know that they’re probably going to take a hit on their performance evaluations. Like, one in the first year. Because now they’re not being specialized working as cross functional team members, and all of a sudden as a tester, let’s say as a role, they’re being compared to other testers within the functional organization.
With the traditional, “Do you play well with other teams, do you have your nice power point presentations, do you do your executive exposure, do you play nice with others, do you have work on 20 projects at once?” You don’t rank that high against other testers that you’re being evaluated against. So being open and honest about this is really important.
Clayton: Jade and Derek, as far as the Integrum we have maybe more feedback than a lot of organizations from the management to the employee level just because we’re so flat, but when you have a traditional organization that wants to do performance reviews like Mike mentioned, and they have a very set way of doing those things and mentioning that stuff, I think one of maybe the benefits of Agile you could get into is you could say there’s extra feedback. You know where you are a lot of the time and those kind of things. What’s the reconciliation between those? The traditional personnel review and that kind of constant feedback and being part of a team, not necessarily an individual anymore?
Derek: So I think there’s a multiple problem. So one is, is the content of the actual performance review relevant anymore? Meaning usually HR has a fairly good amount of weight that they’re allowed to put into how you structure your performance review, and it’s fairly standard to‑the‑book type of format. When you start to talk about being on an Agile team, it’s really more about values, principles, and goals and a lot less about individual duties and what your job is specifically. So a lot of times you don’t have an actual performance review that matches what you’re doing.
Two other problems I really see with the performance reviews are that they incentivize the individual instead of incentivize the team, which is obviously fairly contradictory to Agile methodologies where it’s really about the team instead of the individual. Then lastly is I think a lot of things that go along with performance evaluations deal with ranking employees and pitting this person against that person. They actually create mistrust within a team.
Derek: So the best I would do if I’m in a situation would be to try to hold reviews or have the discussions that are much more honest, much more true, outside of the performance review and then fill out whatever performance review is necessary to turn into HR to placate them and congruently be trying to get HR to change their practice so that they’re more in line with being an Agile organization as opposed to being the dinosaur organization.
Clayton: I agree with what you’re saying, Derek, but I also think that we do need to have some mechanism of dealing with the individual as well. There are a lot of ramifications that a poorly performing or a bad fit can have on the whole team. So creating those mechanisms that can deal with the individual behavior and I think tailoring the reviews and the feedback to the very specific individual person at that level is good as long as you are also dealing with, like you said, more of the team context as well.
I think somewhere is a balance between those two aspects. You can’t completely forsake the individual for the team or vice versa.
Derek: So I think to me where the problem comes in is that most performance reviews are structured towards the skill that you do, and I think that’s a bad way to do it. So if you’re monitoring me for how good of a software developer I am and it has to do with the amount of code I’m producing or the number of commits and, I don’t want to say necessary metrics but, things related specifically to code, I don’t know if that’s a good representation of whether I’m a good individual for this team.
I think it’s Tim Lister. One of the things that they did when they looked at a number of teams in writing their book “PeopleWare” is they asked, “Who do you want to be on your team, and why did you want that person to be on your team?” In almost every organization there was at least one person that was on every single successful project and that, when asked, they were deemed one of the most valuable people on each one of those projects.
Derek: But when they asked the people why, nobody could put their finger on it. I think what starts to happen is if you have a review that is simply a skill set, are you good binary at this task, yes or no?
Sometimes, you rule out the best people because the best people that make teams successful, are key people that make teams successful, are the people that enable other people to do their best work. I think that, yes, you do need to take things at an individual level and review somebody individually.
But, I think, we need to get to the point where we’re evaluating people individually on how they adhere to the team’s values and how they adhere to the team’s principles, not to specific skills or tasks. Meaning that most people that want somebody off the team do not want somebody off the team because they think they do a bad job. They want them off the team because they think they are a bad fit for the team.
Jade: I agree.
Roy: Because, when they are fit for the team, they’ll figure out ways to help that person become confident in the area that they need to be.
Jade: I totally agree. I guess I was going under the assumption that you were measuring and judging the individual on the proper things. I think that’s a good point to point that out specifically.
Clayton: Roy is someone who has been helping another team kind of adopt some of these Agile principles and things. What are some of the things that you’ve experienced in terms of the cost of changing, people that have been affected and what’s kind of happening there?
Roy: What I’ve been kind of seeing is more of the social costs of change or the emotional costs of change is that when you’re restructuring and trying to adopt the Agile process, there are times when you’re going to have to have conversations in which two people are going to go into the conversation and either one person is going to have to change their way of doing things completely or one of the two has to leave.
I think that’s a very difficult conversation to go into and that’s a significant cost of change that I don’t think a lot of people necessarily think about when they are going in to doing an adoption like this. They are going in to it thinking it’s going to be great, but then, there’s going to be heads bumping and people are going to have to make a decision on if they want to adapt or leave the company or whatever they want to do.
Mike: We actually do find that there is, and I’m not sure where this statistic came from, between 15 and 25 percent turnover when you start to actually implement any kind of change like Scrum.
Clayton: Is that because Scrum doesn’t leave a lot of room to avoid the fierce conversations that need to be had?
Mike: Yeah, you’ve got to have those difficult conversations and some people do not want to do that. It is a significant cost of change.
Clayton: That’s not even on an individual employee level or the developer level, there are managers that don’t want to deal with that either or that get totally freaked out by having to deal with this conflict.
Mike: Absolutely.
Clayton: That’s something I hear, “Oh, we’re fighting all the time. It’s horrible. We used to get along. Why is all this happening?” It’s really that you weren’t really getting along, but everything was so shallow and surface level, that there was really no room for conflict. Now that you’re digging in and really trying to work together and get better, that’s where you’re starting to uncover a lot of this conflict.
Mike: Yeah, like when they’re going through that whole Bruce Tuckman model of forming, storming, norming and performing.
Clayton: Yep.
Mike: A lot of times, organizations are stuck in storming and it’s just normal.
Mike: Yeah.
Jade: They shy away from the storming and they don’t just push through to get to the norming part of it.
Clayton: I think a lot of times, they don’t even realize that they are in the storming.
Mike: Exactly.
Clayton: One thing, Jade, that you’ve mentioned before is that, you kind of gave an anecdote about, the company wanted to adopt some Agile principle, but they couldn’t get their risk management software to work with the new way of doing things. I would imagine that there are a lot of companies out there, big and small, that have invested a significant amount of time and money and resources into getting some third party tools or processes or anything like that.
How do we deal with, when we say, “Well, we’re going to get this new process. This new Agile process,” and that makes, maybe it invalidates or makes this other thing you’ve already spent a bunch of time and money on not effective or useless?
Is that something that you think would be a total barrier? A no go?
Jade: I think that’s pretty scary for a lot of people, not even just in the software and the tools, but there might be entire departments that need to completely change. So if you have the QA department and the PMO and risk assessment and all of these people that are in these gigantic silos and now, you’re telling me that they all need to be cross‑functional and I need to completely change the structure of our organization to deal with that. That’s a terrifying thing to deal with. Especially, to not know what the outcome of that will be.
Mike: On of the ways to really help get around this is to make sure you have some executive fire cover that is able to say, “OK, you know what, it’s a sunk cost. Let’s just do it and move on.” Because, you can’t really have that at like, especially the large companies, the director levels that are really competing against each other versus the vice presidents who have more of the strategic look. You need somebody high enough to go and say, “Let’s do it,” and make the call.
Clayton: In your experience, Mike, how often are you seeing that happen where somebody is bold enough to really give the teams enough runway and enough cover to at least attempt a successful change or implementation of Agile?
Mike: Very few. A lot of is really that at the highest level, they don’t really buy into it. So that could be a whole other conversation.
Clayton: That’s a good segue into the next podcast. I say thanks to everyone. I’m going to stop now.
Jade: Thank you.
Mike: Thank you.
Clayton: Thank you.
Derek Neighbors: Welcome to another episode of “The Scrumcast.” I’m Derek Neighbors.
Roy vandeWater: I’m Roy vandeWater.
Drew LeSueur: I’m Drew LeSueur.
Clayton Lengel‑Zigich: And I’m Clayton Lengel‑Zigich.
Derek: What you are talking about today guys?
Roy: We are talking about the benefit and also the necessity of having a single product owner.
Derek: Is a single product owner really necessary?
Roy: I supposed it isn’t really necessary, but I certainly think it helps things a ton. A lot of times when you have multiple product owners on the scene, you get a lot of conflict of interest. You have one guy, who thinks his entire priority queue is the most important thing in the world and another guy, who thinks his priority queue is most important thing in the world.
And you have to have somebody that ends up reconciling those two queues. Often times that ends up falling to the developer which really shouldn’t be his responsibility.
Derek: So is the number one reason that multiple product owners is a problem is one of priority? Meaning that four product owners, all four think their thing is the most important thing. They all have a number one thing in determining which one of the four number ones is really number one is the problem? Or are there other problems with having multiple product owners?
Roy: I think there’s a lot of other problems with it. I find that in my recent experience this has been the specific symptom that’s hurt me the most, but another huge issue to it is you don’t know who to go to for a particular issue. If something comes up, who do you talk to? Do you start tagging every story with one product owner or the other, and who decides when a certain piece of functionality is done?
Derek: Have you guys had any instance where a proxy product owner has been deemed for sub‑product owners? So maybe there are four product owners, and everybody agrees that that’s unilaterally a bad idea. So neutral product owners put in place to prioritize or speak on the behalf of the four other product owners. Have you seen that? If so, have you seen it work or what are some of the problems with it?
Drew: I think one of the problems with that is if you’re not talking to the source, then you don’t really get the same power or authority that the source will give you. So if I’m talking to a proxy, he might not understand it the same way that the actual real product owner understands it.
So I’ve seen that, and I’ve seen it where when we are talking to the source, everything’s a whole lot clearer. You feel like you can really have the communication that’s needed to figure out what you need to do.
Clayton: When you think of the roles that are required for the product owner on the scrum team, when there’s a proxy product owner or more than one product owner, it gets really easy to skirt the responsibility that they have. So, maybe, the development team needs the product owner to do some interfacing with some stakeholders and prioritize the backlog, or do some backlog grooming, or whatever.
But when there’s a proxy, it’s easy for them to say, “Well, I would love to do that for you, but I need to go talk to these three people and I can’t really do it.” Or if you have more than one product owner, then it’s like, “Well, that can be Joe’s job, I have more important things to do.” So, the responsibilities of the product owner get wishy‑washy, and some of that gets avoided.
Roy: I think, too, one to the defined responsibilities, for both product owners and scrum masters is to protect the development team from the stakeholders and all the people outside of the scrum team. I think that when you start making the stakeholders the product owners themselves, technically they’re not outside the scrum team. Now you’re having all of this outside interaction coming in and interfering with the development team as well.
Derek: Do you think that one of the problems, I’m trying to think, what are some of the reasons why we end up with multiple product owners? Is it because stakeholders are unwilling to let somebody represent them?
Let’s start with that one. In the case where maybe there’s three stakeholders to a product, and none of the three are willing to give up control of determining priority or making sure the direction of the product is going their way. What are some ways that you could effectively potentially use either a proxy or get one of the three to speak on behalf of the others?
Clayton: I think if you have a strong product owner, even if they are a proxy, they can still treat the other people as stakeholders, do all the interfacing and prioritization that they need to do, and helping the team define done. They can still do all those things.
In my experience I’ve seen, maybe the flipside of what you’re asking, Derek, it’s not so much that the three people don’t want to give up the responsibility. It’s more often than not, where the proxy person doesn’t really want to take all that responsibility on, because they don’t want to stick their neck out and be the single wringable neck, so to speak.
They don’t want to take that responsibility and then be accountable to those three people. They would rather say, “Oh, sure. I’ll be the product owner.” And then, when push comes to shove they can say, “Well, I’d love to help you out, but I need to go talk to these guys.” And I don’t think they want to be accountable to the organization.
Derek: So could we say a certain smell when you’re using a proxy to try to eliminate multiple product owners is when they constantly defer back to, “Well, I’ve got to go talk to some group of stakeholders or even a single stakeholder. I don’t feel that I’ve got the authority to make that decision”?
Drew: Right, I think that’s definitely a smell when you recognize that the product owner needs to have equal parts authority, time, and knowledge about your project. If he’s got to refer to a bunch of other people, then he’s severely lacking in the authority, which doesn’t place him in an ideal position to be a product owner.
Clayton: Right. Especially if it’s over every single story. Having to do that, that’s a definite smell.
Derek: Now, let me maybe posit a slightly different scenario that I’ve seen in a number of companies, and maybe we can talk about what are some ways to handle this.
Maybe I’ve got a development team of five or six developers, and our company has eight different products. They’re all fairly mature products. So the six developers are responsible for all eight products. But each one of those products has a different product manager.
It doesn’t make a whole lot of sense to…Each product manager is willing to take responsibility and be a product owner for their product. But how would you go about dealing with creating a unified backlog so to speak between eight products where you didn’t have to interface with all eight product owners? What are some ways you could go around that?
Clayton: I think, in general, when you have a bunch of product owners and you want to delegate the responsibility of the product owner and bring it down into one person, it’s generally easier to go up because responsibilities tend to converge when you go up, and also authority tends to be higher when you go up and sometimes knowledge as well.
In that example, we have a bunch of different project managers. I would say, “Who’s the person in charge of all of them?” Is there a C level officer who can be the product owner? Although, a lot of times an issue you run into in that situation is that that person doesn’t have the time to prioritize the backlog and do the other responsibilities.
Derek: Say that there was a product manager that was over all eight products. Then there was a product owner defined for each one of the particular products or a project manager or whatever you want to call it.
If that product manager was willing to say, “I’ll prioritize the queue for you. I’ll make sure that I’ll be responsible for the queue.” They’re probably still not the best person to probably be in the planning meeting because they don’t know all the specifics about the stories.
I guess what I’m saying is how would you go about a situation where you had multiple subject matter experts or product owners? Even if you didn’t have an issue of prioritization but you had one of specialization, what would be some potential recommendations that you could do to combat that?
Roy: To me, the prioritization in that scenario sounds like the biggest problem, but if we are saying that the prioritization thing is taken care of by the overall, overarching project…
Derek Neighbors: Welcome to another episode of the ScrumCast. I am Derek Neighbors.
Clayton Lengel‑Zigich: I am Clayton Lengel‑Zigich.
Roy vandeWater: I am Roy vandeWater.
Jade Meskill: I am Jade Meskill. Today I wanted to talk about estimates.
Derek: How long do you think it’ll take to talk about estimates?
Jade: It depends.
Clayton: Have you ever done this before?
Jade: I thought the answer was, “It depends” [laughs] . Seriously, we want to talk about what are the challenges with estimates for your teams, for yourself? What are some of the things that we struggle with? To kick it off, let’s start with padding estimates. How do we feel about that?
Derek: Pad them, definitely. All the time. As much as you can. As much as they’ll let you.
[laughter]
Derek: Unless I’m paying for the work, then padding’s not allowed.
Clayton: Padding is something that is ultimately unnecessary inside of an agile framework. For scrum, for instance, if I say I’m going to do this many points this week. I commit to something for this iteration, and then my estimates are wrong, and I get half of it done or whatever. Assuming that everything else went right, then, it’s just instant feedback where I can say, “OK. Now, I know I can only commit to…” It helps you modify things. Ultimately, it’s a moot point.
Jade: Why do you think it’s so prevalent that there’s certified scrum trainers out there teaching people to pad their estimates? Why do you think that they feel that’s necessary?
Derek: It’s because they don’t understand the point of an estimate. What I mean by that is still today, even in a lot of scrum implementations I see we’re really talking about wanting to be precise, instead of wanting to be accurate. There’s this big, “Our estimates have to be perfect, because we’re telling somebody that this is the estimate. When we tell them that this is the estimate, then they’re going to go allocate a certain amount of budget.”
When we tell them what that budget is and what that time is, they also expect to get every single feature that we told them as part of that estimate. As Clayton says ‑‑ when we go in and we get an iteration or two, we realize that maybe our velocity is not 20 it’s 15, we have a choice to make. We either have to spend more money, or we have to reduce the scope, or negotiate what it means to be done on the scope that we’ve already defined.
People do not like to have those conversations, because it requires being personable. It requires all parties coming to the table and having a discussion between people. I think as practitioners we like to hide behind tools, we like to hide behind code. We like to hide behind every technology known to man, short of having real conversation.
I think that product owners and business owners have a very similar problem. Because they don’t understand technology, they say, “You told me X, therefore X had to be true, just make it work. Work twice as hard, or work twice as fast, or do whatever and make those estimates right.”
I think it’s because we do a really poor job at the beginning of a project, or at the beginning of working with somebody, defining what it really means to do an estimate using Agile methodologies. What we were trying to is be accurate and be able to do some moderate planning, but we are going to have to inspect and adapt not only the way we’re doing things, but the length and the cost that it’s going to do those things as well.
Jade: Let’s say that I am a product owner and I have a project that I would like you guys to do, and I need to know how much this is going to cost me? How long it is going to take? Here is my requirements, or my stories, or whatever it is that I have gathered for you. How are you guys going to give me any assurance at all that I can plan for this?
Derek: My two questions to you would be, how quickly do you need the estimate? How precise do you need the estimate to be?
Jade: What’s the risk in getting an inaccurate estimate?
Derek: The more precise you want to be, the longer and more expensive it is going to be, to get you an estimate. If you changed your mind on anything, or we discover anything new, we’re going to have to not do those things, or we’re going to have to go out and do all new estimates.
Jade: I’ve got a $30,000 budget, and I needed it done in four weeks. Can Scrum do that?
Derek: I think Scrum can give you a moderate picture of what the team believes they can do in four weeks on your particular budget, or I guess they could give you one or two things. They can either tell you four weeks what you will get for that budget, or they would tell you with your budget, how many features you can get done.
One of the two and I think that you can negotiate a fair amount of that feature set, and then have somewhat a good idea in every week. You will be able to potentially get feedback on how accurate those estimates were.
Jade: I want it all.
Derek: You should probably go to waterfall methodology then.
[laughter]
Jade: Estimation is one of the most difficult parts, I believe of being a good scrum team, is being good estimators. What are some tips and tricks that we can offer people to help make their estimates more accurate, help deal with these questions that come up from products owners?
Clayton: I’d say that as far as becoming, say better at estimation. I would say really take the inspect and adapt concept, and apply that to your estimations too. I think a lot of times people do the padding thing, because they just pad everything. They don’t ever go back, and they don’t ever try and see, “Was I right?” Or “How far off was I?” Or anything like that.
It’s always just, “I’m just going to take, whatever I think it’s going to take, and I’m going to add 50 percent.” That’s their general rule. They don’t ever go back. I did that here with this team, and went into a sprints worth of tasks from every single project I think, and they were 300 or so.
Maybe it was two weeks of task, but we were off by an average of like half an hour I think. We were so close to our estimates, but at the time, everyone was saying that we are so bad at estimating, we did everything wrong. In reality, we were actually pretty close. We were way better than I think anyone would have thought.
I would say that if we can go back, and come up with some way to look back at your estimates and see either you are right, you went over or you went under, and why. Apply that next time.
Derek: I think one of the things that I see most teams do when they estimate, that really hurts them, is they are still way too tied to thinking in terms of hours. I’m trying to map what does a three point story look like in terms of hours? What does a five point story look like in terms of hours? Instead of thinking about them in terms of difficulty.
What I always like to say, is when somebody says that they are a bad estimator, usually what they mean is someone, either myself or somebody on the team, or somehow we derived a velocity that we thought was acceptable. We didn’t hit that velocity, and therefore our estimates were wrong.
What I like to say is, “Well, perhaps your velocity estimate was wrong, but were your story estimates really wrong?” If I say something is an eight, and something else is a three, and something else is a one. If that three is three times harder than the one, and the eight is eight times harder than the one or a little over almost three times harder as a three, I would argue that your estimates were spot on. Even if your velocity was off by half, or double.
That’s really where I see developers really getting hung up. Is that they get way too hang up on the velocity side, instead of how they are seeing stories and relative size. I think if they can nail relative size, you start to learn how to do velocity as you start to work as a team longer, and more together. You start to see what’s common.
I think we get way too hang up on that, that’s because we do fixed bid price kind of work, even we do internal work usually as scrum teams. We put a dollar figure on something that relies on the velocity never changing. I think that’s bad.
Roy: I think something we run into a lot as well is that, we had this mentality a lot of times going into doing estimates, where we’ve done a lot of reals application, specifically for us in the past. We start off going in to estimates with this notion that a CRUD operation is automatically a three. Then everything is based off of that. The thing is not every single project that you come into is exactly the same.
The skills are going to move all around, because what’s important is that, each story within that set of estimates is relative to other stories within that estimate. Not relative to any story outside of that.
Clayton: Yeah, I think the first time that became really abundantly clear to me is, I was working with an embedded engineer, and every single estimate was under a three. There were some things and I was like, “Dude, there’s no way. That’s going to take at least a week worth of work to do that, and you put a three on it.”
Then we went through an exercise to estimate the initial velocity, and the initial velocity for a week was five. It’s like, “OK.” You get used to working with a team who the numbers are probably more in the threes and the fives, or the eights, but the velocities are 25 to 30. Velocity really has a big impact to where your sizing story is as well.
Jade: What advice do we have for trainers who are out there telling people to pad their estimates and use some multiplication factors? Things like that?
Roy: I think, ultimately, as a trainer, you’re hurting the team. If you’re doing something like that where they are padding their estimates, then they’re going to think of their estimates in terms of that multiplication factor.
If I estimate this as a two, and I multiply that times whatever figure, then when I go back and reflect on my estimates, I’m going to think about it in terms of the multiplied amount. I’ll be comparing the accuracy of my estimates against the wrong actual estimate.
Clayton: Yeah. I think it’s to the detriment of the people that are doing the estimations, and also to the people that are paying for the work. What I found is, when someone goes under on a task, let’s say that they thought it was going to take an hour and it only takes 15 minutes. When that happens, there’s never a revelation of, “Hey, I got this done so much earlier than I thought.” But when they go over, it’s always a huge justification of, “Oh, I told you that. This is why our estimates are always wrong, blah, blah, blah.”
It’s always like a one‑way street, and they don’t ever cancel each other out. When in reality, I think that’s what happens. It’s to the detriment of the people that are doing the estimations, because they don’t ever find out that they were right some of the time, and even though they were wrong some of the time, it was OK.
Jade: Yeah. I think that’s really good. I think that wraps up the podcast for this week. Thank you and we will talk to you again later.
Derek: Thanks.
Derek Neighbors: Welcome to another episode of ScrumCast. I’m Derek Neighbors.
Clayton Lengel‑Zigich: I’m Clayton Lengel‑Zigich.
Jade Meskill: I’m Jade Meskill.
Derek: Today we’ll talk a little bit of retrospectives.
Jade: Actually, I have a question for you Derek. You are the one who usually runs the retrospective here at Integrum. Doing that for a while, what are some traps you could fall into as a Scrum master, where the retrospectives are kind of stale, where you are talking about the same thing over and over again. What some negative patterns you have seen, maybe some smells and ways to avoid those.
Derek: I think one negative pattern is using the same activities over and over again. I see a lot of organizations or a lot of teams that do the Plus, Minus, Delta. That has pretty much the only tool, no tool box, only activity. I think that teams kind of get into a rhythm of just, “OK, I’m just going to spit out the same kind of thing. I’m not really challenging my thinking.”
I think sometimes if you start to go into a little bit deeper activities, you can almost ‑‑ I don’t want to say trick people ‑‑ but you can get people to stop thinking about being guarded about the data that they’re giving, or about the ideas that they’re having.
Instead, allow flow to happen a little bit better. I think that the more you can get people out the rhythm of the activity, the more that they tend to be honest or give responses that they wouldn’t normally. Because they are too focused on, “I want to get that activity and not screw it up,” or do it right, “that I’m being more real with my responses.”
Whereas, if I know exactly what you’re going to do with the data and how you’re going to respond to it, it’s just like, “I’m not going to add this to it because I know that next step is A, B, C, and I don’t want to deal with whatever comes after A, B, C.”
One of the ways, I think, you can really deal with it is to change it up quite a bit.
Jade: I think the trap that some people fall into is they only think about facilitating a retrospective from an Agile perspective, instead of thinking about being a meeting facilitator. There are tons and tons of resources out there, but really great, smart people who have become very proficient at facilitating meetings, getting people to be creative and lots of games and exercises and different techniques.
We buy the “Agile Retrospectives” book and stop there. I think that’s a huge mistake.
Derek: I think “Thinker Toy” is a really good book. “Game Storming” is a good book. “Innovation Games” is a good book. There’s definitely kind of a whole industry or segment that really talks about a lot of these brainstorming or innovative ways or game ways to unlock things in your brain. I think that anybody who’s doing a lot of facilitation exercises should really check those out.
Additionally, I think there is an art to facilitation. We talked about traps. I think it’s very hard, especially if you are a Scrum Master or somebody who is kind of on the team, it’s hard not want to interject your opinion or to drive things the way you want them to be driven, opposed to being a facilitator who really lets people express themselves.
One of the things I would say is, like the “F” word is a dirty word in engineering, and I’m not talking about “Fuck” because we all say that in [inaudible 03:45] . I’m talking about the explicit “F” word which is “Feelings.” I think that a lot of times to, really, unlock change you have to get people talking about how they feel about things, so they can overcome those feelings to move on.
I think there is definitely an art, especially in dealing with engineers, in facilitating in a way to not really say, “How does that make you feel. Clayton?” But instead ask questions that pull those feelings out so that they can be dealt with, and so the team can deal with them. I think that’s definitely a trap that’s easy to fall into if you’re an engineer doing facilitation.
Clayton: One thing kind of segway into this that I’ve seen, we’ve had this problem and I’m sure other people maybe have this problem on their team, is when you want to get into the feelings, and you want to start talking about those things. But you also have a time box and you want to respect everyone’s time and people have things to do and whatnot.
It seems like sometimes you get into the last 10 or 15 minutes of the retrospective, and there is some “aha” moment where you start getting into something deeper, but then it’s almost too late. It seems like that happens more often than not where it takes quite a while. Why do you think it is that it takes maybe the whole retrospective to get into that stuff? What are some things you could do to bring that up earlier?
Derek: I don’t know good ways necessarily to bring it up earlier. I think some of it is we have to let our guard down. Sometimes it just takes a little while of that surface level chitter‑chatter. If you think of it like a dating ritual, sometimes you need to break the ice, and relax with each other until you move it to the next level. I think the retrospectives follow a similar pattern.
Everybody has been doing the work for the week, so your mind is a little bit burned, you’re a little bit on edge, and it takes a little while to getting a little more relaxed, and get out of the “doing the work” stage to talk about the mental part of reviewing the work, in retrospect, and all that.
It takes that time to, say, let the guard down and really do that. I think if you can pick activities, if you know you’ve got a team that’s a slow mover team, if you can pick activities that help break down those barriers, and get it into the mood of being able to share more openly, that you try to do those more often.
Jade: I also think that you need to inspect and adapt on your retrospectives, and, if you’re always having this problem, maybe you need to change the timing or the length of your retrospective to deal with that. If it takes your team an hour to even get to moving beyond the surface level, maybe your retrospectives need to be two hours. You spend the second hour really digging into the meat of that. I think you really need to pay attention to what’s working and what’s not working with your teams.
Clayton: Maybe change format, like the CNN Crossfire.
[laughter]
Clayton: SMART goals. Good or bad?
Jade: Hate them.
[laughter]
Jade: It’s not very Crossfire‑ish.
Derek: I like the concept of SMART goals. I like setting a tangible action to improve. I like the principle of SMART in that it really allows you to keep things where, “Yes, I can do this,” “Yes, it’s reasonable,” “Yes, it’s timely,” “Yes, it’s actionable,” ‑‑ all of those things.
I think some of the problems that come out of that is it’s very hard to do the follow‑up on those, and to build upon them. I think, if you’re doing discipline retrospectives, where you say, “Over a period of time, we’re trying to make this change,” and you’ve got multiple SMART goals, it maybe makes more sense.
We’ve done them. It’s difficult to follow through, sometimes, all the way to the end. Then, where it’s really been a problem, I think, is the problem with SMART goals is you don’t do the habit setting. You say, “Oh, we’re going to this for the next iteration.” You do it, it works really great, and then you do it the next iteration.
Then, it starts to follow across on the third iteration. Then, it’s gone on the fourth iteration. Then, in six more retrospectives, it comes back as, “Hey, we need to solve this problem,” and everybody goes, “Haven’t we already talked about this?”
Jade: The problem I have with it is not the actual SMART goals and the follow‑through, like you’re saying. I agree that those are issues. The problem that I see is, in the context of the retrospective, the way I’ve seen it on our teams, it totally derails the good conversation that we’re having, and changes it into, “Well, how do we come up with another stupid SMART goal that fits this formula?”
I think a lot of times, it really detracts from some of the more powerful and more honest conversation that we could be having, and now it’s just about creating this formulaic thing.
Derek: Right, but I see the flip side of that is people will talk shit to death and never come up with anything actionable.
Jade: I agree.
Derek: We can have a really great, deep, meaningful conversation, but that doesn’t do shit for improving oneself.
Jade: Maybe it’s like everything else that we’re saying. It’s used appropriately and not abused. Maybe that’s where the secret lies, in moderation.
Clayton: For each of you guys, who both run a retrospective, what is your ‑‑ maybe not biggest ‑‑ but what is a retrospective pet peeve that you have that you think, if we did away with not only on our team but on other teams, things would be greatly improved?
Jade: [laughs] One that jumps to my mind is the biggest thing that irritates me when I’m facilitating is somebody speaking on behalf of the anonymous other people who feel this way, “But not me personally.” That drives me insane. I will usually shut that down and say, “Well, if those people need to say that, they need to speak for themselves,” especially if you are not part of that group.
If you’re saying, “Well, I think that such and such people might be feeling this way, because I’ve heard about it, but I don’t feel this way,” you need to stay out of the conversation. Maybe bring that up and challenge the people to speak their mind, but don’t give me this big story about how other people are feeling.
Derek: I don’t really like that one much either. I really hate when people won’t express their feelings. When I say that is they won’t say what’s on their minds.
Before retrospective, all during the week, somebody will really belabor and bitch and moan about something with the team. Then, when it comes to retrospective time, and it’s the wide‑open slate to bring up that issue with the team, the person won’t engage. When somebody else brings up the topic, there is no opinion on it from that person. If you ask them, try to pry it out of them, “It’s, oh no, no big deal.”
Immediately after the retrospective, they’re right back to the, “Yeah, we’re never going to get rid of problem X, Y, Z that I’ve been bitching about for the last five days.” I just think we should institute the nut punch rule where anybody that does that, you’re OK to punch them in the nuts.
Jade: Some of that is being a good facilitator and watching out for some of those things. It is hard when you do acknowledge that, and they still refuse to initiate the conversation. That’s really challenging, but if you’re just watching body language, and watch for the eye rule and draw attention to that, you can solve some of that. Like you said if they still refuse to talk about it, then definitely nut punch.
Clayton: One technique I was actually reading about in the “Coaching Agile Teams” book that, I thought, was really interesting was as a facilitator phrasing your questions in such a way that you’re not actually asking the person. The example was rather than saying, “Hey Derek.” I know Derek has this problem about somebody, but I don’t think he’s going to talk about it. I could say, “Hey Derek, why do you think some people would feel this way?” Now, he’s not talking about his feelings.
I thought that was really interesting. As a Scrum Master listening to this podcast, what is something that I could do at my next retrospective, real quick tip that would make it better than the last one?
Derek: I would read at the retrospectives by [inaudible 12:05] …
[laughter]
Derek: …Diana Larson to start with. Lisa Adkins book “Coaching Agile Teams” has a lot of really good points about dealing with teams and good ways in facilitating. There are a ton of books that we don’t talk about on facilitation and coaching that have nothing to do with Agile that those skills are totally transportable, whether you are doing organizational redevelopment, or doing a respective for a team.
Facilitation is facilitation. Coaching is coaching. I would say anything you could do to improve on those. Maybe, you’ve got a cat at home that doesn’t like to use the litter box, practice some of your facilitation techniques on the cat. See if you can get it to start using the litter box on a regular basis.
Jade: Take a risk, but that’s the biggest advice I would give. I ran a retrospective, at our last one. I’d been reading “Gamestorming” a lot. I pulled out an experiment, one of their games, and just tried it. I had no idea if it would work, but I thought it might be fun to at least try. We got really excellent results out of it.
Derek: The other thing, I would say, is add alcohol to your retrospectives. It does wonders for loosening inhibitions as far as the team saying what’s on their mind, and it’s definitely a little dangerous, too.
See you next time.
Jade Meskill: Hello and welcome to another episode of the “Scrumcast.” I’m Jade Meskill.
Clayton Lingel‑Zigich: I’m Clayton Lingel‑Zigich.
Alan Dayley: I’m Alan Dayley.
Mike Vizdos: And, I’m Mike Vizdos.
Jade: All right. We got a couple guests with us today and we are going to talk about the exciting topic of certification. Hold your breath. Let’s start out with a softball. Should we be certifying people? Go.
Alan: A softball?
[laughter]
Jade: It’s fast pitch softball.
[laughter]
Alan: I debate this in my own mind. Certification is valuable, evidently, to HR people. Therefore, perhaps, valuable to people who hold the certification. Where it’s not valuable is when the certification doesn’t have meat to it or it’s too easy to get. And so that’s where it gets called into question. So, personally, I wish the whole world didn’t need certification. That somehow there was a way that you could demonstrate capability without a piece of paper or someone else signing a piece of paper. But maybe that’s too hard to do in the business world. I don’t know.
Jade: Right. When you’re screening thousands of candidates, how do you deal with that?
Clayton: I think we should certify people if the certification…When you say, “I am ‘X‑Y‑Z’ certified”, and people say, “Wow. Really?”, and you say, “Yep!”, and they think that’s really cool. I think that’s when we should be certifying people but when it gets beyond that, I start to call into question if it’s worthwhile.
Alan: So if I say, “I’m a certified scrum master”, and somebody says, “Wow, that’s really cool” then that’s good?
Clayton: I think that…Well, that depends on who’s saying that. I think that if you can…If the certification elicits that kind of response from the, maybe you could say top of the industry or people that may be important…not like total newbies. Then I think maybe that would be…maybe there’s some value in having the certification when it’s hard to obtain and it’s awe‑inspiring. But when it’s something that is very easy to get or, kinda like you were saying, just a matter of someone signing a piece of paper
Jade: So if I come in telling you I got my A+ Certification, you’re not going to be impressed?
Clayton: CompUSA is out of business, I’m sorry.
[laughter}
Clayton: Where are you going to find a job?
Jade: But was that valuable at some point in time to somebody?
Clayton: Yeah
Jade: So how do you know when you’ve crossed the threshold of it’s no longer awe inspiring and cool?
Alan: I don’t know how to cross…well, it takes a little bit of research, I would hope. In other words, you hope that managers, HR’s, hiring people that look at a resume and say, “Oh, look. There’s a certification here.” That somehow, they would either know or research a little bit what that certification actually means.
Jade: Do you think that really happens, though?
Alan: No.
Jade: They’re told to look for keywords.
Alan: In general, it doesn’t happen. I don’t know.
Clayton: I think certifications will probably always be valuable in the HR community.
I think where they start getting frowned upon in the actual community of the people that are using them are when people start thinking that it’s less about learning something and showing that you’re qualified in some certain skill and more about money making or prestige.
Or just something that is not directly related to how much you know about a certain topic or how qualified you are in that certain area.
Alan: There needs to be, perhaps, a meta something. I don’t know what it is.
Some of the higher certifications, most of my experiences with the Scrum Alliance and their further certifications beyond ScrumMaster tend to have a little bit of meat behind them. They have some peer review and things like that. Somehow, if you could do that more, then it has more meaning.
Jade: So what do you think, Mike? You’ve been awfully quiet so far.
Mike: I’m a good listener. It really does depend, I think, on who is doing the certification. The actual certification.
I do think people have to do a lot of research before they jump in and take a class to do whatever. If anybody’s really in the market to just “take a class to take a class” to be able to get certified, does that really mean anything?
Alan: Yeah. It’s a tough conundrum, because I’ve met bad doctors in my life. Medical doctors. They’ve been certified many, many times in different ways, and yet I find them unacceptable.
You can have all kinds of structure around a certification and still have bad people, as it were, get through. It’s a hard problem.
Mike: There is a demand for it, still.
Jade: Yep. Do you think that will always be the case?
Mike: There will be a demand, yes.
Clayton: Do you think that demand is driven from the more, like what Alan mentioned, the HR side, where people are saying, “We just need people that have this buzzword,” or is it driven by people saying, “There’s a lot of value in this for what I’m doing, so I want to go seek out that certification”?
Mike: I see a percentage of both of those types.
Jade: My personal fear is, with certifications like the Certified Scrum Developer, we were just talking about people who are going and taking those certification classes that aren’t actually programmers. Are they going to look better on paper than someone like myself who doesn’t have that certification but has been doing this professionally for 12 years? What are the pros and cons of that type of a world?
Clayton: There’s always something to be said for, if you’re a company and you’re hiring people just because of their certifications, then, obviously, there’s going to be some downsides to that.
As much as I think some people would want to say, “We can’t certify,” and, “Certifications are meaningless,” and all that stuff, at the same time, if they really want to go down that road, they know that the stuff that really is important ‑‑ if they think that that stuff is really important, then they’ll maximize that. I think they’ll stand out even if they’re not certified.
I think people usually just like to complain about a certification. They want to say it’s totally not important, but they love to talk about it. If it’s not important, then you’re fine.
Alan: Your question and your statement segues into the content. If I’m not a programmer and I take the Certified Scrum Developer class, is there a way to bridge concepts like pair programming and continuous integration or other such practices that are part of that course?
Can they be bridged into other fields? Can I do pair programming on marketing design? Can I do continuous integration on whatever job I do? Can I come up with a way to do that sort of concept in my field?
Jade: I think that’s a really hard analog, especially compared to the Certified ScrumMaster training, where it is fairly generic and is a framework that can be applied to everything else. Once you start getting into engineering practices, I think that becomes a lot harder to translate or make generic.
Alan: I agree.
Jade: This leads to the question of, how do we scale this? If Scrum’s the new hotness for certification, what happens when we need to certify 10 million developers? What does that world look like if…? A hundred trainers can’t do that.
Or we’re going to do Scrum in India or China, and there’s millions of developers ready and eager to embrace these certifications. How do we do that? How do we scale it up?
Alan: I don’t have a full answer for that. Obviously, I’m not trying to solve that problem in my own life or in my world. The danger, of course, is, it becomes some kind of mill, a certification mill, if you want to really pump the numbers through.
I’ve always been curious about the academic side of things. In other words, why aren’t there Scrum classes at universities? Why aren’t there Scrum classes more often in engineering schools, or other types of Agile certifications or classes? That has always perplexed me. I haven’t understood why they don’t pick that up.
Then, it could even, perhaps, turn into a college degree or part of your degree. Since you already have millions of people going to schools, there would be a place and a venue to scale it, but I don’t know how that would work.
Jade: Isn’t that a function of, it’s not being demanded of them by employers, by people who are working with these universities? If they’re not saying that, “We need Scrum‑certified people coming out of this university,” why would they go teach that class? That’s what drove a lot of Java‑ and .NET‑type classes into the university system, was the demand from employers to have those type of skills.
Alan: Go ahead if you want to say something. I think there’s a disconnect that I don’t understand. Maybe you do, Mike.
Mike: And, actually, I’ve seen a lot. I speak a lot at universities around the world and one of the strange things about academia is they’re almost a generation behind. They’re still being taught stuff that was taught 20 years ago. And they’re coming out of university today thinking that they don’t have to work as team members.
They don’t have the skills to be able to communicate effectively and they think that they can go and get a job and just do one thing for the rest of their life. And they’re actually being told that communicating with a customer is a bad thing. [scoffs] This is the stuff that I hear as I go around the world taking to universities.
Jade: Great. So, you know that, but that leads back into my question of if we want to build a good workforce for the future and these are valuable skills that we’re training people in these certification classes, how do we get them involved? How do we get them into the system while keeping it meaningful, relevant and worthwhile?
Alan: There has to be the right person, the right bridge. In the Scrum email list and so on, there’s a few people that work at different universities or work with universities who have successfully integrated some of these types of topics into the universities that they work with.
But these are individual efforts in single engineering schools or programming schools and I haven’t seen it spread at all. I suspect there’s going to be somebody somewhere that’s going to write the right Ph.D thesis or be a teacher of Ph.Ds who will suddenly launch on this and become a focal of it and maybe create it and get it in. Maybe the way Java and .net did, I don’t know.
Academia is not my world, so, it puzzles me.
Mike: And with the whole scalability thing, somebody will eventually jump on it and drive down the cost and the value of any kind of certification.
Jade: So, then what happens at that point? Does a new breed of certifications come out on top of that and rise to the top?
Mike: Absolutely. Absolutely. But if you look at something like Scrum, it was purely a marketing ploy, at the beginning, to get HR dollars, to spend money. And it did help create an entire new industry and bring Agile into the forefront, like it or not.
Clayton: I think that’s an interesting thing to keep in mind that maybe you’re upset with the fact or maybe you have the world view that certification is a money maker and that’s all that it is. But there is something to be said for the fact that a lot of that maybe did help bring it to the forefront.
The fact that you can use it in your company today is you benefited from that, too, one way or the other.
Mike: And nobody is forcing anybody to do any of these type of classes. But if you’re anti‑certification, continue doing what you’re doing and do some research on whatever class. If you’re interested in getting certified, do some research into who you’re going to get taught or facilitated with.
Jade: Yeah, and that world’s always existed, right? There’s always been companies who preferred to have, let’s say, an MCSE, right?
Mike: Mm‑hmm.
Jade: But if you could prove that you’ve had the experience, you didn’t necessarily have to have that particular certification, but it makes it harder to get your foot in the door with certain organizations. And I think that we just have to accept that as a reality, right? If you choose to not participate in the certification world, great.
That doesn’t mean you’re not worthwhile, but expect to have a little bit harder time dealing with, especially larger organizations who are filtering that way.
Mike: And I can see, really, the validation of the whole certified Scrum Master kind of path with the PMI jumping on the board now and rolling out Agile certification. So, it’s going to be, it is mainstream. Like it or not, it is. And something will come next.
Jade: I look forward to seeing what the new hotness will be. Alright, we are out of time. [background music] Thank you everybody for your opinions and we will catch you next time on another Agile’s Scrum Cast.
Clayton: Thank you.
Mike: Thanks.
Alan: Thanks.
Derek Neighbors: Welcome to another episode of “The ScrumCast.” I’m Derek Neighbors.
Jade Meskill: I’m Jade Meskill.
Clayton Lengel‑Zigich: And I’m Clayton Lengel‑Zigich.
Derek: Clayton, earlier this week you had posted on a blog post, about “Step Away From The Tools.” We gonna started a couple of discussions and came find around here. Maybe it’ll give us a little bit of background, the post, the reason why you post it and can’t find…some of the discussion around that.
Clayton: Yes, the headline was grabbing, kind of inner results to separate from the tools linking, frustrating this industry. It’s so cut‑up and their tools, stupid little things. That was just interesting…I clicked on it.
It was interesting to me because, I’ve been lot of thinking lately about the way they we did Behavior Driven Development (BDD). What is the meaning of BDD and all those things. I think for a long time Cucumber came along and the rails community and it was, “You can do BDD if you use Cucumber” and “OK that’s great.” Then things like Webrat and Capybara came out and it was like, “Look at our cool web steps where you can fill out this form.”
In her post she makes reference to a post by Dan North about understanding the domain language and how it’s pretty easy to write, you could write a test that seems like you’re doing BDD but you’re really not and it should be at a higher level and substance, just been interesting me lately. That’s why it stuck and there had been a few people on the team I’ve been talking about that whole concept with. That would be fun to share with everyone.
Derek: Yeah, I thought it was interesting because one of the things that I picked up from Liz (Keogh) last time she was out here that I really liked was that Agile is the hope killer and hope is what basically prevents projects from shipping on time.
I think that sometimes when we get too focused on tools, the problem that tools are like hope. If I only use this Cucumber thing or I only do BDD using these tools then I’m just going to develop better software. The hope is that as long as you’re writing scenarios that you’re writing good software.
I definitely agree that Dan’s focused discovery or deliberate discovery is…most of software development is about having conversations about what software to actually develop. As developers we like to dive right into the meat and say, “Let me code. Get out of my way and let me code. Just tell me enough information to let me start writing the first line of code and get out of the way and let me do it.”
In reality that’s where all the problems start coming in, whereas we do some of that discovery of “Oh, you mean there’s just other role that doesn’t have access to this and this and this is how it works?”
When we find those things out four weeks into after a feature’s been flipped and then we have to basically un‑plumb everything and add something new, this is where defects get out of control and we just get this kind of crazy, spaghetti mess by not really listening. I think that that’s definitely…
Clayton: That’s where the resentment starts to build up, too. “Well, don’t you know how much time I put into this thing? Making this awesome ivory tower?”
Derek: “Why didn’t you tell me?”
Clayton: Yeah. Yeah.
Derek: “How come you never told me that there was this user?” The takeaway there from the post for me was that conversations help us discover things. I think that too often we really want to write code more than we want to have conversations. BDD really, to me, isn’t about testing, it’s about having conversations. User stories aren’t about requirements gathering, they’re about creating opportunities to have future conversations.
For me, what the title of that post really started to spark was, what are some other examples of places where we’re too focused on tools and not focused enough on the reason why the tools exist in the first place?
Clayton: Code coverage is another good place to go from there. A lot of times, teams that do get a lot of benefit out of BDD start to get obsessed with “Well, how much of my code is covered?” and what does that really mean?
It’s really easy to lose sight of that. Is 100 percent coverage attainable? Is that even the right thing to be doing? We get so caught up on trying to get these numbers in place, the same with…losing my words here…like complexity analysis…
Jade: Oh, like flog and flay, or whatever…
[crosstalk]
Clayton: Yeah. Cyclomatic checks, things like that. What do those numbers really mean to you? What are they trying to tell you? How do they further the conversation instead of become this place where we get all obsessed about the statistics of it?
Jade: Yeah. It goes back to when you have something like that ‑‑ like a flog or a flayer, some score, some number, or something ‑‑ it just makes it easy to throw that other stuff by the wayside.
It’s like, “I don’t have time to have that conversation. I’m trying to get my code coverage up.” It’s just like this thing and everyone can drive towards that, and then you get to a certain point and people are kind of standing around like, “Hmm, wait a second. Are we doing something wrong here?” There’s a cycle for every different kind of team. Maybe it’s every six months or every three months, or whatever.
People realize, “OK, these tools, they sounded really cool three months ago, but I don’t know. What are we really getting out of them?” I think everyone has some 20/20 hindsight every now and again.
Derek: Yeah. One other item for me is tools around process. I don’t know want to name names, because I’m not trying to sway one product versus other. I think most digital tools to deal with a Scrum process, track user stories, points, velocity, and backlog management, a number of those things. What I see a lot of teams do is they get so obsessed on the tool that they do one of two things: they either want to use a tool because they want to lose accountability.
If you put everything on index cards, and you create some, I want to say, “ritual” around it, but there’s some visibility, and there’s some tactile kind of writing and some wiring of the brain happening, a lot of people back off of that and say, “I really don’t like cards,” either, or, “It hurts my hand too much to write them all out,” or, “That takes too much wall space,” or, “They’re just going to be recycled, and you’re killing trees,” whatever.
But I usually see the teams that start to do that, they really focused on trying to either shirk accountability, like, “Don’t treat me like a kindergartener and make me write on a stupid index card with a giant sharpie and put it on the wall for everybody to see. I’m not in kindergarten anymore.”
Or they like tools so that they can legalize behaviors. They can start to say, “Oh, you’re trained in this,” and they want to steer the conversation onto the fact of your average velocity over the last 39 sprints has been X and get legalistic about that, opposed to saying, “What’s the root cause of that?” or, “How can we improve to deal with that?”
It’s more of the, “Let me see what you’re doing, and let me compare myself to what my team is doing to your team.” What are some of you guys’ thoughts about using digital tools and process?
Jade: I was actually thinking about this the other day. I’ve had the same kind of experience, where I was trying to have something out with someone, and they were complaining about, “Oh well, we’re just wasting these cards, just wasting time, because this is really simple stuff, blah, blah, blah.”
For whatever reason I never really went down the path of, “This is a waste of time.” I just took it as, “This is a reasonable idea, whatever. Just go with it.” I was thinking about the digital tools that exist now, could you still do this process 50 years ago? 100 years ago?
If you’re just doing cards, writing things down, and having conversations, go back to ancient Egypt. You could still do the same thing. But, if your process is dependent on, “Well, in order to be successful or have some measure of this or that, then we need to have these digital tools that require us to keep track of this, do these calculations.”
It just seems that there’s so much overhead, but, again, if you go back how we started this, if you go back to the idea of, “Well, let’s just have this tool, and, if something is going wrong, look at the tool,” I think people will get too far into that, and they forget that there really can just be really simple stuff. You could just be having conversations and writing something down on paper. It sounds so simple, but what else do you need?
Clayton: I don’t want to manage a Scrum team in ancient Egypt.
[laughter]
Derek: I don’t know. The pyramids were a pretty successful project, if you ask me.
Jade: Yeah. You could whip them, too.
[laughter and crosstalk]
Clayton: That’s true.
Jade: …with a Scrum whip.
[laughter]
Derek: For me, the determining point was when I heard somebody say, “Well, we couldn’t do that, because our tool doesn’t do that.” I don’t remember what it was. It was like, “Oh well, mark that as zero,” or, “Change to a Fibonacci sequence,” or, “Put your estimates in ideal hours,” or something, and the response from the person was, “Well, but our tool doesn’t support that.”
Jade: That’s why I love digital tools because it gives me something to blame other than myself.
[laughter]
Derek: To me, our tools are just a distraction, for the most part. I think back to what you’re trying to get to Clayton, is, when we really get to the roots of what we do, how we do it, and why we do it, I think anytime the tools become a significant part of the conversation, I have to question, are we using them as a scapegoat of some kind, either blaming them for something, or “Look! A pony”! If we should use vim instead of Emacs.
Let’s stop talking about what’s really important and start talking about something that’s…
Jade: I came across a blog post this morning that was like, “We’re this successful web shop,” or whatever. It was a blog post on how you get set up with Z shell, rvim, blah, blah, blah. All these other tools. I’m picturing someone going to that site and being like, “Whoa, this is totally awesome!”
Then they’re going to spend five hours getting all that shit set up, and then they’re going to go back to work and be like, “Hmm, OK. What was I supposed to do today?”
Clayton: And, “I don’t know how to use any these tools at all.”
Jade: Right.
Clayton: Now I’m going to spend the next month figuring out how to become an expert at these tools, and then maybe I’ll get some work done.
Derek: I’ve definitely gone through that cycle in my career. I definitely think that good tools are important and understanding your tools is important, but this is one of the things, for me, on the craftsmanship side that I get a little worried about.
A lot of people, when I look at the (software) craftsmanship movement, they really start to say, “Well, in order to be a good gardener, I’ve got to have the perfect shovel. In reality, I think, to be a good gardener, a really good shovel helps, but I think you can be a really damn good gardener just using your hands.
Clayton: That’s like you need an expensive guitar to be an awesome guitar player. That’s not necessary.
Derek: Right. To me, how I interpret craftsmanship is being able to tell the difference and the caliber of the guitar is important, but being able to say, “Well, I can’t do good work because I don’t have a good guitar,” to me, it starts to sound like a cop‑out. It starts to sound like an excuse.
We’ve come to this place now that we’ve got so many different competing processes, frameworks, and movements at foot that I think, right now, sometimes it’s hard to be a good software developer, because there’s so much noise that it’s hard to get distracted. You’re either paying too much attention to the process or you’re paying too much attention to the tools.
What we’ve forgotten is that there’s a customer and there’s a value that we’re trying to deliver. I think that, to me, how do we get back to the roots of saying, “That’s what it’s really about. It’s about the people, the conversation, and providing value.”
Clayton: It’s about moderation. It’s about finding those points where, “Yes, this is helping us solve a problem.” Maybe some of our team is on site, so having some sort of digital tool in place is required, because that helps facilitate communication better to our distributed team.
That is a perfect reality in these days, and it would be a good reason to go down that road. But it’s about finding that balance of, “Well, let’s not try to run the entire business and the entire process through this digital tool. Let’s use it to communicate the things that are hard to communicate at a distance, and everything else, let’s make sure that we keep those things, because that’s the most effective way.”
When managing the tool takes more time than getting the work done, that’s where you have a serious problem that you’ve got to deal with.
Jade: Yeah. If you imagine a Venn diagram where one circle is introverts and the other circle is “I wrote my own something”…
[laughter]
Jade: …they’re basically on top of each other.
Clayton: I want to see that.
Jade: Yeah. To be fair, a lot of software developers, when they hear about, “Here’s this new process,” and the process is difficult, because it requires things that I’m not good at or things that make me uncomfortable, the way I can make it easy is if I make a tool that bypasses those difficult things and, “Now I’m doing kanban, and I don’t have to talk to anybody,” or whatever.
People go towards that route because that’s how they make the process easy, even though that’s not actually going to make the process easy.
Clayton: Right. That’s how they deflect.
Jade: Sure. Yeah.
Derek: The last thing Kennelly just posted that really was interesting to me was, “Assume you got it wrong.” I think that that’s a good life principle if you always operate. It’s, “I’m the stupidest guy or gal in the room, and I’m probably doing this wrong.” To me, it sums up the whole “Inspect and Adapt.”
If I’m constantly thinking, “I’m doing this wrong,” I have to constantly be asking myself, “OK, what am I doing wrong?” What are some of you guys’ parting thoughts here?
Jade: I’ve had countless number of times where I have been at the end of a planning meeting, and I thought, “Well, I totally understand what they’re saying.” Then I repeat something back, and it’s like, “That is totally wrong,” and I’m like, “OK.”
[laughter]
Jade: It’s just going over things, and that kind of mentality, even when you think you really got it right, just using different language too, I think, a lot of times, you think you got something right because you’re thinking about it in a certain way using certain words.
Then, if you say it back, ask a question, or phrase it differently, then there’s some new little thing that comes out, but I think that’s just great advice in general but also for any actual process.
Clayton: Yeah, I agree. Just repeating things back and explaining them in your own terms, the way you understood it is one of the best ways to gain that clarity from all aspects of this process. Interpersonal communication on your team, to dealing with the product owner, all that stuff, it really is all about that communication and finding effective ways to communicate.
[music]
Derek: Until next time, we’ll see you.
Jade: Thanks.
Clayton: Thanks.
Derek Neighbors: Welcome to another episode of the ScrumCast. I’m Derek.
Clayton Lengel‑Zigich: I am Clayton.
Jade Meskill: I’m Jade.
Derek: Today, I wanted to talk a little bit about continuous deployment, but I wanted to talk about it in a little bit different of a viewpoint. That is, as we see products like Facebook, like Twitter, where you can’t really tell what version of Twitter are you running, what version of Facebook are you running. You don’t know when the last feature was deployed.
You just hear people talking about the “new Facebook,” or the “new Twitter,” and when is it going to show up for you it’s already shown up for me. What does that mean to what we would call right now, “project management”? Are the concepts of projects starting to die? Is software deployment happening so continuously that we can’t really tell where something begins and something ends? What does that mean to agile processes and how we think about projects as organizations?
Jade: I think some of the trick here to what you’re getting at is historically we treat products as projects, and I think that’s really where we’re seeing the shift. The Facebook product itself is not a project in and of itself. The Facebook project will never be complete. But I think there are people engaging in project‑oriented work around that product.
So there’s some scope of work that has a beginning and an end. It needs to be measured and tracked throughout that work, but that project is just a means to an end. It’s not the end goal itself. Finishing up implementing the new photo layout or photo uploader for Facebook is a project. But that’s not the Facebook project itself.
Clayton: Yeah, I think that any agile methodology, too, seems like would be pretty well‑adapted for this where you have something that’s out there, say, or even if you don’t, but you’re incrementally improving. You’re deploying something, getting feedback, incrementing on that, inspecting/adapting.
It seems like that would be really well‑suited for continuous deployment and not having the concept of, “Well, we have to get all these features in, and then we can deploy. Then we’ll wait six months, and then we’re starting another project and then we’ll deploy it a year from there” and that kind of deal. It seems like it’s well‑suited for any agile methodology.
Derek: Yeah, I think we definitely went through a phase where the actual product shipping itself was the project, and then I think we narrowed it down to a new version of the product was a project. Then we went down to a minor release version, but now that we have this ability to continuously deploy I guess the crux of what I’m getting at is are we really looking at, “projects are almost features”?
Are we really getting to the point where we’re talking for the most part, when we talk about projects in these type of environments, the photo uploader to the new version of the photo uploader is more of a project? Or even more minute than that, a little subset feature within the photo uploader is really how I measured?
Do we see people maybe leaning more towards Lean principles or Kanban or other things? What does release planning look like in this type of environment?
Jade: Clayton and I are staring at each other. I think you’re right, and I said that earlier. I think that the feature itself, the photo uploader, becomes the project that we need to manage. We need to look at the scope, look at what is the possible return on investment for adding this particular feature. We need to create a plan of implementation around that.
As far as moving towards a Lean methodology, I think a lot of that’s going to depend on the organization itself and how it handles risk assessment and a lot of these things that are not code‑related at all but really more about engaging in that feature. Is it viable for us to try this? Or what is the minimum viable project that we can do for this particular feature to test it out and see how that goes?
I think, whether you take a Scrum or a Lean approach, that’s going to depend a lot on your team, the personalities involved, the amount of unknowns that there are out there.
Clayton: Yeah, I think it’s interesting, the idea of features as projects. I think one thing that’s really powerful about Scrum I guess, that concept of potentially shippable software. I think that’s personally too soft of a word.
But if your development team is able to treat every feature as if, at the end of that feature when it is done ‑‑ done is done ‑‑ it’s going to be shipped to production and people are actually going to be using it, I think that changes the mindset when you’re developing something, that a lot of times people let things get away. It’s easy to be sloppy. But if you have this concept of, “When this feature’s done, I’m deploying it to production, and wrapping that up”
I think it’s interesting. If you were to ask some people that may be at the VP level in terms of, you have this project manager that is running this project, they probably think, “I need someone that is going to manage all these different things.”
But on a feature‑by‑feature level, if you said, “What if your development team was responsible enough and mature enough to manage themselves for a feature”? I think there probably are a lot of teams that could do that on a feature‑by‑feature basis. If you got to a point where you could do that pretty consistently, it wouldn’t be necessarily one person to manage this whole project, but it would just be the team managing themselves from feature to feature.
Derek: I guess that ‑‑ segueing into where I really want to take the conversation ‑‑ is, we see all the time, when we work with product owners who are not used to a high‑performing team or not used to agile principles and methodologies, that we find ourselves, basically, working so far ahead of where they’re at that they have a hard time keeping up. That they, in essence, become the bottleneck to delivery of software, because they are not able to work at the speed that the team is.
I really question, as part of moving towards continuous deployment, are we really seeing pushback? Not from developers, because I’ve really not met a whole lot of developers that don’t like the concept of working on a feature‑level basis and deploying really, really often. Sometimes, you’ll see some, but for the most part, at least younger developers, I don’t see this. This is part of how they’re already wired, because that’s how they consume software.
But what challenges do organizations face? When you talk about a PMO office and having to plan out products potentially years in advance, are we going to get to a point where they’re unable to compete with organizations that are embracing agile philosophy not at a development level, but at an actual organizational, cultural level, where a CEO says, “I’m not worried about the 10‑year plan. I’m worried about, are you continuously adapting to what’s happening in the marketplace”?
Jade: I think that’s a really good question. I was talking to a group of people. They were talking about how they were adopting Agile in a very large enterprise and how the biggest roadblock they had was that their risk management software couldn’t calculate the potential financial risk based on doing it in an Agile manner.
They just didn’t have a way to understand and represent that to the business, of, what is the potential financial outcome of this thing? They could prove it from a return on investment, that, “Yeah, this is a good product to build, and we should invest in doing that.”
But the risk calculations they just couldn’t do, because they couldn’t plug in the made‑up project plan that most people have to get them there. I think that’s going to be the next major roadblock, is looking at the organization’s ability to respond to change.
I think as software developers, we’re really leading the way for that type of mentality. I think it’s going to be a really difficult transition for the business itself to make.
On an organizational level, to be able to respond to change, to have that tight feedback loop, to have that transparency with the rest of your team, that, “Maybe we don’t know what we’re doing right now. Maybe we’re going to have to figure some of this out, but now, it’s readily apparent that we don’t know how to solve this problem. We’re not the guys with all the answers.” I think that’s going to be really difficult.
Clayton: There’s definitely a lot of cruft in this status quo, I think, with a lot of people, in how they view the life cycle of a project, where there’s some development, and then there’s testing, and there’s QA, and all this other stuff.
I think that because that’s the accepted…that’s the norm for how things go, the idea of being able to say, “My team is going to develop this feature, and we’re going to quickly get it to market,” I think that’s a foreign thing, partly because I would guess that a lot of people don’t feel that their development team…they don’t really trust the team to deliver something that is high‑quality the first go‑around.
I think people have been burned in the past, so they just assume that they have to go through all these layers. Whereas, maybe, if we can get some teams that are focusing on code quality and some of the more engineering professionalism stuff, where you get a few wins, and then it lowers all those barriers.
If you’re working on those lower cycles, you don’t necessarily have to have some huge risk plan for what happens in ten months, because it’s not a ten‑month thing anymore.
Jade: But what happens when that’s the way we’ve always done it, and there’s entire departments of my organization that that’s their job.
Clayton: Yeah, that’s the hard pill to swallow. It seems like, for a lot of places, where to adopt some of these things, that means that you’re going to have to make these big shifts and changes. Obviously, it’s very difficult for a company to restructure that many people or totally change their roles, even if they’re not necessarily needed in their existing capacity.
Jade: I think it’s been easier for development teams to do that, because they’ve done it…I don’t want to say in isolation, but mostly in isolation. I can reorganize us as a development team, but put on the corporate face to the rest of the company and still interface at the expected levels.
I can still produce the right reports and all these things that the business needs to pacify them, and then have this really great, agile, self‑organizing team internally, but rolling that up to the organization is really difficult.
Derek: I think it’s even difficult for software teams. We’ve seen software teams take the first crack at it because they didn’t have a choice, and what I mean by that is, the rate of technology change is so fast that, if you hadn’t changed your technology in the last 20 years, you’d still be running COBOL and the Mainframe.
So in order to just keep an organization running, teams have had to adopt new languages, new platforms. Some things stay the same, but it’s really to a point where they’ve had to deal with a large, wholesale change on a regular basis. If you’re a retail store, if you’re Walgreens, if you’re Wal‑Mart, what have been the significant changes in how you do business, short of adding some technology that has really changed?
In that space, if we looked at, say, Zappos or Amazon. Those are the real risks to the retail business, not other retail business, for the most part. At what point are we going to get to where 90 percent of business is technology‑driven, that it’s changing on a pace so quick that, if you do not change your organization to be adaptive, that the new guy will put you out of business on a much more regular basis.
Jade: I think the Web was the first shot over the bow of this type culture that you’re talking about, where a competitor can crop up overnight and completely destroy you in no time and you haven’t even had a chance to react to that. We’ve seen that accelerate, especially for Web‑based businesses competing with each other.
I could be MySpace, and I’m king of the world, and six months later, nobody even knows who I am. We’re seeing that kind of change in those businesses because it’s survival of the fittest. If you go down to more traditional organizations, they’re not suffering at that level yet. I think some of the economic downturn is some of the first indicators of things have to change.
Things have to change with how we run our businesses, but that pain threshold still isn’t there. They’re still holding out hope that we’ve just got to suffer through this and things will get back to normal. It’s going to take something that completely changes the game for a lot of these people for them to be willing to endure the pain of making that type of organizational change.
Clayton: Yeah, I think you look at banking, for instance. Pretty much every single online bank I’ve ever seen has been pretty much terrible. Even the best one is still pretty bad. There’s going to be one player in these markets where they can use the technology to, what you’re saying, Derek, to pivot enough.
You mentioned the younger crowd. As people are my age, younger, whatever, that are getting to the point where they consume certain services in a way, and they want to be able to use everything that way.
Finding the companies that are going to be able to make that organizational shift so that they can take advantage of all these things, which I don’t think are especially difficult. It’s organizationally difficult but not technologically difficult. People that can do that are going to have a huge impact.
Derek: With that, I think we’re about out of time, even though Clayto worked in a pitch for a [Simple Bank ](https://en.wikipedia.org/wiki/Simple_(bank) and Square there, so those following along at home, those are a couple of startups you might want to take a look at that might be replacing your bank in the near future. With that, we’ll see you next time.
Derek Neighbors: Hello and welcome to another episode of the Scrumcast. I’m Derek Neighbors.
Clayton Lengel‑Zigich: I’m Clayton Lengel‑Zigich.
Elvis: And I’m Elvis.
Clayton: Elvis is new to the studio.
[laughs]
Derek: That’s how powerful Agile is. It can bring back Elvis. So, recently attended the AgileOpen Northwest, in Portland. There were a number of really great topics. One topic that seemed to come up in a couple of different formats was the concept of growing people or mentoring people or deliberate practice to get better. I think that that’s kind of one of the tenants of Agile is continuous improvement and really trying to get better and inspect and adapt.
I wanted to talk a little bit about deliberate practice in areas that aren’t technical. A little bit about what it takes to mentor and grow people. And a little bit about how do you facilitate developers who care?
Clayton: [chuckles] Easy topics.
[laughter]
Derek: It would hard to find a five minutes’ worth accounting time.
Clayton: OK. What was the first one?
Derek: I think they’re all one and the same. How do you deliberately practice things that aren’t really tangibles? I think you could say, “How do you practice becoming a better coder,” because it’s fairly easy to say, “Here’s what code. Code has an output.”
But if you say, “How do you deliberately become a better communicator, or a better estimator, or better at intuition, or better at leadership,” those things have a lot more difficult outcome to predict. How do you go about deliberately practicing them? The second part of that is, how do you mentor good team members? How do you facilitate developers that really care about the work they’re doing, not just the code?
Clayton: I think as far as deliberate practice for some of those scenarios that you described, it’s hard to do as part of your work day, because the chances for doing that are pretty limited.
One that I’ve tried to do is really take it beyond my work, and look for opportunities in general life, where I can say, “OK. I’m going to sit down and I’m going to estimate the difficulty of doing this particular task or whatever it is. I’m going to sit there, and I’m going to actually measure it. I’m going to see how accurate was I at predicting how long it took me to do that or how difficult that was,” et cetera, et cetera.
Same with communication is how am I facilitating communication in my personal private life. Am I using that techniques that should make me a good scrum master, a good scrum coach? Am I using those things to talk to my wife or talk to my kids? I think there is plenty of opportunities if you can think outside of the box on ways to practice and exercise those skills.
Derek: I think I agree that code is an easier one because there’s some output and stuff. I like Clays idea of trying to take some of that stuff, what you’re learning, and trying to do that in your normal, everyday life.
One thing that I found that’s kind of interesting is get home from work and wife and I talk about our days and stuff, and a lot of the stuff that I do is of a very technical nature and what’s kind of fun every now and again is just kind of to humor me, she asks me, “Explain that thing.”
So I think it’s interesting to some degree to try and challenge yourself to say, here’s this person who doesn’t know anything about this technical thing I’m talking about, but I’m going to try to explain what the goal is and what the purpose is and all those things.
And I think that when we take that for granted because we come across, it’s like you go home and you are like, “My wife doesn’t know much about this technology, but I’m going to explain it to her,” and you’re a nice guy. But then you go to your client and you’re like, “What a jerk that guy doesn’t know anything that he’s so stupid [laughs] .” So I think that’s a good opportunity just in your daily life.
I’ve got these friends that, they’re curious, how’s work going and things like that. And they don’t understand anything from a technical perspective that I’m doing, but it’s kind of fun time to be able to like, “We’re working on this cool project and here’s the point of it and what we’re trying to do.”
I think seizing those opportunities probably first. It’s hard to realize when those come up, as far as communication, improving your communication. I think just any opportunity you can to speak in front of people or even just answer a question or just anything like that is just kind of finding those opportunities and then doing something with them. I think that’s a really good way to improve on those intangibles.
Clayton: I think those are good ways of casual practice. I think experiments are really where you going to able to have deliberate practice, so whether that’s taking a different approach to solving a problem within some work problem that you’re dealing with, or lots of people have a side project or things like that, can you apply these things to your side project or test out new theories in those ways and measure the results that you’re seeing against that?
To me, that’s working a little bit more towards a deliberate practice of trying to improve your skills in these areas.
Derek: Yeah, I agree that everyone has their side projects and I think sometimes we get to a point where we have too many side projects. You go out and say, “I’m going to try all these new things and see what they’re like,” and then you’re not really doing deliberate practice at that point, you’re just kind of goofing off.
I think that is really challenging to say, “Here’s something that I want to deliberately practice and it’s of some value to me and my normal day or whatever, I’m really going to focus on that, I’m not going to start this project and then two weeks from now hear some new other new hotness and then go strike that one in.” You know then by the end of it, you’ve got like five projects that you haven’t actually done anything on.
I think it’s very important that you stay focused if you’re going to try and use a side project or experimentation as a way to practice or learn newer things.
Elvis: I think there’s a couple of pieces to this that are interesting to me. One is that I think that when I look at really high performers, they’ve learned that, to get more performance, they have to start looking at different things. If I’m a highly functioning developer, I’m really good coder, I do really well with software development, to take it to the next level, I probably don’t have to practice code.
I have to practice other skills, listening skills, problem solving skills, communication skills, different pieces. I think that, kind of to me, step one is if you’re already a high performer is you have to start saying, “What can be a big boon for me that’s not just like a new way of doing the thing that I’m already doing.”
I moved from Java to Ruby. Yeah, you’re going to get a lot of performance potentially out of that, but I would argue that if you’re already really proficient at Java, you’d probably get a lot more performance at learning how to better deal with customers or better understand value of product or do other things that are going to get you a bigger bang for the buck.
I think how do we start to get developers to realize that being the best coder or the best at a particular language or a tool, why not an all‑bad thing isn’t always the best way to succeed. I really actually loved Andre Agassi’s book called “Open.” He really talked about this and one of the big things that one of his mentors really pushed on him is, “You only have to be as good as the guy on the other side of the court.”
I think sometimes when you talk software development, you only have to be as good as necessary to really succeed more than whatever the competitor is and I think sometimes as engineers, we focus on being perfect instead of being well‑rounded enough to beat the other guy.
In his case, the thing that he really lacked was physical stamina. He would pretty much crush everybody through the first two or three sets in a match and he would fall apart in the fifth set. The other thing is mentally he would give up. Mentally, the opponents knew how to get underneath his skin and basically pull him.
For him, to win all the titles that he did, he really had to overcome those two things. It really wasn’t about tennis. He was proficient enough at the game of tennis. It was the other two things.
I think, within a team, part of that is how do we identify the deficiencies in our team and say, “You’re a really good Java programmer. You’re a really great Ruby programmer, but that’s not what’s really holding you back. What’s really holding you back is not understanding the value in product or you’re not understanding how to communicate well with other team members or you’re not testing well or what is that thing that’s really keeping it.”
So that’s part of it, and I think the other part is, in deliberate practice I think that knowing is half the battle, to kind of go GI Joe on it is, I think that if you know what you’re lacking, you can deliberately practice against it. If you just say, “I’m trying to get better,” you don’t. And so I see people all the time with a side project, “I’m going to do a side project and I’m going to try this new technology and blah, blah, blah,” and they have no intent or no purpose.
If you took a project you already had and you said, “Hey, I have been testing, but my tests always run really slow.” Over the next week, I’m going to try a bunch of different things to see if I can get my test speed up by 20 or 30 percent, and then you successfully do that.
Now, you’ve created a skill set for yourself that now you know that say [inaudible 00:10:00] environment enough to know what gets performance and what doesn’t get performance, which is going to add to that if that’s one of the things you’re looking at doing.
I think we’re too much of a generalist when it comes to wanting to get better and we just say, “Oh, we want to get better, so let’s just do more of what we’re already doing.” As opposed to saying, “What’s a very specific thing that I can measure, I can do, and I can say, ‘Did I get better at doing at after I practiced it?’?”
Elvis: I think you touch on a couple of key things. One is mentorship, and I think that’s something that we forget, is people who are professionals, they have coaches, they have people who are helping them every step of the way to see the things that they can’t see within themselves.
I think the next logical step from that is trust. If we don’t have trust on a team, even with our mentors, we’re not really going to listen to what they’re saying, and we’re not going to get better, because we’re not going to do what they say, because we’re just going to blow it off.
I feel like, as an engineer in particular, is we are really bad doing that, anyway, listening to people. So how do we build the trust up between peers and our supervisors, or whoever it is that we’re interact with? How do we build up that trust level to say, when you come and tell me, you’re really doing a bad job communicating with the rest of the team.
It’s like, “Oh man! OK. What can I do? Instead of getting offended, teach me some techniques, tell me what did I do that made this bad, so that I can start to learn from those things.” I think we’re really bad at recognizing those opportunities.
Clayton: I think, if you ask anyone, “Do you want to get better? Do you want to improve?” they will say, “Yeah, sure. Of course.” But then, if you say, “OK. What do you need to improve?” It’s like, “Gee, let me think about it. I’m pretty good at everything.”
[laughter]
Clayton: I think, when you’re a freshman at high school, the seniors seem totally awesome, and you want to be just like the seniors. But then, when you get to be a senior, you’re like, “Wow, this is nothing special!” Then the same thing happens in freshman college. It goes on through life.
I feel, sometimes, people get to a point where they lose sight of the fact that there are people that are better than them, but at some point in time, they just forget about that, like the mentor thing. There’s a guy that’s probably 10 years older than I am. I talk to him all the time about software development stuff, and it’s funny, because there are things where I think I totally have it figured out, I go talk to him, and he’s, “Oh, ha, ha, ha! Let me tell you about 1987.”
[laughter]
Clayton: It’s like, “OK, I didn’t know about that.” There’s all that stuff. I think that half of it, like knowing [inaudible 00:12:37] , just knowing that there’s a lot of stuff out there that, one, you’re probably not very good at, or, two, you can always be improving. I don’t think anyone’s a total expert on everything.
If you are, then you’re so far beyond anything, but as far as I’m concerned, people in my position, there’s always something you could be learning for something else, and just having an open mind and not talking that as an offense. I don’t feel like I have to know everything by the time I’m 30, or something. I’m not worried about that.
So I’m not going to be offended if someone says, “Hey, you’re not very good at XYZ.” That’s just an opportunity of, “Hey, you did half the work for me of figuring out what I’m not very good at, so now I can go do something to improve,” but I know people who have that knowledge, or whatever.
Derek: Going back to the sports analogies a little bit, I think one of the things that’s interesting in sports, where you’ve got a coach. I’ll go to the Agassi example again. At one point, he stated, “All that’s not true,” when somebody comes up to him and says, “You need to change your game.”
Then, when that person can say, “Remember when you lost the US Open to me. I’m telling you right now you’re a better player than I am, and you lost that game because I got into your head.” That was a point that he was able to say, “A, you’re right, and, B, I want to win a US Open, so I’m willing to listen.”
One of the things I hear all the time in the software development world is we really need to be intrinsically motivated. I believe in that to a large degree, but I have to ask, is some of our struggle saying our people what’s the motivation for somebody to say, “Why should I improve?” Meaning, if there’s not a world cup to win, a gold medal to win, or something, what do you tell a developer who is really competent and pretty good, but they’re not excellent?
How do you get them to move to that excellent point? What’s the driving factor where you say to them, “If you just did these things, Clayton, if you’d really think about how you communicate a little better, if you understood product development a little bit better, what’s on the other end of that for you if you do those things.”
Elvis: What’s my motivation?
Derek: Is this one of the things we struggle with?
Elvis: Yeah. I think that’s true. What is my motivation? Is it I’m going to get more money, I’m going to get a better job? I don’t know. I don’t know what that is at that point in time in my life. Can you even really picture those things?
Derek: Is it to get on the Google team? Is it to get on the Facebook team? We don’t have the gold medal of programming.
Elvis: The XP Open.
Clayton: I think the reality of it is that there are a lot of programming jobs out there right now, and, if you’re someone that has something like Java or .NET experience, and you’ve got some, maybe, enterprise or corporate experience doing that, you could go make a pretty good living and not really have to extend yourself very much.
I think a lot of people just say, “You know what? I’ve got a family, and I really love playing golf and fishing, so I’m going to go to work and do my 9:00 to 5:00, and that’s fine. I don’t need to improve.” I think the reality of it is that there are a lot of people who are in a position where they have to really stretch themselves.
Now, if you’re some factory worker, you worked on the assembly line in Ohio making brake pads, and you’re future is in question. You’re going to think, “Gees, I really need to pivot and do something different,” but I don’t think a lot of people in the software development industry are in that position right now.
Derek: I definitely think that is an excellent point. The number of open positions compared to the number of people able to fill them is…I think people fill jobs all the time that are not qualified for them, and they’re able to hold them for years at a time because companies just don’t have a choice.
So what could we do in our industry to change some of that? What changes need to be made or what can you do as an organization to attract, because money only goes so far. At a certain point, throwing more money at somebody is not going to make them be more motivated.
Elvis: No, and, a lot of times, it has the opposite effect. I don’t know. I think that’s a really great question, and I wish I had an answer. What could we create that would motivate people to do better? I don’t know.
Clayton: I think culture and environment, it’s probably the big one. I think you would be surprised that people that maybe have a comfortable job that’s in a corporate setting, but, if they had something that had a more lively, robust culture and wasn’t the same old…everything’s a color of gray and beige in the office kind of deal, I think that’s really motivating.
People don’t realize that until they’re exposed to it and they compare, “Hey, this is what I used to have, and this is what I’ve got now,” or whatever. I think culture is a big deal.
Elvis: I think even that still only goes so far. If you look at the culture of our company, it’s pretty progressive and pretty far‑out beyond what most people are doing, yet we still struggle with the same problems, or maybe struggle with them a little bit further down the road. We might have people who are a little bit better than a Joe Corporate guy, but it’s not going to take us all the way to the next level.
Derek: I think, sometimes, it’s even detrimental. In the sense of, I see a lot of young vibrant companies, radically change culture, in order to attract people. Some of that culture is, working 10 hours a week, and you’ve got a ton of play time. A bunch of things, that are great for the individual, and they may not even be all that bad for the company, but, ultimately, they are not really doing things that are pressing that individual to become better.
Really, what they are saying is, “We’re rewarding for being a really great player, so we’re bringing you over to the Pro Bowl. Come, and play, and hang out with some other really great players, and we are not really going to ask you to stretch yourself.”
Elvis: You just have to show up.
Derek: Correct.
Clayton: I think, if you go back to. Some soccer team, from Europe, that plays in the World Cup, or in the Olympics, those guys I think are motivated by the love of the game, and they really want to be there, and they are a great team. But then, you go back to 1990’s Iraqi national team, I get the impression, that they were pressured. Those guys I’m sure, love soccer, but they were pressured into it.
There’s some level, what you were talking about [inaudible 00:19:08] . We have this culture, and we are getting there, but you still need to have that unified front. The team aspect, and trust, and all those things, still need to be there, even if you have a fun culture, and video games, and flexible schedules, and all that stuff. You still need some fundamentals, I think.
Elvis: I think part of that is a goal. I think that’s what you’re driving at, Derek. Really, what is the goal behind doing this? If I’m working at Google, or Apple, there is a goal that I can get behind, that I might be willing to push myself, above and beyond, what I would normally do on my own.
So, how do the average, small companies, out there, create goals that are motivating to people that are inspiring enough to say, ” Look, I recognize where I’m at, and to accomplish this goal, it’s going to take more than where I’m at. How do I get there?”
Derek: I think we are hitting it right on the head. When I look at Facebook right now, today, look at the number of people that have exoduses out of Google, and jumped over to Facebook. When you look at that, Google has been treading water for the last three or four years, and Facebook has really got world domination on their mind.
I think, salary, location, everything. Environment’s almost identical between the two companies. So people are really jumping, not for opportunity, but for the vision of where one is going, versus the other. Even as a small company, it really is about, really stretching yourself towards goals that people envision, that people can get behind, and can get excited about.
If I go to this company and I pour my heart, and soul into it, and I stretch myself, that we’re doing something amazing. When we reach that, something amazing, that’s the reward. The reward is not the culture. The reward is not the money that I made, making it. It’s the, “I was part of the team.”
If you look back at Olympic teams, if you look back at soccer teams, basketball teams, that win championships, what they talk about, is that shared experience of, “As a unit, we walked through, and we achieve this.”
Elvis: I think you even see that in software teams. I was on the OS2 team, or I was on the Unix team, or the C team. That exists in software, as well.
Derek: Right. I was part of Xerox Parc. I was part of the original C team, and I think, that that’s what you have to create. You have to create the, “We’re the sense of team, and, this is the purpose that our team has.” As we achieve these purposes that we put out, that every single time, those purposes get bigger, and bigger, and bigger.
First, maybe it’s that we have a million users, or that we’re affecting this kind of change. Each step along the way, just snowballs in momentum, and you get more, and more buying, and there’s more interest to say, “I’m willing to stretch, not because I necessarily want to get better, but I want to stretch because I want to reach that goal.” I think that’s really what it’s about, setting goals that require people to stretch, in order to reach those goals.
Elvis: I think that’s a good set up for our next podcast.
Derek: Yeah. Sounds good. A little stretching.
Elvis: [laughs] . All right, thanks for listening. We’ll talk to you guys next time.
Derek: See you next time.
Derek Neighbors: Welcome to another episode of ScrumCast. I’m Derek Neighbors.
Jade Meskill: I’m Jade Meskill.
Clayton Lengel‑Zigich: I’m Clayton Lengel‑Zigich.
William Price III: And I’m William Price.
Derek: Today we want to talk about…
Jade: The third.
William: The third.
Derek: Design in Agile Software Development. I just want to start an open dialog on, what are some of the challenges, of implementing design in an iterative methodology.
Jade: We are talking web design specifically.
Derek: Lets start with web design and if you want to go beyond that we can. But lets start there.
Jade: It sucks.
William: I think my experience with design for a website or whatever is that a designer comes up with some idea of something. It’ like a waterfall. Everyone’s used to the designer comes up with something and makes this nice pretty PSD. Somebody else slices the PSD up and it turns it into HTML and CSS at some point in time, and then that becomes your web app.
I think that’s probably like 90 percent of the people out there, their experience with doing design. When you take than and try to put that into Agile, it makes it really difficult to say, “Well, this week we’re working on this set of features, and we need to design for that now or soon or whatever,” because I don’t think that’s how most traditional designers work. They need more lead time than that.
Clayton: Yeah, I think from a designer’s perspective the lead time is typically considered the biggest challenge, just the pace. I think a bigger challenge is knowledge and appreciation that overlaps as much as possible between developer and designer.
You often hear people say, “Everyone is a designer.” That makes me kind of uneasy, because I think design is a craft. It’s a skill that you have to hone over time. Anyone can hone it. Anyone can learn it. Anyone can learn to draw. Anyone can learn to think well and design. The thing that makes me uneasy about everyone is a designer is that when you say that it’s like, “Oh, so now I’m a designer today, instantly.”
As a designer that makes me uneasy, but what I need to do is develop relationships with developers and with product owners where I can appreciate their input and work with them as fully as possible. As a developer, being involved in that process and considering it meaningful I think is often missing.
There are some developers that will say, “Oh, yeah. I think that’s important.” But do you spend time learning the fundamentals of design and things like that? Or do you just go by what you think looks good?
Then as a designer, appreciating the developer’s input and not just thinking, “Whatever sexy pretty thing I come up with, is the best solution” because it may not be the best solution for the process.
It may be a huge nightmare for everyone involved. It may be far more expensive than it’s worth. You might be developing something that looks great, feels great, to the product owner but gets torn out a month later because users don’t use it. Working together and having a tight relationship, that’s the biggest challenge in my opinion.
Jade: Well, I think to address something you said. You’re talking about everyone is a designer. Some of that came from a Thoughtbot article that we read as a team and had some discussion about. What I think he’s…
Clayton: Or is it, Derek who said as a team like three years ago?
Jade: Yeah, yeah, yeah. Where’s your Mike Cohn I‑know‑everything card? Can you pull that out right now?
Clayton: [laughs]
Jade: Now I just lost my train of thought. Thanks.
Clayton: [laughs]
Derek: Thoughtbot.
Jade: Yes, Thoughtbot. So I think what they’re trying to drive at is not that everyone is a professional designer in the sense that we think but that everyone plays a role and should be conscientious of design, right? It’s not acceptable for developers to just say, “Well, I don’t know anything about that because I just write code” and crank out some really crappy‑looking interface.
We should be at least conscientious of the basics of what we’re doing and that it should be professional and not, like I said, some hack job that you know a developer put together because you can just tell. I think that’s what they’re driving at.
Clayton: Yeah, so I think an analogy would be I wouldn’t be able to figure out a good color scheme and whatnot for, say, my house. I’d probably paint the walls white and leave them some stupid color, and I wouldn’t bother decorating. But when it came to arranging the furniture, I wouldn’t put the couch in the middle of the room facing away from the TV or something stupid.
So I think there’s something to be said for maybe you’re not very good with the design theory or color theory or some of the things that may be more traditional design when you think of design are. But in terms of maybe the user interface or how things flow or just sensible decisions, I think that’s the kind of designer that everyone could be. Just take a step back and say, “Does this make sense? Yes or no.”
Derek: Analogy wise maybe it’s similar to, I expect most adults to be able to drive a car. I don’t necessarily expect most adults to be able to race formula one, or race NASCAR, or race the Baja 500.
I think that there’s definitely a difference of level of, and I think there should be expectation of people who are developing software to understand, like you said Clayto, to not put the couch facing the opposite direction of the TV in a functional living room space where 90 percent of the time people will be watching TV.
I think we see developers do that every single day, do things that make absolute no sense. I think to me I’ve got two additional questions on a design in iterative fashion.
One is we start to see iterations become shorter and shorter. I know one time in a Scrum that was pretty much a given that a sprint was a 30 day or month long function or iteration, and now we’re seeing sprints down to, a week are pretty normal. Two weeks are probably now the standard.
In some days we’re pushing more towards Kanban where it really is a sprint might be, an iteration might be, in a day, or less than a day. How’s it feasible to, not even talking about coming up with the design, but how’s it even functional to implement the design in that quick of a time frame.
What are some of the challenges? We’re starting a sprint on Monday, we’re ending a sprint on Friday and we’ve got to go from design implantation in five days. What are some of the challenges around that?
William: I think one of the challenges is the tools. Just to make an excuse for designers, that I think is legitimate, is that the tools suck. There’s been a push to do all your design and development in the browser. Then there’s this push to handle it all CSS3.
Do everything you possibly can CSS3. Granted the great designers out there are able to be really involved in the front end development and do minimal stuff in Photoshop. In general to work fast is difficult with the tools that we have. I would love to see that improved.
One thing I’ve been trying to get in a project that we would do here from a designer is to as much as possible think on a feature oriented level, instead of a site wide level. To design just for what needs to be designed, you don’t need to design a whole page.
If you’re developing a feature and it’s a widget in the corner of a page, the whole page could be a wire‑frame and that widget could be designed. The challenge there is to be consistent throughout, to have a good vision of where you’re going.
I think a designer that has good skills should be able to do that, should be able to stay consistent throughout, to keep going within the same vein of things. To keep the look and feel going but be able to turn around a widget fairly quickly and not to get so concerned about the whole page.
I’d be really interested to see a project go from conception to launch with that whole process. So far it’s been a challenge to see that. I think that could be a potential solution.
Jade: That’s one of the complaints that I’ve heard from a lot of designers. I need to understand the big picture. I need to understand the world before we can start implementing some of these designs. If we start on sprint one, let’s just say with no design in place, we didn’t do a design iteration or anything like that.
How do you see that developing? How do you maintain that vision of the bigger picture and the bigger idea when you’re doing it week long sprints?
William: That’s not a rhetorical question? You want me to actually answer that?
Jade: No I want you to.
William: [laughs] That’s a difficult thing to ask. I think there’s different scenarios. Are we talking about sprint one is a true sprint one and there isn’t this backlog of things that have been predetermined. I think that’s one thing that weighs designers down is when there’s already a whole bunch of stuff predetermined, and they’re saying, “Wait, I can’t think about this. If this is going to happen, I need to think about this.”
I think a great example of success is Tumblr, which is founded by two guys who had a division of labor between them, but they had a major overlap. They were both very invested. One was a developer and one did business and design and stuff like that as far as I know.
And they worked iteratively. I think Tumblr has a beautiful interface. It’s very usable. It’s very simple. I don’t know what their sprints were, but they worked a portion at a time. They kept maintaining. I think whenever they came to a big impasse, as far as I can tell, where there’s going to be a major shift, that’s where you look at, “Do we refactor design?”
I think there has to be a willingness to say, “OK. We’re going along. We’re consistent. We’re going a certain direction. OK now, we’re going to make a big leap in a different direction, or a change. We’re doing something we never foresaw doing, and so that means that we need to go back and rethink what we’ve already done.”
I think the big fear is, “We’ll never get a chance to do that, and if we don’t got it right the first time, we’ll never be able to improve.”
Jade: I think that’s a little bit easier to accomplish when it’s a couple of people, and you’re personally invested in…You’re not only just the developer. You’re also a stakeholder and product owner and all those things. It’s easier to manage that relationship because the relationship is with yourself.
In a typical scrum team of five to nine people, that gets a lot messier and a lot harder to deal with. I don’t know what the answer is to try to do design at the same time as development. You see a lot of people trying to run design ahead of the game, but that leaves some opportunity for mistakes and waste.
“If we don’t do that story next sprint, now what?” The world changes, and we’ve got to re‑prioritize the backlog because some new business requirement came up or some new opportunity showed up, and now, there’s no design for that. Now, it’s chaos and panic.
Clayton: I think that as we get towards the shorter iterations, the idea of doing work in Photoshop and then slicing it and chopping them off into a lot of stuff, I think that totally goes out the window.
The same way that I don’t think you can go forward from, today, being a developer who just writes code, you have to have other skill sets. I don’t think that you can be a designer who doesn’t know HTML and CSS.
I think that if you can get to a point where you are getting out of Photoshop as early as possible, that gives you the ability…I think there’s something to be said for having a Photoshop mockup of something to show people because people think that way or they like that stuff.
If you can do design upfront or at least do a week ahead, whatever sprint ahead, where you’re not designing specific features that you might not do, but if you’re doing things where you say, “Here is the overall look and feel of the site…”
Personally, I think that if we got towards where people are using style guides where you could say, “Here is the overall look and feel of the site, and here’s the style guide for 80 percent of what you’re going to run into as you’re developing the feature,” then the developers can hit the ground running with their iteration, not having specific design for every single feature, but they could have enough to get by where they’re not going to get hung up on something.
And if they do, it’s probably just a quick fix. They could just talk to the designer about what’s the best way to handle this. Then, now that that frees up the designer to work on…If there are specific feature things, you could do something where they’re one step ahead of you where the world isn’t going to change that much perhaps.
William: Yeah, I think a style guide is a great way going back to what I’m saying later about keeping that consistency. You could spend that time upfront developing that style guide of colors and padding and margins and things like that, grid, all that kind of stuff, and then live inside that model, that framework.
Designers do great inside a framework. I don’t know a single designer that resents having a framework to work with within. It’s actually freeing. I think another thing that can speed up the process is, I agree with Clayton totally. That you ought to have that ability to be a front‑end developer at least the HTML and CSS and to do that.
But instead of spending all your time in Photoshop, maybe spend more time with pencil and paper. One of the first things that they’ll teach you in your design fundamentals class in art college is your first idea usually seems great and almost always sucks. Sometimes your first 10 ideas suck.
One of the first assignments I ever did was I had to do a logo of my initials a hundred times, a hundred different logos. It was bang your head against the wall annoying. After 50, 60, 70 of them, you can’t think of any new way to do it.
As a designer, you learn to be that way. So if you go straight to Photoshop, it’s a struggle to do that because it takes time. But if you go straight to the browser, it’s even more frightening because it’s like, “Well, if I do all these and I get it but it’s not the best solution, I have to rip it all out and start over and rip it all out and start over.”
But maybe if we spend more time as designers with pencil and paper going through that mental process of bad idea, bad idea, bad idea, decent idea, bad idea, bad idea, bad idea, there’s the one, and then go straight to the browser and implement. Or like you said, minimal time in Photoshop creating an element like a tiled background image or an icon or something like that, and then get that in there.
I think that could be a great process for a designer where they know their style guide. They know their framework. They hash through all the ideas on pencil and paper. Then they get to the browser as quickly as possible.
Derek: One thing I thought that was interesting at the beginning, as you said, it’s really difficult when you see the entire backlog and to not think about everything in that backlog. I think that developers fall in that same trap. “We’ve got an architect for the 491st thing in the backlog even though we’re on sprint one.”
In the back of my head, I’m wondering, “Is this one of the reasons that maybe Kanban has taken a little bit of frontrunner approach, and that a lot of people are liking it is that it tries to move so quick and obfuscate more than the next 10 items? Does it give a calming effect to designers and developers that they’re only worrying about the next two or three things as opposed to item number 391?”
I think it’s part of a different discussion but interesting nonetheless. So product owners hide as much of your backlog from your developers and your designers, and you might see their velocities go up perhaps. It’s a theory. You might try it out, but you might try it out.
The next question I have, and this starts to go into a different element of design and what we’ve been talking about here which is probably more of the visual design and that is…I hear a lot of people say and really talk about, “How do you do usability or discovery?”
“How are you going to ask an audience of people? How do you really get these questions answered about what the product is really supposed to do and how it’s supposed to work?” I think a lot of people even ask, “What happens to the business analyst?”
We used to have this business analyst. Now, we’re in this Scrum team. How does a business analyst go gather data for a particular user story during the actual sprint?
If I’ve got a 5‑day sprint, how do we do discovery on what the best way to solve this problem is within a 5‑day sprint or a 10‑day sprint, opposed to being able to gather some of that information up front to understand that? Maybe talk a little bit about some of the challenges or some of the things that we lose by not doing that as much anymore as we used to, or how we can incorporate that into a shorter sprint length or sprint cycle.
Clayton: I guess I’ve never really been convinced that…Even if you had a business analyst and you had people that were out doing a bunch of research and interviewing potential users and blah‑blah‑blah, you’re never going to come up with a great solution on the first go anyway. It seems like you have to go take that leap of faith into Scrum or Agile or whatever and say, “I’m not going to get it right the first time, but I’m going to get something out there that we can start working with and gathering feedback on.”
I feel like it’s like an “emperor has no clothes” thing, because there’s a lot of people that are probably thinking, “That might work for your project, but, trust me, I really need to know all these details for my project.” I don’t think that is the case in almost any instance.
Derek: Let me, maybe, rephrase it to make sure I’m understanding. You’re suggesting a way to combat this is to actually release shippable software as often as possible and use the shipped project as the way to collect that information. Once you get that information, iterate and make the changes necessary, based on the feedback you got from real customers.
Clayton: Right. Yeah. Actually use the point of Scrum or some other process.
Jade: I think that’s pretty interesting. Maybe that is some of the source of the problem. We’re OK with not getting development exactly right, right out of the gate, but a lot of the projects I’ve worked with, they’re obsessed with the design being correct the first time out of the gate.
“We’ve got to get it right. We can’t afford to mess this up, because then nobody will ever come back and use the system again.” We’re psyching ourselves out, because we feel like we’ve got to nail this thing the first time around. We completely forget to be Agile about the design itself.
William: Yeah. It’s a lot like the whole Flash mentality of, what, the early 2000s, which was, come out with this Flash app that’s your whole site, that’s so fun and there’s things flying and noise being made. The Internet was so new to people that they went and used it and were like, “Oh, my…You can do this on the computer? This is amazing!”
Then, it lost luster because people were like, “I just need to get this data. I just need to know how to get there. I just want to know what the hours are. Just tell me.” Now, obviously, with mobile, everyone knows the implications of that.
Point being is there was this ability that people had, developers and designers to shock and awe people and to get them really thrilled. That was mostly because the Internet was so new to most people. That’s over now. It’s done. You’re rarely going to put something out that is going to excite someone just because they looked at it.
If you’re a designer, you’re going to look at design and be excited by people’s good work. If you’re a developer, you’re going to look at ideas and concepts in development and be excited by their elegant solutions and things like…
Jade: APIs.
William: And APIs. Yes.
Jade: [laughs] Their sexy, sexy APIs.
William: And their fables.
Derek: Shiny.
Jade: [laughs]
William: But your common user doesn’t care. I mean, they do but they don’t. It’s really a combination of everything that matters to them. Can they get what they want quickly? Can they get through it easily? Is it confusing or not? Does it look good? Meaning, good to the layman, decent, not look bad. Does it look broken? Does it look inviting? Does it communicate the brand?
Those kind of things are the big pile of influence on whether or not a user wants to keep using it. The big temptation, I think, with design is that a lot of times, product owners that have an eye for design and designers want it to be so attractive and so exciting that anyone who looks at it is going to be really impressed.
I don’t even think it’s an ego thing most of the time. It is sometimes, but most of the time, it’s a business value thing. It’s like, “I think that if this gets perfect, then people will be thrilled and excited and think it’s the best thing that’s ever happened.” But it’s not that simple. Users don’t work that way.
Clayton: I think another big part of it is that if you’re the product owner for some start‑up or even just a product owner, maybe you don’t understand the technical details, but you know what looks good and what doesn’t, according to you. I think that’s why everyone gets so caught up on the design stuff.
It’s like, “I don’t really know how this workflow should work, and I don’t really understand what you’re doing in the ‘backend,’ but I can look at this and say, ‘Wow, that’s really pretty.’ There’s other websites that I like, and they look kind of like this, too. The people that I want to attract on my website, they look at those websites, too.”
It’s just something…It’s simple. It’s a high‑level thing, but everyone has an opinion about it. Product owners generally don’t have an opinion about how you implemented that technical thing, but they have an opinion about how it looks.
Jade: I think it’s a trap, too, because it might look really good, and it’s a total disaster from a functional standpoint. It might look shiny and pretty, but when you go to implement it, users just can’t understand it. “But, man, it looked so good on that comp that I got.”
Derek: I think the biggest trap that people fall into is, everything was an overnight success. If you look at ‑‑ I use an example of Twitter. If you were to look at Twitter today, it looks pretty reasonable. It’s got some pretty sexy UI elements. It’s got some nice UX layouts, where they’ve got some sliding drawers and some techniques that are a little bit more cutting‑edge.
If I were to try to create something that competed with Twitter or had functionality similar to Twitter, I wanted a timeline feed, perhaps. And I said, “I need my timeline feed to look just like Twitter, because people will not accept a timeline feed that’s not as good as Twitter’s timeline feed.” What we forget is, rewind back five, six years to when Twitter started and look at what Twitter’s timeline…
Jade: Look at the first release of Twitter. Ugh. [laughs]
Derek: The new, and I’m doing air quotes here, Twitter didn’t come out until a few years ago, after or, not even a few years ago. Less than 12 months ago, after they’d already taken almost $60 million in funding.
I think, with it, that people get obsessed on, “I have to compare myself to the thing that is fully funded and has been out for a better part of five, six years and has hundreds of millions of users on it. That’s my benchmark.” Instead of saying, “We’ve been working on something for three months, and we want to release the first version within the next quarter. We need to iterate over how our users use this product.”
I think you’re absolutely right. People get way too fixated on, “We have to ship finished, and we can’t iterate, but code wise, you can do whatever you want. If we need to add a feature here and there, that’s great.
But the minute we put a feature out the door, it has to be perfect, because we can never come back and visually make it different, functionally make it different, or aesthetically make it different, or people are going to say that we failed and we didn’t work.” I think that that’s a mistake.
Jade: I think there is some challenge in that, though. Because the Internet is moving at such a fast pace, there are some pretty revolutionary things that come out, that do become almost mandatory, that do become expectations of how things should work. I think that is a challenge that we’re always going to be faced with, is how to keep up with the things that are now mandatory, that six months ago were nice‑to‑haves.
William: I agree with you, Derek. I think, I would challenge a little bit the idea that people, product owners in particular are comfortable with not having all the functionality as well.
Derek: Yeah, I agree that a lot of them don’t do that.
William: You go, “I want to go up against this x thing that’s been around for six years.” They’ve had six years to develop all their features. When I come out of the gate, I want to be at par with them, in six months.
I think that’s a major issue for design, because what you end up doing is just, as quickly as you can, designing everything. It over‑accelerates the pace of development. You shouldn’t be trying to develop. The one that product owners love to reference, Facebook.
Jade: Facebook. Yup.
William: In six months.
Jade: But it’s already been done, Billy.
William: “But it’s already been done.” Yeah. So why are you doing it again?
[laughter]
Derek: My idea’s different.
William: Here’s the thing about really great design. Going beyond the skin of it, going beyond even the couch analogy, is, it takes time to really understand whatever your problem is ‑‑ however you want to look at it. Your problem, your problem‑solution analogy, your friend, your creation, whatever. It takes time to sit with it.
Going from an iterative perspective, allowing things to come out of the gate less than perfect, and building from the ground up. I’m not talking about slowing down development or doing it deliberately more slowly, but increasing the amount of releases you have, and accepting that you’re not going to make a world‑changing design on day one.
What that does is, it allows your design team to really get to know the brand the way the users encounter it, to get to know the way the users want to use it. You get that time to realize, what people are doing with Twitter is not what we thought they were going to do with it. The way people are using this or that product, this was not what we expected, but this is what they believe we are and what they want us to be for.
Then, it allows you to go back and do what new Twitter did when they said, “We’re not a social network. We’re an information network. From now on, that’s what we’re focusing on. We’re going to design for that.” Then, you can come out with something that’s sexy and impressive and great.
Jade: And functional, and accomplishes the business goals.
William: Yeah. It’s not contingent on success, that you come out of the gate at that point. Which is the big fear, is that if we don’t come out of the gate at this level that’s way up here, then we’re going to fail, because no one is going to want to look at it. But you don’t even know where people are at with it yet.
Derek: Thank you, guys, for your time. I think, hopefully, in the next quarter or so, we’ll do another one of these on design and talk about some of what we’ve learned and where we’re going with it and maybe invite in a couple of outside guests and see how some other shops are doing it. Until next time, we’ll see you. Thanks.
Derek Neighbors: Welcome to another Scrumcast. I’m Derek Neighbors.
Clayton Lengel‑Zigich: I’m Clayton Lengel‑Zigich.
Derek: Today we want to talk about something that a lot of teams struggle with, and that’s the concept of “Done is done”. I guess to start off with Clayton, what do we mean when we say “Done is done.”?
Clayton: That’s a hard one to sum up in one phrase. There’re a lot of things that go into it, but I would say that it’s basically, if you want to go with more of a book answer, you want to delivery potentially shippable software. That’s an easy definition for that. Obviously you need to expand on it.
Derek: There’re a lot of exceptions depending on the size of your team, and what team functionality is. You might draw a different line in the sand of what is done. Meaning, maybe I’ve got a Q & A team that is entirely separate from my team so done is done for. My team would be making sure that we’ve done A, B and C, and we’ve handed it off to the Q & A team, and when we’ve handed it off to the Q & A team it’s thereby done.
For today’s conversation we want to talk about “Done is done,”, is that a single team is responsible for the entire chain all the way to deployment. What does it mean to be done in order to deploy? What we see a lot is a developer will say “Oh, this is done.”
“Mrs. Product Owner, it’s out there. It’s totally ready to go. Go check it out.”, and a product owner comes in and they go to the website and say “I don’t see how to…Where do I get to this”? “Oh. Well, you have to enter like this super magic URL to get there.” “OK.” They go in and they pull out some data, and they press a button, and boom the software blows up, and then there’s a defect.
Obviously not done, but thought it was done. Today maybe let’s go over what are some things that hold developers back from being able to give product owners features that are actually done the first time.
Clayton: Take your maybe less savvy, what you want to call it, developer not doing any automated testing. Those people in my experience…I got into the industry. I’m going to do some feature, and I’m going to spend a lot of time manually going through their entire process. I know how to make a testing, but one way that people go wrong with that is they choose the golden paths. It’s a phrase I’ve heard before.
I know that I need to fill in on these fields, and I know that if I put a two highway number in this field, it doesn’t going to work, so I normally put ten in that field. I know that I need to press the submit button, and I know that when I get to the next page, there’s a bunch of [indecipherable 03:18] , but there’s this little link down here. If I click on that, “OK, sweep, it’s done.”
They’re just lazy in that regard. They don’t think about it in terms of how someone actually is going to use it. I would say for the more savvy developer, that’s actually writing automated test.
It’s really easy to do the same thing when you’re testing. You have different test cases, but you still do the golden path for a lot of those. You don’t think to put in much crazy test cases, maybe you shouldn’t. You don’t necessarily wanting to catch every single edge case, but it’s still easy to do that.
Also, you get the false sense of security of while this feature is tested when you actually maybe deployed of that. The product owner is looking at it. They don’t do the same except that you did in your test obviously. You get the ball of the software.
Derek: I definitely think that that’s one of the biggest things that…at least in web development. I don’t even say we see this a lot in mobile development. It’s not actually deploying to target platforms and do the testing.
It’s the classic, “Hey! This works in my environment. Everything is great,” the works on my machine syndrome, so going along, blistering along, everything is great, and I handed off, and the product owner complaints that it just doesn’t function at all. You scratch your head and say, “How the hell? I’ve worked on this for four hours, and I’ve not seen anything remotely close to what you’re talking about.” You’re completely crazy.
You go to the diversion of the operating system on the mobile device or their particular mobile device where you go to their web browser and you go, “Oh, oh, oh. I forget about that dependency or whatever.” That is probably one of the lowest hanging pieces of fruit that developers can do to get a better done is done and that is, make sure that you’re deploying to a solid target platform.
If it’s multiple platforms, we see this as mobile, if you have to support multiple versions of the operating system or multiple versions of a browser, they are actually doing deployment and a test with those and before you ask that product owner, do the same thing. Because invariably, they will pick the one platform that you did not choose to look at, in order to do their testing.
Clayton: Going along with that would be appropriate data set. It’s really easy when you’re developing some feature, and you’ve got your two dummy users in your system, and everything’s kosher. Then you’ve got to deploy it to the target platform, or the staging server, even in production. Everything goes great when I looked at it, all the functionality works, but it’s unusable.
A big part of done is done, is that from beginning to end of the whole feature, it needs to be usable in a reasonable way. Not something that requires tricks, excessive waiting, or all those kind of things. You really have to be sensible in that regard.
Derek: That’s a big part. Even automated testing sometimes even makes it worse, but regardless, it exists even without automated testing. That’s the whole sensible workflow chain. What does this feature look like from cradle to grave?
We get too hellbent on, “We’ve got these great regression tests, so when I go add this new piece of functionality, a feature that builds upon new feature, I’ve already tested the original feature. I’m testing the feature that I’m building that piggybacks on top of this feature, I don’t need to go walk through the visual workflow.”
In reality, the product owner gets to it, and they say, “I did this, and I did that, but there’s no way to get to this other thing short of having to go the long way around the fence.”
The other one I see a lot of times is missing roles. It works great as an admin, but as a guest it doesn’t work. It’s supposed to work because you’ve built this funky thing on. Making sure the UI and the UX are reasonable is a big part of making sure that things don’t come back.
Clayton: A lot of that, the UI, UX stuff…A lot of developers probably put on their I’m‑a‑developer hat, and they don’t want to get into the front end or UX mentality. Even if you read some basic stuff about UX or information architecture, or whatever those people call themselves these days, even if you knew basic stuff about that, it’s really just a common sense thing.
I know common sense isn’t very common, but there’s a lot you can without really having to exert a lot of effort on your part while you’re developing the feature. Most of those things, in terms of the UX stuff especially, and the workflow, comes from communication with the product owner, and planning. That’s probably one of the biggest ones that prevent developers from delivering something that is actually what the product owner wanted.
Derek: What I see a lot, especially with people who don’t have as much experience or don’t have confidence, is they’ll have a planning meeting with the product owner, they’ll get some reasonably good wireframe, UX, UI, the designer would get involved to do that.
They’ll go to start implementing the feature, and they’ll know the workflow is broken when they’re doing it. Instead of raising the red flag back up to the product owner, or to somebody else on the team who’s responsible for UX or UI, and saying, “This feels really clumsy. You’re asking me to select 100 items here, but if you try to select more than 5, it takes forever. Isn’t there a better way we can do it”?
A lot of times, developers shirk that responsibility, and say, “I’m not the designer, I’m not a UX guy. I’m just going to implement what was given to me, and what was discussed.” The first thing that happens is the product owner or the designer might even sign off and say, “Yeah, it looks great.” Then they give it to the first user who actually has to select 100 things out of that 1000, and goes, “This is the worst piece of software, I can’t use this.”
The developer instinct is, “I knew that.” If you knew that, you need to speak up. That’s a big part of it as well.
Clayton: More often than not, you probably run into a situation where you don’t wireframes necessarily or lots of well thought out interface elements, and things like that.
When you get into that mentality, especially when people feel like they’re crunched for time, they try and use the simplest possible solution. Going back to the Web application example, if you don’t really have a whole lot of design elements in place, or a style guide for instance, and you’re just winging it, it’s really easy to crap out a bunch of stuff on this page. And it totally doesn’t make any sense. Submit button is this thin little thing that’s way off on the right‑hand side.
When developers use a site like that, you tell them, “Go use this antiquated government website,” all they have to say are all these terrible things. “Oh, I’m so much better, and I would never do this.”
But when they’re crunch for time or even when they’re not crunch for time, when they’re just trying to get the feature done, they say, “Hey sweet, I got the feature done. It totally works. I can click through it,” even though for the product owner or maybe a not so technical person or especially a user, it’s like, “What’s this huge thing I’m staring at? I have no idea how to do anything. I don’t know how to start.”
Derek: Yeah. Another part that comes along that is, sometimes we get such tunnel visioned on doing iterative development that we only think about the current iteration, the current feature set that we’re on. We forget those entry and exit points and some of those workflows along it.
Maybe I’ve got some form of object that’s got some attributes on it. It goes through some form of a process to do calculations or to do something, and somebody asked for this brand new piece of functionality. He says, “Hey, I need to be able to calculate this new thing. I need a new attribute, and based on that attribute, I need to calculate new values. After 30 days, you need to go check this other attribute and re‑tally something.”
So we go, and we add the attribute to the table. We update the calculation. We write this really fantastic test. We ran all of our regression test, and we say, “This is awesome. The feature’s implemented. We’re golden.”
Then the product owner goes and says, “Look, I’ll go and check that.” And the first thing they do is, “Um, there’s no way to add the new value to the attribute.” We’ve totally forgotten that, “Oh yeah, we inserted that in the database, and we inserted that in our test without ever having a screen going and updating the screen for that object to allow for that attribute.”
Sometimes it’s as simple as asking another person on the team that’s not part of that process and say, “Hey, can you just take a look at this and run through it really quick.” And you find that kind of stuff right away because the first thing they say is, “Where do I put that new value”?
Clayton: Right. Two big questions that would be huge wins for most teams would be, when you’re discussing a feature with the product owner, being able to say this question of, “How do I get here, and how does the user get here? Then after they do this thing, what happens next”?
You can imagine a system where you built some system that takes a report that someone generates. They type up some values in some text file or whatever, and they are supposed to be able to put this report into the system. Then there’s some black box that happens, and then it spits out some report.
People forget to ask, “Well, how do they get the report in the system in the first place”? because that’s the sort of thing that I think developers…They would develop the system, and they would say, “Oh well, I’m going to use my shell script that I wrote to import this file and parse it and blah, blah, blah.”
Then they’ll tell this little old lady user who works part‑time, “Yeah, just use your shell script.” “What”? Then when things come out, it’s like, “Oh, your report was generated. Where do I get it”? “Oh yeah, just SFTP into this thing, and find it directly with your username.”
It’s like, “Whoa, shouldn’t that get like emailed or put in a public place or something”? Those kinds of things. The, “How do I get here? What’s the entry point”? And then, “What happens next after I clicked the feature”? Those are two very important questions.
Derek: A lot of these things obviously can be addressed during planning meetings, meaning that if you’re asking a lot of these questions during your planning meeting, you’re getting good quality wireframes. You’re having those visual discussions and those entry and exit points, those workflows.
It avoids a lot of problems which comes to the last thing and that’s…At least here in Integrum, we do something where we have acceptance criteria, and when we walk through the product owner during planning meeting, we basically say, “What are the terms that consider this complete”?
I think that access a checklist at least on a functionality perspective for both the product owner and the developer to say, “I really shouldn’t be telling the product owner that this feature is complete. I know what’s done, these things that we agreed upon at the planning meeting.” It also allows the product owner to say, “Let me go through this checklist to make sure that the developers said what we agreed upon.”
Though, I don’t think that’s enough. That’s a really good start, but I still think ‑‑ what we talked about ‑‑ is the design acceptable? Is the UI acceptable? Do we have the proper entry and exit points? Do we have a sensible workflow? Have we tested it on production? Did we have somebody else on the team test it on production? Is it shippable? Is it deployable? There’s a lot to it.
I guess what I’m saying is, developers do not be so lazy when it comes to the point. A lot of times we try to push all the responsibility back to a product owner or to a QA team. In 20 years at software this has been problem in every single company I’ve been with.
Even with the QA team…The QA team says, “Listen assholes, you guys don’t ever test anything before you give it to us. What’s wrong with you”? I’ve heard product owners say, “Why do you keep asking me to check this out when it doesn’t even remotely close to work”? How do we get to the point where when we got this checklist or this formula of “these are all the things we need to do” that we actually do it?
Clayton: That’s a hard thing to overcome in the sense of…Until you see the value that you get from that, it’s difficult to get yourself in that because it is extra work. Most people or a lot of developers have this idea of “That’s not my job. My job is to write code and implement the feature, and your job is to test it or whatever and make sure that it works, QA team people.”
But if you look at it from some other aspect of your life…For instance, my wife and I, if I say, “We have all these dishes in the sink, and we need to put them in the dishwasher or whatever.” And I ask my wife, “Is that something you’ll be able to do while I go do this other thing”? And we’re exchanging things.
She’s going to be pretty upset if every single dish I’ve ever put in the sink that week or that day or whatever has tons of fruitcake onto it. So there are certain things you’d have to do so that the next person in line…And I know that the benefit I get from taking that extra step is totally worth it.
I know that if I follow the checklist, and I make it really easy for the product owner to sign things off, and I make it really easy for them to say, “I was able to go and demonstrate that this feature worked. It looks perfect. It’s just what we talked about,” that’s a huge win for me because now that that feature is actually done, I can move on to the next thing or I can complete some other story.
It’s not this idea of, “I’m going to do a whole bunch of work, and then tell you halfway through the iteration, “Go take a look at 80 percent of the work that I’ve completed.” Then you find out, “Oh well, this is broken. This is broken, this is broken,” all that stuff and I have to go back and fix it.”
If I have this confidence that when I say something is done, it actually is done, I don’t have to think about it anymore, I can just keep going. So getting people to understand that value, that’s a way that we can get people to start adapting the practice of following that checklist and really thinking about these things.
Derek: That’s just a good area that almost every team can improve upon. Again, whether you have a QA team, whether you are the QA team, whether you rely on a product donor or a third party to do verification for you, this is something every team can inspect and do some adaptation to and really improve their quality level, it’s independent a code. It’s really a discipline based improvement and so we just encourage you to check it out. We hope to see you next time.
Clayton: Thanks.
Derek Neighbors: Welcome to another episode of the “ScrumCast”. I’m Derek Neighbors.
Clayton Lengel‑Zigich: I’m Clayton Lengel‑Zigich.
Derek: Today, we’re going to talk about a couple things. First, we’re going to field a question, and the question is, “Is Agile just for teams, or can it be used for solo workers also”?
Clayton: My experience with this is, I’ve done a lot of stuff, just personal projects, goofing around basically on the weekends, and I try and use some scrum process. The thing I’ve noticed is that, I feel like at work I’m a very disciplined person. I have lots of discipline in that regard, and blah, blah, blah.
When I try and do it by myself, I feel like either I have no discipline or I don’t have enough. In my experience, I’d say that if you’re not a very disciplined person, it’s difficult to make it work. There are some benefits from it as far as…everyone has an experience with a personal project that just languishes and goes on forever, and you never finish it. There’s probably a lot to be said that Scrum could help you out with, in that regard. I don’t feel like I have the discipline to do it, myself.
Derek: A lot of agile techniques work fairly decent. In a solo environment, a lot of the principles do unexpectedly iterate. Using iterative approach, time‑boxing, continuous improvement, all of that stuff translates perfectly. When it gets a little bit more to estimating and doing some of the heavier parts of the methodology, it’s much more difficult to be disciplined about that, in a solo environment. It’s feasible when it works, but you have to have a lot of discipline to do it.
Today, I wanted to talk a little bit about pairing. Clayton, as a team lead you do a lot of pairing on interviews, here at Integrum, and you get to see a lot of pairing. I wanted to talk a little bit about what you think are some traits that make somebody a good pair.
Clayton: In pairing the most important one is being engaged. That’s a broad term that means the concept of being a good listener, paying attention, being interested in not only what’s going on, but also…when’s someone’s driving, or they’re solving a technical problem, it’s easy for them to get in that mindset. You have to be able to switch back and forth, and switch modes. If you’re the person, you’re not driving, you’re the passenger, you need to be able to keep focus on maybe some certain processings, or the non‑technical things.
Obviously if you are driving, being able to get into that mode and not worry about those things. Let someone else take care of that for you. I think that’s a big one for me. Outside of that, I would say that being a good pair is one of those things where I don’t think there’s a real good book answer for it.
If you were to try and do something by the book or write a list of things that you can do to be a good pair, that would be really hard to come up with that list. It’s more of a matter of good communication, good soft skills, those kinds of things. I think that’s most of it.
Derek: What are some of the pitfalls? You get to pair with a lot of people who are new to pairing. What are some of the things…when you see two people that maybe have never paired before and don’t necessarily have good habits, what are some of the common things that you see where people fall down in pairing?
Clayton: The driver‑passenger role is one that people don’t do a very good job of. Especially people that are new that say, “I’m a coder; I’m a programmer.” They have this idea of what that means to them. Then when they’re not driving, there are some people that fall in the subset of, “I’m going to micromanage every decision that you make while you’re driving, because that’s not how I would do it.”
There are some people that say, “Oh sweet, you’re doing all the work. I’m going to kick back and check my emails,” or whatever. Even in the pairing interviews, we notice that people, obviously they’re there for an interview, they’re trying very hard to be polite and engaged, and all those things. You can definitely tell when they get the keyboard, you mention something, “Oh hey. What about this?” and they can’t even hear you.
I think people don’t have that, not listening when they’re driving. Other than that, pitfall wise, people fall into categories of being a bad driver; just going down some rabbit hole ignoring what the other person is saying. The passenger plays an important role in guiding you, especially if they say, “Hey. This doesn’t look like a good path to go down.” Bad drivers just ignore that.
The one that we see the most is probably bad passengers. I think body language is a huge thing. If you ever want to evaluate people that are pairing, just look at the driver and the passenger. Usually the driver is leaning forward, because they are using the keyboard.
Most of the time, you will find the bad pair who are the bad passengers, are the ones that are leaning back. They don’t have their shoulders facing the workstation, that kind of thing. The people that are leaning forward, have the same body posture as the driver, those are the ones that are probably more engaged.
Derek: In dealing with a lot of people that are new to pairing and getting them up to speed, what are some things that you found have been successful in getting people up to speed with the concept of pairing in a fairly short amount of time?
Clayton: Brief overview of the role of the driver and passenger. A lot of people view pairing as, “Half the time, I’m working. Half the time, I’m watching someone else work.” They don’t understand what really they’re supposed to do when they’re not actually coding. Getting people to understand that is very important.
After that, I would say that there are bunch of games that we’ve had some good experience with. Ping Pong Pairing where one person writes the test, say a failing test, and then, the other person has to write the implementation for that to make the test pass. That’s a great way for both people to be engaged and both feel like they’re doing something.
Another one would be switching off at predetermined intervals. Say you set a timer for 15 minutes and it’s not this thing where the timer runs out and the person that’s driving says, “OK, cool, give me another two minutes, I’ll finish this up.” It’s literally, 15 minutes is over and slide the keyboard and mouse over and the other person has to just pick right up.
You can’t…it’s very obvious that you’re not being effective when the first 15 minute bell goes off and the other person is like, “Oh. What was on the menu?” They don’t have any idea. I think that’s a really good one to keep people engaged. I’m trying to think of some of the other games we played.
One that’s good, actually, for a lot of people have a criticism of pairing, is that they feel like, “Well, I’m really good at what I do. I’m a really good developer. I don’t want to pair with people that aren’t very good because it slows me down.” One thing that you can do to improve those people on your team that may be more junior or don’t have your level of expertise, which you probably don’t have any, but you think you do.
But, those people, to train them or to help them out, would be to do the distant passenger. A lot of times, I see that when people are in that situation, pairing the person that’s the more senior person will be micromanaging and driving and basically, telling them, dictating what to type.
“You should write this method. You should return it this way. You should use the turner in, blah, blah, blah. If you talk at a higher level and say, “Well, we want this model to be able to…we want this instance of this object to build or respond to this method. I want it to return a hash of these things.”
When you speak at a high level like that and then, you let the person go do the implementation. Whether or not you’re doing TDD even, but let the person do the implementation and then, maybe set aside some time at the end to do some kind of code review of like, “OK, see how you did that. You solved the problem. Here’s how I would have done it.” Have that discussion. I think that’s really helpful when you have a mix of skill levels.
Derek: One of the things we see, obviously, operating on the Gangplank because it’s pretty noisy in here. We’ve got a lot of people pairing in close proximity. One of the things that a lot of people ask me is, “How can your guys be developing in such louder, chaotic environment”
Maybe if you could explain a little bit about what it’s like to Pair Program in an environment where you’ve got lots of people Pair Programming in fairly close proximity and whether that positively or negatively affects productivity.
Clayton: I’ll give an example, recently one of the guys on the team got everyone little [Nerf(https://nerf.hasbro.com/)] guns that shoot darts. For the past two weeks, it’s been like every day, it’s people shooting darts.
You could be sitting there, trying to solve some complex problem and darts whizzing over your head. That’s the nature of the environment. I found that a litmus test for me is if I feel like I’m distracted or I hear people talking about, “I can’t get anything done today,” I feel like that’s not good pairing.
Or there’s a problem with their pairing because I notice that when I feel like I’m doing a good job and have an engaged pair and we’re really hammering things out, it’s almost like all that stuff just doesn’t matter anymore. It’s really easy to block it out, probably more than people would think.
You’ll notice that when people aren’t pairing, a lot of times people will put on headphones and try and get into the more traditional coder mentality of, “I’m going to go into my own little world, so I can’t hear or see anything. Don’t bother me kind of thing.”
When you’re pairing, you, obviously, can’t do that. When you’re pairing, you don’t really need to do that as much, in my opinion.
Derek: What you’re saying is you like to look deeply into the eyes of your pair and have some tantric pairing going on and nothing else in the world exists except for your pair?
Clayton: No, it helps if you have a little mirror, so you can glance at each other’s eyes every now and again. You put that above the monitor and you’re good to go.
Derek: I think that’s something interesting. One of the things that I’ve seen people talk about are some different pairing techniques in the way of physically setting up how you are pairing, whether that be some face‑to‑face pairing, some potentially pairing without even a laptop or a machine in front of you to solve the problem.
Then, to go to actually pair to implement the problem. Have you tried any of those things and if so, what are some of your thoughts on those?
Clayton: I tried the face‑to‑face pairing at one point in time. That was quite a while ago, I would say, before I was…I was trying things out. I don’t know. I hadn’t made my mind up really on pairing yet.
I found that to be distracting. It seems like the face‑to‑face stuff would be good and maybe it just was the person I was pairing with, but I found like it was more convenient to be looking up and away from what we were doing and doing a lot more conversational talking. That was probably the down‑side to that.
Other than that, as far as different pairing configurations, one technique that I had to do working with someone, this is easy to do when you’re pairing. People have a certain different degrees of personal space and that kind of thing. I had noticed that every time we sat down at the desk, this person would always sit in the middle and so it’s like I found that towards the end of the day, I would be pushed over to the side.
We got to a point where we drew some lines on the desk with some tape and we said, “OK, here’s our zone where we need to be and if we drift out of this zone, then one of us is going to be uncomfortable because we can’t see the screen or whatever.” That brought us actually much closer physically together in that regard. Then, we also made a rule that the keyboard had to be in a certain spot on the desk.
That was a way of balancing that stuff out so we could say, “We’re slightly off center from the desk and from the keyboard and the mouse and everything, but we’re still comfortable.” That cut a lot of problems out because we didn’t realize how much time we were spending nudging each other left or right and repositioning yourself through the day.
Once we set that ground rule, it was easy to be able to get going, keep going.
Derek: That’s a good segue into the physical set‑up. Tell me a little bit about what your optimal pairing station is. Is it a one keyboard, one mouse, two keyboards, two mice? If you’ve tried some different variations, why you prefer one over the other?
Is it single screen, double screen, preference of one over other?
Clayton: As far as the screens and work station set‑up, personally, when I was maybe younger, there was this dream of like I want to have 10 screens in front of me and that seemed so cool. Then, as I’ve gained more experience, if I just had one…we use iMac. The 27‑inch iMac, that’s got a big screen on it. Sometimes people load up that screen. Traditional set‑up is that screen and a secondary monitor. People load that stuff up with just tons of things.
I feel like it’s distracting for one thing. When I’m sitting on the left side of the station, I like big fonts and everything, but I have a hard time reading specific code or terminal or whatever that’s on the complete opposite side of the desk.
In that regard, I would prefer to probably have one monitor. As far as the keyboard stuff, I personally like two keyboards.
The reason I like that is because two keyboards, two mice. I’ve noticed that when you’ve got someone who’s pretty strong willed and they want to go down their own path, and they’re pairing with someone that maybe isn’t, maybe someone that’s more willing to go along with them, it’s harder for that weaker willed person to grab the keyboard if they want to take control.
If they have their own keyboard, it’s really easy to just press a key. It’s amazing how much you can screw somebody up by pressing a key or two keys. It’s kind of, “I don’t think we’re doing the right thing.” “No, trust me this is right. Let me keep doing”
You press command‑TAB and switch to whatever the other application is and bring it in focus and then, it’s like…it’s a total…it’s an easy way to have this stopping point of, “OK, put the brakes on. Let’s talk about this.”
Without having to physically, grab the keyboard from somebody.
Derek: What you’re saying is dual keyboards prevent pair assaults?
Clayton: There you go, yeah.
Derek: One that a lot of people are probably asking at this point, remote pairing. Thoughts on having to pair remotely.
Clayton: Every programmer that I’ve ever known has this ideal that, “My job is totally over the Internet, so I can work super effectively at home.” We tried that when people were sick or people are away or whatever.
It’s really difficult unless you’ve got…even with like the screen sharing and remote control that like, say iChat gives you or remote desk software or whatever, that stuff is really difficult because you get a little bit of lag and you don’t realize how much that effects the way that things look.
If someone is scrolling a web page and you can’t see things anymore or whatever, that’s really distracting. Then, I would say the good thing about it is that when you’ve got two people who potentially can control the mouse or the keyboard, having like a code order where you actually have to physically stop everything and say, “Mouse,” or whatever, so you can get control because, obviously, two people are remotely doing that, isn’t going to work.
I would say that’s nice, but overall, the negatives outweigh the positives as far as remote pairing is concerned.
Derek: The last question really is distractions. How do you deal with distractions in two ways? One distraction would be somebody else on the team needs you for something. Instead of just interrupting one person, now they’re interrupting an entire pair. If it takes a certain amount of time to get back on task when you’re interrupted and now, you’re affecting two people.
What are some ways or techniques to be able to minimize that? Then, the second one is physical distractions, in the terms of, I’m going to say, near‑term problems, laptops, smart phones, things that, I think, as a passive pair are really tempting to get into.
What are some thoughts on mitigating those two things?
Clayton: I would say that as far as…that one first, as far as the passive stuff where you…sorry. When people are distracted or tempted to look at their phone or their laptop or whatever, that’s something that is up to the pair.
Definitely, you’ll have situations where, especially if you have someone that’s driving that doesn’t really want to be pairing, when the other person looks at their phone, it’s like, “Thank God, I don’t have to worry about this person anymore.”
If you’re the kind of person that is…personally, I think that’s disrespectful when you’re pairing, you don’t want the other person just goofing off because then, you get into the mindset of, “Wow, pairing is really useless because I’m just doing all the work and this person’s surfing the Internet.”
People try and make a lot of excuses about it where they say, “Well, I need my laptop so that I can do research,” or, “I need my phone so that I can check my email because I don’t want to miss anything,” or whatever.
That’s a real concern, but it segues into the idea of solving the first problem where I feel like having some kind of consistent timer, that totally solves that problem. If you say, “We’re going to to set a timer every 15 minutes, we’re gonna switch pairs.” If someone walks over to you and says, “Hey, I’ve a question.” You can reference the timer and say, “Well, I’ve got 10 minutes left.” Usually 15 minutes or less, there’s nothing that’s so important that it can’t wait that much time.
If you’re worried about missing an email from a client or something, it’s pretty easy to say, “OK, we’re going to work for every 15 minutes, and then every 15 minutes I’m gonna check.” At most you’re going to go 15 minutes without seeing it. Which for most people is probably acceptable. I’d say that having the timer is really good and that helps solve both problems.
[music]
Derek: We’ll see you next time.
Derek Neighbors: Welcome to another edition of the ScrumCast. I’m Derek Neighbors.
Clayton Lengel‑Zigich: And I’m Clayton Lengel‑Zigich.
Derek: Today we are just going to take a few questions that we have gotten over twitter in the last few days. The first question up is…Do you have recommendations on particular reading materials that are good for people to learn the basics?
Clayton: The basic stuff. I think there’s quite a bit of good information on the Scrum, the Wikipedia entry for Scrum. That gets you some of the glossary and some key terms, and then other than that…What are those two…there are a couple of Mike Cohn books?
Derek: Yeah, I think Add, Estimating, and Planning by Mike Cohn and User Stories Applied by Mike Cohn are both great kind of planning and user story gathering books. James Shore has Agile Practices or Art of Agile Practices, something similar to that that I think is a really good overview of a number of different agile methodologies including Scrum.
The Agile Retrospectives books by Esther Derby/Diana Larsen is another really great book on retrospectives. The good news is, there is much stuff out there from just a pure content blogs and websites, strong just going to ScrumAlliance.com or just ScrumAlliance.org or any of the XP extreme programming site, both have a lot of downloadable content available.
Clayton: Yeah, the interviews and articles, especially the interviews on Infoq.com whenever they do anything with pretty much any technology or methodology.
The person that they interview always has to do some introduction, because you know, under the assumption that whoever is watching this episode may be know what Scrum is so that person always will do a good introduction. I found this would be helpful.
Derek: The next question. We have got a couple pretty good ones here, so we are trying to target these to be 15 minutes or less, you can catch them right at the end of work or walk around the block.
This one might get a little bit deeper, but I think it is something that is good fodder for discussion and that is…how do you recognize the dysfunctional team?
Clayton: Yeah, that is a good one. There are lots of different things. One of the things at least in my experience is that, a good sign of a dysfunctional team is when you have got lots of…I guess maybe passive aggressiveness is a good way to say it where team members want to either some problem or something that some team member’s having with another, or with a process or something like that.
There is lots of grumbling, all solve your problem and I’ll also make some kind of back handed comment about it and maybe I won’t help you out later when you need something, that kind of stuff. That happens a lot. What about you Derek, what do you think?
Derek: It’s Patrick Lencioni has a great book out there: Five Disfunctions of a Team and you can map those directly across to agile principles as well. Anything that exhibits a lack of trust which is hard for some people to tell, that there really is a lack of trust but the one that I see more often than not are…the two biggest I see are Fear of Conflict.
Nobody wants to say the hard things or to step out or to make any kind of waves, it’s “I think you’re wrong.” “No I’m not wrong.” “OK, I’ll let it go.” To me that’s a red flag that there’s something deeper going on.
The best stuff gets made when people have a healthy debate an argument about how to solve problems. The other piggy bank on to that is the absence of commitment or accountability, like I’ll do anything possible to shirk accountability and all of those are rooted in fear and there rooted in fear because there’s lack of trust for the people around.
Clayton: An important part about the trust aspect especially that book just in general Lack of Trust, a lot of people misinterpret that to mean that, that for instance, either I trust or don’t trust Derek to do his job.
But what the book, what they’re really trying to get to is that you have the trust required to feel vulnerable so that you don’t feel…if I really trust Derek and Derek trusts me then I’m OK saying, “Hey, you know what? I screwed up” or I don’t know what I’m doing or I don’t have the means to solve this problem. It’s really that’s the important part that other team members can trust each other and be vulnerable with each other.
Derek: It’s hard to build that stuff too. I’d like to say that time is one of the only things that can really make that happen. That’s probably one of big things that new adult themes fall into is that they want to gel and to have all of these.
They look at this is what a high functioning high velocity team is made up of and they want that overnight, and truth is that those teams get built over sometimes a matter of years in working with people. That’s a tough one to do.
Next question, this is one that I’m curious to hear. I’d love to hear even outside opinions of this, so when we post this, if people can comment on this, it’d be great. That’s, “I’m facing having a team with wildly differing work schedules, I’m finding this makes estimating and stand‑ups more challenging. How do you handle that”?
Clayton: Having very different schedules on a team is going to make things difficult. A lot of people have that problem mostly because people have this desire to have different schedules. Maybe they’re used to that, or they want certain things. I don’t know that there’s a really easy way to overcome that problem other than to get people on more similar schedules.
That’s going to be painful, and some people aren’t going to like that, obviously. It is very difficult, especially when the team’s out of sync. We’ve experienced this. If you’ve got people that are coming in much earlier and leaving much later, there’s this overlap for that. You also have people taking lunches or breaks at different times.
You get to a point where the team as a core only has two or three hours out of day where they’re actually all together, working in the same space with the ability to answer and ask questions with each other. That’s really challenging.
Derek: My gut reaction is there’re the legalistic answers, and there’s the more fluid answer. The fluid answer is, “What impact is it having on your team”? If you can work all different schedules, and have virtually no impact on the team, then it’s really not an issue. I’ve yet to see anybody really do that, but I don’t want to be facetious and say, “It’s just not possible.”
It might be possible on some really highly functioning teams. I’ve seen it tackled one of three ways. Either fear of conflict, and nobody deals with it.
The other option is the middle‑of‑the‑road option, the best‑for‑everybody mentality that is to have some form of core hours where you say, “From 10 to 2, or 10 to 3, everybody’s got to be in the office, and everybody goes to lunch at the same time. You can come in earlier, you can come in at 6 and leave at 2, or you can come in at 10 and leave at 7, but you need to be here from 10 to 2.”
That can work depending on what your work environment’s like, the type of work you’re doing, whether you’re doing XP pair programming, and the hours of your customer. Are you doing internal product development? Are you doing consulting? A lot of that has a lot of play into it. If you’re dealing with external teams, you have to get on a schedule with some of those external teams.
The last way I’ve seen it implemented is a much more rigid approach which pretty much says, “This is the time that the entire team works, come hell or high water. Take it or leave it. We work from 7 to 4, 8 to 5, 9 to 6, or 10 to 7, or whatever it is. It’s expected that you’re there within those times.”
There’re pros and cons to each one of those approaches. It depends on what type of work you’re doing, who you’re doing it with, and how you do it. It depends on the pluses and minuses of each of those choices.
Let’s see, two more, and they’re really good questions. The first one is, “What is the agile response to a request for a proposal, i.e. RFP, when the true answer is, we don’t know time or cost until we are done”?
Clayton: I’ll let you field that one, Derek. You’ve got more experience in that regard.
Derek: It’s really difficult. In the RFP, you can really document or describe your process, and how you handle that. There’s a few estimating techniques where you can take an RFP, and you can derive some kind of high level guesses or estimates on those.
You can say, “Do we think we can do something like this based on the RFP that’s been put in place”? What you do at that point is you’ve got the Triple Constraint, so you can say, “We can do it for this price with this feature set in this time frame, assuming that you don’t change anything.”
If they’re going to stay completely rigid on that then everything’s good to go, if they need to be able to change, if they need to be able to change the scope, you can do that, but you just have to know that there’s a cost adjustment for that.
What we’ve seen some success in, in responding to RFPs, is our approach of user stories and creating a backlog and responding to the RFP with a backlog of estimates and then having lots of language talking about how that relates to scope change, that’s a much more appealing process for most larger companies than the change‑order requirement hell that they’re normally put in from a contract perspective.
The hard part of that is getting a contract written that speaks to those scope changes without having to have the inordinate amount of documentation around every little scope change.
The last question, what happens when the team is agile but the company is not? What are the first steps to get agile practices at a strategic level?
Clayton: One thing that a lot of people on a development team or even at a scrum master, project manager level, they see a lot of success with what they’re doing and people can get stuck in a rut where they can’t think of any ways that translates up the food chain.
One of the things, I feel like if you’re on an agile team and you’re developing things and providing lots of good value and doing things in a good amount of time and you’re doing all these things, you’re reaping all these benefits, the benefits that you’re seeing, those directly translate to business goals or some business value.
Those are things I think that it’s just a matter of finding some way in your organization that you could translate the successes that you’re having with your product development into, hey, here are things that we’re doing, and here are the benefits that we’re seeing, and this is how those benefit you.
That’s one way to drive that change, from the bottom up. Here’s all this great success we’re having. If you guys could make these incremental changes, keeping in mind that you have to make baby steps that would be a good way to drive that change up the food chain so that you can start experiencing that more across the organization.
Derek: I’ve yet to meet a CEO that isn’t interested in the fundamental principles of agile. I think the problem that we generally have as practitioners is we have to change the language we use when we talk to C‑level executives. Most of them want to be able to use the word “pivot.” They want to be able to pivot their company in a different direction.
I’ve yet to find one that’s not interested in being an innovator or being able to be ahead of the curve. Agile practices allow them to do that a lot more simply. It’s a matter of getting them to say, hey, the same way that we’re able to take a feature backlog and create that feature backlog and break it down into sprints, and to tackle those sprints, and allow ourselves to change as need be, you can do a very similar thing from a strategy perspective.
You can say, what’s the goal we’re looking for? Can we break that goal down into smaller segments or smaller chunks and still have a long‑term goal? But if two months into our strategic plan, our biggest competitor does something completely different and out of the water, and we need to change course, we’ve got the ability to do that.
A lot of big corporations fall into this. They basically create a five‑year strategic plan and it takes them four years to update it, so they get totally submarined. If you look at a Blockbuster and a Netflix comes along and has a totally different model, the inability to basically pivot and say, can we compete in that market, took them probably three to four years to even get their product out, and at that point, it was so far behind and had become so irrelevant.
They spent so much money trying to get that product to market that they basically submarined their stores. Again, I don’t think there’s a single CEO that’s not interested in being able to be nimble or pivot or you name it, but I think we just have to stop talking in technical terms and start talking in marketing terms or in strategic terms to get them to understand that these very same principles can be applied to the work that they do as well.
That segways in. Hopefully next time we’ll talk a little bit about scrum outside of software. Can you use scrum to manage an organization? And with that, we’ll see you next time.
Derek Neighbors: Here, at Integrum Technologies, we are a consulting company. We, generally, work in pairs. As part of working in pairs, we generally don’t have more than two or four people per team. But we’ve, generally, got five or six different pairs working together. We do weekly retrospectives. We do them as a team instead of as just the two people working on a project, or the pair working on a project.
That brings about certain difficulties in writing the retrospective. I’ve got Chris Young our Scrum master here. We wanted to start doing a daily or weekly podcast, where we just talk about some of the Agile hurdles that we have here at Integrum, that we deal with. This is one that’s bit us over time, so we thought we’d talk a little bit about it.
Chris Young: Hi everybody. Today was the second retrospective that I’ve run. What I try to do is actually ‑‑ like Derek said ‑‑ we have a team, I think there’s 12, 13 people in our company right now. Those are broken down into smaller teams right now of two people each on each team.
We’re running into a problem because ‑‑ I won’t say it’s a problem yet ‑‑ I’ll just say when we do retrospectives we have to bring in everybody into that retrospective. The problem that I’m finding is that it’s difficult as a scrum master to address specific team problems when we’re trying to pull information out of the whole team.
I think probably, Derek, you can relate to that too. The idea is that you, actually, set up an environment in which problems that maybe you’re seeing throughout the week are bubbling to the surface on their own, certainly requires a lot of courage and openness on your teams.
We face this problem, like if I have one team that has a specific problem, for instance if a team is having trouble. Say we have one team that was not meeting the velocity that they had signed up for the week or not meeting the commitment that they had signed up for, and none of the other teams were having that problem, and this is a total hypothetical situation.
Do we really want to concentrate the whole retrospective on the one team’s problem, or do we have to hope that it just sort of comes up by speaking in generalities? From what I’ve seen, most of our retrospectives are dealing a lot with kind of generalities, best practices, high‑level types of things, and we’re not getting down to into the data and the directly working with what happened this week specifically. There’s a lot of different hindrances that keep us from being able to do that.
Derek: I definitely think that in doing them you have to play to the lowest common denominator, so you have to play to the weakness or the strength that all the teams as a whole exhibit, instead of being able to target just what one single team is doing.
I think the thing that is difficult is trying to do a retrospective with a single pair and an off‑site customer, is nearly impossible. It’s very difficult if you’ve got just one pair of programmers that are part of a project. In doing a project, it’s very hard for them to be brutally honest with each other. Meaning that they either aren’t able to see the problems that they are facing because they can’t see the forest through the trees, or they don’t have the courage to speak up and maybe admit to things that they know are currently going on.
Putting them in with several other teams helps create that courage and maybe helps visibility, but the problem is it doesn’t allow you as a facilitator to have that laser‑like focus specifically to a project.
I think one of the things that becomes hard is, I don’t know the proper way to address that. We talked about trying to do individual retrospectives with other team. Of course, that’s hard now as a facilitator if you’ve got to run five different retrospectives. Additionally, it’s very difficult for people to have the courage to be honest when it’s basically just you and your pair and a facilitator. You’ve got a three‑man retrospective that is also makes it fairly difficult.
Chris: It’s difficult also in terms of scheduling, if I were to try to do that. Also we do get a lot of benefit from the whole team retrospective. That’s where a lot of our engineering practices and things are established. In reading in the Agile Estimation Book Retrospectives ‑‑ I’m sorry, what is it? The Agile Retrospectives?
Derek: With Esther Derby/Diana Larsen, I believe?
Chris: Yeah. That, generally, I’d be coming in with data say, “Hey, our code coverage is dropping.” “Hey listen, our” whatever. I’d, actually, have some data and we could talk specifically to that. Is it sort of embarrassing to say, “Hey, this team. Let’s talk about this team’s problem. Let’s all focus on them.”?
I don’t think that’s going to meet with a lot of success either. We did make this move to bring on somebody as full time Scrum Master. I’m realizing more and more that my engaging people during the week is going to more important when it comes to those types of things.
I have to have some courage myself to be able to bring people together, and see what we can do about those types of problems. From what I’ve been reading about, generally, the best type of situation is we actually have Scrum Master per team.
That’s silly when we’re running two person teams as well. I’m still not exactly sure exactly what the…
Derek: That’s one of the other difficult things. I really played with it one time, maybe two weeks where we do retrospectives as entire unit, and inter‑mix the teams, and mix the teams up and try to get some honest courage, hit those lowest common denominator problems and really pick up our engineering practices, and pick up our Scrum practices and eXtreme Programming (XP) practices.
Then, maybe every third week, try to do a retrospective that highlighted each team as an individual team as part of the exercise, even though it was facilitated all at one time. The problem is that that becomes fairly difficult to find exercises that work that only have two people providing the input to that data.
Maybe, the right answer is we do something like that, but instead of being a data gathering, retrospective, maybe we take some of the data that has been gathered as part of retrospectives over the two previous weeks, plus data that we’ve seen or harvested or discussed, not during retrospectives, and bring that in. Then try to facilitate those one‑on‑one with each team for part of the retrospective, and have it be a little more pointed.
Of course, the difficulty is some of these start‑up projects that we deal with only run four to eight weeks. If you’re only doing that every third week or every fourth week, you’re halfway through a project before you’re potentially dealing with issues that could dramatically improve, either the quality of work or the pace, or any number of things, revolving around the project.
Chris: It seems like we’re having some difficulties mapping best practices in Agile because we are a very traditional consulting shop in a way. We want to do short‑term projects. We want to try to get as close as we can to fix bids, so that we can bring people in and that does make it difficult, having two people teams.
If we had something internal, if we were a product company or something like that, then we would have some time to work these things over time to let things play themselves out. It seems like here at Integrum, we’re really, really analyzing.
We, really, respect Agile. It’s a deep part of our core values, but finding, almost like a hybrid of certain aspects, so that it can work with consulting, less open‑ended type of release cycles and things like that.
Derek: I think that one of the beauties of doing pairs and then, doing either one pair of pairs or two pairs of pairs, and capping it to no more than four people per project, actually, makes this extremely Agile and extremely nimble in bringing on new customers. Even existing customers, big projects, allows us to be really nimble in how we use people and use resources on the team to solve problems.
It almost allows us to go so fast that it’s hard to have some of the structure that is required in Scrum to the continuous improvement. Just like if you doubled your velocity, you might drop testing or might drop other good engineering practices.
I think, in some ways, by having these very small, nimble, Agile teams, in some ways, we’re not going so fast that we’re dropping ability to have some of those sanity checks to come back and say, “How can we improve, and how can we continue and improve with what we’re doing?” I think those are things that are going to be a challenge for us for the coming months.
Chris: Absolutely! Hopefully as we do this we won’t just be talking about things that we have no idea how to solve, so we can help you guys out. In this case we would definitely like some good advice and help on how to manage lots of small teams in one retrospective.
Derek: Absolutely! I think a big part of this podcast for us is to talk about things that we struggle with as much as the things that we are doing well. Anytime you are doing something professionally or as a hobby, you get stuck in your own isolated world, and you don’t know the pain that other people are having, and the solutions they have had.
Sometimes you get great answers to problems that you have and other times you hear everybody else is having the same problem. It makes you feel a little bit better that you are not the idiot who cannot figure out how to crack the particular nut.
We are hoping we can do a little bit of both, we help you solve some of your problems, and you help us solve some of our problems. At the worst we realize that there is a lot of tough problems out there that have not been solved yet. More than anything we just want to talk about what we are doing and hope you guys do the same thing.
[music]
Chris: All right, thank you guys.
Derek: Thank you.
Derek Neighbors: Welcome to another episode of the Scrumcast. I’m Derek Neighbors.
Jade Meskill: I am Jade Meskill.
Clayton Lengel-Zigich: I’m Clayton Lengel-Zigich .
Derek: Today I wanted to talk a little bit about, programming as a craft. Dan North had made a post, (Programming Is Not a Craft), the other day and it kind of lit a little bit of a storm in that agile or at least a Twitter world of Agilists.
So I just wanted to get your guys’ take on what you think about programming as a craft.
Jade: That’s not a loaded question there. So I, I read Dan North’s article. I really enjoyed it. What kind of struck home for me the most is, he talks about, that really programming is just a tool and it’s not the craft itself.
It’s not, nobody is appreciating the beauty of your code for its own sake. Like a beautiful piece of furniture or a work of art or a sculpture, something like that. That the product has an intrinsic value. And with code I agree with him that it’s just not the same thing. What I really feel like we should be looking at as we should be.
Craftsman of information, right? The information that, that people see the value delivered through, the outcome of the code that we create is really what’s beautiful. It would be like a woodworker idealizing, the tools that he’s using to make the craft instead of the craft that comes out from using those tools itself.
So look at my beautiful lathe isn’t it so amazing. Like it can do all these awesome things and has these great features. And I put all this time into building this lathe nobody cares about that, except maybe other woodworkers, really the value is in the product that you’re creating the end result of what comes out of all those.
I don’t know. What do you think Clayton?
Clayton: Yeah, I like the idea of software craftsmanship in the sense of, taking what you do seriously and, wanting to improve and do things the right way and that kind of thing. But I think you’re a lathe analogy is good. I think a lot of times people get so caught up on the beautiful code thing and wanting to, strive towards that.
And you, so easy to lose sight of, what is the actual point of what I’m doing? Am I being hired or am I working for someone to, to write beautiful code when the, the end user, obviously doesn’t see it. They’re not concerned with that sort of thing, what’s the real motivation.
So I think it’s easy to get those two mixed up. And I think the, the personality type that trends towards spending a lot of time, perfecting little things and going down rabbit holes and all those things are probably the same kind of personality types that tend to say I’m going to be, do better at my job.
If i do these coding dojo, coding, kata things or whatever, and I’m going to spend five hours writing the same thing over and over again. And then, they go to work the next day and they totally missed the point of what the business analysts goal is or whatever, it’s like, those are two different things.
I just don’t. I agree that they’re important and I don’t want to totally throw it out the window, but I think you have to be very careful tread that, walk that line and not lose sight of either side.
Jade: So you think there’s confusion between professionalism versus amateurism versus craftsmanship?
Clayton: Yeah. I would say expand on that a little bit more, but I think I agree with that on the surface.
Derek: So a lot of the detractors to the statements that Dan made. Were that he was really calling programming in the sense of the word, using craft and art is synonyms to each other.
And, a number of people said if you consider a carpenter, the ability to be a craftsman carpenters can build houses or they can build fine furniture. And a master craftsman that builds a house, it’s still building something very functional, but the kind of the devil’s in the details to, the quality that there.
Put forth in that. And maybe the better question, I think there’s a couple of things is, is programming an art. Or to me, the question really becomes what is programming just writing code or is programming solving solutions.
Clayton: Yeah. So I didn’t, I’ve never ever thought of myself as an artist.
And. I think that speaks to the fact that I don’t think of programming as an art and I don’t think of it as just writing code, but I think it is definitely the solving problem thing, and I think that’s why it’s easy to make the argument of, let’s say that you’re some, a Ruby on rails shop, and you want to do work for some XYZ company and, they all use Java internally, but if you can solve their problem using your technology then with differences and make that kind of argument. And I think there’s a lot to be said for that. It isn’t just writing code, but it is all about solving problems.
And however you get to that, I think is there’s so many different ways to do that. And I think those are all okay. And I think it is mostly just about, how am I going to solve your problem? What solution am I going to provide for you that gets you to where you want to be?
Jade: Yeah. And I think again, going back to my previous analogy, I think.
Programming itself and the languages that we use, they’re just tools for the toolbox that we have. Where I think the art comes in is looking at the finished product. If I build a beautiful web app, that is functional and provides, value to, the people that I’m targeting, whatever it may be.
I think there’s definitely artistry in, the outcomes of the programming that we’re doing, but the programming itself. While I think very fulfilling and cerebrally stimulating and all of these really great things. The programming itself, I just don’t feel is an art form by itself
Derek: so do you think some of the this is propagated, most programmers, I know think they’re made differently think that they think differently than the rest of the world and that there is somehow I’m special. And do you think that maybe some of that thinking or that elitism leads to, if you’re just say programming is just this tool that, that helps us provide solutions to really difficult problems.
That you’re demeaning. The fact that I’m just a tradesman, like everybody else who picks up a tool and solves problems. Do you think that kind of adds to the the intrinsic, like pushing away of the idea of, how dare you say that? What I do is not this creative solution masterpiece, a Magnum Opus of a solution in code.
Yeah
Jade: sure. The first guy that found fire thought that. Pretty unique and made differently, eventually, everyone learned to understand that technology. And I think that’s where we find ourselves is we are on the leading edge of understanding something that a lot of the general population just doesn’t understand, but that doesn’t necessarily mean that we are.
Inherently different from them. It’s just that we have a particular skill with this thing, just like a woodworker or a sculptor has a unique gift and skill for, seeing what’s inside that block of marble and bringing it out. Does that make them better than the rest of the population?
I don’t know. There’s certainly egocentric artists that feel that way. Just as there’s egocentric programmers that feel that way. I just, I don’t feel like it’s that special that there’s just something genetically different about us. I do think that, we are imbued with a certain talent and have a particular craft in a way to manipulate this information.
But, eventually that’s going to become the status quo that a lot of people are going to understand how to do these things. It’s just going to become part of normal life.
Clayton: Yeah. And I think if you’re, if you’re a programmer now and you think about what makes you different than some guy in India or the Philippines or Costa Rica or wherever, and, the only difference is that you don’t have an accent and you’re in a good time zone, then, quit your job and go do whatever retrain yourself.
Cause I think you’re right, dude. There’s nothing over time that people aren’t going to be able to, you’re going to be replaced if that’s only you can do. And so I think there’s a lot of elitism in the idea of. I’m a master craftsman because I, in my code, when in reality, I think that, the people that are very successful in the software development industry it’s not, it’s not about code it’s about the people stuff, right?
It’s a bit of human communication and the soft skills and those things that’s, I think you become successful. It doesn’t necessarily matter how, as much as you want to inflate your ego or think that you’re different than other people or you’re built differently. And that you’re a true artists slash crap.
That’s all fine and well, but I don’t think that’s in the end, what it really separates the good from the bad or the, the best from the good
Jade: And something else. I just thought of, you don’t see a lot of people walking around saying that I’m a master Chisler right. Or I’m a master at the drill press.
No, those are the tools that they are using. To again, bring out their craft to, to deliver something of value to people. And I think that’s where we just keep getting hung up too many times is on the tools themselves. We, we just want to, nasal gaze or navel gaze at all of these, awesome fun tools that, that we’re getting into.
And we just get so obsessed with that, that we forget about the end product.
Derek: So one of the other big criticisms was that the kind of software craftsmanship manifesto was a little bit on the weak side compared to say the agile manifesto in terms of taking a really strong, hard stance. Against the status quo in really trying to separate.
There’s just four points on it and I’d want to go over each one of those points and then get your guys’ thoughts about what you feel about those. So the first one is not only working with not only working software, but also well-crafted software what’s the benefit in that differentiation between working software and well-crafted.
Clayton: I don’t know. That, that seems like such a vague word that’s like fair or something, geez, I don’t know. Well-crafted giving so many different things to so many different people and then even if you know what I mean, what my standard of well-crafted software means that I don’t know it compiles or something.
It definitely doesn’t take a very strong stance, that it’s totally open to interpretation. Even more to that, or, beside that point it’s, maybe working software is well-crafted enough. I don’t know.
Derek: Yeah. To me the thing is it sounds more like they’re trying to make it art, right?
Like that, working software is just working software, but well-crafted software. You really have to understand the dynamics of software. It, it’s such a Subjective thing, if something’s working and the user thinks it’s working and it provides the function that it provides and it’s maintainable, w what level is, what the hell is well-crafted?
Jade: It’s not just painting, but beautiful painting.
Derek: Okay. So the next one, not only responding to change, but also steadily adding value.
Jade: Wow. If you’re not adding value to what you’re doing, what is the point of doing what you’re doing?
Clayton: Yeah, no, responding to change, does that mean, there’s again, the kind of a big thing, there is that like responding to changes in the marketplace, That would inherently be adding value.
If you’re saying there’s, some new competitor and they’ve got this thing and we need to add these features, but I agree if you’re not like, I think that they should be flip-flopped, it’s like you should always be adding value and then also it would be nice if you responded to change too in, yeah.
Derek: I think they’re playing off of the concept of. Responding to change over following a plan from the agile manifesto. And so they’re saying not only respond to change, but to be able to add value. I think, I guess for me, it like you guys, it’s just a given that you’re adding value otherwise, what are you doing?
The next one is not only individuals and interactions, but a community of professionals.
Clayton: I think this one’s better than the other ones. I liked the idea of saying that, people should strive towards professionalism having a community of people that, and I guess it’s funny because I don’t think that if you were to ask, say some guy in a marketing department of some corporation, what do you think of the software development, professional or industry?
Are they professionals? Are they amateurs? I don’t think anyone would have enough. So I feel like that
Jade: I think they’d have an opinion. I don’t think we’d like to hear what their opinion is.
Clayton: Okay. Yeah. Maybe fair enough. I think this one, to me at least speaks more towards, how developers look at each other in terms of, how do they, how do we treat the community and what do we do in the community to strive towards professionalism?
Jade: Yeah. I I think the problem is just the vagaries of what is a community of professionals and, how do you belong to such community? What are the credentials that include you as a professional in that community? What does that actually mean?
Clayton: Yeah.
And I think it’s it’s funny cause So I think, all the, software industry, whatever, maybe it has not even has a community though, is I think that so say Ruby, I think Ruby has a great community. There’s a lot as far as like participation and new things and all that stuff, but does, does the corporate.net developer that works nine to five?
Does he feel like he belongs to a community? Probably not. I feel like there’s so many people, the majority of people in the software. Are not people that belong or feel that they belong to a specific community. They feel like they do a job. I think they feel that they’re tradesmen, right?
Jade: Yeah. That’s a tough one.
Derek: Okay. So the next one is not only customer collaboration, but also productive partnerships.
Jade: So again, I’ll go back to, if you’re not engaging in something that is productive. Why, what are you doing? Maybe I’m just insane to assume that that’s how rational people behave, but I just don’t, I don’t understand why there’s a need to explicitly call that out.
Derek: Yeah. For me, the hard thing is, productive partnership. To me, if you’re collaborating partnership just makes it sound like it’s something way more formal than it needs to be, which I think is a mistake. I think that’s actually going in the wrong direction and productive.
If you’re collaborating, I don’t know. I’ve not seen too many instances where somebody says they’re collaborating, but they’re not being productive in that collaboration. So to me, it’s not so much that I think a productive, partnership’s a bad thing. I think partnerships a little formal, and I think by saying collaboration that you’re really talking about being productive to begin with.
Clayton: Yeah. I feel can you read it one more time?
Derek: Not only customer collaboration, but also productive partners.
Clayton: So I feel like if you’re, collaboration you’re doing it right, then it seems like you would just get the productive partnership for free. You, I don’t know what you would be doing that would be I’m highly collaborative with my customer, but our partnership is not productive.
Like I, I don’t see how that could happen. Yeah, it just doesn’t seem like it would.
Derek: Alright
Jade: sorry. I’ve got one more thing. So the thing I’ve found the most interesting and I didn’t really think about it until Dan North pointed it out was we’re going to have this big craftsmen movement and we’re going to talk about all these things and, it’s the best of the best.
So click here to sign up on this web form to be a software craftsman. And that’s it.
Derek: I think that is a segue to another episode in the future, which is, when we talk about agile, when we talk about scrum, when we talk about XP, when we talk about certification, I think one of the real problems is figuring out who’s really competent, right?
And it’s not as easy as being able to sign up for a form or to take a test that when you really talk about, if you were to say, you wanted to go to a surgeon. How do you tell what, who a good surgeon is?
Jade: Especially when you don’t know, you’re not in the industry.
Derek: Just because they have an MD just because they’re board certified.
There’s things that help a little bit, but again, I think it’s a good discussion for another another episode. So see you next time.
Clayton Lengel‑Zigich: People treat estimates like estimates, and guesses look in the beginning. Then, when it comes time to do the actual project, they think that the estimates are non‑negotiable. Somehow, if they don’t perform, or they don’t get the velocity done, what they thought it was in the estimation process, now that they’ve talked to the customer, they feel like they’re going to be chastised for that. I think that’s pretty fascinating.
[music]
Announcer: Have you ever felt tempted to pad time or cost estimations for a project you’ll be involved with? In this episode of “Intergrum Scrumcast,” Derek Neighbors interviews our very own Clayton Lengel‑Zigich, about how agile estimation addresses the fears of both management and developers.
Derek Neighbors: Today I have with me Clayton, from Integrum. Clayton, I just wanted to talk to you a little bit about some of the blog posts you’ve been getting lately. I saw that you did a post on estimation, and some of the lies we tell ourselves about estimation. Why don’t you give me some of your thoughts on estimating? What do you think makes estimating difficult for developers?
Clayton: I think there’s a lot of competing roles among estimating. I think, traditionally, a lot of people have experience with estimations, where there’s someone like a project manager or someone like that ‑‑ a manager of some sort. They have certain goals about estimations. Or maybe even a sales person. It seems like they want to try and get a low estimation. At least people get that impression. Developers get that impression.
Then developers have a competing interest, where they want their estimations to be padded so that when it comes time to do the project, they are not having to work extra hard to get things done super fast. They think that the estimations need to be broad and, “Let’s give myself lots of extra room. I know that this problem is going to take a really long time, so I’m going to pad this estimation, and give myself extra time to get it done.”
You have these two competing interests, and I think they come together and clash. With that, I think developers and your manager or salesperson or project manager kind of thing, they have these competing interests. I think the developer is trying to win out, but usually they just tell themselves these lies to try and win that side of the argument. It doesn’t ever seem to work out.
Derek: I definitely think that in most organizations, estimation is used in a negative light. There definitely are competing interests, and the person with the money wants the budget to be as low as humanly possible. The person doing the work wants to make sure that they’ve got a commitment that they can drive to.
One of the things that I like about Agile estimation and planning done right, is that each phase of the estimation is done in isolation of the other phases. You can go in, and you can estimate a difficulty on something. But it doesn’t have a time value to it. Even if a developer decides they want to pad something, in truth it’s not until you determine your velocity that you’re really putting something in a place that lets you know what your numbers are.
I think if you are able to do some of those things in isolation, it shields the ability for developers to pad, and for project managers or planners to be able to dictate the length, and the cost of a project. I find it interesting that people still have knee jerk reactions. One of the things I see a lot is, I’ll see a developer who will be involved in the estimation process, and be completely happy with what they see the estimation to be on a story by story basis.
I’ll see them be part of the velocity determination, going into a project where they get an estimated velocity. They seem fairly happy with the estimated velocity. Then, a couple of weeks go by, and they are assigned to a team. The first thing they do is freak out that the velocity is not fair, and all the estimates are wrong, even though they were part of that entire process.
Why do you think that some developers fall into that trap?
Clayton: I think part of it is that people do the estimations. They have a different mindset. When they’re doing the estimations, they treat them like they’re estimations, right? This is a guess, this is my best guess. They treat it like they are supposed to for the most part, when they’re doing the estimations. They’re part of a group usually doing estimates is more than one person.
When they’re doing that, I think they get comfortable, and they think, “I think this is the three complexity, and so does this other guy. OK, I’m confident with that.” Then maybe they do the velocity, and maybe they are talking afterwards and they say, “Oh, my estimate was I think 20 points for an iteration,” or something.
The other guy says, “Yeah, I was 23.” When they do that, I think they are feeling very comfortable, and it doesn’t really mean much to them, because it’s just an estimate. They treat it that way. Then when it comes time to do the project, I think they throw all that out the window. Now it’s like they’re committed to this, and they’re sticking their neck out ‑‑ or they feel that way at least.
They feel that if they don’t do it, it reflects poorly on them or their job performance, or even their ability to estimate. That’s something I find very interesting, that people treat estimates like estimates and guesses in the beginning, and then when it comes time to do the actual project, they think that the estimates are non‑negotiable.
Somehow if they don’t perform or they don’t get the velocity done what they thought it was in the estimation process, now that they’ve talked to the customer, they feel like they’re going to be chastised for that. I think that’s pretty fascinating.
Derek: I’m curious. What do you think it is in people that makes them have that change? I think one of the beauties is in doing each of the pieces in isolation, you really don’t think of it necessarily as a commitment. You’re really being true to it being an estimate. When that project goes live, and the switch is flipped so to speak, there definitely is that panic, that reality moment.
How do you think developers can overcome that initial sprints, panic moment, looking at a velocity and not letting it paralyze them, and instead let them gauge an accurate velocity for the project going forward?
Clayton: I, certainly, think that a lot of that just comes down to when the project starts or maybe they have the initial planning meeting with their customer, they just need to be realistic about what everyone’s expectations are. Maybe if you’re a little kid, and you get in trouble, or you do something wrong and you’re waiting for your parents to come home, and you’re freaking out about how terrible it’s going to be, and you make such a huge deal out of it.
When in reality it gets to, as long as you’re honest about it, it’s never as big of a deal as you thought. Same thing with the projects ‑‑ they start out and everyone panics and they get paralyzed. When you have that conversation, and you talk about expectations and then you realize, the s sign of velocity was this.
But now that we have had this conversation, we’ve talked about it for a little bit, I can see that some of these stories are more complex, or at least the scale of complexity is a little bit different. We’re going to need to have a conversation about how that affects the velocity in the project, et cetera, et cetera. People don’t ever get to that point. The developers typically get to a point of paralysis and then they start making excuses.
They forget all about the fact that they estimated these stories and they were happy with the estimates and now it’s,” Oh, God, I’m on the line for this. I better do something about it. I don’t know what I’m going to do. It’s not my fault. The estimates are bad.” Their excuses start coming at that point.
Derek: I find it interesting, that usually [inaudible 07:07] when we’re estimating, we talk about simplest solution possible. When we do our story workshops, and we work with customers, we state that going into it, unless they specifically add weight to the story that would indicate that it was more deep than simplest solution possible.
I see a lot of times what happens is when the first planning meeting comes around and acceptance criteria start to be collected, the stories quickly balloon out of simplest solution possible. That’s where some of that fear sets. I’m reminded, I believe it’s a bank that has the commercials where a person from the bank goes to the first kid and says, “Do you want to dump truck”? They bring him a little toy, a piece of crap dump truck.
They go to the second kid, and they give him the real dump truck. The first kid is, “What the hell, I just got screwed. You didn’t tell me I could have a real dump truck.” Sometimes we look at those commercials and we laugh, because it’s so hilarious, the disparity between the first item that the child was given and the second one, and how there was an extreme bait and switch.
A lot of time developers fall into that bait and switch, and the customer upfront says, “I’m totally OK with the little Tyco dump truck.” When they come into the first planning meeting they say, “No, no, no. I’m getting the Cummins diesel dump truck. I’m not OK with the Tyco dump truck.” How do you propose that developers can better negotiate those situations with a customer?
Clayton: Maybe the biggest part is just confidence in being assertive. A lot of developers feel or, at least they’re treated in their organization, or they just have a lower opinion of themselves and they feel that their job is to satisfy someone else’s desires in terms of, “OK, you tell me to do this and I’m just going to do it.” There’s a great “bogfest” by Uncle Bob Martin about a professional versus a laborer.
He was saying that if you went to a doctor, and you said, “Hey, Doc, my arm hurts. Cut it off.” A laborer would say, “OK, sure.” But a doctor would say, “Hey, I’m a professional. That’s not what I do. I’m going to do the professional thing.” Developers will get into the habit of, in that first planning meeting when maybe the estimate was a simplest possible solution.
Now the customers going off this tangent about what they want, they don’t have the confidence to make themselves stand out and say, “I know that’s what you want, but let’s talk about the trade‑off. Let’s talk about how that impacts the rest of the project. If you really do want this whiz‑bang, gold plated feature, then you’re going to have to have these trade‑offs.” I don’t think the developers do a good job of expressing that.
The clients certainly don’t understand to some degree, if they do have all these things. I guess everyone understands that there’s trade‑offs, but no one really talks about them until the very end, or until it’s too late, at least. In terms of how do you become more assertive, I think you need to go into the planning meeting with the understanding that you are the technical expert at the very least.
You need to make sure that the customer understands that you have their best interests is in mind. You want to look out what’s best for them so that whatever trade‑offs they decide to make, and if they do really do want this certain feature, that they are going to understand the full impact of that and that you know how that’s going to impact the project.
Derek: I definitely agree. I think that a large part of doing agile well is confidence. One of the biggest mistakes teams make is they look at Agile as being a surely simple thing, because on the surface it seems really simple. There’s not a whole lot of rules, on the surface there’s not a lot of structure, per se.
But underneath the principles are a lot of subtleties. The difference between knowing those subtleties and not knowing those subtleties is the difference between success and failure. When you don’t know the subtleties, but you think you know what you’re doing, you don’t have confidence.
When you know the subtleties, it’s very easy to be confident in your discussions with product owners, project managers, with other developers. I really think that makes a huge difference. I love the Bob Martin analogy, and I think in my mind here, the difference between a professional and an amateur is confidence. Obviously, that’s not wholly true but there is some truth to it.
Thanks for joining us today, and we wish to have you on in the future.
Clayton: Great, thanks.
Chris Young: This time with more confidence, hopefully.
Derek Neighbors: More something. Keeping the principle of Agile‑ish would make it simpler and half‑less.
Chris: That’s true. Why don’t we timebox this? What do you think?
Derek: OK, then will go 10 minutes?
Chris: We’re just going to try 10‑minute talk, and will reveal, and see what we did.
Derek: Yeah!
Chris: OK.
Announcer: You’ve heard on test‑driven development, and I bet you’ve heard of contract‑driven development, but have you ever heard of human‑driven development? Today, Derek Neighbors and Chris Young will discuss this topic on the second episode of ScrumCast.
Chris: Just what everybody that we talked to about Scrum and Agile, nobody knows what it is all about anymore. There’s Scrum, there’s Agile, there’s Lean, there is eXtreme programming, there is various incarnations of all of these, so we’re trying to find out what is the one true scrum, if you will or the one true agile.
Derek brought up something that was interesting to me, and that’s that the underlying of all of the principles, the methodologies and practices, are human beings.
That it could be that by putting our focus a little bit closer to the human, and a little bit less from our procedures you might be able to get to something that sort of will alleviate and remove us from this whole mess of philosophical positioning that we tend to read in books, and get down to actually, me and you sitting in a room trying to make some software again.
Derek: When I really think about it, at the end of the day, I think Manifesto for agile software development sums it up pretty good, when it talks about uncovering better ways to develop software by doing it and by helping others do it.
If you look at most of things they value over the things they put less emphasis on, there’s certainly a humanist to the way they talk about individuals and collaborations, and talk about people. If you look at the declaration of interdependence and if you look at the manifesto for software craftsmanship, you’ll see the same sort of thing if you look at the values and principles back and others put forward and in next piece, see the same thing.
I think that as software engineers, that’s the first thing that we throw out the window when it comes to resolving conflict, when it comes to determining the best way to do things.
We make everything about analytics and pragmatic choices. At the end of the day, where it really started to hit home for me is here at Integrum. We’re working through a myriad of different issues and refining our process. We’ve squeezed out a lot of the inefficiency. We’re really now getting down to almost really picking nits in a lot of our practices. I find that people generally hold on to beliefs or value systems.
Not because they necessarily have the belief or the value system, but because of something internal. I think that sometimes to overcome those roadblocks you really have to get to why does somebody believe that, not the fact that they do or they don’t believe it.
If somebody thinks that we should be more lean, and have less process, what’s the real reason behind that? If someone doesn’t like a commitment driven planning approach and would like to be a little less heavy in process or a little heavier in process, or wants to be more accountable or less accountable.
What I find is most of the practices ultimately break down to some form of accountability to yourself, and an accountability to a very small portion of teams. I think, if you take accountability and you cut that back one step further, it’s really about trust.
I think that as human beings, especially in this day and age, in this society, where things are disparate, often we work on teams with people that can live thousands of miles away from us. Even if they work in the same office with us, we’re not as connected as we were a hundred years ago. Some of these trust systems just aren’t there. We all bring our baggage to the table, from our childhood all the way through to our professional careers.
You see somebody act out. Maybe they don’t want to commit to a particular velocity, so they lash out and they get frustrated. Certain team mates can take that as an aggression move. At the end of the day when you really break things down, really that team member that’s lashing out is probably afraid of something bigger than the commitment, and what that commitment brings to it.
I think when we start to see each other as humans, and we start to ask those questions like, “Why is it bothering you to commit to this? What’s the real problem?” I think a lot of it goes back to root cause.
Root cause is human beings. We all have our fears. We all have our egos. We all have these things in place. When we can start to be human enough to have real conversations, authentic conversations with each other, it really allows us to do powerful things as a team.
Chris: A lot of the literature that I’ve read about scrum agile software development, basically, any sort of professionalism, they talk a lot about leaving your home at home, leaving your problems at home. It’s an interesting line that you’re walking, starting to talk about how people are feeling at work. How do you think that we could start to look at bringing some of those things up into our regular work process?
Derek: It’s interesting because for me, those that know me somewhat professionally or certainly personally know that I’m kind of the anti‑feelings person. I’m kind of the, for lack of terms, the pragmatic asshole in most circles.
For me, the thing that really sells me that feelings matter in software development is that I’m a firm believer that if everybody in an organization thinks the same way, values the same things entirely, they’re duplicative in their ways. They probably need to go. You don’t need two people that think exactly identically.
The very fiber of every human being is different. As part of that, their reactions to things are different. The way their mood affects what they’re doing is entirely different. If we really want to unleash creativity and innovation in work that we do, and we really want people to be energized, we have to understand the people we work with.
That doesn’t mean that we need to be best buddies with them. It doesn’t mean that we need to be their psychotherapist. But we need to understand what motivates people, what makes people fearful, and more than anything, build that proper trust train between people.
I’m not talking the little trust fall, weirdness, and things like that, but I think that people that engage in that thought process are getting the very similar thing that we’re talking about here, and that is that trust is that important that it can really shape a team dynamic. The question is how do you get there without having…
Chris: …or without falling into these cliches, because we’ve been trying, obviously, the whole self‑help section at the bookstore. There’s the Myers‑Briggs. There’s this trust falls. There’s hundreds and hundreds of different ways that people have tried to get at feelings. What I’ve seen a lot is this attempt to use feelings to approach our work, but here we’re talking about something a little different which is our work to approach our feelings.
Maybe I’ve had a discussion with a developer, and they’ve agreed to try some sort of practice. Then I found out, say the next day, they didn’t at all. I was upset about this, and Derek suggested that I should find out what they’re afraid of.
To me, I was thinking about, “Oh, what do you do if somebody’s insubordinate if you will,” Air quotes around that, “on an agile, self‑organizing team?” How do you deal with somebody who just isn’t going to do what they say?
I was already to come in and start to, “Let’s go through a logical process and start putting things on the board and catch people in their logical fallacies” or something like that. As I said, Derek suggested, “Maybe just find out what they’re afraid of.”
I had a discussion with the person, not directly asking about that, but just like, “Why is it so hard to make this commitment?” By offering myself as a friend, this person felt very open, and was able to express a fear which was immediately resolved.
It was actually about fitting in with the organization at all. That’s what it came down to was, “Hey, do I fit in? Am I going to be liked here? Am I going to be performing at the level that you want?” I was able to say, “Hey, listen. Basically, what Derek has just said that having a lot clones and a lot of people acting exactly the same is not going to bring a lot of innovation to our company. We need more people that think differently, not less.”
What was great about that, though, was that I didn’t go in and ask him how he was feeling. I asked him at first ‑‑ this is hypothetical ‑‑ but, “Why is the velocity off?” Then from there we got down to feelings, having some knowledge that underlying any sort of actions are people feelings, because that’s the thing that gets ignored over and over again.
We’ve had people come and go that had we have a better understanding of them we might have been able to have a better outcome. I’m very interested in learning more about how we could start to apply this. Maybe that’s something that we could talk about in our next podcast. Exactly how we might approach people in ways that could get this information out, so that we could start building better relationships at work that should result in better productivity, and profitability for our businesses?
Derek: Absolutely. I think that, for sure, we don’t take enough time to communicate with each other. We talk a lot about customer communication, but I think a lot of times, when the rubber hits the road, we don’t have the real conversations internally as a team. I think it’s a great segue to the next episode of the podcast on how can we address some of those issues. How can we make those conversations start to happen?
[music]
Chris: Thank you for listening to another episode of ScrumCast, a production of Integrum technology in beautiful and wonderful, better than your city, Chandler, Arizona.
Derek: Absolutely. 85225, baby. Good job, man.
Chris: That was better.
Derek: Yeah.
Announcer: You’re listening to Scrumcast with Derek Neighbors and Chris Young. Today we’re going to be talking about running a single retrospective with many small teams. Scrumcast is produced by Integrum Technologies, visit us soon at Integrumtech.com and without any further ado here’s Derek and Chris.
Derek: Here at Integrum Technologies we are a consulting company. We generally work in pairs. As part of working in pairs, we don’t have more than two or four people per team, but we’ve got five or six different pairs working together.
We do weekly retrospectives. We do them as a team instead of as just the two people working on a project, or the pair working on a project. That brings about certain difficulties in running a retrospective. I’ve got Chris Young, our Scrum Master here.
We wanted to start doing a daily or weekly podcast where we just talk about the some of the Agile hurdles that we have here at Integrum and that we deal with. This is the one that kind of bit us over time, so we thought we’d talk a little bit about it.
Chris Young: Hi, everybody. Today was the second retrospective that I’ve run. What I try to do is actually, like Derek said, we have a team. I think there’s 12, 13 people in our company right now.
But those are broken down into smaller teams right now of two people each, on each team. It’s difficult as a Scrum Master to address specific team problems when we’re trying to pull information out of the whole team.
Say we have one team that was not meeting the velocity that they had signed up for the week or not meeting the commitment that they had signed up for and none of the other teams were having that problem. Do we really want to concentrate the whole retrospective on the one team’s problem or do we have to hope that it just sort of comes up by speaking in generalities?
From what I’ve seen, most of our retrospectives are dealing a lot with generalities, best practices, high level types of things and we’re not getting down into the data and directly working with what happened this week specifically.
Derek: I definitely think in doing them that you have to play to the lowest common denominators. You have to play to the weakness or the strength that all the teams as a whole exhibit instead of being able to target just what one single team is doing.
The thing that is difficult is trying to do a retrospective with a single pair and an off‑site customer is nearly impossible. It’s very difficult if you’ve got just one pair of programmers. It’s very hard for them to be brutally honest with each other, meaning they either aren’t able to see the problems that they’re facing because they can’t see the forest through the trees, or they don’t have the courage to speak up and maybe admit the things that they know are currently going on.
Putting them in with several other teams helps create that courage, and maybe helps visibility that doesn’t allow you is a facilitator to have that laser‑like focus specifically to a project. I think one of the things that becomes hard is, I don’t know the proper way to address that. We talked about trying to do individual retrospectives letter team. Of course that’s hard now, as a facilitator if you’ve got around five different retrospectives.
Additionally, it’s very difficult for people to have the courage to be honest, when it’s basically just you, your pair, and a facilitator. So, you’ve got a three men retrospective that also makes it fairly difficult.
Chris: Right. Generally, I would be coming in with data, “Hey, listen, our code coverage is dropping. Hey, listen, our…whatever.” I’d actually have some data and we could talk specifically to that. Then, isn’t it sort of embarrassing to say, “Hey, this team, let’s talk about this team’s problems.” That’s awful. I don’t think that that’s going to meet with a lot of success either.
I’m realizing more and more that my engaging people during the week is going to be more important, when it comes to those types of things. I have to have some courage myself to be able to bring people together, and see what we can do about those types of problems.
Derek: Yes. I think that that’s one of other difficult things. I really played with it one time, maybe doing two weeks, where we do retrospectives as an entire unit. Intermix the teams, mix the teams up, and try to get some honest courage. Hit those well as common denominator problems, and really pick up our engineering practices, to pick up our scrum practices, and XP practices.
Then, maybe every third week try to do a retrospective that kind of highlights each team as an individual team, as part of the exercise, even though it was facilitated all at one time.
The problem is that it becomes fairly difficult to find exercises that work that only have two people providing the input to those data. Maybe the right answer is we do do something like that, but instead of being a data gathering retrospective, maybe we take some of the data that has been gathered as part of retrospectives over the two previous weeks plus data that we’ve seen or harvested or discussed not during retrospectives and bring that in and then try to facilitate those one on one with each team for a part of the retrospective and have it be a little more pointed.
Of course, the difficulty is some of these start‑up projects that we deal with only run four to eight weeks. If you’re only doing that every third week or every fourth week, you’re half way through a project before you’re potentially dealing with issues that could dramatically improve either the quality of work or the pace or any number of things revolving around the project.
Chris: Again, it seems like we’re having some difficulties mapping best practices in our job because we are a very traditional consulting shop in a way. We want to do short‑term projects. We want to try to get as close as we can to fix bids so that we can bring people in and that does make it difficult.
Having two people teams, if we had something in turnoff, we were a product company or something like that, then we would have some time to work these things overtime to kind of let things play themselves out.
Derek: I think that one of the beauties of doing pairs and then doing either one pair of pairs or two pairs of pairs and kind of capping it to no more than four people per project actually makes this extremely agile and extremely nimble in bringing on new customers and even existing customers pick projects that allows us to be really nimble in how we use people and use resources on the team to solve problems, but it almost allows us to go so fast that it’s hard to have some of the structure that is required in scrum to do the continuous improvement.
Just like if you doubled your velocity, you might drop testing or might drop other good engineering practices, I think in some ways by having these very small nimble, agile teams, in some ways, we’re now going so fast that we’re dropping the ability to have some of those sanity checks to come back and say, “How can we improve with what we’re doing,” and I think those are things that are going to be a challenge for us in the coming months.
Chris: Absolutely, and hopefully as we do this, we won’t just be talking about things that we have no idea how to solve so we can help you guys out, but in this case, we would definitely like some good advice and help about how to manage lots of small teams.
Derek: Absolutely. I think that a big part of this podcast for us is to talk about the things that we struggle with as much as talk about the things that we think we’re doing well.
I think any time you’re doing something professionally or even if you’re doing it as a hobby, one of the things you get stuck in when you’re kind of in your own isolated world is you don’t know the pain that other people are having and the solutions they’ve had.
Sometimes, you get great answers to problems that you have and other times you just hear that everybody else is having the same problem and it makes you just feel a little bit better that you’re not the idiot that just can’t figure out how to crack a particular nut.
We’re hoping that we do a little bit of both. Maybe we help you solve some of your problems, maybe you help us solve some of our problems or at the worst, we realized it, there’s a lot of tough problems out there that maybe haven’t been solved yet.
More than anything, we just want to talk about what we’re doing and we’re hoping that you guys do the same thing.
Chris: All right. Thank you guys.
Derek: Thanks.
The post Single Retrospective w/ Multiple Teams appeared first on Integrum.
En liten tjänst av I'm With Friends. Finns även på engelska.