Kanban and Scrum are both frameworks for Agile software development, they both take large, complex tasks and break them down into smaller chunks.
Agile methodology is based on an incremental, iterative approach, so both methodologies work toward continual improvements and optimisation of the process.
Now while both Kanban and Scrum are very adaptive, Scrum is more rigid than Kanban. Scrum has more contraints, whereas Kanban is more flexible. It doesn’t mean that one method is better than the other, but you may wish to assess your organisational culture first and then choose the “right” methodology for your team.
*Scrum requires specific roles whereas Kanban has no required roles.
If you are a freelancer or working in a group of two, probably Kanban (To Do – In Progress – Done) will be a better fit. Scrum requires a cross-functional team to own the Scrum board. In Kanban, teams don’t need to be cross-functional and anyone can own the board.
*Scrum is based on timeboxed iterations. In Kanban you can choose to do these activities on a regular cadence or whenever you need.
*Scrum resists change, whereas Kanban easily accommodates and embraces change. E.g. In Scrum, once the team submitted stories to a sprint, you cannot add additional stories later on. In Kanban, you can add as many as you please (within work in progress limits).
*Scrum requires estimation, whereas Kanban doesn’t.