Software Development
Life Cycle, or Software Development Process, defines the steps/stages/phases in
the building of software.
There are various
kinds of software development models like:
§
Waterfall model
§
Spiral model
§
Iterative and incremental development (like ‘Unified Process’
and ‘Rational Unified Process’)
§
Agile development (like ‘Extreme Programming’ and ‘Scrum’)
Models are evolving
with time and the development life cycle can vary significantly from one model
to the other. It is beyond the scope of this particular article to discuss each
model. However, each model comprises of all or some of the following
phases/activities/tasks.
SDLC IN SUMMARY
§
Project Planning
§
Requirements Development
§
Estimation
§
Scheduling
§
Design
§
Coding
§
Test Build/Deployment
§
Unit Testing
§
Integration Testing
§
User Documentation
§
System Testing
§
Acceptance Testing
§
Production Build/Deployment
§
Release
§
Maintenance
SDLC IN DETAIL
§
Project Planning
§
Prepare
§
Review
§
Rework
§
Baseline
§
Revise [if necessary] >> Review >> Rework >>
Baseline
§
Requirements Development[Business Requirements and
Software/Product Requirements]
§
Develop
§
Review
§
Rework
§
Baseline
§
Revise [if necessary] >> Review >> Rework >>
Baseline
§
Estimation[Size / Effort / Cost]
§
<same as the activities/tasks mentioned for Project
Planning>
§
Scheduling
§
<same as the activities/tasks mentioned for Project
Planning>
§
Designing[ High Level Design and Detail Design]
§
<same as the activities/tasks mentioned for Requirements
Development>
§
Coding
§
Code
§
Review
§
Rework
§
Commit
§
Recode [if necessary] >> Review >> Rework >>
Commit
§
Test Builds Preparation/Deployment
§
Build/Deployment Plan
§
Prepare
§
Review
§
Rework
§
Baseline
§
Revise [if necessary] >> Review >> Rework >>
Baseline
§
Build/Deploy
§
Unit Testing
§
Test Plan
§
Prepare
§
Review
§
Rework
§
Baseline
§
Revise [if necessary] >> Review >> Rework >>
Baseline
§
Test Cases/Scripts
§
Prepare
§
Review
§
Rework
§
Baseline
§
Execute
§
Revise [if necessary] >> Review >> Rework >>
Baseline >> Execute
§
Integration Testing
§
<same as the activities/tasks mentioned for unit testing>
§
User Documentation
§
Prepare
§
Review
§
Rework
§
Baseline
§
Revise [if necessary] >> Review >> Rework >>
Baseline
§
System Testing
§
<same as the activities/tasks mentioned for Unit Testing>
§
Acceptance Testing[ Internal Acceptance Test and
External Acceptance Test]
§
<same as the activities/tasks mentioned for Unit Testing>
§
Production Build/Deployment
§
<same as the activities/tasks mentioned for Test
Build/Deployment>
§
Release
§
Prepare
§
Review
§
Rework
§
Release
§
Maintenance
§
Recode [Enhance software / Fix bugs]
§
Retest
§
Redeploy
§
Rerelease
Notes:
§
The life cycle mentioned here is NOT set in stone and each phase
does not necessarily have to be implemented in the order mentioned.
§
Though SDLC uses the term ‘Development’, it does not focus just
on the coding tasks done by developers but incorporates the tasks of all
stakeholders, including testers.
No comments:
Post a Comment