Scrum and Kanban are not necessarily that much different, provided that Kanban usually builds on the top of an existing framework, which is generally Scrum. If, however, we really want to compare the two methodologies, the final conclusion is: Kanban is less prescriptive, Scrum is more prescriptive.
Kanban, according to the inventor, David Andersson (http://www.djaa.com/principles-kanban-method-0), defines five principles:
- Visualize workflow: usually, a Kanban board is a physical one, with index cards attached on it, where a card represents a task to do. This has to be visible to everyone so nobody will forget about updating the board, and it is generally easy to see the snapshot of the progress.
- Limit WIP: every single column has to be limited, so the burden is less. Limited WIP will makes sure the team is focused on a small number of tasks. It also makes sure the tasks will be pulled through the board as soon as possible, otherwise leftover cards can block the whole system.
- Manage flow: index cards travel one direction only: from left to right. Tasks are never moved backward, as that would be considered wasted work, which is a thing to be eliminated in Kanban.
- Make rules explicit: All the team rules have to be attached somewhere on the board, so nobody breaks them, and it is clear to everyone.
- Improve collaboratively: come together and improve the process as a team.
Scrum is more prescriptive than this: it prescribes roles, meetings, and artifacts. As can be seen from the list above, Kanban does not have any roles or meetings defined. It does not prohibit roles, meetings or artifacts, it allows everything that makes productivity greater. Kanban focuses on small numbers of tasks pulled through the board as soon as possible, without any kind of ceremony (in a very pure Kanban system).
Scum dictates the presence of a burn down chart in order to measure velocity. Kanban does not prescribe any such means of measurement, but it usually measures lead time (medium time for tasks to travel through the system) and cumulative flow diagrams (one diagram that captures the sequence of system snapshots until the current day).
Scrum prescribes meetings such daily scrum, retrospective meeting, demos, sprint plannings, etc. In Kanban, there are no compulsory meetings, but since Kanban usually is built atop Scrum, it may borrow most or all of these meetings.
Scrum believes in the presence of sprints, which is considered the unit of time. Kanban can be seen as holding mini-sprints of one day. Because of that, Kanban is more flexible and can adapt better, as such teams can focus on the most important items all the time. Scrum teams have to wait two weeks to change direction, which, at times can be too long – for example in the case of fixing critical bugs.
Scrum boards usually are erased and reset at the end of each iteration, while Kanban board is a continuous entity, which rarely needs erasures.