Agile Methodology
Agile is an iterative and incremental approach to Software Development and Project Management that helps teams deliver value to their customers faster and with fewer headaches. Instead of a single, massive launch, an Agile team delivers work in small, consumable increments. Requirements, plans, and results are evaluated continuously so teams have a natural mechanism for responding to change quickly.
The Core Values
The foundation of this methodology is the Agile Manifesto, drafted in 2001 by seventeen software developers. It emphasizes four core values: individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan. You can read the original text at the Agile Manifesto official site.
Popular Frameworks
Several frameworks implement the principles of Agile, with Scrum being the most widely used. Scrum organizes work into fixed-length iterations called Sprints. Another popular method is Kanban, which focuses on visualizing work and limiting work-in-progress to improve Workflow. For teams focusing on technical excellence, Extreme Programming (XP) provides specific practices like pair programming and test-driven development. These frameworks are detailed further by the Agile Alliance.
Roles and Artifacts
In a typical Agile environment, roles such as the Product Owner and Scrum Master are essential for maintaining the Product Backlog and facilitating team success. Requirements are often captured as User Stories, which describe features from the end-user's perspective. For more information on professional standards, visit Scrum.org.