Software development life cycle (SDLC) refers to the workflow of the process which describes the main stages and activities of development cycles. The primary objective of SDLC is to produce high-quality software that fulfils or exceeds the end-user demand. There are various software development models used during the development of the software process. The models are known as the SDLC model as each of the models follows a certain life cycle in order to ensure success in process of software development. With this understanding, let’s move to our main subject of this post which is Agile SDLC.
Agile SDLC is based on iterative and incremental development models where requirements and solutions evolve through collaboration between self-organising and cross-functional teams. It is a conceptual framework that promotes foreseen interactions throughout the development cycle. Typically, the phases in Agile SDLC are as illustrated in the figure below :
The following further elaborates each of the phases in Agile SDLC.
The agile SDLC begins with the vision phase. In this phase, the objective of the software and the presentation of the new software system is analysed using the existing system and finalized according to the end-user requirement. Systematic analysis is also performed to identify the feasibility of the system at the operational and economical level with clearly specified requirements. The analysis includes defining the business opportunities and the time required to complete the project.
2. Exploration phase
This phase involves iteration and incremental phases where continuous workshop and brainstorming are carried out with stakeholder and also the team members namely UI/UX designers and developers. This phase aims to reduce uncertainties and ambiguities of the system. In addition, the feedback of the last release is also accommodated in this phase and major changes in the last releases are defined as new requirements.
3. Iteration Planning
This phase is the most important in Agile SDLC. In this phase, requirement prioritisation is carried out. The prioritisation stack is based on factors such as financial value, knowledge, returns and etc and is essential as it increases ROI and reduces the period of producing working software. Moreover, iteration planning phase involves iterative estimation activity to estimate size, cost and duration of the project. In addition, this phase includes re-estimation of efforts according to the team velocity as well as ensuring the resource requirement of the system.
4. ADCT phase
ADCT phase which refers to Analysing, Designing, Coding and Testing phase is an iterative phase. In this phase, the functionality of the system is developed and enhanced in new increments. This phase requires several iterations before the product is released.
5. Release Phase
This phase is divided into two subphases which are pre-release and production. The Pre-release phase suggests more testing and checking of functional and non-functional requirements of the system to be released. While, production phase deals with releasing the product for customer use. During this time, training for users of the system is provided to ease the operation. After the first release of the system, there are two main responsibilities on the team which include enhancing the functionalities of product as well as having responsibility of system in running state by providing customer helpdesk.
E-SPIN Group in the business of enterprise ICT solutions supply, consulting, project management, training and maintenance, for multinational corporations and government agencies across the region E-SPIN did business, since 2005. Feel free to contact E-SPIN for your requirements and project inquiry.