Those who work in the industry, or closely to it, are aware that the art of software development is special and a bit different to other kinds of engineering projects. It requires the care and attention of a team who are adaptable and flexible, and those who are willing to respond quickly to changes and who won’t bat so much as an eyelid to a client’s overnight demands. This is what Agile methodology is all about.
Agile methodology definition:
Agile methodology is a type of project management process, mainly used for software development, where demands and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customers.
Stemming from the values and principles of the Agile Manifesto, it was created as a response to the inadequacies of traditional development methods such as the Waterfall method. The software industry is a highly competitive market due to the fact that software is something that can be continuously upgraded. This means that developers need to constantly improve and innovate their products to keep on top of the game — and the linear, sequential approach of the Waterfall method just wasn’t cutting it.
A brief history of Agile software development
In the 1990s, software development faced a bit of a crisis. Referred to as ‘the application development crisis’ or ‘application delivery lag’, the industry realized that it couldn’t move fast enough to meet customer demands and requirements — the estimated time between a business need and actual application was about three years. See, traditional development models were based on a timeline approach, where development happened sequentially and the final product wasn’t revealed to customers until the very final step. This left little room for flexibility when it came to progress reviews and changes. So, by the time an actual application was finished, it was highly likely that requirements and systems of the project’s original objectives had changed.
With money and efforts wasted, and even some projects cancelled halfway through, professional leaders of the software community thought it was time for a new, refreshed approach. Then in 2001, in a snowy, ski lodge in Utah, gathered 13 individuals. Some of whom were already entertaining the idea of a new software development method. They all yearned to cement a process that legitimized what was being practiced, and so, came the creation of the Agile Manifesto.
What is the Agile Manifesto?
The Agile Manifesto is a declaration of the values and principles expressed in Agile methodology. Made up for four foundational values and 12 key principles, it aims to help uncover better ways of developing software by providing a clear and measurable structure that promotes iterative development, team collaboration, and change recognition.
The values and principles of the ‘Manifesto for Agile Software Development’ are:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan