User:Superdog1138.7/MitchPrinciple

The Mitch Principle is a software management principle established by Mitch Terlisner, a software engineer.  

Background
The Mitch Principle states that all developers should be able to quickly build a .NET solution after getting the latest source from Visual Source Safe. 

Problem
The problem with Visual Studio solutions is that assembly references are easily broken if the Mitch Principle is not in effect. References are stored in the solution file using a relative path. Therefor if a developer does not subscribe to the Mitch Principle, works on a project, and then checks the solution file into Visual Source Safe, the solution will subsequently fail to build due to broken references. Subsequent developers will then need to spend time searching for the correct assemblies that should be referenced, and ensure they have the correct version.

Sub Effect
The sub effect of the Mitch Principle is that all developers must mirror the Visual Source Safe tree on their local drives. This will ensure that relative paths will remain constant and no references will be broken.

Criticism
There are several issues with the Mitch Principle.

1. Each developer must build a copy of the entire Visual Source Safe library on their local machines. This will result in copying down every solution when only the one to be worked on is desired. This is a one time administrative cost.  2. If the Visual Source Safe tree is poorly organized, each developer may have to drill down thru dozens, hundreds, or even thousands of folders to get to the source they need. Because the tree is mirrored onto each development machine, the developer must also traverse the tree on their local machines making it difficult to find anything. This adds up to hours of administrative overhead over time.  3. Because referenced assemblies may change over time, each developer must continue to refresh their local copy of all projects before maintenance can begin. This adds up to hours of administrative overhead over time.