Agile software development methodology is a process for developing software. This is a model where the software is developed in rapid and incremental mode. This is an alternative to traditional software development.
The importance is given to the working software than the documentation. Every iteration ends in a working software which is a business value to the customer.
The Agile Manifesto
In February 2001, 17 software developers met at the Snowbird resort in Utah to discuss lightweight development methods. They published the Manifesto for Agile Software Development, in which they said that by “uncovering better ways of developing software by doing it and helping others do it,” they have come to value Individuals and interactions over Processes and tools, Working software over Comprehensive documentation, Customer collaboration over Contract negotiation, and Responding to change over Following a plan.
Individuals and interactions: self-organization and motivation are important, as are interactions like co-location and pair programming.
Working software: working software adds more value to the client than the presenting documents.
Customer collaboration: requirements keep changing and the client is not totally aware of the requirements early in the development, therefore continuous customer or stakeholder involvement is very important.
Responding to change: agile methods are focused on quick responses to change and continuous development.
Agile principles
The Agile Manifesto is based on twelve principles
- Deliver the working software early achieving customer satisfaction.
- Requirements change. Welcome them even in if it is late in the development.
- Deliver the working software frequently and iteratively.
- Close Collaboration between the business and the development daily
- Motivating the team by trusting motivated individuals.
- Face to face communication. Can be achieved by Co-location.
- Working software is the main goal and the measure of success.
- Team should maintain constant pace which is sustainable.
- Achieve it by continuous technical excellence and good design
- Keep the design and work simple.
- Good design, architecture are characters of self-organizing teams.
- Reflect regularly and identify any scope for improvement.
The advantages of agile development are:
- Customer satisfaction as customer gets to see the working model at intermittent stages.
- Good team work as there is more importance given to face to face communication. Both business and developers must work together daily during the project.
- Adapt to change. There is scope for continuous technical improvement and excellence. Self-organized teams would come up with good design, good architecture.
- Quick development and testing helps to recognize the gaps existing in either requirements or technology used
- If the client is unclear of the requirements, agile provides an opportunity to tune their requirements iteratively. The change requests can be accommodated easily.
- Very minimal planning required in the beginning of the project as the requirements are prone to change.
- Continuous improvement in the way team is working to make it for effective, regular reflections on the way the work is done.
- Team learns to respond to unpredictability in a very efficient way.
- One can assess where the project is heading. Every aspect of development like coding, design, requirements etc. is continuously revisited throughout the life cycle.
- Provides visibility on the progress at any given point in time.
If you aspire to become a successful agile professional why not as a certified agile practitioner? At Whizlabs we have leveraged complete guidance through our PMI-ACP online course and practice test. These practice test series also helps to face many critical agile interview questions as these are designed in more elaborate and in-depth way.
Join us and achieve the best benefits towards the success goal of your career!
- What are Scrum roles and why it’s needed? - August 12, 2017
- Stakeholder Analysis – Is it required? - July 28, 2017
- Project Manager – An integrator, how? - July 28, 2017
- Different PMI Certifications – Which one to choose? - July 28, 2017
- What is the importance of Change Management in Project Management? - June 23, 2017
- What’s important to know to build a career in Agile? - June 23, 2017
- Agile Basics, Manifesto & Principles - June 23, 2017
- Scrum – Is it mandatory to learn in today’s IT market? - June 2, 2017