{i} This page does not meet our wiki style guidelines. Please help improve this page by cleaning up its formatting.

{i} This page is an incomplete stub. Please help improve this page by expanding it, following our wiki style guidelines.

Controlled working practice

It is typical in corporate settings for software development to follow a formalized software development process (SDP). In this situation there is typically a production branch, a development branch, and a future branch. From each of these branches there will typically be a system test branch, an integration branch, a quality assurance branch, a unit test branch, and a developer branch. Note that for simplicity I will be treating each of these branches as if there were only one of each, but there are usually many of each. There may be several production branches associated with the released versions that have not yet reached end of life.

Contrary to intuition, in order to properly support centralized management and control it is (nearly) necessary to use distributed software management tools. This is so because the centralized tool approach does not allow for clean/clear separation of repositories and branches coupled with effective merging, which are necessary for centralized management and control.

See also