top of page

Scrum vs Kanban - Agile Frameworks

Software development is continuous and intricate. It demands cooperation beyond the capabilities of traditional, inflexible project frameworks.


That's why a group of developers created the Agile Manifesto, a statement of values and principles emphasizing:


  • Individuals and interactions over processes and tools

  • Working software over comprehensive documentation

  • Customer collaboration over contract negotiation

  • Responding to change over following a pre-charted plan


The manifesto prioritizes flexibility, collaboration, and adaptability in software development, aiming to deliver high-quality, effective products. In this article, we'll be comparing two Agile frameworks, Scrum and Kanban, to better understand their principles, practices, and how they can best be applied to your next project.

A blue gradient roadmap with a gear and checkmark
Original artwork by SamDesigning, Vecteezy

New to BearPeak?

- Explore our startup studio

- Learn more about our software studio

What Are Agile Frameworks?

definition: Agile frameworks are processes and guidelines that prioritize flexibility, collaboration, and customer satisfaction.

Since software development teams need to respond quickly (e.g. hanging requirements, market conditions, customer feedback), they intentionally divide the work into small, manageable chunks. This allows for early, continuous delivery and also encourages ongoing feedback. Agile frameworks are designed to be adaptable, collaborative, incremental, and iterative.


These frameworks also emphasize communication through face-to-face and transparent documentation. A need for flexibility stems from human interference, so it's important for everyone to stay connected.


Decisions are based on real-world data and observations rather than assumptions. Teams use metrics, feedback loops, and regular inspections to make informed decisions and adapt their approach accordingly.


Overview of Scrum

definition: Scrum is an agile framework that emphasizes cross-functional teamwork and adaptation.

The term "scrum" originates from rugby, where it refers to a method of restarting play after an infringement. Jeff Sutherland and Ken Schwaber developed Scrum as a software development framework in the early 1990s, and they borrowed the rugby term to match that collaborative, cross-functional team approach.


When Should You Use Scrum?

Cross-Functional Teams

Scrum works well when teams cross-functional teams can commit to delivering a potentially shippable product increment at the end of each sprint. The roles of Scrum (Product Owner, Scrum Master, Development Team) are well-defined and suited for such teams.


Well-Defined Goals

Scrum's fixed-length iterations (sprints) can help focus efforts and provide a structured approach, but do it best when the project has clear objectives.


Due to these characteristics, Scrum is well-suited for software, product, and research development projects.


Scrum Roles and Responsibilities

Product Owner

The Scrum Product Owner (PO) is responsible for defining the product vision, prioritizing requirements, collaborating with stakeholders, and empowering the Scrum Team to deliver high-quality solutions that meet the needs of the business and its customers.


Scrum Master

The Scrum Master facilitates collaboration, removes impediments, promotes Scrum values and practices, and empowers the team to deliver high-quality solutions that meet stakeholder needs.


Development Team

The Development Team is responsible for regularly delivering high-quality product improvements, while continuously improving their processes and collaborating closely with stakeholders.


Scrum Outline

In short, a Scrum project consists of:

  • Determining what needs to be built/improved.

  • Mapping out what steps need to be achieved and how long they'll take.

  • Working on those steps with daily check-ins to track progress.

  • Presenting the finished work.

  • Reviewing what went well and revising the plan for next time.


In more detail, here are the typical steps you would follow in a Scrum project:


