6 minutes read

Let's imagine that you have your own company and a client comes to you with an idea to develop some useful application, and asks you to do it. As a company, the first thing you should do is describe the steps and their sequence to complete the task. How and which ones? Let's define.

What is SDLC?

The Software Development Life Cycle (SDLC) is the set of stages that a product goes through during its development. At each stage, different actions are performed and each stage has a different outcome. In the creation process, we plan which programming language (e.g., Java, PHP, .NET) and databases (like Oracle or MySQL) to use. Then we write the code. Afterward, specialists test the code to ensure it meets the client's requirements.

Stages of product birth

Stages of product birth

Stage 1 – Idea. At this stage, the customer has an idea for the product.

Result: The idea has been formulated and described.

Stage 2 – Requirements gathering. At this stage, a business analyst is brought in to gather as much information as possible from the customer and formulate business requirements. Also, at this stage, a QA engineer is brought in to test the requirements.

Result: business requirements and acceptance criteria are established. Acceptance criteria for requirements involve conditions discussed with the customer.

Stage 3 – Architecture and design. This is where the system architect and designer come in to determine the foundation of the future product, including the choice of programming languages, databases, and other development tools. They also evaluate what is best for this particular project and think through its internal architecture. The designer creates the look of the product, layouts, sketches, etc.

Result: the technical requirements for the product are established and the product design is created.

Stage 4 – Development. At this stage, things get simple as we start writing the code for the product. The result is an initial, sometimes final, working version or build of the product that's ready for testing.

Stage 5 – Testing. The testing stage involves Quality Control (QC) engineers and testers. They test whether the build developed meets the customer's requirements and needs, and evaluate its quality.

Result: bug reports are generated and the status of the build is known.

Stage 6 – Fixing bugs. If any bugs are found during the testing of the intermediate build, then the next stage is bug fixing. During this process, the bugs found by the testers are sent to the developers for fixing.

Result: any critical bugs found during testing are fixed.

Stage 7 – Verification. This stage comes immediately after the bug-fixing stage. At this stage, the testers verify the issues fixed after bug-fixing. But two situations can occur here.

Situation 1: Once all critical bugs have been resolved, you obtain what's known as the RC (Release Candidate) build. It's simply a fixed and working version that has successfully passed the verification stage.

Sometimes, even after making fixes, new issues or old ones can reappear. In such cases, we enter the second scenario, where we continue to address and verify these problems until all critical issues are resolved. Our primary goal is to achieve a fully operational and bug-free build by the end of this process.

Result: RC Build is received.

Stage 8 – Acceptance testing. The peculiarity of this stage is that it is carried out by the customer or by the customer's own testers, on the basis of the acceptance criteria developed in the first stage. This testing allows the customer to personally assess the quality of the developed product.

It is also common to test absolutely all previously found defects, even those that have been closed. But even here 2 situations can occur.

Situation 1: Everything is fine, the product is ready for release.

Situation 2: Previously closed defects may be reproduced. Problems that were not found before may also be found. In this case, it is necessary to return to the bug-fixing stage, and then proceed in stages until acceptance testing.

Stage 9 – Support. At this stage of the life cycle, regular technical support is provided for the system. This ensures that the system does not become obsolete and meets current standards and technologies. This includes ongoing performance evaluation and component updates. Regression testing is also often carried out after minor or major upgrades.

Stage 10 – Cycle end. The product is retired and no longer in use. For example, you built a website for a corporate New Year's Eve event and maintained it until the event went live. Then the event is over, and the site is no longer needed, so you stop supporting it.

Why is it important to understand the software life cycle?

Quite simply, without an understanding of how a product is developed and the stages it goes through during development, you won't be able to navigate the product development processes. You simply need to know and understand the SDLC to be successful.

Conclusion

The software development life cycle (SDLC) is the core process that guides the development of any software product from concept to completion and beyond. Understanding and effectively implementing the SDLC enables organizations to successfully navigate the complex software development process. The SDLC ensures that the final product meets the customer's needs and remains relevant and functional throughout its lifetime. A thorough understanding of the SDLC is, therefore, critical to successful software development.

30 learners liked this piece of theory. 0 didn't like it. What about you?
Report a typo