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.