Agile software development is a process that supports the agile philosophy of being able to move quickly and easily. It is suitable for small or medium sized projects or for custom system development within an organization. Lean software development applies lean manufacturing principles to software development with the goal of reducing waste and providing high value for the customer. The key principles of lean software development are to eliminate waste, amplify learning, defer commitment, deliver fast, respect people, build in integrity, and optimize the whole system rather than sub-optimizing parts. Success stories found lean software development resulted in on time delivery, reduced scrap and rework, lower costs, and improved productivity.