The Agile Methods have emerged as an alternative to the common problems during the development of software using traditional development-oriented plans. The article explains how they came about and what their applicability is.
In the mid-1990s, development models began to emerge against the methods directed to plans, like the model of development called “cascade”.
In traditional models, the focus is greater on analyzing software and project requirements than development and testing. Thus, in a scenario of a small or medium-sized, sudden change of requirements causes change in specification and design, making them return to “zero”, that is, a great rework. In addition, the practical results of the projects in traditional development approaches are only achieved (or not!) In the final stages of the project. This raises the risk of having unpleasant surprises after a long project time and large investments.
Researches such as the Chaos Report (Standish Group) in 1994 found that only 16% of the projects were successful.
The models that began to emerge, such as Extreme Programming and Scrum, began to prioritize the software itself, leaving aside part of the documentation. Attacking the conditions that drove projects to failure, the goal was to deliver the software to the customer in a faster way, so that it already evaluates and shows where you want changes or new requirements.
Agile as an alternative to classic methods
Agile methods have been helping many teams deal with unpredictability within a project through incremental deliveries and iterative cycles. Agile methodologies have become an alternative to traditional methods, also known as heavy or classic methods.
This approach is only possible with some values, such as constant iteration, incremental delivery, customer involvement in development, search for quality and simplicity and unity of the development team. Previously, these methods were called “light” methods, to contrast with the old ones, which were called “heavy” approaches.
The Agile Manifesto
In February 2001, seventeen enthusiastic developers gathered and published the Manifesto for Agile Software Development.
“We are discovering better ways to develop software by doing it ourselves and helping others to do the same.
Through this work, we begin to value:
Individuals and interactions over processes and tools;
Working software over comprehensive documentation;
Customer collaboration over contract negotiation;
Responding to changes over following a plan;
That is, even if there is value in the items on the right, we value the items on the left more.”
Each agile method that exists today carries with it the values and principles rooted in agile manifesto. If you want to discover and understand everything about the manifesto, I suggest that you go to the official page of the Agile Manifesto at this link: http://agilemanifesto.org
The benefits of adopting agile methods in software development
The agile methodologies, in their definition, were created with the purpose of supporting and responding adequately to the volatility of projects where the only constant is change.
The main objective of using agile methodologies is to accelerate the process of software development focused on continuous improvement of the process, adding value with increased communication between the parties involved and the interaction of the development team with organization to achieve the objectives defined with the client avoiding failures in the delivery of the project or new functionalities with interactions Always focused on adding and adding value to the customer’s business.
In general, the use of agile methodologies in the development process means increased productivity with quality in delivery when respected the basis in the agile manifesto without the need for large investment. The best known agile methodologies are Scrum, Extreme Programming (XP), Lean Development and others.
Among these methodologies, Scrum stands out for simplicity and easy adoption. However, this does not define Scrum as the best methodology, it will depend on the project, and especially the customer’s business. These methodologies respect the basis of the agile manifesto beyond the twelve principles of agile software.