23. Scrum, Kanban & Prioritization

Today on the show we will be talking about Scrum, Kanban and Prioritization, and what exactly that all means. We are joined by our featured guest, Charles Quirin, a Software Engineer at Stride Consulting with over 7 years of experience improving tech operations. In this episode we dive deep into the practices of Scrum and Kanban, as well as the differences between the methods, how they relate, and the situations in which either method is better suited. We also discuss the possibility of a mixed approached dubbed “Scrumban” and why it may be the best option for your team.

Key Points From This Episode:

  • What is a Scrum, and what is required before going on a sprint?
  • Daily scrum; the standup and what it means.
  • The importance of the Scrum Master role to ensure work is moving forward.
  • What to do when Scrum is not working for you.
  • The Kanban method and how it relates to Kaizen practices.
  • One of the most important aspects about Kanban.
  • Scrumban; is it a proven method, and how does it work?
  • Teach and learn: how Bitcoin is a thing and why it became about.
  • And much more!

Transcript for Episode 23. Scrum, Kanban & Prioritization

[0:00:01.9]  MN: Hello and welcome to The Rabbit Hole, the definitive developer’s podcast in sunny and drizzling downtown Manhattan. I’m your host, Michael Nunez. We have our co-host today.

[0:00:09.8] DA: Dave Anderson.

[0:00:10.8]  MN: The producer.

[0:00:12.0] WJ: William Jeffries.

[0:00:12.7]  MN: And our featured guest.

[0:00:13.9] CQ: Charles Quirin.

[0:00:14.8]  MN: And today we’ll be talking about Scrum, Kanban and Scrumban and what are all those different words that we just mentioned. We’re just going to drive and dive right into it.

[0:00:26.8] DA: Cool, sounds exciting. Although, I do believe it may be “Kanban” since it is Japanese.

[0:00:34.2] MN: Yes, “Kanban”, excuse me.

[0:00:36.5] DA: Yeah, from Toyota Lean manufacturing.

[0:00:38.3] MN: There you go. I read it and it’s just Kanban and then that always happens. No, it’s “Kanban”. I always get that wrong unfortunately.

[0:00:47.9] CQ: I think it’s the New Yorker in you.

[0:00:49.5] MN: I think so too, I can’t help it.

[0:00:51.9] DA: I mean, July 4th is coming up too so we’re all American.

[0:00:54.4] MN: Exactly. ‘Merica. We’ll jump right into Scrum, I believe everyone here currently recording and for the listeners out there have experienced scrum. So we’ll just go and dive right into what that means to all of us and how we use that day to day in our lives.

[0:01:14.8] DA: Yeah, maybe William, do you want to define Scrum?

[0:01:17.0] WJ: Yeah, Scrum is a methodology that was come up with by one of the signers of the agile manifesto. I want to say it was Jeff Sutherland, we should probably double check that. But the idea was that the agile manifesto was a little bit too loose and needed some “rubber meets the road” implementation details.

They came up with this system which is supposed to give you some guidelines for how to actually implement an agile team in the work place. The term scrum comes from rugby actually.

[0:01:52.5] MN: Interesting, I had no idea.

[0:01:54.7] DA: Yes, where they’re trying to push the ball forward a little bit at a time.

[0:01:59.5] WJ: Yeah, it was supposed to encapsulate the chaos and fun of teamwork and stuff.

[0:02:05.4] DA: That’s not the part where they lift you up by your pants though, right?

[0:02:08.9] WJ: What sport is that?

[0:02:10.7] MN: Is that still Rugby?

[0:02:11.3] DA: That’s a rugby thing.

[0:02:12.9] CQ: I wonder what scrum has to do with sprinting then? Because there’s not much sprinting going on in a rugby scrum.

[0:02:20.8] DA: I guess, eventually.

[0:02:22.0] MN: Eventually you have to sprint with in rugby, right? Like for your life?

[0:02:27.2] CQ: Not for your life; to score, I guess.

[0:02:30.5] MN: It’s like, kill the man with the ball but in the football field or not? But yeah, Scrum has a lot of, what I’m going to call ceremonies, right? As Charles mentioned, sprint is one of the many things. Before you go on to a sprint, you would have a planning meeting. Planning meeting is when you have a list of work or task at hand that will allow the team to know exactly what work is ahead of them and with that information, that gets parsed within the product owner and the project manager and the business analyst, whoever is designing these stories will determine how much work the development team can get done in iteration.

