STAREAST 2015 Interview with Matt Heusser on Lean Software Testing

[interview]

Matt Heusser speaks on his STAREAST presentation. Look for more keynotes, sessions, and interviews at this year’s STARWEST conference in Anaheim.

Summary:

In this interview, Matt Heusser covers how most organizations test now, presents ways you can improve your company's approach to lean, and demonstrates lean tools that can help you understand software development and test flow in a different way.

Jennifer Bonine: Well, we're back with our virtual interviews, and we have the pleasure of having Matt with us here from Excelon ...

Matt Heusser: Excelon Development.

Jennifer Bonine: Excelon Development. I wanted to make sure I got it right. If I don't, he's going to sing the jingle.

Matt Heusser: I'll sing the jingle anyway.

Jennifer Bonine: ... Which you may get later. Stick with us. You may get a jingle. Talk a little bit, Matt, about how you got here, and your path to ending up in this space, and being in this arena.

Matt Heusser: It's such a long story. I started out in a previous century as a programmer. I worked at a company that had no testers, and I thought testers were a good thing. Wow, a safety net? Someone to help me out? That's so fantastic. I didn't have any, so I had to learn it myself. Eventually, I started to work at companies that had testers, and some of them were classic—complain about their lack of requirements, complain about the programmers, complain about the lack of being involved ... Really kind of whiny stuff.

I got involved in the test community, and eventually I ended up a tester. I did a lot of writing and speaking at night, and consulting. Around 2011, I realized—we did the math—if I called every editor I knew and asked for a writing assignment, we'd go a really long time. In that time, could I probably get some test contract? Yeah, probably. It was May of 2011 that I took Excelon Development full time, and I've been having a blast ever since.

Jennifer Bonine: Wow.

Matt Heusser: That's the short version of the story.

Jennifer Bonine: Got it. Now you're doing that, but you do still do some of the writing as well, and stay involved in that, with blogs and things. Kind of along that topic, for those of you out there who haven't read it, you do have a lot of articles that you've written, and a lot of information out there.

One of the things I saw that you had done was around how to save the daily standup. Again, you probably hear this all the time, but there's a lot of organizations out there who are saying, "Let's go agile, we're going to do daily standups, but it's not working how we think it should," and they're not getting what they need to out of it.

Matt Heusser: It's the weirdest thing. I was in grad school at night, and I read Extreme Programming Installed, and they said we had these weekly status meetings, and they were boring, and you would sit around the table, and you would prep for what you were going to say, and you had your turn, read what you were going to say, and then you'd zone out 'cause you were done. It was really just one person at a time and the manager. If someone had a problem, you wouldn't find out about it. You'd find out about it in the weekly meeting, and it was bad.

Then the daily standup comes along. We're just going to spend a few minutes, we're all going to stand up, say quickly what I'm working on, get back to work. Fantastic. This thing happened, and I've noticed it at clients, where we're in a circle, and we're going around, and we're saying what we're working on and what we're blocked by, and I don't care, and I just want to say what I'm going to say, and have my list of why I'm really busy so I can prove that I was working, say my thing, and then I can zone out. That annoying weekly status meeting somehow became daily. How did that happen?

Jennifer Bonine: Just a shorter version of a longer weekly meeting.

Matt Heusser: If you're lucky, it's shorter. I don't know how that happened. A lot of that is kind of looking at standups' purpose as a status meeting. Well, if you're doing any of the agile stuff, if you've got a card wall, you can go look at that for the status. The purpose of a standup is to accelerate the sprint. Figure out who's blocked, or what you can do to help other people to go faster. If you have this classic “I'm a manager. People in boxes” mentality, and you turn your eyes sideways, it looks like a status meeting to me. That's not what I want them run as. That sort of change of flavor can radically change the experience and the value. It is about how to change what you're talking about—little techniques to sort of tweak to make the status meeting worth doing.

Jennifer Bonine: Actually get the intended use out of it, right?

Matt Heusser: Sure.

Jennifer Bonine: It's hard to change that mindset, because a lot of people grew up with status meetings and weekly statuses, and then just morphed it into this daily ...

Matt Heusser: It's this weird thing where we take what is familiar to us, and we use a new word, and we readapt it onto our old mental map of the terrain, and you really have to sort of break that up. We're trying something new, and crazy, and wild, and different, and forget everything you know. That can be challenging.

Jennifer Bonine: For people that are struggling, and are out there saying, “That's exactly our problem, we haven't morphed it, we're actually just repurposing what we used to do. We're not doing it right,” is there some strategies or techniques that you use to help people break out of that old pattern of behavior, or really get to the intended use of what they're trying to do?

