How should development environments be standardized? Coder report highlights wide variations

How should development environments be standardized? Coder report highlights wide variations

A new survey of 550 enterprise developers shows there’s a wide variation in the extent to which development environments are standardized or cloud-hosted, and indicates there are difficult trade-offs between management, flexibility, and speed of provisioning.

Among those surveyed, only 34 percent have fully automated provisioning of development environments, and only 38 percent have automated updates of development tools. 

The survey was sponsored by Coder, whose main product is an open source provisioning tool for setting up development environments, which can be local, on-premises, cloud or Kubernetes. Coder worked on the survey with developer market research company Slashdata. 

Some developers cannot easily install new tools. 14 percent of respondents have no ability to add tools, and 23 percent are restricted to a pre-approved list. 50 percent can install tools subject to approval, and 13 percent have freedom to install what they like.

The top three developer frustrations in this area are needing approval for changes (cited 21 percent), delays because of lack of resources (20 percent) and platform team dependencies (20 percent). The term platform team typically refers to the team responsible for the internal developer platform at an organization.

Setting up a development environment can be complex, with an array of tools for editing, compiling, debugging and testing code, sometimes alongside emulators for mobile devices or local setups of Kubernetes clusters or cloud services. A preconfigured environment means all this setup can be automated, speeding provisioning time. 

According to respondents, the top 1 percent can set up a new development environment in less than 10 minutes, while 63 percent can do so within a day. The slowest 2 percent take more than a month though, and 21 percent between 2 days and a month. The delay is not always technical; it may be a wait for approval, or to coordinate with other teams.

When asked what type of development environment is in use, many respondents apparently ticked most of the options

How should development environments be standardized? There appears to be no consensus, with the survey reporting high levels of interest in virtual desktop infrastructure (VDI), reliance on internal DevOps teams, hybrid approaches, commercial cloud development environments (CDEs), outsourcing to a third party, or using self-hosted and managed solutions. The survey researchers though emphasize commercial cloud development environments as the preference of “developer-focused organizations,” which happens also to fit with Coder’s product offering. VDI, the researchers say, is “cumbersome, expensive, and a legacy technology.”

When asked what type of development environments are currently in use, many respondents picked all six on offer: managed cloud-hosted, self-managed cloud-hosted, local machine, VDI, local containers, and on-premises remote environments. The researchers take the view though that CDEs are poorly understood, claiming that “around half of the respondents showed low or poor awareness” of the technical features that are integral to a CDE.

Developers with strong views about how their development environment should be set up, and what tools they prefer, may resist standardization; but there are many benefits, including consistent results, easier hiring and training, lower license costs when fewer tools are in use, easier standardization of coding policies, and easier transition between teams, as well as faster provisioning as noted above.

There are many routes to standardization and although the Coder team enthuses about the CDE approach, the survey suggests that for now, wide variation is the norm.