[0:03:21.8] CQ: Or a sprint.

[0:03:22.7] MN: Yeah, or sprint, right.

[0:03:24.0] CQ: You're thinking XP.

[0:03:25.3] MN: Yeah, there you go. Part of my confusion between the XP and scrum, which is probably another episode in itself.

[0:03:33.9] CQ: Yeah.

[0:03:34.0] MN: A sprint would then take X amount of days, I guess I imagine to whatever the team agrees on and then has to commit to that work in a sprint.

[0:03:44.9] DA: Is it also like part of the Scrum philosophy that the sprint is sacred and there’s no changing what’s in and out of the sprint?

[0:03:55.1] MN: Yes, I believe so, I think it’s like the work that you commit is the work that will get done. You say, “Alright, we’re going to do this amount of work, we believe with our previous experience and our previous data shows we can get X amount of work done, we believe we would commit to Y. Y as a variable, not like “why are we doing this” why. Just want to be clear.

I mean, scrum does have a lot of other ceremonies as well. I think at the end of a sprint, retrospectives, an episode we have covered once before, is also a process that you can have at the end of the sprint to discuss things that went well, didn’t go well, many other ways of running a retro.

[0:04:42.0] CQ: You're forgetting the daily scrum.

[0:04:43.0] MN: Yeah, the daily one, right! There is a daily one that happens, it’s called standup as we’re currently doing in this episode, thanks to Charles’ idea. Pretty good so far. Standup happens where everyone gives one or two sentences on the work that they’re doing or the work that they did, the work that they’re going to do and if they’re blocked.

With that, you are ensuring that you get an update form everyone on your team and if someone is blocked then you do your very best to unblock that person so they can continue doing the work. It’s part of the nature of the work that I’ve done for a long time and standup’s always go when they’re really fast.

Just get everyone’s update, if there’s anyone that needs help, you go, boom, help him out. Go on with work, keep working.

[0:05:26.6] DA: It sounds like Scrum is pretty prescriptive, you’re going to do these things at these times and kind of like, “This is how it generally works.” I guess there’s like organizations like Scrum Alliance that are kind of defining what those are and how you should do that and then certify people.

[0:05:45.1] MN: Right, yeah, you can become a Scrum Master who pretty much knows the exact process, how to introduce it to a team and without a lot of friction and ensuring that the team uses to process well and I think within teams, I definitely learn how to use Google Calendar because you know exactly when meetings are up and about and ready to happen, stand up happens.

You know, at this hour of the day on a working day. Retro happens every spring, at the end of a sprint at a particular point in time. You can definitely predict everything that will happen throughout the week. No change of that.

[0:06:23.1] CQ: Yeah, I think there’s the importance of a Scrum master, I’ve been on teams where they’ve had a designated person that only did Scrum mastery.

[0:06:34.0] MN: The scrum mastery.

[0:06:35.5] CQ: Then there’s been teams where I’ve been on where there is a developer that also took on that role but I think the essential part of that role is to ensure that work is moving forward and that whatever representation of the work being done, your Scrum board actually represents the work that is actually happening.

[0:06:55.5] MN: Right.

[0:06:56.6] WJ: Yeah, I think it gets confused a lot though with Agile. I’ve heard people complain about Agile and when I ask them what they didn’t like about it, they just talked about scrum ceremonies.

[0:07:08.6] CQ: Yeah, I think the scrum, anytime someone says “Agile”, I think that a lot of people automatically think scrum because that was the form of agile that they were maybe initially introduced to. I also think that people like to put process behind things so it makes it a lot easier to communicate. So I think that a lot of times when maybe experts have communicated certain Agile principles, they’ve communicated Scrum principles.

[0:07:38.6] MN: Right.

[0:07:39.4] CQ: Rather than the agile manifesto or something like that.

[0:07:42.6] WJ: So what don’t you like about scrum?

[0:07:44.8] CQ: That’s a good question. I think that it varies from team to team but I know that some teams that I’ve worked on have had some difficulty with the commitment for a particular sprint, either they feel like they’re going faster and usually, the product owner or someone on the product team or maybe a stakeholder is just on the thinking like you “guys are done with your work? You guys should get more into the sprint.” Then developers also feel compelled to do that. On the opposite end, getting everything done that was committed to.

