Why so many software swim lanes and environments
Software moves through different phases on its way to production. It starts
as raw software that becomes more refined as it is tested and then moved to
production. Partner teams often need to test their current code against your new code to
make sure there were no breaking changes. Software versions currently in production must be available to other teams so
that they can test their changes against your code that will be in production
when their new changes are actually deployed. Some companies can get by with as few as 3 environments. Others can have over
7 or 8.
Click to expand |
The Video Walkthrough
The Development Track
This is the normal promotion process from development through test and into production. There can be some orchestration through shared environments or through environments that are integrated with other teams. The development and test groups own the blue horizontal bar. They only coordinate internally if there are resource constraints.
Cross-team integration testing complexity
Teams end up supporting at least two environments for partner integration testing. They maintain
one environment for the current production versions of their
services/components. They maintain a second environment running the next
version of their services. Partner teams connect to one or the other
of those two based on their specific needs.
You end up with a matrix that looks something like the following for each of the partner teams. You maintain your two environments. They connect to the one that meets your needs.
Your Next Version | Your Current Production | |
---|---|---|
Their Next Version | ||
Their Current Production |
Updating Integrated environments after a release
There is a series of post-production deployments that happen in the hours/days following a release. The integration testing environments that contain current are updated to reflect the new current production.
Smoke Test
The smoke test environment is a transient environment where deployments happen and integration tests are run. Truly agile shops probably do this in their dev or integration environments.
Load Test
Load Test environments have a very specific purpose. They exist outside the normal promotion path in most organizations.
References
This is an update
to https://joe.blog.freemansoft.com/2016/09/an-environment-for-every-season.html
Created 2022 03 05
Comments
Post a Comment