App Development

What are environments in software development? A guide to the development, beta, and production environments.

20 December 2017 • 2 minutes

Written by Tessa Mylonas

image for 'What are environments in software development? A guide to the development, beta, and production environments. '

Software development teams use environments to create “stages” as they progress apps through the development process.

What are software staging environments?

A software development environment (SDE) is the collection of hardware and software tools a system developer uses to build software systems.

When you are developing software, you probably don’t want your users to see every messy part of your application creation process. In order to make sure you control what people see and when they have access to it, development teams use environments to create “stages” of the app which they consider good for releasing.

Each environment has its own unique purpose. There are different standards of environments which are used in the industry, although almost every process starts at the ‘development’ stage and ends with ‘production’. Different organisations all have their own purposes and policies which dictate when and how each environment is used.

At Codebots, our environments include:

What happens in the Development Environment?

The development environment is used to build your application. This is where developers complete the majority of their work. Typically, the development environment is set up on local computers, and work is facilitated by a Git repository. Users and customers cannot access anything done in the development environment unless you show them.

Once your team has a version of the product that they are ready to release, they can “release” a new version of the product to the beta environment.

What is the Beta Environment?

The beta environment is used to test your application. Before your team releases from development to beta, they will usually copy what is currently on your production environment down to beta. This helps them test not only the new code, but allows them to assess how the next release will affect what is currently live.

This stage can be used not only for testing the new functionality, but also as an opportunity to demonstrate the newly completed work to the product owner, or test it with users and get feedback.

Normally, the beta stage is live and available to the world, but it shouldn’t be publicised, meaning only people who know the correct URL can access it. Typically, it is also locked down behind a login wall.

When your team has thoroughly tested everything and are ready for it to go live, they will release what is on beta to the production environment.

What is a production environment?

Production is the final environment in your software development process. It is the work that it ready to be publicly available, and only the most thoroughly tested code should end up here.

While most people associate the production environment with the product being live, this is not necessarily the case. Until the URL is actually shared with the public, your production site can instead act as a platform where the public-ready code is kept.

How do environments work on Codebots?

At Codebots, we write to the git repository of your choice and give you ownership of your source code. This means you can deploy your app to anyenvironment of your choice and retain complete control over your code and application security.

Tessa Mylonas

Written by Tessa Mylonas

Head of Support and Education

If Tessa isn’t busy answering support questions or educating you about the Codebots products, she is typically found putting together flat-pack furniture, playing with her chocolate Labradors or hoarding houseplants.