Skip to content

Elevate your tech career, reclaim your life.
Home / Content / The Show / Development Environments – Isolating Customers From Your Changes

Development Environments – Isolating Customers From Your Changes

Development Environments

To release software to your customers, you'll need several development environments. They allow a team to make changes without disrupting customers.

Watch or listen to this episode

YOUTUBE

SPOTIFY

APPLE

To release software to your customers, you’ll probably need several development environments. To allow a team to make changes to software without disrupting paying customers, we need a way to isolate them.

Software developers and engineers working on an agile software development team need an environment where they can make changes under development. The development environment might be a copy of a website, database, or API on their computer. This is sufficient for a product with a minimal footprint. In a larger and more complex software product, cloud or server resources in a datacenter may be needed to support development environments.

In addition to a development environment, most teams need somewhere separate from development and production to do additional testing. This can be known as the “test”, “user acceptance” (UAT), or “staging” environment and allows the team to more closely inspect a version of the software slated to release.

The final environment that is always required is production itself – or the place where your paying customers use the software.

In addition to a development, test, and production environment – there are two other environments that can be fairly common.

One of these is a demo environment, who’s purpose is to provide a playground or sandbox where a limited audience can “kick the tires” of the software without disrupting the development team.

The other common environment is a capacity test environment, who’s purpose is to determine whether a potential release of the software will stand up to a real load. Capacity test environments should have the same hardware or cloud processing power as production, to provide testing results that are representative of real traffic on the same computing power.

Regardless of which environments your company or team uses to release software, you’ll need configuration management to automate releases through these environments. I’ll talk about configuration management tomorrow, and how you can use it to make sure releases of the software in a given environment don’t accidentally point to the wrong environment’s resources.

Resources

Continuous Delivery – Are You Missing The Big Picture?
How To Use Configuration Management For Continuous Delivery Of Software

About the THRIVING TECHNOLOGIST show

On YouTube and all major podcast networks, Jayme shares teamwork and leadership strategies, guidelines for healthy company culture, and stories about real projects so you can have a sustainable career in the software industry.

Subscribe Now
YOUR HOST

Jayme Edwards

A family man and veteran of nearly 40 software projects, Jayme experienced many wins and losses over his career as an architect and consultant.

Now he's coaching software developers, managers, and business owners to overcome challenges in the IT industry - so they keep growing.