Software Configurations and Development Tasks

In most modern software development organizations, many tasks are under way concurrently. At the beginning of this section, we listed a few: new products, new releases of existing products, ports to different platforms, and bug fixes. In addition, consider the fact that each one of the above tasks is often several coordinated efforts: initial development, unit testing, internal system testing, beta testing, final production.

To enable all the tasks to progress smoothly at the same time, each person gets their own software configuration, their own set of versions of the files in the repository. A small, close-knit team might choose to share a single configuration.

It’s the job of the software configuration management system, such as AccuRev, to help the organization: