Bringing Development and Reliability Together
Today, I wanted to share a small initiative I have been working on called SDLC. SDLC stands for Software Development Life Cycle, but for me, it has become more than the standard definition of planning, designing, building, testing, deploying, and maintaining software. It started from a simple observation. Building software that feels consistent, pays attention to detail, and remains reliable over time often requires a lot of deliberate effort. As both a developer and researcher, I wanted a clearer set of standards that could guide not just how software is built, but how it should evolve throughout its entire life.
For a long time, I relied on my own Site Reliability Engineering standards for the projects I built. They helped define expectations around reliability, operations, and maintenance, and they worked well once software was already running. The problem was that they did not cover the earlier parts of the journey. Stages such as idea validation, planning, architecture, and design existed outside that framework. Over time, I felt the need for a single process that could connect the entire journey rather than focusing on only one part of it.
That led to the creation of this SDLC framework. It brings together traditional software development practices and reliability principles into one continuous lifecycle: Vision, Discovery, Planning, Architecture, Design, Build, Verify, Release, Operate, Scale, Evolve, and Retire. The goal is not to introduce a new methodology or claim that existing approaches are insufficient. It is simply a framework that reflects how I want to approach software creation going forward. By having a consistent set of standards from the first idea to the final retirement of a product, I can make decisions more deliberately and build systems that remain maintainable over time. I am sharing it today because it has already helped bring more structure to how I think about software, and I expect it will continue to evolve as I learn and build more.