title: What are source control and configuration management best practices?
body: <p>I am thinking of a list that I could refer other developers to with things like:</p>
  
  <ol>
  <li>One build script, such as <em>makefile</em>,
  will build and test entire project</li>
  <li>All components to needed build the
  system need to be source controlled</li>
  </ol>
  
  <p>Anybody have such a list? In priority order?</p>
  
  <hr>
  
  <p>UPDATE - added some fyi detail</p>
  
  <p>System in question consists of C++ and makefiles, Java with ant that results in WARs, as well as powerbuilder and C# gui components. All code is in perforce.</p>
  
  <p>So I am looking for both generic as well as language specific best practices.</p>