Back

On-Demand Environments

Setting up a new workstation and development environment for developers is often a difficult and time consuming process. It may take multiple days to install software, load and configure everything to fit what the user needs, and allow permissions to all necessary functions and network locations. Even switching an existing workstation to a new product can take a substantial amount of time. This overhead of creating an environment adds often unnecessary time to the deployment pipeline, reducing the amount of work that the teams are able to accomplish.

One trend that is becoming more popular is creating environments on demand. Organizations will create a development environment for one or more roles or teams and save these configurations to a central repository. The configuration has all necessary applications, tools, and utilities that a particular role will need to perform their duties. When a new employee or transfer requires a workstation, the organization will clone the appropriate environment to a new machine and the team member is ready to work. A process that may otherwise take multiple days can be reduced to just a few hours or less. Plus, this creates more uniformity across workstations, meaning that developers will be more familiar with the look and feel of the development environment.

Testing

As with any software development, testing is vital in DevOps environments. Testing differs in DevOps, in that it is done at all stages, rather than just in a single QA or testing phase. At every step of the process, teams look for bugs and errors where they can. Spreading out the testing across the entire process means that teams often find more errors, and the process of fixing these bugs is spread out, rather than a huge influx of problems to fix all at once.

When teams find bugs in the same stage at which the work was done, it reduces the overhead of handing off the product to another team for error resolution. Minimising overhead means that teams get more practical work done, and reduces the impact of bugs on the development pipeline.

Definition of Done

While definition of done may vary across development projects, it encompases even more within DevOps projects. A product must do more than run free of bugs to be considered done. It must also be installed on a customer’s system. Since operations are part of DevOps, those facets of a product lifecycle must also be accounted for.

There is still some variability in the definition of done for DevOps projects. Organisations might say that installation is sufficient. Further than that, some teams may insist that the product be configured for customer preferences. Even more, some teams may run through the software for a period to meet customer approval. Exactly what extent the operations technicians go to is up to the definition of done for that project and organisation. In any case, however, the techs must be able to verify that they have finished their part of the process.

Translate »