SDLC: A Framework containing the Processes, Activities, and the Tasks involved in the development, operation and maintenance of a software project (spanning the life of the system) from the definition of its requirements to the termination of its use.
(or)
The Software Development lifecycle is a systematic process for building software that ensures the quality product is built.
Below are the different phases in Software Development Life Cycle:
1. Requirements Gathering or (Initiation)
2. Analysis
3. Designing
4. Coding
5. Testing
6. Delivery & Maintenance
In every phase of SDLC, four important things have to be discussed. For every phase there will be an out put in the form of Document.
-> Responsibilities or Objectives
-> Role
-> Process (Guide lines for the roles)
-> Documentation
- Requirement Gathering:
- Responsibility: Collecting all the specifications or requirements from the customer.
- Role: This job will be done by Business Analyst (BA) and Engagement Manager Assist BA. BA deals with requirements and EM estimates excess cost for this project.
- Process: BA must follow the guide lines
- Taking appointment before meeting with customer.
- What to talk what not to talk must be given.
- Work has to be done in consistent manner.
- Documentation: While dealing with the CEO of Bank, BA must get the entire requirement, note it down and then this requirement must document. He/She must follow the pre format (Template) provided by the company. This document is known as BD/ BDD/ FRS/ BRS. (BD - Business Document, BDD - Business Design Document, FRS - Functional Requirement Specification, BRS - Business Requirement Specification)
- Analysis: In this phase the requirements in BDD are analyzed. In this phase, the out come is SRS. This SRS is designed in the next phase.
- Responsibility:
- Analysis of Requirement: Analyse explicit requirements and implicit requirements
- Feasibility Study: states whether requirement is possible or not
- Tentative Planning: rough planning of the requirement
- Technology Selection: Analysis system requirements. e.g: for web dev Java, for documentation MS-Word etc.,
- Role: System Analyst (SA)
- Process: Guidelines will be provided to analyst to follow.
- Documentation: In order to develop the product, the system requirements are documented and send to design phase. This document is known as SRS (System Requirement Specifications).
- Design:
- Responsibility: Designing of the project. In this Design there are two levels HLD (High Level Design) and LLD (Low Level Design).
- Role: HLD is done by CA (Chief Architect). LLD is done by TL (Technical Leads)
- Process: Guidelines will be provided to follow.
- Documentation: The document designed in this phase is called Technical Design Document (TDD)
- Coding:
- Responsibility: In this phase programming is the responsibility
- Role: Developer
- Process: Developer must follow some guide lines called Coding standards. Some Coding Standards:
- Code space margin has to be left
- Write comments at every program function so that readability enhanced.
- Color coding etc…
- Documentation: All the coding files are documented in a document called Program File or Source Code Document (SCD).
- Testing: Testing goes in this phase. After testing in this phase, application is send to Delivery phase.
- Responsibility: Testing of the Application
- Role: Test Engineers (TE, STE)
- Process:
- Understanding Requirements (e.g: BRS, FRS)
- Writing Test cases (either manual or Automation)
- Executing Test cases
- analyse the test results
- Documentation: Documentation in this phase is Defect Profile.
- Delivery(Deployment)&Maintenance: The objective of deployment phase is to make the developed software operational in a live environment. A deployment in the operational environment comes only after the product is fully tested and accepted by the business in the acceptance stage of the testing phase
Once the software passes through all the stages without any issues, it is to undergo a maintenance process wherein it will be maintained and upgraded from time to time to adapt to change