Lean Principles in Healthcare with Mark Graban

Episode 52

March 22, 2012




The Agile Weekly Crew and Mark Graban discuss Agile in healthcare and lean principles.

Episode Notes

Derek Neighbors, Clayton Lengel-Zigich and special guest Mark Graban, author of Lean Hospitals, discuss:

Agile outside of software

Lean in healthcare

Lean as management principles

Lean is not cost cutting

Risk and quality in Lean

Bad processes and lean improvements

Improving flow


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 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 polygraph 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 Ethlite 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