There is sometimes this like careful balance like of how much are you supposed to do in the sprint? Are you supposed to overload it or are you supposed to under-load it?

[0:08:33.5] MN: Right.

[0:08:33.6] DA: It can feel bad if you have stories that are just living on the sprint week after week and conversely, it also feels bad to stuff a lot of things in at the end after you’ve completed the work like it doesn’t – it can feel like of disruptive where you’re starting something new and you know, you’re not ready for it and then maybe it carries over to the beginning of the next sprint anyways. It kind of feels like, “Why did we even decide that?” Of time being with.

[0:09:02.6] CQ: I’m not sure about this but is there – in scrum, maybe someone else can answer this question. Is there a specific way that you should be estimating or is there a specific way that you should be denoting how much work something is?

[0:09:18.6] WJ: Yes, Scrum is very prescriptive about that. Scrum says that you need to do planning poker and in planning poker, you need to use the Fibonacci sequence for your numbering.

[0:09:28.7] CQ: Right.

[0:09:29.6] DA: Otherwise you’re not a scrum master.

[0:09:32.4] CQ: I think some people try to make like the Fibonacci number, like a tangible number, like I know there are places that I’ve worked at where like, a one means that it takes a day of work to do, that is the number that some people read. I was like no, one is just like one amount of work and then a two is a two of a one but it doesn’t mean that it’s like two days or something of that nature.

It’s just like a tangible number that you and the team feel comfortable what these stories are but they’re not like real numbers or something that is conceptualized. Maybe at one could be one day but it doesn’t mean that it will be and that’s what that means.

[0:10:19.0] WJ: Yeah, in scrum, they say, they recommend that people try alternative that systems like they talk about using dog breeds. So a chihuahua would be a one and a great Dane would be 13. With the idea of being that you want to get people away from the notion that points represent units of time because they don’t.

[0:10:36.0] MN: Yeah.

[0:10:36.8] DA: I’m having a flashback to an earlier episode.

[0:10:40.8] MN: I think we did talk about the specifics of estimating and I remember the- well you see shirts as well, I think that was part of it too.

[0:10:50.4] DA: There’s a game of pickup sticks as well.

[0:10:53.5] MN: That was one of them.

[0:10:54.9] WJ: Yeah, I think this is probably episode three, Planning Meetings.

[0:10:57.5] MN: There you go. More on that in episode three. I do think that another issue that can kind of mess up the flow of scrum is like outside interruptions. I don’t mean like the honking horns and the Holland in New York City. I mean, like if you’re working on a particular project and then there is a production bug that needs to get fixed that was totally like oblivious to when you committed to a particular amount of work, that, you know, resolving that issue could take time in your sprint that you said you would commit to. Even then, that could just throw off the entire sprint all together.

In the retro, obviously that will be a negative. Like, “Oh, what wasn’t good this week? Well, that huge production bug that made Bobby — that forced Bobby to leave the team to handle for the rest of the week. You know, kind of slowed us down,” kind of thing. That kind of interruption has to be managed in a way that it’s minimal amount of interruptions as much as possible when you have a sprint.

[0:12:07.8] WJ: So what do you do when Scrum is not working for you? You don’t want to do Scrum anymore? It’s just your team doesn’t like it, your ceremonies don’t feel right.

[0:12:15.8] CQ: I mean I have worked at another team that did Kanban and you can use Kanban if Scrum isn’t really working for you. Kanban is the implementation of continuous improvement. I think Dave corrected me earlier when I said Kanban where it actually came from. So Dave you like to fill us in on what is Kanban.

[0:12:37.6] DA: Yeah, so Kanban is a Japanese word. It comes from out of a lean manufacturing practice by Toyota in the 80’s I believe and so they practice this in front of Kaizen continuous improvement and the practice of just figuring out what needs to get done in the very moment.

[0:13:06.7] MN: Right so I think one of the differences that I have seen on a Kanban board I would say it’s like there’s a list of work that gets prioritized and each developer or pair will take that work and then get it done and as they’re completing that work if there is any issue or any new features that they may have sought out or whatnot, they can present it to their product owner or project manager and then it’s constantly being — the Kanban board is actually being reorganized so that things that will take higher priority and gets changed throughout “the sprint”, if you want to call it, throughout the week. I don’t want to use the word sprint because that is what we are using for Scrum.

[0:13:52.4] CQ: I don’t even think it’s a week, it’s just through time.

