Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[Article] Scrum vs Kanban - what flavor of Agile is king?


Jimi Wikman
 Share

Recommended Posts

  • Owner

Over the years I have seen many claims to what flavor of Agile is king. In this article we will look at Scrum and Kanban to see if we can determine which of these two flavors are the best for you and your team. I have a feeling you will be surprised at the answer, but I hope you will not be.

I recently read an article called "Scrum Is Dead. All Hail Kanban, the New King" where the author Emanuel Marques praise the Kanban flavor of Agile as his experience of Scrum have been less positive compared to Kanban. One of the responses to that article was written by Maarten Dalmijn, and he made some good points in his article on how flawed the initial article was.

To anyone who work with Scrum in multiple projects and multiple companies you probably recognize Emanuel's story. It is in no way a unique experience he has that Scrum, like many other Agile flavors, are misrepresented due to adjustments by the team or the company. Here are some examples from Emanuel's article:

Quote

After a few years, I started noticing one thing: In the last days of a sprint, everyone was rushing to deliver everything they had done in the previous two weeks to avoid carry-overs, frequently taking unnecessary risks.

A common thing that happens way too often. When you are inexperienced with Scrum, estimations and you do not set sprint goals, then this happens a lot. We see that the team is not working properly in the burndown chart as well.

burndown.png

This is a typical Agile burndown when using story points when you either have issues that are too big or you do not close issues properly. For a team working with story point, which I think is stupid in any case, a burndown chart is completely useless.

Quote

If you needed to do unexpected work (bugs, problems in production, etc.), it would affect your time and consequently make you fail the commitment you made in the planning meeting.

This is again inexperience in making proper estimations and because of that you did not have room for the unexpected. In all processes, methodologies and frameworks you need to be able to make proper work assessments. Agile make that easier by letting you make arbitrary measurements that are more like "guesstimates". If you fail doing that, then you are in real trouble regardless of what process methodology or framework you choose.

Emanuel's team choose to go to Kanban because of their inability to adjust their way of working away from the production line of thinking to an Agile way of thinking. What was it about Kanban that attracted them?

Quote

So out of all the things that Kanban offer, Emanuel's team choose to focus on these. As you can see all of these are about commitment and responsibility. If you combine this with the reasons Emanuel and his team felt the need to move from Scrum to Kanban you probably can see the same thing as I can and that is that this is a team that no one has taught how to work properly.

They have been left in a work environment where things are difficult to navigate and control and as a result they feel they are unable to commit to anything. I assume this is because failure, as diffuse as that definition might be, happens frequently. They also seem to be working with a poor scrum master, possibly also inexperienced or limited in his capabilities by the work environment.

Sadly I think Emanuel and his team will soon find out that Kanban with the focus on escaping accountability and control is a bad choice. Kanban is not going to make failures go away. In fact, it will probably make things worse as the stakeholders will find the Kanban way of working, especially the bare-bones version Emanuel and his team are describing, very annoying as they have little to no control in that flow.

What does this have to do with what flavor is king?

Well this has everything to do with what flavor is king. They all are. If you use them properly. Sadly many work places implement Agile in all its forms in the wrong way. They try to make Agile work in a project based organization with an ITIL based steering structure with multiple teams on the same products.

If you add inexperience and poor coaching resources, then you are setting up all flavors of Agile to fail. With that comes frustration and stress for the teams, and they will naturally try to distance themselves from management and any form of accountability as they are destined to fail regardless off their effort.

This is referred to as a MOD project by some of us that work with process and methodology design. MOD is short for "March of doom" meaning that the project or the team are already doomed before they start due to the restrictions already placed on them. It is also in reference to how managers often refer to them MODifying the Agile way of working, which often result in a poor experience.

If you work with Scrum, Kanban, DevOps or any other flavor of Agile, that can be king for you and your team. If you use it correctly and you actually take your findings in retrospective to adjust it to fit your way of working. You can even mix them to find the optimal workflow for your team, because they all come from the same source: Agile.

