Product Description
A comprehensive evaluation of Software Configuration Management (SCM). It provides a complete explanation of SCM, from the basic definition of SCM as a scientific tool that brings control to the development process, to the procedures for SCM implementation in any organization. It reviews each phase in the software development cycle, and demonstrates how SCM can help software developers avoid pitfalls at every step.
From the Author
A book that blends theory and proactice of SCMA few years back, I was working in a very large projectit was the computerization of a securities clearing agency. The project had 3 phases, the development was done from many different locations around the world, the project team was more than 700 in number at any given point in time, and the number of new team members joining and leaving the team was high. A project managers nightmare and typical scenario for disasternobody believed that the project could be completed in time. But in a period spanning 6 years, the project was completed and was implemented successfully. Each phaseone in the 2nd year, the second in the 4th year and the final in the 6th yearwent live on the day it was supposed to go live. It was a huge achievement, something that does not happen very often in software developmentespecially in projects of this size, complexity, scope and magnitude.
What made it happen? From the very beginning the project relied on scientific techniques and good software engineering practices. Everything was done in a systematic and scientific manner and nothing was left to chance or human error. At the back of all these efforts was a well designed and successfully implemented software configuration management (SCM) system. While there were other factors like excellent quality of the project team, good design and development standards and principles, exhaustive and thorough requirement analysis and design, use of latest technology and so on, the most important factor that was responsible for the success of the project was the SCM and how it was implemented in the project. The system was beautifully designed and implemented in the project with support from all modules in the project. The project team members were educated in the benefits and advantages of the SCM system so that everybody considered it as a must for success and not as a necessary evil.
I was lucky enough to work from an early stage in that project, to be a part of the SCM system design team and also to lead the SCM implementation. I had earlier worked in software projects of all kinds and had seen and experienced the consequences of not having a system to track the changes and make the software development more orderly and systematic. Since I had some experience in SCM and since I believed in SCM, I was selected as part of the SCM system design team. We considered the existing tools and none of them met our requirements (the SCM tools at that time was not as advanced as todays tools and didnt have many of the features that are available now). So we built a SCM system for the project. Developing an SCM system for such a massive project was in itself a huge effort. I learned a lot of new things about SCM, SCM system design, tool selection, SCM implementation and so on. I also learned that each project is different, people will use an SCM system if they know the advantage and benefits of SCM, how to train the people in SCM, why it is better to tell the team members why they have to do certain thingsSCM proceduresrather than just telling then how it should be done, why it is important to have a good SCM plan, how to conduct SCM audits and so on. Even though I had used SCM and had designed SCM systems earlier, the experience that gained from such a very large project was quite different. After the completion of the project, I have designed, implemented and managed SCM systems of all kinds for many other software projects.
This bookA Guide to Software Configuration Managementis the result of my experiences, experimentations, research and studies in the field of software configuration management. It contains the along with the theory, the practical things that I learned during designing and implementing various SCM systems in many projects.
The Y2K problem has taught us the catastrophic effects that can be caused due to uncontrolled and unmanaged software development. The organizations and governments world over has spent and is still spending billions in correcting the bugs and errors introduced by the Y2K problem. The impact of the Y2K problem could have been drastically reduced if the projects that created the legacy systems followed Software Configuration Management (SCM).
Today, practicing SCM is not difficult. There are many tools that help you to do iteffortlessly. You only have to choose the right toolthe tool that is best suited for your projectand implement it. The book explains how to select the right tool, how to plan the implementation, how to implement the system, how to train the users and so on. The book gives practical tips on how to achieve dramatic productivity improvements using SCM and how to successfully complete projects on time within budget with the help of a good SCM system.
For increasing the usefulness of the book I have listed the SCM resources that are available on the Internet. The SCM bibliography will be useful for people who want to learn more or to do research. I have also discussed the various SCM standards that are relevant for an SCM professional. I hope the readers will benefit greatly from the book and will successfully design, implement and use SCM systems in their projects and organizations.
See all Product Description