When is Kanban better than Scrum?

Agile is mainstream. This is good and bad. In 2018, Martin Fowler criticised the “Agile Industrial Complex” for imposing methods on people and violating the first value in the Agile Manifesto. What fake agile is getting wrong is that “the team doing work decides how to do it.”

But how does a team make good and informed choices about how to do the work?

Besides hiring good people (1) and doing retrospectives (2), stealing copying from others is still a smart thing to do, especially if you know how it works and why.

As a project manager for software development projects, I start with a very basic toolbox and adapt tools and processes to the specific team, product and environment at hand. It’s good to have a large toolbox, but it’s knowing how and when to use the tools that makes the big difference.

A spring project was to replace the 40 year old pavement in our front yard with something nicer. One of many choices in the process was to decide which pattern to arrange the tiles. Knowing that I might have to look at this for another 20 years, and having two offers that both wanted to do the herringbone pattern without really explaining why, I finally realised that this pattern will hide small differences when the borders are not parallel.

Today I want to share my reflections on two common agile practices: Scrum and Kanban.

Scrum = Kanban + Sprints

How do you choose between Scrum and Kanban? Well, Scrum is a framework and Kanban is a tool you may say, so let’s frame the situation:

You have a team of specialists that is doing changes to a software system that adds value for customers over time. Doing changes requires a number of different tasks, like writing code, testing, and deploying changes to production. Changes are identified, prioritised, and delivered continously — or at least frequently.

When you do Kanban, you capture the changes to be done on a Kanban board as they are identified and prioritise them according to some rule into a single todo list or column. Team members then pull changes and progress them through multiple stages represented by columns until changes are released.

This is a simple and cool way to visualise and for the team to self-organise work to be done. However, Kanban in itself leaves a lot of blank space for the team to fill out: How do we prioritise changes? How do we coordinate work on related changes? How do we ensure that changes are completed and released, not just started and abandoned?

Scrum is like Kanban with sprints. A sprint is a timebox, the Scrum Guide says 2-4 weeks, these days 2 weeks is most commonly used. At the start of a sprint, the team plans the work to be done. At the end of a sprint, the team reviews what has been done. Scrum adds some roles and a few other events that all work together to make the team make smarter decisions faster.

So is Scrum then the Audi while Kanban is the VW? Wouldn’t you always pick Scrum if you can afford it? Not really. While Scrum has aged amazingly well, times have changed.

Or a Wolseley? A subset of Swedes do like old cars to the point where yearly parades yam the traffic around the smaller cities. I met this one in Trosa south of Stockholm.

Back when the Scrum framework was invented, delivery time for a software solution could be years. The Agile Manifesto, written in 2001, includes the — at the time revolutionary — idea to deliver working software every couple of weeks.

When I joined SimCorp in 2000, one of the development tools available in customer systems was to edit source code and commit local changes to the production system (3). As the programming language for the business logic was interpreted, this could be done without recompiling or taking down the system. From a quality and risk perspective, it seemed insane, but in the context of what the company was back then, the ability to fix or provide workarounds for critical production issues during business hours, was a killer feature that helped the company to grow into what it is today. With great power comes great responsibility. Obviously, the tool required discipline like remembering to re-implement a corresponding change in the main trunk back home in the office. Version control had begun just a few years earlier, code review practices were established to help grow the development team from the original four to four hundred plus today.

As fast as possible but not too fast

With todays build and test automation tools with and production software hosted in a cloud, you get the ability to deliver changes fast with low risk.

If you are in an environment where the impact of failure is much lower than the value of a faster delivery, then a two week sprint is going to slow you down. You will be waiting for feedback from a code reviewer or tester, you will be waiting for the next daily scrum to flag blocking issues, you will be waiting for the next sprint to begin before working on a change. Waiting time is waste when you could be releasing it now.

However, if you find that boring but important tasks are stuck in the todo column, and difficult tasks are stuck in the “almost done” column, then bringing in practices from the Scrum framework can help.

(1) The advice “You need good people” is as true as it is useless. It is a silver bullet that seldomly helps you improve from where you are.

(2) Retrospectives is a good way to create process awareness in the team. While doing retrospectives can be fun, just remember that acting on the insight gained is what matters, not the retrospectives themselves.

(3) The utility was called PROGLOCWRT and no, I don’t know if it still exists today.

Looking into the horizon

So I ended up on garden leave just before the summer after a series of management changes. No big drama, no panic. I got a fair deal and have time to find the next step in my career.

Joining Itiviti in Stockholm was a great if somewhat chaotic experience compared to SimCorp. Insight into sell side trading, working with smart people across the planet, and taking ownership of goals, process, and results in the post merger void.

During the summer, we visited the west coast of Denmark near Blokhus where the beaches are far and wide and you can drive from beach resort to village to fishing hub. A great place to look into the horizon. Copyright Frederik Jensen.

So what is next? I’ve spent some time over the summer playing with my kids – and reflecting on what I want to do next. I’ve enjoyed leading development projects, bridging the gaps between business and technology, managers and specialists, vision and reality. Looking at the job market here in Stockholm, there is still something called project managers out there.

I’ve also enjoyed doing business intelligence, analysing and visualising performance in dashboards. This could lead to business process modelling or a role as Data Scientist. I enjoy coaching and training peers. So far I’ve stayed away from people management, but I’ve come to a point in my life, where I can also see myself picking up that (1).

Structured processes like Scrum and Kanban make a lot of sense to me, and I’ve done lots of agile processes with iterative planning, refinement and delivery. I use a personal kanban to juggle work-life priorities. So I could also pick up a scrum master or agile coach role.

So what is next? Time will tell. Short term it’s an opportunity to discover and learn about new topics – companies, technologies, tools. It’s what I have always enjoyed.

I will be sharing thoughts and reflections on this blog. You are welcome to join my journey. And do get in touch if you know of an opportunity.

(1) Being a parent does that to you: While I have preferred participating in groups on equal authority level, with kids that simply doesn’t fly. Sometimes you are right and they are wrong and the best way forward is not a Socratic dialogue. As a manager, you need to master multiple styles of leadership.

Thoughts from a Dane in Stockholm

Sunrise as seen from the window in our kids room. Further north and further east than Copenhagen, Stockholm is sunnier and has longer days in the summer and shorter days in the winter. Copyright Frederik Jensen.

I’ve decided to start blogging.

Two and a half years ago, my wife and I decided to move from Malmö near Copenhagen to Stockholm, about 600 km to the north east. New job, new house, new city, new friends. Only the family stayed the same.

As my FaceBook feed were strangely full of people I hadn’t seen for a long time talking about stuff in a far away city, it wasn’t a big step to delete my FaceBook account following the Cambridge Analytica scandal.

Then Google+ died. While mostly lurking, I did enjoy following posts about RPG game design and US politics.

Still needing to fill a morning commute with the odd reading, I started subscribing to The Guardian and to follow blogs in the WordPress community. Plus of course chatting with my wife and a few close friends about daily trivia and global events (Trump, Brexit, Climate Crisis etc).

Now, after finishing the last major home improvement project on the backlog — and as I’ve found myself on garden leave after a series of changes to management at my previous company — I have time at hand to engage with a larger audience.

I expect I will mostly blog about game design, software development, and politics, with the occasional reflection on how it is to be a Dane in the Capital of Scandinavia (1).

I hope you will enjoy reading and leave a comment or two once in a while. Let me know if there are topics you are curious about.

  1. Obviously, Danes and Swedes do not agree on which city is the capital of Scandinavia.