What is Scrum? A quick look
Scrum is an iterative process through which you work on small chunks of your work for set periods of time. These timeboxes, called sprints, should result in a functioning piece of software, no matter how small it is. The team estimates how much it can take on in the next sprint, and then once the sprint begins, they aren't allowed to add any new requirements. Scrum teams follow an inspect-and-adapt approach. This means they improve continuously, taking lessons from their previous sprints.
Roles in Scrum
There are three roles in a Scrum team. A Scrum Master, Product Owner, and the development team. A Scrum Master acts as the agile coach for the team and also bridges the gap between the development team and the Product Owner. They are responsible of getting rid of any impediments the team may face. The Product Owner is a key stakeholder who has a vision for the product. They must have a sound understanding of the market, the end user, and the business. The development team is made up of all the developers who work on the product.
The Scrum process
It all starts with the "backlog," a list of specifications from the client or end users. Using input from all the stakeholders (anyone who has an interest in the results of your project), all the requirements are entered into the backlog as user stories. Each story is then broken down into tasks required to achieve the goal. These tasks are then prioritized and their required efforts estimated to gauge how much can be taken on in the next sprint—a time period of two to four weeks. At the end of the sprint, you should have a working component. Whether it's a feature, an enhancement, or a UI revamp, it should be an independently functioning component.
Scrum places a lot of emphasis on face-to-face communication, so meetings are a vital part of the process. With team roles, meetings, and some rules, Scrum is a methodical process which promises frequent delivery and shorter time spent from production to the market.
If you're looking to dive deeper into Scrum, take a look at our pages and Scrum software.
What is Kanban? A quick look
Kanban is a system of visualizing work to be done and limiting the work in progress to achieve higher levels of productivity. It is based on the Japanese philosophy of Kaizen, the idea that small continual changes result in a substantial improvement over time. Kanban's work-in-progress principle ensures teams don't get overburdened and focus is retained on the quality of the work.
A typical Kanban board consists of three columns, "To do," "Doing," and "Done." A Kanban card contains all the essential details of a work item like the title, description, and assignee. Each column on the board has a work-in-progress limit, depending on the team's capacity and the nature of their work.
Kanban teams believe in continual delivery. Since they don't work with time-boxes, the metric they use to monitor their rate of progress is the total time a work item takes to go from "To do" to "Done." This flow-based method works primarily to prevent capacity overload and to ensure quality.
If you find Kanban interesting, you can learn more about it on our page on the Kanban process.
How are Kanban and Scrum similar?
Both Kanban and Scrum are essentially agile frameworks. Though they have different practices, you'll find they revolve around the same principles, such as adapting to change, constantly improving, and optimizing the process. Both of these frameworks also emphasize transparency within the team.
The difference between Scrum and Kanban
While both frameworks are based on agile principles and have similarities, they also have very distinct differences. With ceremonies, artifacts, and time boxes, Scrum is a lot more prescriptive than Kanban.
- SchedulingTeams work in timeboxes of 2-4 weeks called sprints.Teams don't have time restrictions. They take on work as and when they come, depending on their capacity.
- PlanningUser stories are estimated and divided into smaller tasks at the start of the sprint.Just-in-time planning, instead of planning for a bigger time period.
- Work BoardThe Scrum board is reset after each sprint. The number of tasks is decided before the start of the sprint. The team is not allowed to take on new items during the sprint.There is one continuous board. For each status column, there is a work-in-progress limit. The maximum number of work items under that column cannot exceed this number.
- CommitmentCommitments are made based on previous sprints.Commitment is based on capacity. They only take up new work items if it's within their WIP limit.
- MeetingsTeams hold several types of mandatory meetings: sprint plannings, daily tand-ups, sprint reviews, and sprint retrospectives.No mandatory meetings
- RolesTeams require three roles: Scrum master, Product Owner and the development teamRecommended but not mandatory roles: Service Delivery Manager & Service Request Manager
Looking for something in the middle? Scrumban could work for you
Each team is different in its own way. There are many factors which could decide the way a team works best: the nature of their work, their organizational culture, and the people they have in their team. While both these frameworks have proven to be effective in their own ways, there are several teams who wouldn't prefer either.
If neither Scrum nor Kanban is working for your team, Scrumban—which combines the structure of Scrum and the flexibility of Kanban—could be the right choice for you.
Something to keep in mind: it's an exercise in itself to figure out if a particular framework is working out for your team. If you're trying something out, make sure you stick with it for a few sprints or maybe a month, track your progress, and talk to your team members to learn about their experiences. It often takes time before you start to see the effect of some new practices or for your team to transition to a new way of working completely.
The framework you choose decides your team's practices, and those directly contribute to your team's productivity. Make sure you choose the right one.