Kanban and Agile are different in several ways, but they are not mutually exclusive. Kanban is a specific method that can be used within any agile framework, such as Scrum, XP, or SAFe, while Agile is a broader philosophy that can be applied to any software development process. When it comes to roles, ceremonies, and artifacts, Kanban does not prescribe any while Agile frameworks usually define specific ones. Additionally, Kanban does not have fixed time-boxes or iterations like Agile frameworks usually do. As far as focus goes, Kanban focuses on the flow of work and minimizing waste while Agile focuses on the value of work and maximizing customer satisfaction. Lastly, Kanban teams measure their performance using metrics such as lead time, cycle time, throughput, or work in progress; meanwhile, Agile teams measure their performance using metrics such as velocity, quality, or customer feedback.