Entire software Development Lifecycle
Abhishek Pandey
Senior Project Management Analyst at FIS | RTE SAFe 6.0 | SASM SAFe 5.0 | ICP-ATF | CSM |Scrum Master | Agile Coach |VSM | SAFe | Scrum | Kanban | JIRA | Rally |
Entire software development life cycle
Types of Software development life cycles (SDLC)
· V-Shaped Model
· Evolutionary Prototyping Model
· Iterative and Incremental Method
· Extreme programming (Agile development)
Waterfall Model:
The waterfall Model is a linear sequential flow. In which progress is seen as flowing steadily downwards (like a waterfall) through the phases of software implementation. This means that any phase in the development process begins only if the previous phase is complete. The waterfall approach does not define the process to go back to the previous phase to handle changes in requirement. The waterfall approach is the earliest approach that was used for software development.
Requirement--> Design-->Development-->Testing-->Release
The Usage: Projects don't focus on changing the requirements, for example, projects initiated from requests for proposals (RFPs)
V-Shaped Model:
It is an extension of the waterfall model, Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. The major difference between v-shaped model and waterfall model is the early test planning in the V-shaped model.
The Usage
· Software requirements clearly defined and known
· Software development technologies and tools are well-known
Prototyping Model:
It refers to the activity of creating prototypes of software applications, for example, incomplete versions of the software program being developed. It is an activity that can occur in software development. It used to visualize some component of the software to limit the gap of misunderstanding the customer requirements by the development team. This also will reduce the iterations may occur in waterfall approach and hard to be implemented due to the inflexibility of the waterfall approach. So, when the final prototype is developed, the requirement is considered to be frozen.
Spiral Method (SDM):
It is combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. This model of development combines the features of the prototyping model and the waterfall model. The spiral model is favored for large, expensive, and complicated projects. This model uses many of the same phases as the waterfall model, in essentially the same order, separated by planning, risk assessment, and the building of prototypes and simulations.
The Usage: It is used in shrink-wrap large applications and systems which built-in small phases or segments.
Iterative and Incremental Method:
It is developed to overcome the weaknesses of the waterfall model. It starts with an initial planning and ends with deployment with the cyclic interactions in between. The basic idea behind this method is to develop a system through repeated cycles (iterative) and in smaller portions at a time (incremental), allowing software developers to take advantage of what was learned during the development of earlier parts or versions of the system.
The Usage: It is used in shrink-wrap application and large system which built-in small phases or segments. Also can be used in a system has separated components, for example, ERP system. Which we can start with the budget module as a first iteration and then we can start with an inventory module and so forth.
Extreme programming (Agile development):
It is based on iterative and incremental development, where requirements and solutions evolve through collaboration between cross-functional teams.