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

The Evolution of Software Products


The Software Development Lifecycle represents the process model used to organize and manage all the steps involved in the life of software products. Life-cycle models are used to control the evolution of software products starting with their conception and ending with their termination.

The first model created to address the problems of software development was the waterfall model. The waterfall model is a sequential development model in which the product evolves steadily (like a waterfall) through the phases of requirements, analysis, design, implementation, testing, and maintenance. Being sequential, the

waterfall model requires that, in order to advance to the next step, all the previous steps must be fully completed. As a result, much time is spent early on to make sure that requirements and design are absolutely correct before advancing to the next phases.

This model works even today for software products that have well defined and stable requirements...