Kanban is a lean methodology originally used in Toyota's production system to visualize workflow and limit work-in-progress. It has since been adapted for software development to optimize flow and delivery of value to customers. The core Kanban practices include visualizing the workflow, limiting work-in-progress, managing flow, making process policies explicit, and improving collaboratively. Implementing Kanban for software development can provide advantages like increased teamwork, collaboration, and continuous process improvement through a kaizen culture.