Agile SDLC models, follows an iterative methodolog
What is an iterative process?
- The team initiates software development with a limited subset of requirements, as indicated by the iterative process.
- Essentially, iterate over that version until the entire software is prepared for production.
- Additionally, that component is being implemented on the client's end.
- The client is providing feedback.
- After receiving feedback, you will determine whether or not to implement modifications, to it or we are content with it.
- This continues to occur with each iteration.
- So iterative basically is nothing but it's number of weeks, iteration one, iteration two, and iteration three.
- We will do planning, design, testing, and building of the project, with the exception of the deployment.
So more and more and less, It's looks like waterfall model okay. but the only difference is we are not taking all the requirement at once. We are doing things in iterations.
iterations are nothing but weeks. Number of weeks two weeks, three weeks, four weeks, six weeks. Depending upon how much, how much iterate. How much time will it require to finish that minor portion of your software?
Agile follows to a top-down approach, similar to the waterfall model. The software project is divided into a variety of sprints or iterations. In agile methodology the appropriate term is iterations, not sprint.
Each iteration has phases are analogous to those of a waterfall model, including requirement gathering, design, and development. testing and maintenance. The average duration of each iteration is 2 to 8 weeks.
Benefit of Agile
- focus on High priority feature
- Regular customer feedback on application performance
- Application improvisation post feedback
- Repeat the entire process for the desired software quality
Drawbacks
- Overreliance on client feedback could cause scope creep. Each time a client gives you feedback, you go back, making modifications. Thus, overreliance on clients can affect scope, and when scope changes, It will take longer and cost more.
For all the mid scale and the large scale project, using agile methodology is preferred.
Key Agile Methodology
- Scrum
- Extreme Programming (XP)
- Adaptive software development (ASD)
- Dynamic software development method (DSDM)
- Feature Driver Development (FDD)
- Kanban
- Behavioral Driven Development (BDD)