Software development life cycle (SDLC) is a phenomenon to design,developand,test high-quality software. The primary aim of SDLC is to produce high-quality software that fulfills the customer requirement within times and cost estimates.
Agile Software Development Life Cycle (SDLC) is the combination of both iterative and incremental process models. It focuses on process adaptability and customer satisfaction by rapid delivery of working software product. Agile SDLC breaks down the product into small incremental builds. These builds are provided into iterations.
In the agile SDLC development process, the customer is able to see the result and understand whether he/she is satisfied with it or not. This is one of the advantages of the agile SDLC model. One of its disadvantages is the absence of defined requirements so, it is difficult to estimate the resources and development cost.
Each iteration of agile SDLC consists of cross-functional teams working on various phases:
- Requirement gathering and analysis
- Design the requirements
- Construction/ iteration
Requirements gathering and analysis
In this phase, you must define the requirements. You should explain business opportunities and plan the time and effort needed to build the project. Based on this information, you can evaluate technical and economic feasibility.
Design the requirements
When you have identified the project, work with stakeholders to define requirements. You can use the user flow diagram or the high-level UML diagram to show the work of new features and show how it will apply to your existing system.
When the team defines the requirements, the work begins. The designers and developers start working on their project. The aims of designers and developers deploy the working product within the estimated time. The product will go into various stages of improvement, so it includes simple, minimal functionality.
In this phase, the team issues a product for the user's work environment.
In this phase, the Quality Assurance team examine the product's performance and look for the bug.
After releasing of the product, the last step is to feedback it. In this step, the team receives feedback about the product and works through the feedback.
Agile SDLC Process Flow
- Concept:Project are imagined and prioritized.
- Inception:Team members are created, funding is put in place, and basic environments and requirements are discussed.
- Iteration/Constriction:The software development team works to deliver working software. It is based on requirement and feedback.
- Release:Perform quality assurance (QA) testing, provides internal and external training, documentation development, and final version of iteration into the product.
- Production:It is ongoing support of the software.
Advantages of Agile SDLC
- Project is divided into short and transparent iterations.
- It has a flexible change process.
- It minimizes the risk of software development.
- Quick release of the first product version.
- The correctness of functional requirement is implemented into the development process.
- Customer can see the result and understand whether he/she is satisfied with it or not.
Disadvantages of Agile SDLC
- The development team should be highly professional and client-oriented.
- New requirement may be a conflict with the existing architecture.
- With further correction and change, there may be chances that the project will cross the expected time.
- There may be difficult to estimate the final coast of the project due to constant iteration.
- A defined requirement is absent.