You have the power to make your flavor of Agile king

This might seem strange for anyone who work in workplaces where your way of working is dictated by management, but there is hope. In all organizations you have two ways of working: The Steering and the Operational. If you can find the way to meet the steering, so they can do their job, then what happens in your team should be up to you. If you are sharing responsibilities with more teams, then you should build your way of working together with the other teams. Never work in isolation if you share responsibilities.

In order to do that you need to figure out what steering need so you can provide that. Usually this is the holy trinity of time, money and quality. Time and money comes through time reporting and proper estimations. Quality comes from requirements and testing alongside prioritization. So no matter what flavor you choose you need the following:

  • A handover of translated need - you need to understand what the need is so you can take ownership.
  • A Prioritization meeting - to decide what to do next.
  • A common practice to make estimations - learn to make proper estimations instead of "guesstimations".
  • Log time at least once per day if you have time estimates.
  • Break down tasks as small as possible and close as soon as they are done if using story points.

That is usually all you need, regardless of flavor.

So go out and make whatever flavor you prefer KING today.


View full blog article

Link to comment
Share on other sites

  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Similar Content

    • By Jimi Wikman
      My assignment was to make a new design for the web based user area based on the graphical profile from one of ChessIT's clients. The design had to be light in terms of changes as the project had hard deadlines. I worked with the client and the developers to find a balance between the two that satisfied the requirements and respected the time constraints.
    • By Jimi Wikman
      My assignment was to review and build a new work process with JIRA & Confluence as tools for the development efforts at Axfood. Based on the SAFE agile process with practical experience in making projects actually become a reality I built a process that was custom-made for Axfood and their specific challenges.
    • By Jimi Wikman
      Jira tool manager with the task of stabilizing the system and setting up work processes for all teams within H&M. Responsible for several projects including cloud initiatives and coordination with other systems such as ServiceNow. Heavily involved in designing the build processes (requirements, development, design, deploy and test) for the process office. Responsible for the design and implementation of SAFe in Jira and the build processes. Responsible for a small team of Atlassian experts. Supported 400+ teams with Jira questions and training of work processes.
    • By Jimi Wikman
      If you have worked in IT in the past 10-15 years or so, you probably have endured the endless regurgitation of meaningless information in a daily stand-up. You have probably felt the anxiety of being judged and been annoyed over your teammates doctoring their results to look more productive. You probably also wished you did not have to go to the meetings once or twice. What if I told you there is a better way to manage daily stand-ups? Because there is.
      First let us figure out what the purpose of a daily stand-up is and where it comes from. The need to organize groups and to collaborate is as old as time itself and while many consider the daily stand-up, or daily scrum to originate from the Scrum framework, that is not true. Regular meetings have been a common practice since long before Scrum, and it is also why it is the most used aspect of Scrum in less than Agile work processes.
      What Scrum did however was to add psychological stress to the formula with the intent of increasing productivity. This was done by putting emphasis on proof of progress rather than collaboration. It is an effective way to shame people into becoming more productive, and it is a typical behavior for extroverts to seek the admiration and praise of others. The downside is increased levels of stress, which is counterproductive. In many cases it also leads to manipulation of data and fragmentation of work, especially in continuous delivery situations where people tend to work on multiple things at the same time.
      For many years Scrum had three questions that was the law to regurgitate every daily meeting:
      What did I do yesterday that helped the development team meet the sprint goal? What will I do today to help the development team meet the sprint goal? Do I see any impediment that prevents me or the development team from meeting the sprint goal? In the 2020 scrum guide they have backed off from this a bit, but they still focus on the feeling of guilt by pushing the conversation towards progress.
      This is even more emphasized in the statement of the benefits of the daily stand-up:
      Again this is clearly written from the perspective of an extrovert because for many introverts this is NOT a forum for improved communication. The idea that the daily stand-up eliminate the need for other meetings is not true. It most certainly can consolidate questions into a more focused forum, which does reduce the need to bother developers and others multiple times, but you often find reasons for more meetings, not less.
      How do we make this better?
      Let us first decide why we want to have daily meetings in the first place. The most obvious reason is to gain control. This is how most managers that are detached from the team see the daily stand-up because it is the only way they can stay on top of things, so they can look good in other meetings. That is not what daily stand-ups are for however and as a manger you should instead manage your time and make sure you work with the team and not act as a proxy.
      The reason we have daily stand-up should be to make sure everyone in the team have a voice and to make sure everyone is informed. By making sure everyone in the team get a voice we can find impediments and help each other solve problems. We can lift concerns and ask questions in a safe setting that allow the team to feel safe. It allows for a common forum for information, so everyone can feel that they have the information they need at all times.
      We do this because questions and doubt are the bane of productivity and team health.
      The first thing we do is to remove the time cap. Our minds are very sensitive to time and performance under pressure, so we remove that. Instead, we add a 30-minute slot every morning where we spend as much time as we need. Sometimes it is just 5 minutes, sometimes we extend the 30 minutes and change it into another type of meeting.
      The second thing we do is remove the need to report what has been done. This is the cause of much anxiety and in a healthy team you should not need that type of information anyway. Instead, we focus on questions, impediments and requests for help. We make sure everyone in the team get a chance to speak, and we make sure that everyone feel safe, so they dare to say what is on their mind. This is important because one thing we want to capture is if time estimates need to be extended or if new tasks might be needed.
      We sort things that come up as team related or personal, so we can focus on the team related issues first and then take personal questions after the meeting to make the disruption as small as possible. To make this disruption even smaller we put the daily meeting as early as possible without limiting peoples freedom. This means that you most likely have people in the team that have kids or other family situations that require them to have some flexibility in the morning and afternoon. 9 or 10 are common times, but you can just as well do this after lunch for example. The aim is to avoid disrupting the team as content switching is bad.
      The final part is for the team lead and architect to inform the team of things happening outside the team that is relevant to the team.
      I strongly suggest that you make this daily meeting as comfortable as possible instead of actually making it an actual stand-up. The reason for that is that most people are more likely to raise questions and ask for help when they are comfortable. If you can align this around a coffee break or breakfast, then that is excellent.
      The summary:
      Schedule the meeting as early as possible without limiting the flexibility of your team members. Go around the team and let everyone ask questions, request help and raise concerns if there are any. Team lead and Architect give information relevant for the team. Confirm activities such as additional meetings or request for information or to solve impediments Grab some water or coffee and then return to work again. I find that these types of daily meetings often lead to better productivity for the simple reason that people feel less stressed when they get information and can get their problems solved. The outcome of these meetings often lead to technical discussions to answer technical questions and sometimes new activities to refactor things that might not have been captured otherwise.
      So if you are stuck in a daily routine of regurgitating Jira numbers where you feel the need to adjust numbers a bit just to look good, then I suggest you give this approach a try instead. 
      Management by fear and intimidation is a poor substitute for making your team feel safe and informed.

      View full blog article
    • By Jimi Wikman
      If you have worked in IT in the past 10-15 years or so, you probably have endured the endless regurgitation of meaningless information in a daily stand-up. You have probably felt the anxiety of being judged and been annoyed over your teammates doctoring their results to look more productive. You probably also wished you did not have to go to the meetings once or twice. What if I told you there is a better way to manage daily stand-ups? Because there is.
      First let us figure out what the purpose of a daily stand-up is and where it comes from. The need to organize groups and to collaborate is as old as time itself and while many consider the daily stand-up, or daily scrum to originate from the Scrum framework, that is not true. Regular meetings have been a common practice since long before Scrum, and it is also why it is the most used aspect of Scrum in less than Agile work processes.
      What Scrum did however was to add psychological stress to the formula with the intent of increasing productivity. This was done by putting emphasis on proof of progress rather than collaboration. It is an effective way to shame people into becoming more productive, and it is a typical behavior for extroverts to seek the admiration and praise of others. The downside is increased levels of stress, which is counterproductive. In many cases it also leads to manipulation of data and fragmentation of work, especially in continuous delivery situations where people tend to work on multiple things at the same time.
      For many years Scrum had three questions that was the law to regurgitate every daily meeting:
      What did I do yesterday that helped the development team meet the sprint goal? What will I do today to help the development team meet the sprint goal? Do I see any impediment that prevents me or the development team from meeting the sprint goal? In the 2020 scrum guide they have backed off from this a bit, but they still focus on the feeling of guilt by pushing the conversation towards progress.
      This is even more emphasized in the statement of the benefits of the daily stand-up:
      Again this is clearly written from the perspective of an extrovert because for many introverts this is NOT a forum for improved communication. The idea that the daily stand-up eliminate the need for other meetings is not true. It most certainly can consolidate questions into a more focused forum, which does reduce the need to bother developers and others multiple times, but you often find reasons for more meetings, not less.
      How do we make this better?
      Let us first decide why we want to have daily meetings in the first place. The most obvious reason is to gain control. This is how most managers that are detached from the team see the daily stand-up because it is the only way they can stay on top of things, so they can look good in other meetings. That is not what daily stand-ups are for however and as a manger you should instead manage your time and make sure you work with the team and not act as a proxy.
      The reason we have daily stand-up should be to make sure everyone in the team have a voice and to make sure everyone is informed. By making sure everyone in the team get a voice we can find impediments and help each other solve problems. We can lift concerns and ask questions in a safe setting that allow the team to feel safe. It allows for a common forum for information, so everyone can feel that they have the information they need at all times.
      We do this because questions and doubt are the bane of productivity and team health.
      The first thing we do is to remove the time cap. Our minds are very sensitive to time and performance under pressure, so we remove that. Instead, we add a 30-minute slot every morning where we spend as much time as we need. Sometimes it is just 5 minutes, sometimes we extend the 30 minutes and change it into another type of meeting.
      The second thing we do is remove the need to report what has been done. This is the cause of much anxiety and in a healthy team you should not need that type of information anyway. Instead, we focus on questions, impediments and requests for help. We make sure everyone in the team get a chance to speak, and we make sure that everyone feel safe, so they dare to say what is on their mind. This is important because one thing we want to capture is if time estimates need to be extended or if new tasks might be needed.
      We sort things that come up as team related or personal, so we can focus on the team related issues first and then take personal questions after the meeting to make the disruption as small as possible. To make this disruption even smaller we put the daily meeting as early as possible without limiting peoples freedom. This means that you most likely have people in the team that have kids or other family situations that require them to have some flexibility in the morning and afternoon. 9 or 10 are common times, but you can just as well do this after lunch for example. The aim is to avoid disrupting the team as content switching is bad.
      The final part is for the team lead and architect to inform the team of things happening outside the team that is relevant to the team.
      I strongly suggest that you make this daily meeting as comfortable as possible instead of actually making it an actual stand-up. The reason for that is that most people are more likely to raise questions and ask for help when they are comfortable. If you can align this around a coffee break or breakfast, then that is excellent.
      The summary:
      Schedule the meeting as early as possible without limiting the flexibility of your team members. Go around the team and let everyone ask questions, request help and raise concerns if there are any. Team lead and Architect give information relevant for the team. Confirm activities such as additional meetings or request for information or to solve impediments Grab some water or coffee and then return to work again. I find that these types of daily meetings often lead to better productivity for the simple reason that people feel less stressed when they get information and can get their problems solved. The outcome of these meetings often lead to technical discussions to answer technical questions and sometimes new activities to refactor things that might not have been captured otherwise.
      So if you are stuck in a daily routine of regurgitating Jira numbers where you feel the need to adjust numbers a bit just to look good, then I suggest you give this approach a try instead. 
      Management by fear and intimidation is a poor substitute for making your team feel safe and informed.

×
×
  • Create New...