Agile is the most popular adaptive software development (SDLC) methodology.
Agile is not a tool.
Agile consists a set of values and principles to deliver a project.
Agile philosophy is "Build short, Build often".
Agile took the advantages from the different process models.
Project is divided into the chunks or sprints.
Each sprint has own user stories i.e requirements and SDLC
- Demo etc..
Agile requires skilled and smart resources.
Every team player is important in Agile.
SCRUM, Kanban follow the Agile methodologies.
Agile ManifestoWe 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
Here I show you some advantages of Agile Development Process:
- Customer satisfaction: The involvement of customer is very high in every sprints. He knows what is going on (Transparency). Each sprint has demo so customer is fully aware of his project deliverable and have a control what is being delivered. Burn-up (how much work has done) and burn-down (how much work remains) charts are used to measure the project progress.
- Tolerance for changes: Agile methodology always welcome the changes as opposite to waterfall methodology.
- Deliver in short time: The development of product is iteratively and incrementally. So, its satisfy the customer.
- Highly collaboration of stakeholders: Agile methodology has advantages of team spirit. The frequency of collaboration between business people and developers are very high.
- Supportable for developer: Highly supportable for developer.
- Short documentation: This is the beauty of AGILE.
- Time bound: Each sprint length should be a week or less, but it depends on the project.
- Best for: small and complex projects.
- Testing included: Each sprint has test phase. Agile has Test Driven Development (TDD) environment. Test-driven development (TDD) is a development technique where you must first write a test that fails before you write new functional code.
- Everything should be transparent and open: It is Scrum master duty to keep the transparency.
Take a look at my article about SCRUM.
Take a look at my article about SQA.