A Programmer's Thoughts on Software Configuration Management

and Software Development Best Practices