Friday, December 22, 2006

Why Clean Machine ?

Document Taken from WISE

Software quality continues to be increasingly important due to the high risks associated with security flaws and the growing intolerance for product defects. At the same time, software is becoming more complex and the pressure to release major new versions more frequently is increasing. Successful software development teams address these issues by implementing a consistent, repeatable development process that is built to ensure software quality. An
automated software build process is a critical piece of that process. Most independent software vendors and corporate development teams have created some type of automated build
process. In many cases, this process is a homegrown combination of scripts and batch files that retrieve the source code from a source control system, compile the source code, and build the product installation. This build process typically runs on a developer’s PC, or for larger teams, on the PC of the build engineer. While an automated build process is a key step towards consistently producing high quality software, there is a significant element missing
from this process – the clean build environment.


Common Problems with Automated Build Processes

Most automated build processes are performed on the PC of the build engineer or one of the developers. This approach is inherently flawed due to the lack of control over this environment. Here are some common problems that can occur with this approach:
• A virus on the build PC could be inadvertently included in a software build.
• Installation of new software or software updates on the build PC could change resources that are included in the software build.
• Uncontrolled access to the build PC could result in unauthorized changes to the software build,
including potential malicious changes that could be difficult to detect.

Clean Machine

• A completely clean PC that includes only the operating system; no software products of any kind should be installed on this PC. (Exceptions are Security patches, Anti-Virus..)

• A network connection that can be easily disabled, or a CD-ROM or ZIP drive to transfer the software resources to this PC.