Software Development Life Cycle

Definition

The modern software development life cycle (SDLC) consists multiple phases. It starts with chatting about an idea and ends at measuring the metrics of running it in production. For each phase the appropriate type of tool is listed.

  1. Idea (Chat)
  2. Define (Issue Tracker)
  3. Plan (Issue Board)
  4. Code (Version Control)
  5. Test (Continuous Integration)
  6. Deploy (Continuous Delivery)
  7. Measure (Metrics Monitoring)

Methodologies

There are a couple of methodologies that help with the SDLC process:

Platforms

You need a platform to run your SDLC on, that is currently undergoing a shift from Virtual Machines to Cloud Native:

SDLC Stacks

There are a couple of organizations that are building a stack for the SDLC.

https://docs.google.com/spreadsheets/d/1BiFYpwzbiTO6V_PMBIikywX31IZydzPcvBkRwdoVFpQ/pubhtml?gid=0&single=true

TODO Change the above into a markdown table and deprecate the sheet.

GitLab specific

GitLab is the only Integrated Product / Development OS. We believe that brings emergent benefits.

Features in GitLab related to the SDLC and made possible because of being an integrated product are:

TODO Link the above to feature pages / docs.

As a company we believe that remote only will become much more popular.