Many organisations use multiple environments for their software and systems development and testing. The names and specific purposes for these systems vary depending on organisational needs, but the most common environments are as follows: - The **development environment** is typically used for developers or other “builders” to do their work. Some workflows provide each developer with their own development environment; others use a shared development environment. - The **test environment** is where the software or systems can be tested without impacting the production environment. In some schemes, this is preproduction, whereas in others a separate preproduction staging environment is used. Quality assurance (QA) activities take place in the test environment. - The **staging environment** is a transition environment for code that has successfully cleared testing and is waiting to be deployed into production. - The **production environment** is the live system. Software, patches, and other changes that have been tested and approved move to production. Change management processes are typically followed to move through these environments. This provides accountability and oversight and may be required for audit or compliance purposes as well.