Meet the Author: Steve Smith on Kanban FundamentalsBy Paul Ballard
It’s time once again for another edition of our Meet the Author podcast series, and in today’s interview Fritz Onion speaks to Steve Smith about his course Kanban Fundamentals. In the interview you’ll hear Steven explain the origins of Kanban as well as how he uses it in his personal life to keep tasks flowing. He also describes some of the differences between personal Kanban and creating a team based Kanban process.
Listen to the Audio (MP3)
[Fritz] Hi, this Fritz Onion with another episode of Pluralsight’s Meet the Author podcast. Today I’m here with Steve Smith to talk about his new course “Kanban Fundamentals.” Steve is a cofounder of NimblePros, a Microsoft Regional Director and MVP, and he’s been a regular conference speaker since 2001, written or contributed to several books on software development including “97 Things Every Programmer Shoulder Know.” Welcome, Steve, it’s great to talk with you.
[Steve] Hi, Fritz. How’re you doing?
[Fritz] Doing well. So this new course of yours on Kanban just went live a couple of weeks ago now, and the outline for the course includes “Basic Concepts of Kanban,” “Personal Kanban,” and then, “A Team Kanban.” So you’ve divided it up that way. I thought it might be good to start with just a general introduction for folks, if you could give us a description of what Kanban is and sort of where it fits into software development in general.
[Steve] Sure. I know a lot of people are unfamiliar with even the word Kanban, so you know to start I would just tell them that it’s a Japanese word. It comes from Toyota production system, and it simply means a sign card. And in the manufacturing sense, it was literally a sign card that would be used to make it clear what needed to be produced and when in, you know, a factory or manufacturing-type environment.
[Fritz] Great. And I have to say I really like the way you started off this course and introduced folks to the sticky pad implementation of Kanban. I actually put one together
myself just to try it out. But could you give us a brief description of that process or, you know, how Kanban works or how it manifests itself even in the physical sense?
[Steve] Sure. So a Kanban system is basically a system for improving a process. And the two main rules of Kanban are that you want to visualize the work so that you know what states the work has to go through and you can identify where the queues are and the things that are backing up the work. The main goal of Kanban is to optimize the flow of items through the system. And so you can think of it like water flowing through a hose, you’re trying to maximize the through-put of the water and you’re trying to minimize any spots where it’s collecting and pooling and queueing up. The second principle or rule of Kanban is that you want to limit your work in process. You know, one of the key things you do is after you visualize the work, you try and put in place constraints to make it so that you’re not working on too many things at the same time. We all hear that multitasking tends to be something that’s bad for us in terms of productivity and in terms of other parts of managing our life and our stress. And whether we’re a team or an individual, the ability to visualize the work and then limit how many things we’re doing at one time has a lot of positive effects.
[Fritz] And the other thing that struck me as I sort of worked through your course was how really simple the whole model is. I mean, at the most basic level you describe it
as having just a to-do list, a doing list and a done list. Right? So is it really that simple for folks to pick up and just start using this process?
[Steve] Yeah, definitely. I mean the personal Kanban part of the course is largely based on the book called “Personal Kanban,” which I highly recommend. It’s a pretty quick read, but it covers the basics very well. And one of the points that it makes is that there’s no rules of how it has to be done and it doesn’t need to be anything, you know, intimidating. It literally can just be, you know, a whiteboard or a Post-It board with some sticky notes and, you know, maybe some, you know, lines drawn for different categories or columns that the work tends to move through. And at the simplest it’s, you know, “Ready, doing, done,” or, “To-Do, doing, done,” tend to be the most basic categories. And then you can build on it from there based your needs and how you tend to work.
[Fritz] And just to emphasize the simplicity of the model, I like the screen shot or the picture you included in the course of your Kanban board at home with your children’s
lists on them. So you actually use Kanban within your family household, is that right?
[Steve] Yeah, that’s right. So I have two children, and they use that for their weekly chores to easily see whether or not a particular task is done yet. And so they know when they’re done and how much they have left to do, so it works out well.
[Fritz] That’s great. So perhaps you could explain some of the advantages Kanban has over what a lot of people are used to in terms of tasks lists? Like, there are many different software implementations of maintaining prioritized tasks with, you know, scheduled dates for delivery or getting it done. And I know Outlook has one, Google has one, and there was that website DontForgetTheMilk has one. So how does Kanban compare with systems like that?
[Steve] Well, one of the things that I make a point of in course is comparing Kanban with traditional to-do lists and showing where to-do lists tend to fail. Again, this is another point that is made quite well in the book “Personal Kanban.” And one of the big failings of to-do lists is that they don’t generally have any context. And you can spend a lot of time prioritizing but the prioritization is also generally flexible. So what’s a high priority right now or what is the thing that you should be working on right now often times that depends on where you are and what you’re doing and what resources you have available. If you’ve read any of the other productivity books like “Getting Things Done,” they use Outlook to categorize things into things you might do at the office or things you might do in the car when you have your cell phone and things like that. And that’s another way to categorize things. So with your Kanban you can easily shift the priority of things very easily simply by reordering which items are in the queue or just choosing which item to pull next into your doing state. And that makes it much more efficient because you’re not wasting a lot of time trying to reorganize things and prioritize them. With regard to software projects or projects in general where you have a large backlog of tasks that need done, I’ve personally found
through hard experience that doing any sort of a low, medium, high-type of prioritization scheme tends to break down because inevitably you end up with only the high
priority items getting done, and the developers don’t necessarily know which of the high priority items is the most important one. And so to fix that, you end up with a system that starts out as low, medium, high and ends up with very low, low, medium-low, medium, blah, blah, blah, all the way up to immediate and emergency is the items that actually need to get worked on right now. And I’ve found that you end up wasting a lot of time reprioritizing things in an effort to get them in the order you want in your system of choice when all you really would like to do is drag and drop them into a queue that makes it very, very clear what the order is.
[Fritz] In your course, you talk about the personal Kanban as you’ve mentioned, and you also get into the team Kanban. Do you want to describe what the differences are there or how this works in a team environment?
[Steve] Sure. So the personal Kanban is really simple, and it’s meant to replace to-do lists for your personal life. And so you can use it for things at work, but you can also use it for home and chores and all the things that everyone’s trying to keep track of that you’re trying to do day to day. The team Kanban board is there to make it so that the team is working effectively. And it adds additional complexity because it’s meant to be used by multiple resources, multiple people, sometimes multiple teams. And so there’s a whole lot of different options. Again, Kanban isn’t a prescriptive, you know, software development lifecycle model, it’s just a system for improving. And so how you might build a Kanban storyboard, for instance, that visualizes your work and who’s doing what, and how you might constrain the people that work on those tasks is going to be up to you. And I cover some ideas of how you might set that up in the course. For instance, it’s not uncommon to have different categories of service within your project team where you allow the customer to say that, you know, certain items are expedited and need to get done at a higher priority than anything else. One way to easily implement that is to just create a horizontal lane through your Kanban board that is the expedite lane. And then everybody on the team knows that if they are ready to work on something and they’re ready to pull it from the next column over, from upstream, if there’s an item in the expedite lane, they pull that one first. And whether you use a horizontal lane or a swim lane, they’re called, or you can use other things like a different color or an extra note on the thing that says, “Emergency,” or whatever, it doesn’t really matter as long as your team knows how it works. And the effect that that can have is to give your customers still the ability for you to react quickly to things but not to forego your actual process and your organization. And if the customer wants to come in and say, “Well, why did this other story, you know, why is it behind
schedule?” You can say, “Well, you know, look. You had these expedited stories you needed done, so they got done first which is what you wanted.” So it gives you an easy
way for everybody, not just the team but also the stakeholders and the customer, to look at the status of the project and know where the state of everything is and what the trade-offs are.
[Fritz] All right. Yeah, and everyone that I know who has sort of begun trying out the Kanban model it’s been an eye-opening experience how it really helps you organize your tasks and think more clearly about what you’re actually getting done. So, yeah, I hope everyone enjoys the course as much as I did. And I want to thank you for taking the time, Steve, for the interview. And I look forward to seeing your future courses. Thanks very much.
[Steve] You bet. Thank you.
About the Author
Paul Ballard is a Chief Architect specializing in large scale distributed system development and enterprise software processes. Paul has more than twenty years of development experience including being a former Microsoft MVP, a speaker at technical conferences such as Microsoft Tech-Ed and VSLive, and a published author. Prior to working on the Windows platform, he built software using a vast array of technologies including Java, Unix, C, and even OS/2.
- New course: Kanban Fundamentals
- Move Beyond “To Do” Lists with Kanban
- Meet the Author: Kate Gregory on C++ Fundamentals Part 2
- Meet the Author: Richard Seroter on Microsoft StreamInsight Fundamentals
- Meet the Author: Clemens Vasters on Elements of Distributed Architecture
- Meet the Author: Matt Milner on Developing OData Clients
- Meet the Author: Joe Eames on jQuery Advanced Topics
- Meet the Author: Pinal Dave and Vinod Kumar on SQL Server Questions and Answers
- Meet the Author: John Sonmez on Introduction to Objective-C