Agile is a flexible and iterative approach to software development that emphasizes collaboration, customer feedback, and rapid delivery.
Key principles include:
- Delivering working software frequently.
- Adapting to changing requirements.
- Collaborating closely with customers and stakeholders.
Popular Agile methodologies:
- Scrum: Uses sprints (short development cycles) and daily stand-up meetings to manage progress.
- Kanban: Focuses on visualizing work, limiting work in progress, and improving flow.
- Extreme Programming (XP): Emphasizes coding standards, continuous testing, and frequent releases.
Advantages: Highly adaptable, promotes teamwork, and delivers value early.
Disadvantages: Requires active user involvement and may lack documentation.