Book Image

Visual SourceSafe 2005 Software Configuration Management in Practice

Book Image

Visual SourceSafe 2005 Software Configuration Management in Practice

Overview of this book

Why is Software Configuration Management important?Software Configuration Management (SCM) is the discipline of managing the building and modification of software through techniques including source-code control, revision control, object-build tracking, and release construction. SCM involves identifying the configuration of the software at given points in time, systematically controlling changes to the configuration, and maintaining the integrity and traceability of the configuration throughout the software development lifecycle.Software Configuration Management is one of the first skills a serious developer should master, after becoming proficient with his or her development tools of choice. Unfortunately, this does not always happen because the subject of SCM is not commonly taught in either academic or company training.When developing software, you need to have a manageable team development effort, track and maintain the history of your projects, sustain parallel development on multiple product versions, fix bugs, and release service packs while further developing the application. This is where the concepts of Software Configuration Management come into play; SCM is about getting the job done safer, faster, and better.Visual SourceSafe has a long history behind it. The previous versions were either loved for their ease of use and integration with other Microsoft products, or hated because the headaches caused by using them improperly. This book will help you to avoid such problems.
Table of Contents (15 chapters)
Visual SourceSafe 2005 Software Configuration Management in Practice
Credits
About the Author
About the Reviewers
Preface

Summary


In this chapter we've seen how to manage the software development lifecycle using SourceSafe.

When developing a product we go through several milestones. A milestone is a point in time representing a key or important event in the life of a product. We mark milestones using labels so we can reproduce their configuration later when needed. We've seen how to create labels and how to get labeled versions and create persistent solution configuration snapshots in the SourceSafe database by sharing and pinning.

Then, we spoke about building either nightly or continuously, testing, and releasing a new product version. After releasing a new product version we have to maintain it while advancing development towards a new version. To be able to do this we have to conduct these efforts in parallel. We need to branch a new maintenance line for the maintenance effort while ongoing development is conducted in the mainline. After fixing bugs in the maintenance line we have to fix them in the mainline...