1. Project Initiation

  • Identify the need for the scrum project.

  • Establish your objectives and expected outcomes.

  • Create a product vision statement.

  • Form the Scrum team: a Product Owner, a Scrum Master, and Development Team members (we'll get to these roles later on).

  • Conduct initial planning meetings to define the project scope.


2. Product Backlog Creation

  • The Product Owner collaborates with stakeholders to create a prioritized list of features, enhancements, and fixes. This is known as the Product Backlog.

  • Each item in the backlog is expressed as a user story or a clear description of the desired functionality from an end-user perspective.


3. Sprint Planning

The Scrum Team holds a Sprint Planning meeting at the beginning of each sprint.

  • The Product Owner presents the top items from the Product Backlog to the team.

  • The Development Team selects items from the Product Backlog to work on during the sprint, basing their choices on capacity and sprint goal.

  • The team breaks down the selected items into smaller tasks and estimates the effort required to complete them.


4. Sprint Execution

  • The sprint typically lasts 2-4 weeks.

  • Daily Stand-up meetings are held to discuss progress, obstacles, and plans for the day

  • The Development Team works on the tasks identified during Sprint Planning

  • The Product Owner is available to provide clarification on user stories.


5. Sprint Review

At the end of the sprint, the Scrum Team holds a Sprint Review meeting.

  • The Development Team demonstrates the completed work to the Product Owner and stakeholders.

  • Feedback is gathered, and the Product Backlog may be adjusted based on new insights or priority changes.


6. Sprint Retrospective

  • Following the Sprint Review, the team holds a Sprint Retrospective meeting.

  • The team reflects on what went well during the sprint and identifies opportunities for improvement.

  • Action items are defined to address any issues or challenges encountered during the sprint.


7. Repeat

  • The cycle repeats with a new Sprint Planning meeting, and the next sprint begins.

  • The process continues iteratively, with the Scrum Team delivering increments of working software at the end of each sprint until the project goals are achieved.


Throughout the project, transparency, collaboration, and adaptation are the key principles.


Scrum Terms & Definitions

Now that you understand Scrum, let's dive into the specific terms you may hear for parts of the process:


Product Backlog

The prioritized list of features, enhancements, and fixes decided on and written before a sprint begins. It ensures that everyone understands what needs to be done, why, and how it fits into the overall vision.


Sprint Backlog

The sprint backlog breaks down the items selected from the product backlog into smaller, more manageable tasks. Each task is clearly defined and assigned to a team member. This detailed work plan provides transparency and ensures that everyone understands their responsibilities.


Scrum Increment

The sum of all the product backlog items completed during a sprint, plus the increments from all previous sprints. It represents a potentially releasable version of the product that is fully functional and meets the Definition of Done.


Definition of Done (DoD)

This outlines the criteria that must be met for a product backlog item to be considered completed within the sprint.


Sprint Planning

A collaborative meeting involving the entire Scrum team - the Product Owner, Scrum Master, and Development Team. The primary purpose of Sprint Planning is to define what will be delivered in the upcoming sprint and how the work will be accomplished.


Timeboxing

The maximum unit of time allocated to completing an activity. The principle is that setting a strong final deadline encourages a more efficient use of time. Sprint Planning is timeboxed, typically to a maximum of eight hours for a one-month sprint. For shorter sprints, the timebox is adjusted accordingly. This time constraint encourages the team to focus on essential discussions and make efficient decisions.


Daily Standup

The daily standup (or daily Scrum) is a short meeting that takes place every day during a sprint. Its primary purpose is to provide a structured opportunity for the Development Team to discuss progress, synchronize their activities, and identify any obstacles.


The standard format of the daily standup revolves around three questions:

  1. What did you do yesterday?

  2. What will you do today?

  3. Are there any impediments or obstacles in your way?


This is a valuable time to keep the team aligned, identify issues early on, and ensure that everyone is focused on achieving the sprint goal.


Overview of Kanban

definition: Kanban is a framework in which progress is visually represented in stages.

In Japanese, "kanban" (看板) translates to "signboard" or "visual card." The system was initially developed by Taiichi Ohno at Toyota in the 1940s as a way to manage inventory and production flow efficiently.


Kanban uses visual signals, such as cards or a whiteboard, to indicate when and how much work should be done at each stage in the production process.


When Should You Use Kanban?

Continuous Flow of Work

When work items are continuously incoming and outgoing without fixed iterations, Kanban's focus on visualizing and optimizing flow can be more suitable.


Highly Variable Workload

If the team experiences frequent fluctuations or unpredictability, Kanban's flexibility in adjusting without disrupting the flow of work can be beneficial.


Kanban is well-suited for project teams like technical support, content creation, marketing campaigns, and IT operations. All of these manage continuous tickets and can benefit from a focus on flow and visual management.


Kanban Roles & Responsibilities

Kanban Master (or Process Facilitator)

Implements and maintains the Kanban system. They facilitate communication, monitor flow, enforce WIP limits, and continuously improve the process.


Team Members

Execute the Kanban tasks and complete work items according to the priorities set. They collaborate to ensure smooth flow and timely delivery.


Customers

Even though they are likely unaware of their role in the Kanban workflow, customers are a vital component. The customer defines the requirements and priorities of the work that needs to be done. They may also provide feedback.


Kanban Outline

Here's a hypothetical project in Kanban. For this example, the team is managing a content creation pipeline for a marketing campaign.


1. Setup

  • A Kanban board is created with columns representing different stages of the process (e.g., To Do, In Progress, Review, Published).

  • Each column contains cards representing individual content tasks.


2. Work In Progress (WIP) Limits

  • WIP limits are set for each column to ensure that the team doesn't overload themselves at any stage of the process (e.g., the In Progress column might have a WIP limit of 3 tasks at a time).


3. Daily Standup

  • The team holds a brief daily standup meeting to discuss progress, identify any blockers, and ensure that work is flowing smoothly through the board.


4. Continuous Flow

  • As tasks are completed, they move across the board from left to right, ultimately reaching the "Published" column when they're ready for release.


5. Feedback Loop

  • Throughout the process, stakeholders can provide feedback on the content tasks as they progress through the board, ensuring that the final output meets expectations.


Kanban Terms & Definitions

Work in Progress (WIP) Limits

The number of tasks actively being worked on at any given time within the Kanban system. Keeping WIP limits helps maintain flow and prevent overloading your work. By limiting WIP, your team can focus on completing tasks efficiently, identify bottlenecks more easily, and maintain a smooth flow of work.


Pull System

A method where a new task is only pulled into the system once there’s capacity to handle it. This is based on actual demand, rather than pushing work based on a predefined schedules. It helps ensure efficient use of resources and minimizes the sensation of being overwhelmed by too many tasks.


Lead Time

The duration it takes for a task to move from the moment it is requested until it is completed. This includes all the time spent in various stages of the workflow, such as analysis, development, testing, and deployment. By analyzing lead times, teams can optimize their workflow.


Cycle Time

The duration it takes for a task to be completed once work on it has started. Unlike lead time, cycle time focuses solely on the time spent actively working on the task. By analyzing cycle time, teams can identify bottlenecks, streamline their process, and improve overall productivity.


Scrumban: Combining Elements

The choice between Scrum and Kanban depends on factors such as the team structure, predictability of requirements, and preference for fixed iterations versus continuous flow. Each framework has its strengths and is better suited for different contexts, but you don't necessarily have to pick just one:


1. Start with Scrum

Begin by implementing Scrum as a foundation. Define roles and artifacts such as the Product Backlog, Sprint Backlog, and Burndown Chart. Establish sprint lengths and conduct sprint planning meetings to select items from the backlog for the upcoming sprint.


2. Visualize Work with a Kanban Board

Introduce a Kanban board to visualize the workflow. The board typically consists of columns representing various stages of work (e.g., To Do, In Progress, Review, Done). Tasks or user stories move through these columns as they progress.


3. Limit Work in Progress (WIP)

Implement work-in-progress limits for each column on the Kanban board. WIP limits prevent team members from taking on too many tasks simultaneously, thus helping to maintain focus and improve flow.


4. Continuous Improvement

Emphasize continuous improvement through regular retrospectives. Reflect on what went well, what didn't, and what can be improved. Adjust the process accordingly to address any issues or bottlenecks identified during retrospectives.


5. Flexibility in Sprint Planning

While maintaining the concept of sprints, allow for flexibility in sprint planning. Instead of committing to a fixed set of stories for the entire sprint, consider adding stories dynamically as capacity allows, based on customer priorities and feedback.


6. Prioritize Based on Customer Needs

Prioritize work items based on customer needs and value delivery. This ensures that the team is focusing on the most valuable tasks first, aligning with the principles of both Scrum and Kanban.


7. Embrace Change

Be open to change and adapt the process as needed. Scrumban encourages teams to evolve their practices continuously based on feedback and lessons learned.


8. Metrics and Analytics

Use metrics and analytics to monitor and improve performance. Kanban provides several metrics such as cycle time, lead time, and throughput, which can help identify areas for improvement and measure the team's effectiveness.


9. Collaboration and Communication

Foster collaboration and communication within the team. Encourage transparency and open communication to ensure everyone is aligned and working towards common goals.


By blending elements of Scrum and Kanban, Scrumban offers teams a flexible approach to agile development, allowing you to leverage the best practices from both methodologies while adapting to their specific needs and circumstances.


Implementation Challenges

Here are some potential hurdles and how your team can overcome them.


Resistance to Change

One of the biggest challenges is often resistance to change, both from team members and stakeholders who are accustomed to traditional project management methodologies. It may take time and effort to convince them that an agile approach would be beneficial.


Lack of Understanding

If team members and stakeholders don't fully understand Scrum or Kanban, it can lead to misinterpretation or misuse of the methodology, resulting in inefficiencies and frustration.


Team Dynamics

Agile methodologies rely heavily on self-organizing teams and collaboration. If there are issues with team dynamics, such as lack of trust, communication barriers, or conflicting personalities, it can hinder the effectiveness of agile practices.


Overcommitment

Teams may struggle with overestimating workload abilities during sprint planning, leading to unrealistic expectations and burnout. It’ll be essential to accurately estimate the amount of work that can be completed within a sprint or certain timeframe.


Addressing these challenges requires commitment, collaboration, and continuous improvement. It's essential for teams to identify and address obstacles as they arise, adapt their practices accordingly, and foster a culture of resilience and learning.


Best Practices for Success

Transparent Communication and Clear Responsibilities

Foster an environment of open communication within the team and with stakeholders. Regularly communicate progress, challenges, and changes to ensure everyone is aligned and informed. Ensure that team members understand their roles and responsibilities within the framework.


Focus on Prioritization

Prioritize work items based on customer needs and business value. Focus on delivering the most valuable features and tasks first to maximize your return on investment.


Regular Feedback Loops

Incorporate regular feedback loops into the process to gather insights from stakeholders and end-users. This could include sprint reviews, demos, user testing, and retrospectives.


Empowerment and Autonomy

Encourage team members to make decisions and take ownership of their work. Empower autonomy and self-organization within the team, allowing individuals to determine the best approach to achieve your goals.


 
It's important for us to disclose the multiple authors of this blog post: The original outline was written by chat.openai, an AI language model. The content was then edited and revised by Lindey Hoak.
"OpenAI (2024). ChatGPT. Retrieved from https://openai.com/api-beta/gpt-3/"

BearPeak Technology Group is a software studio based in Boulder, CO, offering studio, strategy, and staffing services. The startup studio takes ideas from concept to reality. The strategy services range from Fractional CTO mentors to architecture and specialized skillset services. for startups, businesses, and entrepreneurs. The staffing services assist teams in connecting with high-quality software developers. If one of these sounds like the solution for you, get in touch with BearPeak for a free consultation at bearpeak.io/contact.

Comentarios


bottom of page