"Toward a 3-Stage Software Development Lifecycle" an article written by Roost Co-Founder and CTO, Rishi Yadav, was recently published in The New Stack. We wanted to share an excerpt from the article along with the link so you can read the entire published article.


Two Critical Development Phases: Development and Production 

The truth is the most important phases in the lifecycle are development and production. Development is where the application comes to life; production is where it actually lives. The software development lifecycle needs to focus on those two stages, the beginning and the end, and help applications move as quickly and efficiently as possible from one to the other. A five-stage software development lifecycle over-emphasizes the testing, integration and staging portions of an application’s life. Just as importantly, compared to more modern, cloud native approaches, this type of lifecycle is slower and more error-prone — exactly what we want to avoid. 


Rethinking the Phases

Ideally, we’d be able to get all software completely production-ready before leaving the local developer’s machine. In reality, it makes sense to have an intermediate step between development and production to make sure the application has a chance to be evaluated by someone other than the original developer before going into production. But there’s no reason this step should require three separate environments — one intermediate environment should be enough. I think a good name for this environment is “production-like,” making the software development lifecycle into three stages: development —> production-like —> production. 

The key to making this work, however, is to ensure that developers are as empowered as possible to test their applications — and that the developer environment and the intermediate environment are both as similar to production environments as possible. The goal is to make sure developers are able to test for as many sources of problems as possible so that the production-like environment is devoted to handling tests that can’t practically be done by developers, such as involving production data, ensuring configurations are correct and testing load.




Roost helps us address cost issues by providing capabilities that allow our team and users to control the amount of time a cluster runs... Early results reveal cluster run-time savings over 80% from our previous environment.

CTO, Enterprise Security Company
Christine Carrig

About Christine Carrig

Christine Carrig is VP of Growth Marketing has extensive experience helping startups build revenue-generating marketing programs.

Please Share this Blog

You may find these blog posts of interest too.

Evolution of the Site Reliability Engineer
Evolution of the Site Reliability Engineer
February 3, 2022

Invention & Innovation Spreads Any invention at a hyperscaler first gets adopted by (relatively) smaller technology ...

New & Unique Way to do CI so Code Changes are Always Production-Ready
New & Unique Way to do CI so Code Changes are Always Production-Ready
February 3, 2022

So, what really is the primary purpose of continuous integration (CI)? The primary purpose of CI is to integrate code/se...