Software Development (Agile)
Agile methodologies are product development approaches that adhere to the values and principles outlined in the Agile Manifesto for software development. Agile methodologies aim to deliver the right product by delivering small chunks of functionality incrementally and frequently through small cross-functional self-organizing teams, allowing for frequent customer feedback and course correction as needed.
In doing so, Agile seeks to address the issues raised by traditional "waterfall" approaches to delivering large products over long periods of time, during which customer requirements frequently changed, resulting in the delivery of incorrect products.
Agile has become a catch-all term for a variety of planning, management, and technical methods and processes for iteratively managing projects, developing software, and other products and services. Scrum is by far the most common and popular method for software development, followed by XP (eXtreme Programming or Paired Programming) and, more recently, Kanban.
Agile methods also include technical practices, the majority of which fall under the umbrella term DevOps, which enable Test Automation, Continuous Integration/ Continuous Delivery/ Deployment (CI/ CD), and an ever-shrinking delivery cycle for software and other products and services.