Scrum vs Kanban vs Waterfall: Differences and when to use each methodology

Scrum vs Kanban vs Waterfall: Differences and when to use each methodology
Scrum, Kanban, and Waterfall are popular methodologies and ways to develop products and deliver finished work

Scrum, Kanban, and Waterfall are popular methodologies and ways to develop products and deliver finished work. All three approaches have existed for many years. However, to this day, many professionals are still unaware of their applications and differences. Reference: “Kanban vs. Scrum: What Are the Differences Between Scrum and Kanban”, https://eduwiki.me/kanban-vs-scrum-what-are-the-differences-between-scrum-and-kanban/

Scrum vs Kanban vs Waterfall

To explain in detail all the methodologies and to understand when and how to use them, let us first explain each approach to delivering the result.

Waterfall (plan-driven) process

Plan-driven processes are so named because they try to plan and anticipate all the functions that the user may want in the final product, and determine the best way to build these functions. The idea here is that the better the planning, the better the understanding, and therefore the better the implementation. These processes are often referred to as sequential processes, as participants consistently perform a complete requirements analysis, followed by an overall design, followed by coding/building, and then testing. Planned development works well if we apply it to problems that are well-defined, predictable, and unlikely to undergo any significant change. The problem is that most product development efforts are anything but predictable, especially in the beginning. So while the process driven by a plan gives the impression of an orderly, responsible, and measurable approach, this impression can lead to a false sense of security. After all, product development rarely goes according to plan. This approach is based on a set of beliefs that do not correspond to the uncertainty inherent in most product development efforts. Scrum, on the other hand, is based on a different set of beliefs – ones that are associated with problems with enough uncertainty to hinder high levels of predictability.

Kanban approach

KANBAN is an Agile approach imposed on an existing process advocated to visualize workflows through a system, limit work in progress, measure, and optimize workflow. Kanban is not a stand-alone process solution, but an approach that is imposed on an existing process. In particular, the Kanban principle is based on:

  • Visualize the workflows through the system
  • Limit work in progress (WIP) at each step
  • Measure and optimize the flow of work through the system to make continuous improvements

Kanban builds on an existing process to visualize how work goes through a system. To limit work in progress, measure, and optimize workflow. Kanban is not a stand-alone process solution, but an approach that is imposed on an existing process.

Scrum framework

SCRUM is an Agile approach to developing innovative products and services by setting a framework for organizing and managing work. The scrum frame is made up of roles, events, artifacts, and rules. Reference: “Why use the Scrum framework, and why not in your projects?”, https://bpedia.org/why-use-the-scrum-framework-and-why-not-in-your-projects/

The roles in Scrum are the positions – what you do. – Developer, Scrum Master, Product Owner.

  • Product Owner – Responsible for what will be developed and in what order.
  • Scrum Master – Responsible for leading the team in creating and following your process based on the broader framework of Scrum.
  • Developer – The development team is responsible for determining how to deliver what the product owner has requested. Anyone who is not a Scrum Master or Product Owner is an hour on the so-called Dev team.

Events – in Scrum for events we define:

Organizing a Product Backlog – Divided into a set of functions on a prioritized task list.

Sprint Panning – Describes, through a set of detailed tasks, how the team plans to design, build, integrate, and test the selected subset of Product Backlog features during the specific sprint. The purpose of the time-limited “iteration” is to provide value in the form of a potentially “increasing” product that can be delivered.

Execution of the sprint – The development team performs the tasks necessary to implement the selected functions.

Daily Meetings – Every day during the sprint, team members help manage the workflow by performing synchronization, inspection, and adaptive scheduling known through daily meetings.