[0:13:54.8] CQ: Yeah, it’s just through time. I mean you can just constantly prioritize to ensure that you get the continuous improvement that Kanban provides because you are not limited to this sprint.

[0:14:06.8] DA: Right and I guess that’s probably the most iconic thing that people would know is the Kanban board because it’s often used in different project tracking tools like Jira. You’ll have different lanes and those lanes will be different states that your work flows through to the done state, which is your happy place when you have delivered value.

[0:14:29.4] CQ: Right, I think one of the important things about Kanban as you both are talking is the constant movement forward of work and I think that one of the things that Kanban brings to light is when something is stuck somewhere for a while you notice it, and so that way there could be focus on what’s stuck.

[0:14:49.5] DA: Right.

[0:14:50.6] WJ: Yeah, it also brings like bottlenecks, which is part of lean manufacturing. The idea that the system is weakest at whatever point things start to pile up, and that is really visible on a Kanban board because you can see the cards physically piling up in one spot and that tells you, “Oh this is where we could improve the team most effectively.”

So let’s say for example that you have a group of designers and then a group of engineers and then a group of testers. And the group of designers can handle 10 stories a week and the developers can handle 10 stories a week, but the testers can only handle five. So then what you see is right before the testers there’s a big pile up and you could add more designers or you could add more engineers and it would do nothing for the overall effectiveness of the system. The best thing that you could do would be to take some people off of your engineering and designing teams and put them on QA.

[0:15:45.3] DA: Yeah, right. I think an interesting thing with that idea too is that if you look at your board at different times in the week, if you’re combing Kanban with sprint, a Kanban board with sprint, then you might notice that right before the end of the sprint all of your tickets are piling up in QA. But maybe at the beginning of the sprint or at the middle of the sprint, a lot of the tickets are piling up in code review. So you can see different kinds of bottlenecks at different times during that process.

[0:16:15.6] WJ: Yeah, if you are doing Scrum. If you’re doing Agile then there would be no sprint.

[0:16:20.3] DA: Right.

[0:16:21.0] CQ: Scrum-ban.

[0:16:22.3] MN: Yeah, so I think that actually introduces the topic of Scrum-ban and I think –

[0:16:28.1] CQ: I think one of you guys made that up.

[0:16:29.9] MN: No, I mean I don’t know. I’m pretty sure it is out on the internet somewhere. It’s just a combination of the two things. I feel like standup is important, like to let your team know what it is that you are working on and if you’re being blocked by something so then someone else can come in and help you. Retros are good to talk about, not the sprint that has happened but the time that has happened between the two Retros that has happened.

You want to constantly improve the work but you also want to let your product owner or your project manager know what you estimate this particular piece of work, so that they can then use that to prioritize. So like a planning meeting might still be a thing that you do but you can leave it up to the product owner or the project managers to determine where in the stack it belongs prioritizing and then from there you can just pick it up and go and be all Kanban about it until there is a meeting that you guys can come to an agreement to continue working the flow.

[0:17:32.2] DA: Yeah, I think there’s an advantage to that too is that you have an iteration or a sprint where things are boxed up and it doesn’t feel as much like an ending flow of work, which is fine sometimes. Like sometimes you’ve just got to get in the zone and keep chipping away at the backlog. It’s nice to take a pause and think about how we’ve been doing over the past period of time.

[0:17:56.0] CQ: Right. So is the point that you were taking here some elements of Scrum but you don’t necessarily have sprint boundaries. So for example, you every two weeks have a retrospect, every two weeks you have a planning meeting. Is that what you were talking about?

[0:18:12.6] MN: Yeah, it’s more or less that because I think one of the negatives that I forgot to mention in Kanban is that when you’re working on a Kanban board and you’re just constantly picking up work that needs to get done, you’re in that cycle forever because you are just working forever and ever and I think Retros are a good way to indicate a lap, if you will. Like from a marathon to running around a track rather than running forever.

If you have this marker that says, “Hey let’s talk about the previous two weeks that has past,” whether it’s an iteration or it’s just the past two weeks, that gives the team and me personally an idea that like, “Okay, we could talk about this little block of time that hasn’t happened, rather than the past six months that I have been working out of this Kanban board.”

[0:19:06.2] WJ: Yeah, although I would argue that if you are rigidly sticking to any agile methodology, you are not being agile. I think we’ll probably have more on that when we do our agile manifesto episode.