Matt Heusser: The number one thing I try to do is position things as an experiment. We're doing sprints at two weeks. Can we try this for the next two weeks? Say, “Who here has a lot of fun with the daily standup, and think it's really valuable, and wants to keep doing it the way it's going?” Nobody raises their hand. What if, for the next two weeks, we really only talk about critical issues and blockers? We try to get out of here fast. Can we do that?

Another one to do is, let's just talk about the work that is currently happening. Let's bring the board out for our team, and walk the board instead of walking our person. That's talking about the work that's progressing, and as a facilitator I can say, “We've talked about all the work that is happening. Sally, you've been really quiet.” Now, that's not a judgment. Turns out Sally is working on some customer support tickets that are very important and need to be done—in fact, probably need some management attention. They're not represented on the board. At the end of those two weeks, when someone says, “You guys got less done than we expected,” we can say, “Oh, we actually discovered that we had this support issue. Would you like us to stop doing it?” Because of that series of interactions, we're actually making better decisions for the business and being more transparent.

Jennifer Bonine: You're taking it from the individual and making it the team, which is the intent anyway. You can't disengage, because it's not just about “What am I doing in my piece?” It's not about the success of the team, and actually moving it forward.

Matt Heusser: Listen for the next thing, because that's my story that I'm working on. I've got to pay attention. Good catch.

Jennifer Bonine: Exactly. I would say, along that line, we all have things we're passionate about in this space, and things that we're really focused on. Right now, for you, what was your number one focus or interest that you're honing in on and doing a lot of work around?

Matt Heusser: The number one thing that has got me excited over the past twelve months is probably the lean software development and testing techniques. I've been on several consulting assignments where we came in, test what's behind, get lots of problems ... It wasn't really that hard to bring tests back into line so the test was no longer the bottle neck, or at least identify what the issues were. You're supposed to be there six months, and if at the end of three months the test is doing okay ... that's good.

If we continue to optimize tests, we're not going to really get much more performance out of the system ... A couple of percent for a lot of work. You want to look at the whole delivery process. The lean techniques I've found have been very helpful with figuring out ... We shifted the bottle neck. It's not tests anymore. Now it's requirements, and business analysis, so let's go work on that. It focuses on an entire team instead of a particular job, and I think there's lots of opportunity there for improvement.

Jennifer Bonine: People sometimes get scared, I think, of the word “lean,” because we've heard it in terms of Six Sigma, and some other things, and they've had bad experiences with it. What would you say to those folks who hear that right now, and just automatically get scared that this is managements way of saying, “Go figure out how to do more, and we're going to give you less opportunity and resources to do it”?

Matt Heusser: That's a great question. There's maybe two things. The first pillar, you talk about getting rid of waste. The team gets to decide what the waste is. Your coffee break ... You go for a walk. If you go for a walk with a team mate, you talk about work, and you come back. You solved a problem, and you're more productive. It's not waste. You get to decide what waste is. The number one fear I heard when this started to come up was, “My manager's going to cut my coffee break. They're going to cut my lunch in half. They're going to be walking around saying, 'What's all this chatter, we need to drive out this waste.’” If that's valuable for the team ... Play Rock Band at 4:00 on Friday. I don't care, if it's valuable for the team. If you have a trainer that doesn't get that ... What's that about? All these things, you can get a shallow, weak understanding from reading a trade magazine and miss the point. Any kind of improvement system's like that.

The second one, and this is quite historic, is that lean is an English word. A couple of Americans went to Japan and studied what the Japanese were doing at a point in time, and came back and said this is the system. That was born at the same age that Walmart was taking off, and McDonald's was making billions and billions served. We kind of interpret it in light of the American success story. I don't think of the lean as in, here's the seven things to do. The lean is in the improvement. We should go back to Toyota ten years later and look at the difference between what they were doing then and what they're doing now. That's the leanness. That's what I want to talk about. I hope people wouldn't be scared of me.

Jennifer Bonine: ... And understand the difference of what it actually is. I think sometimes that's the problem ... We use buzz words, or people misinterpret those words to your point, and don't get drilled down to get the true meaning of how to utilize that.

Matt Heusser: All these guidelines were created by very smart people, and you've got to read a lot of big books, and think for yourself. They are distilled down into the seven things you must do right now—the BuzzFeed, kind of. It's a joke. It's okay to say, “No. That's a joke. Don't do that.”

Jennifer Bonine: Exactly. You also have some things that may scare some traditional testers out there that are listening if they don't understand it as well around a session you're doing which talks about “Let's eliminate regression testing. We may not need to do that anymore.” Tell us more about what your philosophy is on that.

