Back in February of 2001, a small group of seventeen software developers met in the high elevations of Snowbird, Utah to discuss software development methodologies. Out of this assemblage emerged the Manifesto for Agile Software Development, a publication that outlined the group's vision for lightweight software development, and which would go on to dramatically shape the landscape of modern software development for years to come, up to the present day.
From the four fundamental values this group of developers set forth emerged one of the most widely adopted software development methodologies in modern history - agile model. At its core, the agile model emphasizes the need for every project to be handled differently, based on the individual needs of the project, the schedule, and the team behind it. Unlike other SDLC models, Agile focuses less on specific requirements or guidelines, and far more on abstraction of these best practices to allow for greater flexibility, or agility, during the development process.
Throughout this article we'll dive deep into what the agile model is, the values and principles that make up the core structure, and the overall advantages and disadvantages of utilizing it during modern software development life cycles.
Some more specific takes on SDLC include:
|Rapid Application Development||Test-Driven Development||Waterfall Model|
|Iterative Model||Extreme Programming||Scaled Agile Framework|
|Software Development Life Cycle||Scrum||Rational Unified Process|
|Big Bang Model||V-Model||Conceptual Model|
|Kaizen Model||Kanban Model||Spiral Model|
Within the original Manifesto for Agile Software Development the authors focused on four fundamental, core values that underpin solid software development.
As further outlined in the Manifesto, the agile model is described using twelve key principles, atop which the development life cycle should take place.