# Build Server

Every enterprise has its own software development practices that cover how developers update code, how changes are tracked and tested and how new releases are created. We generally expect that whatever practices have historically worked within an organization will continue to work for the implementation of this application. However, a build methodology was developed that has worked well for managing concurrent changes to the application that is based on the following principles:

- The application should work in its entirety at all times. Therefore, any change to a part of the application requires the application to be retested in whole.
- Bugs are more expensive to fix the longer they stay in a system. Hence the importance of spotting any defect immediately after a software failure or crash occurs.
- In a complex system, errors not always appear where the code is modified, so it would be unreliable to test selectively based on what is likely to fail to find all the places of actual malfunction.

Parent topic: User Guide