SOFTWARE DEVELOPMENT LIFE CYCLE – SDLC ITERATIVE/INCREMENTAL SDLC MODELS
Software is developed by following a standard set of steps called SDLC. The SDLC models are the standard approaches to develop the software. The SDLC models are broadly classified as sequential design steps and incremental/iterative models. Read my two articles:
SDLC steps: https://www.h2kinfosys.com/blog/software-development-life-cycle/ and
SDLC sequential models: https://www.h2kinfosys.com/blog/sdlc-models/
The two common examples of iterative/incremental SDLC models are the spiral model and agile scrum models.
The spiral model is iterative process applicable for risk-based projects having a high risk of software failure. In each iteration, the IT project team works with partial project requirements to develop the software in many iterations called as spirals. All the steps of software development life cycle are followed in every spiral. The new features and changes in requirements are accepted and implemented in each spiral and the risk analysis is more emphasized. In risk analysis, the feasibility of requirements with existing software is to be checked to avoid the breakdown and adverse effects in software.
Agile model is getting increasingly popular due to its suitability in the current project scenarios. The changing and unpredictable project environment call for reorganizing and being quickly responsive to these changes. The adaptability and learning tendency of a team is extremely important for agile development. To understand the agile history and manifesto, read http://agilemanifesto.org/history.html In the agile framework, there are Scrum, Kanban, and many others. Agile scrum being a popular one. In the Agile Scrum, software is developed in several incremental called as a sprint. In every sprint, few requirements are developed into a potentially shippable product in two to four weeks. The two-line user stories describe the features to be implemented. In Agile Scrum, the three roles are- product owner, scrum master and team. Product owner identifies and prioritizes the features to be implemented in the sprint. Scrum master plans and controls the sprints. The team refers to a technical group that includes business analyst, architects, developers, and software testers who are responsible for completion of the sprint.
In the agile workflow, product owners come up with product backlog document which has a list of features to be implemented in the sprint, listed based on priority. The sprint starts with planning. The activities to be conducted in the sprint are tracked using sprint backlog document. The daily scrums are the meetings conducted to gather updates on the project. After the sprint, the potentially shippable product is presented to the client by the team. The retrospective meeting is conducted by the team to discuss the improvements to be done in the sprint.
The team and customer interactions, being responsive to the changes, quick release of the software make the agile most accepted methodology for many projects.
Check your understanding?
1. What is the difference between sequential design and iterative/incremental design?
2. What is Agile Scrum?
3. What is a Sprint?
4. What are user stories?