Important Phases of Software Development Lifecycle
Software Development Life Cycle (SDLC) is a framework that defines the steps involved in software development at each phase. It covers the detailed plan for building, deploying, and maintaining the software.
SDLC defines the complete development cycle, i.e., all the tasks involved in planning, creating, testing, and deploying a Software Product.
1. Requirement Gathering and Analysis
In this phase, all the relevant information is collected from the customer to develop a product as per their expectation. Any ambiguities must be resolved in this phase only.
The business analyst and Project Manager set up a meeting with the customer to gather all the information, like what the customer wants to build, who will be the end-user, and the product's purpose. Before building a product, a core understanding or knowledge of the product is very important.
For Example, A customer wants to have an application that involves money transactions. In this case, the requirement has to be clear, like what kind of transactions will be done, how it will be done, in which currency it will be done, etc.
Once the requirement gathering is done, an analysis is done to check the feasibility of developing a product.
Once the requirement is clearly understood, the SRS (Software Requirement Specification) document is created. This document should be thoroughly understood by the developers and reviewed by the customer for future reference.
领英推荐
2. Design
In this phase, the requirement gathered in the SRS document is used as input, and the software architecture used for implementing system development is derived.
3. Implementation or Coding
Implementation/Coding starts once the developer gets the Design document. The Software design is translated into source code. All the components of the software are implemented in this phase.
4. Testing
It starts once the coding is complete and the modules are released for testing. In this phase, the developed software is tested thoroughly and any defects found are assigned to developers to get them fixed. Re-testing and regression testing is done until the point at which the software is as per the customer's expectation. Testers refer to the SRS document to ensure that the software meets the customer's standard.
5. Deployment
Once the product is tested, it is deployed in the production environment, or the first UAT (User Acceptance testing) is done, depending on the customer's expectation. In the case of UAT, a replica of the production environment is created, and the customer, along with the developers, does the testing. If the customer finds the application as expected, then a sign-off is provided by the customer to go live.
6. Maintenance
After the product deployment on the production environment, the developers take care of the product, i.e., if any issue arises and needs fixing or enhancement is done.