Let’s learn about Agile Manifesto
Most of the people are talking about the word called “Agile” with software development. Let’s learn about Agile Manifesto in software development.
What is Agile?
Agile is not a specific methodology it is a software development framework. Agile manifesto was written in 2001, but Agile methodologies have been used since the 1990s. The agile manifesto has a set of values and principles by focusing highly iterative cycles, constant feedback, short timelines, frequent software releases and prioritization of the delivered software functionality. The purpose of the agile manifesto is “We are uncovering better ways of developing software by doing it and helping others do it.”
The agile manifesto includes four main value.
“Individuals and interactions over processes and tools.”
“Working software over comprehensive documentation.”
“Customer collaboration over contract negotiation.”
“Responding to change over following a plan”
There are twelve principles that support the values presented above were defined.
(1) Agile is given highest priority to satisfy their customers by providing valuable product to the customer through early and continuous delivery.
(2) Agile has embraced requirements changes, even late in development.
(3) Agile is tried to deliver working software functions frequently.
(4)The system developer and the business people are work together, sharing their knowledge with each other to build a more effective and competitive product.
(5) The development team and others who involved the development are trusted and give support them to get their maximum to the project and people are motivated by Agile
(6) Agile highly focus on the face-to-face communication because face-to-face communication is the best way to communicate and share ideas with each other.
(7) Agile measures the progress of the process and the system using the working software.
(8) Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
(9) Agility is enhanced by continuous attention to technical excellence and good design of the system.
(10)Agile is mainly focused on the simplicity of the development process.
(11) Self-organizing teams are motivated by Agile development because best designs, architectures, and requirements analyzing come from self-organizing teams.
(12) At regular intervals team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.
Characteristics of the Agile
Agile is people-oriented it means Agile always focuses on customers, developers, end-users and stakeholders as the important factor of the development.
Adaptive: Agile process is not afraid of change it welcomes to changes even in the late stages of the development process.
Conformance to Actual : Agile values conformance to actual results not conformance to detailed plans.
Balancing Flexibility and Planning: Plans are very important, but the problem is that software projects cannot be accurately predicted in the future, because there is a lot of variables should have taken into account.
Empirical Process: Agile develops the software as a non-linear method, the development process not planned in advance.
Decentralized Approach: Agile development has decentralized decision-making system to the developers, this not means developers become to act as a manager but management of the development process gets the idea about the process the expertise in the technical team.
Simplicity: Agile teams always choose the simplest path that is consistent with their goals because the simplicity development process can be changed easily.
Collaboration: Agile team highly consider the customer feedback, therefore, development team highly collaborate with the customers.
Small-Self-Organizing teams: Agile manifesto always motivated small-self-organizing teams because of the easiness of face-to-face effective communication.
Thank you very much for reading this, I think you got some idea about Agile methodology, values, principle and characteristics.
- “Classification and Comparison of Agile Methods — IEEE Conference Publication”, Ieeexplore.ieee.org, 2018. [Online]. Available: http://ieeexplore.ieee.org/document/5655659/.
- “Agile methodology for spacecraft ground software development: A cultural shift — IEEE Conference Publication”, Ieeexplore.ieee.org, 2018. [Online]. Available: https://ieeexplore.ieee.org/document/7943886/.