Matt Heusser: I think it's a great point in that we may not need to do it anymore. I think there's probably going to be three people to attend that session. There'll be the person that sees an opportunity to do something like continuous delivery that's excited, but they're blocked by a few things. Absolutely talk about that. There will be people who say, “We're already doing that, Matt. So what? That's easy.” Maybe if you go to the session you would learn some reasons why other companies can't, or what some obstacles are, or how to explain it in a way that is less threatening. A lot of the language used is almost picking a fight on purpose, or at least very different than most testers experience. There's a third group that says, “Matt, you're crazy. That's ridiculous. It will never work for us.” I think there are ... If you're working at a bank. If all you do is financial transactions. If all you do is personal information ... Social Security numbers. If you're regulated, if you're PCI audited.

I was at Zappos a couple years ago, and I could talk about this because they let me publish on it. They actually carve off all of their financial transaction stuff from their deploy process from everything else. The financial transaction goes through a more rigorous process. When you commit your code ... If it's over here, it can go out a lot faster than if it's over here. I would hope for the third group, you might have reasons to explain why, “Oh yes, all that we do all of the time is financial transactions.” Give you a reason to explain to the people that tell you you should do CD why it's not a fit for you. That's okay.

Jennifer Bonine: Understand what can I carve off, and is there a piece that I could carve off.

Matt Heusser: You're still going to have your website. You're still going to have support technologies that maybe you could deploy a little bit more often, and get a little bit more value out of. Also, if you don't do release candidate testing, what other things are you doing to mitigate the risk, and we're going to go through a long list, and if you want to be Google, but don't want to invest in all of that infrastructure ... That's not so good.

Jennifer Bonine: Exactly. Maybe, for those of you out of there, something to look into. What can I do, versus just shutting it off as “It's not a possibility for me. I can't do anything with it.”

Matt Heusser: You can implement all those techniques for risk mitigation and still have a release candidate process. It might be shorter.

Jennifer Bonine: ... But you still could. The last topic I wanted to touch on before we leave is around technical debt. We hear a lot around companies creating this big backlog of technical debt, and not addressing it. Now with a lot of the fast pace-ness of the new technologies coming out, with all the new stuff we get distracted, and we may be creating more. I know you've done workshops on technical debt. Do you see any trends around that? Is it getting better, is it getting worse, are people just not dealing with it still?

Matt Heusser: To draw an analogy, it's kind of like the American people. The American people are getting fatter and fatter. Well, that's true, but there's also a small segment of the American population that is getting thinner and thinner, that are running more and more marathons, that are fitter and fitter. We're splitting. I think companies that are ignorant to problems like technical debt, that just want add one more column to a report, so they add one more "if" statement, and one more perimeter ... It's like—can I say this?—it's like Michael Jackson's nose. It's like the code was so ugly before I got it, I just added that one thing ... Everything else, that wasn't me. That guy leaves, and the next guy comes in and says the same thing.

Jennifer Bonine: Piling on.

Matt Heusser: I think there are companies that need a lot of help, and I think there are companies that are doing spectacularly well. There's quite a few people in the middle. If you're in the middle, you're not alone.

Jennifer Bonine: Perfect. We'll need to wrap up. Time goes so quickly. Matt, if people want to contact you with more questions—either on some of the things that we've talked about, or just want to look more into some of the things you talk about, 'cause you have a lot of articles and blogs and things—what's the best way for them to contact you?

Matt Heusser: I'd say both the Twitter and my website are remarkably hard to spell. The Twitter is @mheusser. The website is xndev.com. XN- Excelon Development.

Jennifer Bonine: Perfect. Thank you so much.

Matt Heusser: Time for the jingle?

Jennifer Bonine: Yes. Jingle. Really quick.

Matt Heusser: I'll just do it. You can have anything you want at Excelon Development. You can have anything you want at Excelon Development. Just sign right up, we're hard to miss, the fun never stops on our mailing list. You can have anything you want at Excelon Development.

Jennifer Bonine: Perfect. Thanks, Matt, for joining us.

Matt Heusser: Thanks, Jennifer.

Matt HeusserMatthew Heusser specializes in software delivery consulting—moving projects to done-done faster. But Matt may be best known for his writing, including serving as lead editor for How to Reduce the Cost of Software Testing. A member of the board of directors of the Association for Software Testing, Matt was the lead organizer of Test Coach Camp, the Workshop on Technical Debt. You can follow him on Twitter @mheusser, email him at [email protected], and learn more about Matt at xndev.com.

About the author

Upcoming Events

Apr 28
Jun 02
Sep 22
Oct 13