10 Key Principles of Agile Software Development
Agile software development uses an incremental approach, which is quite different from the waterfall model approach. The entire project sees the requirements and solutions floating across. The agile software development (ASD) used a sample prototype to discuss with the customer. This prototype was the first of its kind suggested by many groups. This helps in understanding the customer requirement, as requirement is the most important phase. Any changes in the first prototype are reflected in the second prototype. A prototype keeps on changing until the customer is fully satisfied. These changes prove to provide a better quality product for the customer. So, this method is considered more efficient in providing a quality product rather than using the traditional or any predictable process. Through the entire development phase the focus is on maintaining a high quality prototype. The Agile Alliance was formed in the year 2001, when a group of people met and discussed the development of agile software. They agreed on several principles to be followed for agile software development. According to Agile alliance:
“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to 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.
That is, while there is value in the items on the right, we value the items on the left more.”
Following is the set of principles that were given.
- Customer satisfaction is the top priority. It can be achieved by delivering quality products continuously.
- Any changes in the later stages of development are welcomed. This is done for the customer’s advantage.
- Software’s should be delivered frequently based on preferences; from a couple of weeks to a couple of months.
- It should bring the business people and developers together throughout the project.
- People who are highly motivated to do the project, should be given the help and support required.
- Have a face-to-face conversation to convey any information within a team.
- Software that is to be delivered should be working.
- The development process should be carried out a considerable pace.
- A good design and technical excellence should be there to enhance the agility.
- Simplicity is essential.
You may also like: Agile Methodology: An Enormous Facelift to Testing