Kanban is a method for managing knowledge work with an emphasis on
just-in-time delivery while not overloading the team members. In this approach, the process, from definition of a task to its delivery to the customer, is displayed for participants to see, team members pull work from a queue.
Extreme programming (XP) is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements. As a type of agile software development, it advocates frequent “releases” in short development cycles, which is intended to improve productivity and introduce checkpoints at which new customer requirements can be adopted.
Scrum is an iterative and incremental agile software development methodology for managing product development.
It defines “a flexible product development strategy where a development team works as a unit to reach a common goal”, challenges assumptions of the “traditional, sequential approach” to product development, and enables teams to self-organize by encouraging physical co-location or
close online collaboration of all team members, as well as daily face-to-face communication among all team members and disciplines in the project.
What Is Agile?
Agile is when a small team of five to seven people works together on a ranked product backlog to deliver a finished, releasable product. A client has ideas about what he wants to produce, those ideas get funneled to a responsible person. That person might be the product owner. That person creates a ranked product backlog that the cross-functional team takes.The team, which has all the roles it requires, works off the backlog and creates features, producing shippable product on a regular basis.