Kanban or Scrum? Which methodology should you choose? - Edge1s

Kanban or Scrum? Which project development style will work for your company.

How do you efficiently manage the development of new software or products? Choose the agile, proactive approach that is right for you, allowing you to react quickly and change the direction of development at any time during the project. Feel its advantage over the traditional methodology, which assumes adherence to a schedule and a predetermined scope of work and costs. 

scrum kanban

Discover Kanban and Scrum – two styles of managing software development and other projects that work well in specific company environments.  

Scrum focuses on delivering a continuously improved product, while Kanban focuses on minimizing work in progress and improving the work itself. Both approaches work to motivate team members and are focused on improving efficiency. 

Objectives in Kanban and Scrum

Kanbanobjectives

  • Minimizing the number of tasks in progress and closing tasks  
  • Identification and removal of blockers and bottlenecks  
  • Rapid response to changes at any time  
  • Better insight into workflow

Scrum objectives

  • Delivering working functionality in short periods of time  
  • Continuous development and improvement of the product  
  • Responding flexibly to changes within a given sprint  
  • Inspection and improvement of processes 

What is Kanban?

Kanban (from the Japanese Kàn, “sign,” and Bǎn, “board”), is an agile methodology to bring chaos under control and fish out what’s important. Kanban originated as early as the 1950s in Toyota’s Japanese factories to visually manage process flow. 

Managers managing projects and teams in today’s software development companies often use Kanban because it allows them to see at a glance what stage the process is at, what tasks are currently being performed and where modifications are needed to improve software development. The idea behind Kanban is to ensure a stable flow of activities throughout the process and avoid turbulence. 

The order in which tasks are performed in Kanban

Instead of starting more tasks and jumping between different activities, the team first closes one task and then starts working on the next one, so as to minimize the number of tasks with a “pending” status. 

Visualization of tasks in Kanban 

Kanban uses the potential of visualization. The Kanban board can show all tasks with work statuses (planned, in progress, done) and track workflow. You also gain a real-time view of the tasks that other team members are currently working on. 

The Kanban board is used to manage the entire orders related to a project, rather than dividing them into batches. As a result, the team does not need to estimate the time for their completion. Instead, it allows you to divide all the work into specific tasks, such as the most recently added order, with a time limit set for it. In this way, the team’s workload at a given time and its flow can be controlled. 

When to use Kanban? 

Kanban works well in small teams that work on projects that run dynamically and when the team needs to work very flexibly. If projects experience downtime and drop in efficiency, Kanban boards will help track down and remove blockers and streamline work, which involves the entire team. 

Use Kanban when: 

  • it is difficult to point to a specific product  
  • it is impossible to predict how many customers and what kind of inquiries they will turn to  
  • the work does not require a team that interacts with each other, because tasks can be performed individually under the supervision of a person who takes care of the proper workflow  
  • each member of the team is aware of the principles, rules of the process and guidelines of the method  
  • change can happen at any time 

What is Scrum?

Scrum is a simplified procedural framework that helps bring under control the complexity of processes that arise in product development.  Scrum works best when working on complex problems, where the scope of activities is not entirely predictable and it is difficult to make an implementation plan at the beginning of a project. Therefore, Scrum implies continuous inspection and adaptation in short time frames. 

Scrum builds on iteration – the recurrence of sprints and increments – the systematic expansion of previous work outputs and verification that all previous increments match. 

​​​Team in Scrum

In Scrum, the basic cell is a small team that includes the product owner, Scrum master, and developers. The scrum team is not divided into sub-teams and there is no hierarchy – each member is equally responsible for the work of the entire team. Developers are not only programmers but also other specialists whose presence is necessary to complete the planned work, such as UX designers, business analysts, etc. 

Experience suggests that a scrum team should not exceed 10 people – only then is the best agile work achieved and better communication and synergy built. If the team is more numerous, it is worth dividing it into two smaller ones – with the same product owner, backlog, and product goal. 

The scrum teams themselves decide who, when, and how they will do certain work and they are responsible for the useful increment (increment) created during each sprint, which is most often a working component of the application. 

Developers

These are the people required to produce every aspect of a useful increment during a sprint. Developers are responsible for, among other things, creating the sprint backlog, ensuring quality according to the definition of ready, and supporting, assisting, and enforcing accountability for each other’s work. 

