What is SDLC?

SDLC stands for "Software Development Life Cycle". It is a systematic approach to the software development, testing, operation, and review of software systems.

Goal of SDLC is to help teams produce reliable and robust software. But in a predictable and transparent way. Streamlined SDLC is hard to achieve.

You need to consider:

  • the team structure
  • roles in a team (and many little details that may not be visible immediately)
picture

You start in the top left corner with a goal to move all the tasks to the top right corner.

8 areas of a board

The board is split into 8 areas:

  1. These are your stepping stones to move ticket to the top right corner

  2. Prep for Active Work. Engineer picks a top ticket from the list

  3. Here are pre-assigned "Ready for Development" tasks. As a principle, avoid stacking and pre-assigning tickets in the beginning of a sprint unless there's a very specific reason for it And make sure it's the team's decision, not an individual's!

  4. Area where Active Work happens. Tickets that are "In Progress" (Dev in progress, QA in progress, Acceptance in progress), and are assigned to an individual. As you work with your ticket (A to G), you move it to the next state and unassign it from yourself (Area 5).

  5. This is an area where tickets are sitting in a queue waiting for someone to pick them up. For example, if a ticket is “In QA” and Unassigned, that means the next available QA engineer will pick it up once they finish their current task

  6. Dead area ⚠️ Nothing should ever be assigned after the task is “Done” By definition, when a ticket is accepted by Product there's no active work left to do Tip: Unassigning a ticket helps reduce mental load. It's not on your radar anymore. You're done with it baby!

  7. Dead area ⚠️ Nothing should ever be “In Development” and “Unassigned” Development is a core activity and it implies that somebody is actively working on a ticket!

    If nobody is working on it at the moment, just move it back to Ready for Dev, signal it's pending work

  8. Done area Here we have tickets that went through the entire lifecycle and were accepted by Product Everything the team was working hard on and got finished is here!

💪 What an awesome area this is!

Common transition of a ticket

picture

Summary

To have an efficient, reliable, and robust software development life cycle, you need to have the right team structure, roles, and processes in place. By avoiding stacking and pre-assigning tickets, unassigning tickets once done, and not allowing any tickets to be "In Development" and "Unassigned", you are ensuring that everyone is on the same page and that the software development life cycle remains efficient, reliable, and robust.