In our previous post, we learned what the Agile methodology is and how you can apply it to your team environment. We quickly mentioned two words (Kanban & Scrum) that are a part of the Agile process and drive the progression of a workflow. Today, we will introduce Kanban and Scrum in greater detail and walk you through each framework.
Let’s start with Kanban…
Kanban is a framework for managing and improving the workflow within a system. Kanban is the combination of two Japanese words, Kan (“sign”) and Ban (“a board”). In Kanban, user stories are represented as cards on a board with columns that distinguish the different stages of the development process. For our team at Oak City Labs, our user stories represent each task that must be completed for each software feature. The cards are filtered through the Kanban board, starting in the “Backlog” column and working their way through “To Do”, “In Progress”, “Testing”, and “Complete”. See an example Kanban board below:
Traditionally in Kanban, each column limits the number of user stories that can exist at one time, which helps prevent work from piling up in one stage of the process. This also encourages teams to limit their work in progress (WIP) and prioritize the most important items. By visualizing the flow of work, teams can identify blockers that prevent tasks from being completed, they can remove waste, and optimize their performance.
Now let’s talk about Scrum…
Scum is another Agile framework for managing and completing complex projects. It was originally created for software development, but it can also be applied to several other project types.
Scrum commits its teams to complete an increment of work through sprints that vary in length, most sprints lasting between two and four weeks. The goal is to create learning loops to quickly gather and integrate feedback from both the team and the stakeholders. At the beginning of each sprint, the team holds a planning session to define the sprint goal and to identify the work items that will be addressed during that sprint. The team then works on those items during the sprint, holding daily stand-up meetings to check progress, identify, and resolve any issues that arise.
There are three main roles in Scrum:
- The Product Owner who works with stakeholders or clients to create the vision of the product that will be conveyed to the team.
- The Scrum Master who usually serves as a project manager to oversee planning sessions and daily stand-ups, and removes blockers that prevent tasks from being completed.
- The development team who creates, tests, and deploys the product to the client.
At the end of the sprint, the team holds a sprint review to demo the work that was completed during the sprint and to receive feedback from stakeholders. The team also holds a sprint retrospective meeting to reflect and identify areas for improvement in the next sprint.
Scrum provides a framework for teams to collaborate and deliver value to customers in a transparent and flexible way. It encourages teams to work in an interactive and incremental way, to prioritize work based on customer value, and to continuously improve their processes.
The flexibility offered by both Kanban and Scrum offers advantages to teams who want to adopt various aspects of each framework and incorporate them into their workflow. Each team and project has unique requirements and working styles. Kanban and Scrum allow teams to harness their strengths resulting in a more efficient and adaptable process, ultimately leading to better project outcomes.
Are you ready to take your software solution to the next level? Schedule a call with us today.