[0:19:19.4] MN: Yeah and I totally agree. You’ve got to take all the good parts and move around.

[0:19:24.3] CQ: I thought it was process over people.

[0:19:28.9] MN: There you go. Well more on that episode whenever it comes, coming soon. Don’t worry.

[0:19:35.5] DA: Are there any teach and learns?

[0:19:37.3] MN: Yeah, I have one. I’ve been recently learning about cryptocurrency and how Bitcoin is a thing and why it became about. I mean a long time ago Bitcoin was just a name that’s being thrown out. I was like, “Oh yeah, whatever that is,” and now I am really interested and then there’s dogecoins. So I feel like I need to invest in dogecoins because I want dogecoins. I don’t know? It’s going to be used in the future.

[0:20:02.7] DA: Yeah, such wow, get them while they’re hot.

[0:20:04.4] MN: Yeah, bro.

[0:20:06.0] DA: Yeah.

[0:20:06.5] MN: I got to use that dogecoins, I don’t for what. I mean it just seems really interesting on something as tangible as the dollar or the Euro or financial exchanges versus cryptocurrency, which is like science money. I don’t know it’s just half money that’s just there in the world.

[0:20:24.7] DA: Yeah, it’s all about that blockchain, you know? It’s cool hearing about different industries that are now using the block chain as well as a distributed register for information. People are using it and I think there’s reading, they are using it like in Eastern Europe for real estate transactions like keeping track of who owns what land because they don’t want to bother with a central government repository and the block chain is open and public. Everyone has it so.

[0:20:55.7] WJ: Yeah, it seems like a great way of fighting corruption.

[0:20:57.9] DA: Yeah, exactly. I think that’s why they are doing it.

[0:21:00.9] WJ: Nobler use of the blockchain than dogecoin but I think dogecoin is awesome.

[0:21:05.2] MN: “Hey, every one invest in dogecoin now, buy-buy-buy.”

[0:21:09.4] DA: I think with that also is that they are able to implement this without the corrupt politicians really say anything based it’s really complicated and no one understands it until it is too late.

[0:21:19.6] CQ: Yeah, exactly.

[0:21:21.2] MN: Yeah, I think it’s a lot of the developers and the clients that I’m on is really, really hyped about cryptocurrency and I’m just like, “Okay I’ve got to look at this now. It’s pretty cool,” so.

[0:21:31.7] DA: All the kids.

[0:21:32.7] MN: Yeah, all the kids are doing it.

[0:21:34.2] WJ: Have you guys looked at Treauxcoin? It’s spelled like –

[0:21:36.9] MN: T-R-U?

[0:21:38.7] WJ: No, it’s spelled like Treaux yeah, it’s pretty huge.

[0:21:44.7] MN: So Treauxcoin?

[0:21:46.1] DA: It sounds pretty elite.

[0:21:46.9] WJ: Yeah, my non-profit had an extra server lying around and it got hacked and somebody started using it to mine Treauxcoin.

[0:21:56.3] CQ: What?

[0:21:57.1] DA: Oh.

[0:21:57.8] WJ: We didn’t notice it until somebody pointed out that one of our URL’s had this Treauxcoin mining dashboard displaying instead of our website.

[0:22:08.6] CQ: Oh my gosh did you get any money out of that bro? That Treauxcoin? Oh man. I need to get dogecoin servers. I think that is what I am going to invest sometime then.

[0:22:19.0] MN: Teach and learning and on that.

[0:22:20.4] DA: But don’t hack William’s box.

[0:22:21.6] MN: Yeah, don’t hack. I’ll make sure I won’t do that. Cool, I like to thank my co-host, thanks for coming on Dan, it’s always a pleasure.

[0:22:29.2] DA: Yeah, it was fun.

[0:22:29.8] MN: And our producer, William, thank you and our featured guest, Charles, thanks for coming on down.

[0:22:35.8] CQ: Well thank you.

[0:22:36.4] MN: Feel free to hit us up on @RadioFreeRabbit at Twitter.com and this is The Rabbit Hole. We’ll see you next time.

Links and Resources:

Charles Quirin

Charles on Twitter

The Rabbit Hole on Twitter

Scrum

Jeff Sutherland

Scrum Alliance

Kanban Tool

What is Kanban

Bitcoin

Dogecoin

Blockchain