Gitlab 1-3 Back to the conventional approach
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
This lesson introduces the traditional Software Development Lifecycle (SDLC), a systematic process used by software companies to build high-quality products. It covers the six fundamental stages: requirements gathering, specification, design, development, testing/quality assurance, and deployment—forming the foundation of conventional software engineering practices.
Key points
- The SDLC is a systematic, repeatable process designed to deliver software that meets user expectations consistently and reliably.
- Requirements gathering (Stage 1) starts by collecting user needs, expectations, and desired features from stakeholders.
- Specification (Stage 2) documents software requirements in formal documents to define what the software must accomplish.
- Design (Stage 3) involves evaluating multiple design proposals and selecting the best approach for software architecture.
- Development (Stage 4) is where developers write the actual code to implement the specified design.
- Testing (Stage 5) validates software quality by identifying and correcting errors before market release.
- Deployment (Stage 6) prepares and releases the final software to market after all stages are complete.
FAQ
What is the Software Development Lifecycle (SDLC)?
The SDLC is a systematic process used by software companies to design, build, test, and deploy high-quality software that meets user expectations in a structured, repeatable manner.
Why is the design phase critical in the SDLC?
The design phase evaluates multiple design proposals and selects the best architectural approach, establishing the technical foundation and direction that development will follow.
What does the testing phase accomplish?
Testing validates software quality by identifying and correcting errors, ensuring that all specified requirements are met before deployment to market.