A description of the concepts, principles and practice of software configuration management, with particular emphasis on the use of tools and techniques for the development and maintenance of effective software. No knowledge of particular programming languages or operating systems is required.