What you think the SDLC is terms of technology. Numerous article defines its benefits and types and following the same I am redefining it with my own terms so that you can easily understand it. If you are planning to start the software projects, then it is very compulsory to understand its concept to avoid any hassle. There are five phases of SDLC and we need to follow each phase in sequence wise. These phases are Requirement gathering, Designing, development, Testing, Deployment, and maintenance. Coming to its model they are waterfall model, incremental model, iterative model, V model etc. These models are used worldwide to develop software. The choice of model depends on the requirements and purpose of the software.
Have a glance over the phases of SDLC.
1# Requirement Gathering and Analysis
This is the most important aspect in Software Development. In this phase, we able to know the expectations of the customer, project requirements, targeted market and much more. This is the sensitive stage and considered as the foundation of any project. After requirement finalization, there is a Feasibility Analysis to check how much of the idea can be put into action. This stage requires research and analysis from the company developing it and the clients.
2# Design
At this stage a blueprint of various process and the software is prepared for the requirements gathered in the first phase. The final output of this phase is a formal design document which freezes the design and act as input for the coding phase. This document specifies everything from software and hardware requirements of overall system architecture.
3# Implementation/Coding
This phase involves the actual coding/programming of the software. In this phase the task is divided among the programmers based on their skill set of either the module or the technology. Once the code is created, it is compiled by the developers. This is generally the longest phase in the SDLC. The output of this phase is library, executable, user manuals and additional software documentation.
4# Testing
This phase is concerned with validation and verification of the software created. This stage ensures that the compiled code and the software are working fine without any visible issues that can hamper the working of the software. The software is tested against the requirement and once it meets the exit criteria, the code is deployed.
5# Deployment
After successful testing, the software is delivered to the customer for their use. This phase involves the packing of all sub packages, together with all relevant documentation in a suitable format for distribution.
6# Maintenance
After the publishing of the software live, there might be some technical issues which can crop up from time to time that needs to be rectified. The process of taking care and making some minor enhancements on the developed software is maintenance.
At last but not least, Software Development Life Cycle is significant for each technical person from a programmer to the project manager. All the phases are common in various models and hence the model selection based on the type of requirement as per needed. I hope you will be able to understand my way of portraying this blog and share your valuable comments over the same.