Pages

Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

Saturday, 11 October 2014

Overview to SDLC

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