SDLC -Waterfall and STLC

SDLC – Software Development life cycle

What does Software Development Life Cycle (SDLC) mean?

The software development life cycle (SDLC) is a framework defining tasks performed at each step in the software development process. SDLC is a structure followed by a development team within the software organization. It consists of a detailed plan describing how to develop, maintain and replace specific software. The life cycle defines a methodology for improving the quality of software and the overall development process.

SDLC consists of following activities:

Planning: The most important parts of software development, requirement gathering or requirement analysis are usually done by the most skilled and experienced software engineers in the organization. After the requirements are gathered from the client, a scope document is created in which the scope of the project is determined and documented.

Implementation: The software engineers start writing the code according to the client’s requirements.

Testing: This is the process of finding defects or bugs in the created software.

Documentation: Every step in the project is documented for future reference and for the improvement of the software in the development process. The design documentation may include writing the application programming interface (API).

Deployment and maintenance: The software is deployed after it has been approved for release.

Maintaining: Software maintenance is done for future reference. Software improvement and new requirements (change requests) can take longer than the time needed to create the initial development of the software.

 

There are several software development models followed by various organizations:

Waterfall Model: This model involves finishing the first phase completely before commencing the next one. When each phase is completed successfully, it is reviewed to see if the project is on track and whether it is feasible to continue.

7-1-2016 3-51-54 PM

 

Advantages of waterfall model:

  • Simple and easy to understand and use.
  • Easy to manage due to the rigidity of the model – each phase has specific deliverable and a review process.
  • Phases are processed and completed one at a time.
  • Works well for smaller projects where requirements are very well understood.

 

 Disadvantages of waterfall model:

  • Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage.
  • No working software is produced until late during the life cycle.
  • High amounts of risk and uncertainty.
  • Not a good model for complex and object-oriented projects.
  • Poor model for long and ongoing projects.
  • Not suitable for the projects where requirements are at a moderate to high risk of changing.

 

Software Testing Life cycle:

7-1-2016 3-51-46 PM

 

Phase Activity Deliverable Necessity
Requirements/Design Review You review the software requirements/design (Well, if they exist.) §  Review Defect Reports Curiosity
Test Planning Once you have gathered a general idea of what needs to be tested, you ‘plan’ for the tests. §  Test Plan§  Test Estimation

§  Test Schedule

Farsightedness
Test Designing You design/detail your tests on the basis of detailed requirements/design of the software (sometimes, on the basis of your imagination). §  Test Cases/ Test Scripts/Test Data§  Requirements Tractability Matrix Creativity
Test Environment Setup You setup the test environment (server/client/network, etc) with the goal of replicating the end-users’ environment. §  Test Environment Rich company
Test Execution You execute your Test Cases/Scripts in the Test Environment to see whether they pass. §  Test Results (Incremental)§  Defect Reports Patience
Test Reporting You prepare various reports for various stakeholders. §  Test Results (Final)§  Test/Defect Metrics

§  Test Closure Report

§  Who Worked Till Late & on Weekends Report

Diplomacy

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s