Product Owner 

He is responsible for maximizing the business value of the product the scrum team is working on. The product owner is not and cannot be a supervisor or manager of the team. He is a member of the scrum team with equal rights and responsibilities, such as prioritizing the backlog, creating new elements (tasks) of the backlog, and clarifying and refining them.     

Scrum Master  

He is responsible for the efficiency of the scrum team and for ensuring that Scrum is applied according to the rules.  

The scrum master supports the team, among others by: 

  • Removing blockers and obstacles encountered by the team.  
  • Making sure scrum meetings take place, the team knows their purpose.  
  • Helping with the flow of meetings and facilitation. 

The scrum master helps the product owner, among others by: 

  • Finding ways to effectively manage the backlog.  
  • Understanding and introducing an empirical approach to working in an agile environment.  
  • Collaborating with stakeholders when needed or requested. 

Events in Scrum

Scrum includes several specific events (meetings) – sprint, sprint planning, daily scrum, sprint retrospective. The purpose of the events is to create a transparent working environment, an opportunity to inspect and introduce adaptations. 

Sprint (iteration) 

Each sprint can be considered a separate project, at the end of which the results of the work achieved are presented. Cycles, or sprints, are like Legos, where each successive one contributes to the achievement of a product goal, such as building a useful web application. 

Iterations are used to minimize the cost of mistakes. Although we often assume that we understand each other, this is not always the case. Therefore, at least once per iteration, we seek verification from people outside the team (such as users, stakeholders, etc.) to confirm the direction of the product. The aim of this verification is not to showcase completed work or to provide a checklist of proven features, but to ensure that the product is being developed in the right direction and to adjust the plan for the next iteration accordingly. 

Sprint planning

It is the first meeting of the sprint, during which the entire team determines and decides what is to be done in the upcoming sprint. 

Daily scrum

A short daily meeting for developers. During it, developers show progress towards the sprint goal and create a plan for the upcoming workday. 

Sprint review

A meeting where the scrum team presents to stakeholders the results of the work done during the last sprint, and discusses future changes. 

Sprint retrospective

The last event in a sprint is to improve the quality, efficiency, and organization of better cooperation of the development team during the sprint. The sprint retrospective focuses on the people, processes, and interactions, how they went, and improving their correlation and functioning. 

Definition of ready and definition of done 

When working in agile frameworks, we can come across the phrasesdefinition of ready” and “definition of done“. These are very helpful elements and good practices. They clearly define (measure) whether we are ready to include a task in the sprint backlog and whether the task meets all the established and required criteria needed to say that the task is completed. 

Definiton of ready (examples): 

  • The task is properly described (has an objective, scope, and criteria for completion).  
  • The task is understood by all team members.
  • The task is estimated and is small enough that the team can complete it within a single iteration (e.g., a two-week sprint).
  • The task has no open and known dependencies to other tasks.

Definition of done (examples):

  • The code was created based on technological guidelines and internal project guidelines. 
  • Unit tests have been created, and the result of the unit tests is positive 
  • The code has been reviewed by someone other than the author (code review).  
  • Acceptance criteria have been met.  
  • The functionality is already tested and the test results are already documented 
  • The newly created functionality has no open bugs. 

Product backlog 

It is a collection of all the tasks that a team or several teams work on simultaneously. It takes the form of a prioritized list that specifies what needs to be done to get the product. Each task in the backlog includes a list of customer requirements (user story), technical tasks, defects, etc.  

The person responsible for the product backlog is the product owner – he is the one who translates customer requirements into individual tasks and determines priorities. Other team members also have access to the product backlog, can support and also develop tasks. 

When to useScrum?​

Scrum works well for project teams of no more than 10 people that produce a product or deliver a service. Since Scrum involves continuous improvement of the product being developed, such as software, this methodology works best when team members are looking for ways to improve the quality of the solution being delivered, and the specification is known and provided by the business (product owner). It will also work well for teams that depend on continuous communication, which is facilitated by scrum meetings. 

Kanban vs Scrum – a comparison ​​​​

Software development projects need to run dynamically, and with the capabilities provided by the Scrum and Kanban frameworks, the development team can operate more efficiently. 

Achieve more by joining the #Edge1Team! Check out our job openings and apply!

Leave a Reply

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