Gitlab 1-2 software development cycle
In this lesson we look at the Software Development Life Cycle (SDLC). To understand the CI/CD methodology, it is useful to step back and look at where it comes from, why it was needed, and how it actually works. We start with the SDLC: the systematic process used by software companies to design and ship high-quality software while consistently meeting clients' expectations.
The 6 stages of the SDLC
- Stage 1 — Requirements. We collect information from users about their expectations and what they want the software to do.
- Stage 2 — Definition. We turn the gathered needs into a formal specification document, for example in Word or Excel, describing exactly what the software needs to provide.
- Stage 3 — Design. Several design proposals are sketched out in different files. At this point we choose the architectural direction for the project and the best design approach among the proposed options.
- Stage 4 — Building. The real work begins: developers start writing the code that implements the chosen design.
- Stage 5 — Testing. We carefully evaluate the quality of the software, find bugs and fix them. This is similar to releasing a beta version to spot problems and verify that the requirements have been correctly implemented.
- Stage 6 — Deployment. The final step: preparing the release and shipping the software to the market.
These six stages are the standard skeleton of the software development life cycle, and every methodology — including CI/CD — operates within them. The difference is in how the stages are connected and how quickly we can iterate through them. In the next videos we will see what the traditional approach looked like before CI/CD, and then how CI/CD reorganizes the same six stages to make delivery dramatically faster. Thanks for watching, see you in the next video.
Summary
The software development cycle is a systematic process used by software companies to create high-quality software that meets customer expectations. This lesson covers six fundamental stages: requirements gathering (collecting user information and needs), specification (defining software requirements), design (selecting the best design approach), building (developers writing code), quality assurance testing (finding and correcting errors), and deployment (releasing software to market).
Key points
- Requirements gathering is the first stage, where user expectations and software needs are collected
- The specification stage formalizes what the software must achieve, typically documented in Word or Excel
- Design phase proposes multiple designs and selects the best approach to guide development
- Building is where developers write the actual code for the software
- Testing/QA evaluates software quality precisely, finds errors, and corrects them—like beta testing
- Deployment is the final stage where the software is released and launched to market
FAQ
What is the software development cycle?
It's a systematic process used by software companies to design and build high-quality software that meets customer needs in an organized, repeatable way.
What happens during the testing phase?
During testing (stage 5), the team precisely evaluates software quality, finds errors, and corrects them—similar to releasing a beta version to identify and fix problems.
Why is the design phase important?
The design phase allows multiple design proposals to be evaluated, and the best design and development approach are selected to guide the entire software development effort.