3-Stage Software Development Lifecycle
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?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 stage 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.?
领英推荐
What Happens in the Production-Like Environment?
Once we’re in the production-like stage, that’s the time to make sure all environmental factors and configurations have been verified and everything integrates appropriately with dependencies.?
In an ideal world, the service should be treated as a first-class citizen in the production-like environment. This isn’t how most continuous integration works currently. By the production-like phase, the focus needs to be on how requests are moving between services and how interactions are managed, not just whether or not the code is solid.?
Conclusion
Reducing the distance between development and production is a way to simultaneously improve development velocity and reduce change failure rates. Moving to a three-stage software development lifecycle does just that. It also has the added benefit of giving developers more control over the testing and hardening of their services, giving them more confidence to ship.?
Ref:https://thenewstack.io/
Marketing
2 年??