The meaning of Agile is swift or versatile. An essential advantage of the agile model is cooperation with the customer. The customer gets what he needs in real, not what he has described. That is an essential benefit for those projects whose needs are still not initially specified or are subject to significant changes due to external effects.
The goal of agile software development is to make the development process flexible and slimline.
Phases of Agile Model:
Following are the phases in the Agile model are as follows:
1. Requirements gathering: 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.
2. 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.
3. Construction/ iteration: When the team defines the requirements, the work begins. Designers and developers start working on their project, which aims to deploy a working product. The product will undergo various stages of improvement, so it includes simple, minimal functionality.
4. Testing: In this phase, the Quality Assurance team examines the product's performance and looks for the bug.
5. Deployment: In this phase, the team issues a product for the user's work environment.
6. Feedback: After releasing the product, the last step is feedback. In this, the team receives feedback about the product and works through the feedback.
Agile Testing Methods:
SCRUM is an agile development process focused primarily on ways to manage tasks in team-based development conditions.
There are three roles in it, and their responsibilities are:
This type of methodology is used when customers are constantly changing demands or requirements, or when they are not sure about the system's performance.
There are three concepts of this method-
Dynamic Software Development Method(DSDM):
DSDM is a rapid application development strategy for software development and gives an agile project distribution structure. The essential features of DSDM are that users must be actively connected, and teams have been given the right to make decisions. The techniques used in DSDM are:
The DSDM project contains seven stages:
Feature Driven Development(FDD):
This method focuses on "Designing and Building" features. In contrast to other smart methods, FDD describes the small steps of the work that should be obtained separately per function.
Lean Software Development:
Lean software development methodology follows the principle "just in time production." The lean method indicates the increasing speed of software development and reducing costs. Lean development can be summarized in seven phases.
When to use the Agile Model?
Advantage(Pros) of Agile Method:
Disadvantages(Cons) of Agile Model: