Implement virtual software development environments for agency employees and contractors. Proven technology is available for this solution, and it saves money, encourages telework, increases security of the organization network, and decreases the loss of software work product.
1. Saves money: Virtual environments allow thrifty use of computer hardware. The virtualization software allocates centralized resources as necessary, instead of paying for more expensive equipment scoped to the maximum possible need. A developer can set up multiple environments, which each run only as necessary.
2. Encourages offsite work / telework: Software development is knowledge work that does not require the expensive physical landscape of a government or contractor building. A virtualized environment can be used from anywhere a high-speed internet connection is available. It can be accessed from government computers, contractor computers, or the developer's own PC/laptop securely and on demand.
3. Increases security: Software developers prefer direct control of the software environment they develop. Some make unauthorized changes to the computers on which they work or run separate, unauthorized computers directly on the network. These uncontrollable changes can make the computers vulnerable to interference. In a virtualized environment, changes to the virtual machine have a much smaller impact on security of the central computer and organization network.
4. Decreases loss of work product: If a developer is working on a laptop that stops working, he will lose his work product. If he failed to make backups, then he can lose days or weeks of work product. Additionally, if he wins the lottery and leaves unexpectedly, the organization may be unable to access his work product. In a virtualized environment, the work product exists even if the laptop stops working. the work is also easily retrieved by someone who controls the central computer hosting the virtual development environment.