Agile Model in Software Engineering
For the development of a software, an approach is followed in order to meet the business requirements of the stakeholders. This process started decades back when there was only Waterfall Model. With this approach, the development process had some disadvantages including the major one which is about handling the change requests as this does not involve any process to handle errors during any development phase. To overcome these disadvantages, a new approach called Agile Model (Click here for reference) was introduced in early 2000s when a group of software developers introduced this mechanism to speed up the development process and work on feedback received from the stakeholders during a fixed intervals.
The primary reason for introducing the Agile model was to handle the change requests. To make this possible, this process breaks down a project into multiple small incremental builds. A time period (ranging between 1-to-3 weeks) is defined for each build and delivered to the stakeholders in iteration.
Phases of Agile Model
The Agile Methodology derives six phases. Each of these phases are is defined below:
- Requirement Gathering: This phase involves gathering the business requirements from the stakeholders. The requirement gathering process is handled by a Product Owner who engages with the stakeholders and prepare necessary documentation that covers the feasible features and also prioritize the features. This analysis process helps in figuring out the feasibility of the envisioned business requirements.
- Designing: Once the proper requirement is documented in collaboration with the stakeholders, the flow for the project can be defined by creating something like a Flow diagram, UML diagram, etc. that clearly define how the system will look like once developed.
- Development/Iteration: Based on the requirements and a derived flow, the development team will start developing or coding the system. Following the Agile model, the project is divided into smaller units and hence, undergo various stages involving development, improvement, bug fixes, etc.
- Testing / Quality Assurance: The testing is deployed for every sprint to ensure the features developed in the current sprint is bug free and has no issues moving to the next sprint. Various testing types such as Unit testing, Integration testing, User acceptance testing, etc. are engaged.
- Deployment: The deployment phase is all about moving the code to the production server to make it live. Before going live, the QA team ensures the system is fully functional and has no defects. Once this is approved, the code is then moved to the production.
- Maintenance: Once the code is moved to production, the team has to ensure it runs smoothly without any issues. Hence, maintenance or support is offered during which either the issues (if found any) are fixed or the system is upgraded with new features.
Post Comment