Software Development Life Cycle

Software Development Life Cycle (SDLC):
       I)  Requirements Gathering (BA/BT)

in case of customer specific application:
Business Analyst category people gathers requirements from the customer, and prepares
BRS (Business Requirement specification) and submits to Project Manager.

PM sends BRS for review, after getting review report and clarifications, PM approve the document.

Document stages:

a)document creation/preparation

b)document review

c)document approval

  Base lined document (finalized)

we can execute this base lined document

in case of Software Product:

Business Team  gathers requirements from model customers and explores competitor products, and prepares
PRD (Product Requirement Document) and submits to Project Manager.

PM sends PRD for review, after getting review report and clarifications, PM approve the document.

Output of this stage:
Baselined BRS/PRD

Document names may vary from one company to another


        II) Analysis & Planning (Tech Manager and Project Manager)
Technical Manager analyzes BRS document in terms of below factors

a) are they complete requirements?

b) are they correct requirements?

c) are they achievable requirements?

d) are they Testable requirements?


after analyzing the above factors Technical Manager creates SRS (Software Requirements specification) Document

SRS consists of two sub documents

    a) FRS (functional requirement specification)

FRS describes functionalities to be developed

    b) SRS (System Requirements specification)

SRS describes Software & Hardware to be used

During SRS creation TM concentrates on Technology selection

He considers below factors for selecting Technology:

Technical factors:

a) Nature of the Application

b) Organization's experience

  Business factors:
a) Cost/Budjet

b) Customer interests


Project manager analyzes risks, creates project plan, team formation etc...


Project Plan

  III) Design (System Arch)
Input: SRS
System Architect / senior developer creates Software Design document(SDD)

It consists of two types of design docs

    a) HLD (High Level Design) or Global Design

  Overall architecture of the system

    b) LLDs (Low Level design) or Detailed Design
Internal architecture of each and every Unit/component/module

Note: System Architect uses either word document or UML like tools for Software


       IV)  Implementation / Coding (Developers/programmers)


Developer/Programmers develop the code based on Design documents and they follow
coding standards

Code documents
  software(.exe file)       

        Testing (Testers)
  software(.exe file)

Testers test software based on SRS, if they find any mismatch, send defect reports
, after fixing defects, confirm fixes and close defects   

Tested software
Test documents   
       V) Release & Maintenance (Release Team/Maintenance Team)

PM forms Release Team, Release team consists of a few developers, testers,project management executive, and system administrator

Release Team goes to customer place and deploys software.

Release Team provides some training to the customer site people (if required)


PM forms Maintenance Team, Maintenance team consists of a few developers, testers, and project management executive

Release Team receives customer change requests and perform required changes

  Maintenance(3 types)

a) Modifications
    i) Corrective changes
    ii) Enhancements

b) Migration
Migrating from old technology to new technology

(ex: windows 98 to Vista/windows 7)
Ms Access to SQL Server/Oracle)

c) Retirement
Retiring the Old system and developing New system

(Ex: II-tier application to web application)


very helpful. Specially for freshers to understand whole software process, who do not have much exposure to these things in company.

It's really awesome. Thank you sir.

very helpful.I am being part of software testing firm from some time.But such a deep practical insgight in the whole process that you have helps to understand the actual purpose of testing and all its concepts.

Post a Comment