Software Development Life Cycle

Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high-quality software. The SDLC aims to produce high-quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates.

Software Development Life Cycle | Automation Laboratories

Software Development Life Cycle(SDLC) is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and the overall development process.

Phases of SDLC (Software Development Life Cycle)

Contents

Software Development Life Cycle Automation Laboratories

 










 

Planning

This is the first phase of the software development process. It identifies necessities for new software to achieve business objectives. The purpose of this step is to find out the scope of the problem and determine solutions.

  • Resource allocation
  • Capacity planning
  • Project scheduling
  • Cost estimation
  • Requirements

Design

Once the requirements are understood, software architects and developers can begin to design the software. The design process uses established patterns for application architecture and software development.

System Design helps in specifying the approach to development and in defining overall system architecture. The system design specifications serve as input for the next phase of the cycle.

In this phase, QA comes up with the Test strategy, where they mention what to test, how to test.

Development

This phase involves the actual coding/programming of the software. After the requirements and design activity is completed, the next phase of the Software Development Life Cycle is the implementation or development of the software.

Developers also write unit tests for each component to test the new code that they have written, review each other’s code, create builds and deploy software to an environment. This cycle of development is repeated until the requirements are met.

Testing

During testing, QA starts to test the software against the requirements.

Once a defect is found, testers inform the developers, who will fix and create a new version of the software which needs to be verified again.

This cycle is repeated until all requirements have been tested and all the defects have been fixed and the software is ready to be shipped.

  • QA tests software
  • Test cases are written and executed
  • Bugs are reported and fixed
  • QA provides Sign-Off
  • Requirements

Deployment

Once the product is tested and ready to be deployed it is released formally in the appropriate market. Sometimes product deployment happens in stages as per the business strategy of that organization. The product may first be released in a limited segment and tested in the real business environment.

As soon as the product is available to the customers QA executes Sanity Tests while users do the beta testing. If any changes are required or if any bugs are caught, then they will report it to the engineering team.

Maintenance

The maintenance phase of the SDLC occurs after the product is in full operation. Maintenance of software can include software upgrades, repairs, and fixes of the software if it breaks.

  • Product Analysts monitor user feedback
  • Engineers monitor software errors
  • QA identifies bugs that weren’t caught during testing
  • Engineers fix new bugs and update software
  • QA verifies the bug fixes

Explore more blogs on Development, Testing and DevOps follow the link







Minakshi Kumar
Over 4+ years of experience in the software testing process committed to adding value to the end-product through detailed quality assurance testing. Worked on writing Test Cases, Test Planning, Test Environment Setup, Test Data Setup, Defect Management, Test Log, Rest results, Test Traceability Matrix. Has the ability to test backend applications by writing SQL scripts. Extensive experience in developing Test Traceability Matrix and Gap Analysis. Well-versed in analyzing Results, Bug Tracking & Reporting, Detailed status reporting.