Glossary / Agile
Agile is a project management and software development approach that emphasizes flexibility, collaboration, and iterative development. It is based on the Agile Manifesto, which values individuals and interactions, working software, customer collaboration, and responding to change. In Agile, projects are divided into small, manageable tasks called user stories. These user stories are prioritized and assigned to a cross-functional team, which includes developers, testers, and other stakeholders. The team works in short iterations, called sprints, typically lasting 1-4 weeks. During each sprint, the team focuses on delivering a working product increment that meets the customer's requirements. They regularly review and adapt their plans based on feedback from the customer and stakeholders. This iterative approach allows for continuous improvement and the ability to respond to changing requirements. Agile also promotes close collaboration and communication within the team and with the customer. Daily stand-up meetings are held to discuss progress, challenges, and plans. Regular demos and retrospectives are conducted to showcase the work done and gather feedback for future iterations. Some popular Agile frameworks include Scrum, Kanban, and Lean. Scrum is the most widely used framework and provides a set of roles, events, and artifacts to guide the development process. Kanban focuses on visualizing and optimizing workflow, while Lean emphasizes eliminating waste and delivering value to the customer. Overall, Agile is a flexible and adaptive approach to project management and software development that promotes collaboration, customer satisfaction, and continuous improvement.