"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.

LOGO-newstack.io

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.

READ COMPLETE ARTICLE NOW >>

 

 

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
Sudhir Jangir

About Sudhir Jangir

Sudhir is the CTO and Co-Founder of Roost. He has 20 years of experience developing enterprise applications and leading technology teams.

Please Share this Blog

You may find these blog posts of interest too.

The Fascination of Writing Scripts: How Developers are Holding on to Their Favorite Toy
The Fascination of Writing Scripts: How Developers are Holding on to Their Favorite Toy
February 3, 2022

As a software engineer, I know firsthand the importance of two critical activities in addition to writing code: writing ...

A New Approach to Managing DevOps Pipelines | Replace Test Environment
A New Approach to Managing DevOps Pipelines | Replace Test Environment
February 3, 2022

Replace Rusty DevOps Pipes with Dynamic Pre-production Environments When I bought my home a decade ago, I was asked whet...

How to use Event Framework for Complex Test Environments
How to use Event Framework for Complex Test Environments
February 3, 2022

With the increasing number of services in cloud-native applications and their dependence on various third-party applicat...