software development Agile Model
- It is also a type of incremental model in which software is developed in incremental, rapid cycles.
- The agile model breaks tasks into smaller iterations.
- The main aim of this model was to help developers to build a project which can adopt to transforming requests quickly.
- This model permits a company to develop software in small segments.
- This model, each iteration usually lasts for one to four weeks.
Phases of Agile Model:
These are different phases of the agile model.
- Requirements gathering
- Quality assurance
All the requirements should be defined. These requirements are business opportunities, efforts , time, etc so that technical and economical feasibility can be evaluated.
Once requirements are gathered then you can start designing with the help of the user flow diagram.
When the design is completed then the software development work begins. Designers and developers start working on the project on the basis of requirements.
This is the main stage of product development. This phase is also known as testing. In this phase, we test the product and find the bugs. We also examine the performance of a software product in this phase.
After our product passes the quality assurance stage and if no bugs were identified, we move to the next phase known as deployment. In this phase, the product is released in the user’s environment.
When we release the product into the user’s environment then the user provides us feedback related to the software developed. It may be some error with functionality or some performance-related issues. The team starts working on the received feedback.
Different kinds of Agile software development Models Used by software companies :
- Extreme Programming (XP)
- Lean Software Development
- Feature Driven Development (FDD)
- Dynamic Software Development Method (DSDM)
- Unified Process
- This model Promotes teamwork
- In this model resource requirements are minimum.
- This model is best suited where requirements can be changed.
- It is one of the easiest models to manage.
- Agile provides flexibility to developers.
- When we use this model then working software is delivered frequently.
- It reduces total development time.
- In this model face to face, communication is done with the clients.
- Customers, developers, and testers communicate with each other constantly.
- This model totally depends on customer Interactions.
- There is no proper documentation of the project. As a result of this, the maintenance of the product becomes very difficult.
- This approach is not recommended for handling complex dependencies.