Sprint Completion (Review and Retrospective – The Scrum team completes the sprint by performing two verification and adaptation activities. In the first, called a sprint review, stakeholders and the Scrum team inspect the product. In the second, called a sprint retrospective, the development team, ScrumMaster and the product owner jointly discuss the Scrum process used to create the product. At the end of the sprint retrospective, the Scrum team should have identified and committed to many practical process improvement actions to be taken by the team. the next sprint. Reference: “Scrum Sprint Review meeting Questions and Answers”, author: Marta Cooper, 2020 Vol. 2 (PolicyMatters, ISSN: 1941-8280, 1941-8272, ISSN National Centre for the USA, United States), https://www.policymatters.net/scrum-sprint-review-meeting-questions-and-answers/

Artifacts – Artifacts are the tasks that are planned or completed, the conditions in the tasks, tables for achieved

Kanban limits work in progress by limiting the number of tasks that teams work on, which should reduce the number of defects and reduce the distraction of teams, which in turn should increase their productivity.

Scrum’s focus on providing working, integrated, tested, valuable business features, each iteration leads to the fast presentation of results. Scrum is also very suitable to help organizations succeed in a complex world where they need to adapt quickly based on the interconnected actions of competitors, customers, consumers, regulators, and other stakeholders. Reference: “Why do organizations not use the Scrum framework intentionally?”, (Agile Programming, ISSN 2652-5925, ISSN issued by The Australian ISSN Agency | National Library of Australia) https://agileprogramming.org/why-do-organizations-not-use-the-scrum-framework-intentionally/

Although Scrum is an excellent solution for many situations, it is not the right solution in all circumstances. The Cynefin framework (Snowden and Boone 2007) is a meaningful framework that will help us choose the right approach according to the situation. It defines and compares the characteristics of five different domains: simple, complicated, chaotic, complex, and the fifth domain, a disorder that occurs when we do not fall into another domain.

When to use Scrum?

I think we should use Scrum to organize the work process when we have to make complex and obscure products. Scrum is particularly suitable for the innovative development of new products. In such situations, our ability to research, test, and adapt is crucial. Scrum uses variability and uncertainty in product development to create innovative solutions. Scrum is based on iterative and gradual development. Reference: “Transparency in Scrum teams and Agile organizations”, Scrum Time (ISSN 2652-5445) Online serial issued by the Australian ISSN Agency, https://scrumtime.org/transparency-in-scrum-teams-and-agile-organizations/

Iterative development assumes that we will probably confuse things before we fix them and that we will do things bad before we do them well. We use multiple transitions to improve what we build so that we can come close to a good solution. For example, we can start by creating a prototype to gain important knowledge about a little-known part of the product. Then we can create a revised version, which is a little better, which in turn can be followed by a pretty good version. Iterative development is a great way to improve a product as it is being developed.

Gradual development is based on the principle of “Building a part before building a whole”. We avoid having one big event at the end of development, where all the pieces come together and the whole product is delivered. Instead, we divide the product into smaller pieces so that we can build a part of it, learn how each piece must survive in the environment in which it must exist, adapt based on what we have learned, and then build more than him. Gradual development gives us important information that allows us to adapt our development efforts and change the way we act.

During each sprint, we perform all the activities necessary to create a working growth of the product. The Scrum approach has the advantage of quickly confirming the assumptions that are made when developing the characteristics of the product. For example, we make some design decisions, create some code based on those decisions, and then test the design and the code – all in the same sprint. By doing all the related work in one sprint, we can quickly rework the functions, thus achieving the benefits of iterative development without having to plan specifically for additional repetitions. At Scrum, we don’t work in phases at once. We are working on a function at a time. Thus, by the end of the sprint, a valuable increase in a given function of the product will be created. Reference: “Scrum Master role and issues related to the team and project work”, author: Davis Timothy, Wider Europe, ISSN 2563-1527, 2020 Vol. 1, https://w-europe.org/scrum-master-role-and-issues-related-to-the-team-and-project-work/

At the end of the sprint, we can get feedback on the newly developed functions related to already completed functions. This helps us look at the product from a larger perspective. We get feedback on the results of the sprint, which allows us to adapt. We can choose different functions to work on in the next sprint, or change the process we will use to build the next set of functions. In some cases, we may learn that the increase, although technically in line with the plan, is not as good as it could be. When this happens, we can plan processing for future sprints as part of our commitment to iterative development and continuous improvement. This helps to overcome the problem of uncertainty ahead when developing a new product. Scrum does not require you to pre-set a certain number of iterations. The continuous flow of feedback will guide us to make the appropriate and economically reasonable number of iterations as we develop the product gradually.

Complex Domain

When we deal with complex problems, things are more unpredictable than predictable. Working in complex areas requires creative and innovative approaches. In this environment, high levels of interaction and communication are essential. Innovative development of new products falls into this category, as does the improvement of existing products with innovative new features. Scrum is especially suitable for work in a complex domain. In such situations, our ability to research, test, and adapt is crucial.

Complicated Domain

The complex problems are in the realm of good practice, dominated by experts. There may be many correct answers, but to understand them requires an expert diagnosis. While Scrum can certainly work with these problems, this may not be the best solution. For example, performance optimization efforts, which require parameter adjustments to find the best overall system performance, would be better served by gathering experts and allowing them to assess the situation, explore several options, and base the response. your good practices. A large part of the
daily software maintenance (handling product maintenance flow or defect issues) falls into this category. Here, too, many of the tactical, quantitative approaches such as Six Sigma are particularly appropriate.

Simple Domain

When we are dealing with simple problems, everyone can see the cause and effect. Often the right answer is obvious and indisputable. This is an area of ​​best practice. There are some solutions. After evaluating the facts of our situation, we can determine the right predefined solution to use. Scrum can be used for simple problems, but may not be the most effective tool for this type of problem. Using a process with a well-defined, repeatable set of steps that are to solve the problem would be more appropriate.

Chaotic Domain

Chaotic problems require a quick response. We are in a crisis and we must act immediately to prevent further damage and to restore at least some order. Scrum is not the best solution here. We are not interested in prioritizing lagging and determining what to do in the next iteration. We need the ability to act immediately and decisively to stop the problem. In the case of chaotic problems, someone has to take over the situation and act.

Disorder

We enter this domain when we do not know which of the other domains we are in. This is a dangerous place because we do not know how to assess the situation. In such cases, we are more likely to interpret the situation and act according to our personal preferences for action. When we get to the domain without order, we should not try to apply Scrum or Kanban, but do everything possible to get out of the domain, breaking the situation into components and assigning them each of the other four domains.

Interrupt-Driven Work

Scrum is not an appropriate approach for intermittent operation. In this situation, we will not be able to reliably plan repetitions for a week or more, because we will not know what the work will be so far in the future. In intermittent environments, it would be better to use the Kanban approach.

Scrum Master certification

Apart from the fact that Scrum is a popular framework for software development, you can also obtain a real document for its use. The Scrum Master role is without a doubt the most preferred Scrum feature. The Scrum Master certification proves your skills and knowledge in the field.

In the article, we discussed many important details. You can learn about the subject from countless sources. However, obtaining a Scrum Master Certificate will not only give you many career opportunities. You will also reinforce everything you have learned.

References

“Scrum example team and projects scenarios”, https://phron.org/scrum-example-team-and-projects-scenarios/

“Certified Scrum Master vs Professional Scrum Master”, https://wikipedia-lab.org/certified-scrum-master-vs-professional-scrum-master/

“Professional Scrum Foundations course for corporate business organizations and employees”, https://www.islandjournal.net/professional-scrum-foundations-course-for-corporate-business-organizations-and-employees/

“Professional Scrum Master vs Professional Scrum Developer”, https://stc-montreal.org/professional-scrum-master-vs-professional-scrum-developer/

“Problems of the Scrum Master role with the Sprint Review and Scrum Sprint Retrospective meetings”, https://www.nebraskasocialstudies.org/problems-of-the-scrum-master-role-with-the-sprint-review-and-scrum-sprint-retrospective-meetings/

“Product Owner role in Scrum and real problem situations”, https://www.vbprojects.org/product-owner-role-in-scrum-and-real-problem-situations/

“Kanban methodology vs Scrum framework”, https://www.libraryofmu.org/kanban-methodology-vs-scrum-framework/

“Scrum problems with questions, answers and explanations from the point of view of Scrum Master”, https://ossalumni.org/scrum-problems-explanations-from-scrum-master/ (By students of Odofin Secondary School)

“The Best Scrum Master Certification for Agile Professional Development”, https://bvop.org/scrummaster/

“Real Scrum problems of the Scrum Master role during the Daily Scrum meeting”, https://mpmu.org/scrum-problems-scrum-master-daily-scrum-meeting/ (mpmu.org)

“Reactions of the Scrum Master role for the Sprint Review event”, author: Liam James, https://agileprojectmanagers.blogspot.com/2020/12/reactions-of-scrum-master-role-for.html

“Scrum Study: Real situations related to the Sprint Review meeting”, https://www.mmrls.org/scrum-study-real-situations-related-to-the-sprint-review-meeting/ (www.mmrls.org, METROWEST MASSACHUSETTS REGIONAL LIBRARY SYSTEM)

“The role of the Certified Scrum Master in the Agile organization”, https://agileprojectmanagement.home.blog/2020/12/21/the-role-of-the-certified-scrum-master-in-the-agile-organization/

“Certified Scrum Master shares best practices”, https://projectmanagement.cloudaccess.host/certified-scrum-master-shares-best-practices/

“A certified Scrum Master shares the Daily Scrum event”, https://projectmanagement.freesite.host/a-certified-scrum-master-shares-the-daily-scrum-event/

“Responsibilities of the Scrum Master role”, https://projectmanagers.joomla.com/11-responsibilities-of-the-scrum-master-role.html

“What is it like to be a Scrum Master?”, https://projectmanagers.edublogs.org/2020/09/14/what-is-it-like-to-be-a-scrum-master/ (projectmanagers.edublogs.org)

Conclusion

Scrum and Kanban are flexible approaches to development, and each has strengths and weaknesses that need to be considered once we determine which domain the team’s work belongs to. In some organizations, both Scrum and Kanban can be used to address different system needs that exist simultaneously. For example, Scrum can be used to develop a new product and Kanban for interrupt-driven support and maintenance.

Whichever approach you choose, always prove your skills with a prestigious Scrum Master certificate issued by a well-known organization. Today, Kanban certification programs also exist. And if you want to enter the classic project management and Waterfall processes, get a project management certificate such as BVOP or PMP. They will clearly demonstrate your skills. Both programs are Agile oriented. Although BVOP.org offers more transparency and Agile thinking, PMI today also now offers an Agile certification program.

Leave a Reply

Your email address will not be published. Required fields are marked *