Abstract :
To improve software quality, you must first understand your software. If you do not understand your code base, your odds of updating it without breaking something are poor. Often, a fundamental misunderstanding of software configuration management (SCM) as it applies to real-world application development is at fault. Branching is integral to version management, software build correctness, and release management. Good decisions about when and why to branch can make it much easier for developers and release engineers to coordinate software product changes. The right branching strategy makes it easier to deliver the right code, re-create past releases, and-if necessary roll back to a previous release. The authors consider how adopting the right SCM branching model facilitates rapid development, increases overall product quality and process efficiency, reduces the incidence of software failures, and improves organizational performance.
Keywords :
configuration management; software development management; software maintenance; software quality; application development; branching models; organizational performance; product quality; release management; software configuration management; software failure; software product changes; software quality; software understanding; software updating; version management; Application software; Computer bugs; Knee; Labeling; Scheduling; Sequential analysis; Software development management; Software quality; Software testing; Terminology;