Digitization has changed the course of life and technology is still advancing bringing in many drastic changes in the day to day life. More and more software applications are being developed almost every day to perform complex functions and thus making life easier. Regular up gradation of technology is a feature related to the IT sector.
In 2001, a team of 17 software developers met at Snowbird Resort in Utah to discuss more sophisticated and lightweight methods for software development. Agile Manifesto for Software development was the outcome of their meeting.
Twelve Principles of Agile Manifesto
- Customer Satisfaction: – Utmost priority should be given to customer satisfaction. All the customer requirements should be met with the early and continuous delivery of valuable software.
- Positive Attitude towards Changes: – Requirements may keep changing and there should be a positive attitude towards the changes. The changes should be incorporated even if they come at a later stage.
- A Working Software should be Delivered: – A working software should be delivered frequently in regular periods ranging from a week to a month.
- Collaboration and Cooperation: – Both the business people and the developers should work together as a team during the entire life of the project.
- The motivation of the Team: – The team members should be motivated and a good rapport should be developed between them.
- Promote face to face conversation: – Face to face conversation is the best method of communication and a healthy communication always supports the fast completion of the project.
- Measure the project as per the working software: – Working software is the key and the primary measure of success.
- Maintain Constant Speed: – Agile method of development is aimed at sustainable development and hence all the team members should maintain a constant speed.
- Monitoring: – Regular monitoring of quality and technical excellence will help to complete the project at the earliest.
- Simplicity: – Keep things as simple as possible and use simple terms to measure the unfinished work.
- Self-Organized Teams: – The Agile team should be self-organized and should not depend on other teams.
- Regular Review of Work Done: – The completed work should be reviewed regularly. This will help the team to be more effective.
Some of the major characteristics of Agile method of software development is as follows
- Iterative or incremental and ready to evolve
- Face to face communication
- Feedback loop