Source Code Management Systems: Trends, Analysis and Best Features
SCM development tools do far more than prevent programmers from writing over others' changes. This highlight from Evans Data Corp.'s research study summarizes the key advantages and disadvantages of the major proprietary and open-source SCM systems.
Fri, June 22, 2007
CIO — In the beginning, there was the spreadsheet, the white board and the release engineer. The release engineer ran from one cubicle to the next, trying to keep track of which developer was working on what module and when, as well as which bugs had been fixed, discovered and introduced. Needless to say, that process was fraught with problems and errors. And so, source control management systems were created.
A source control management system (SCM) is software that provides coordination and services between members of a software development team. At the most basic level, it provides file management and version control so that team members don’t write over each other’s changes, and only the newest versions of files are identified for use in the workspace. But that’s only the beginning. SCMs also give developers the ability to work concurrently on files (in branches that may or may not converge), to merge changes with other developers’ changes, to track and audit changes that were requested and made, to track bug-fix status and to perform releases. In some cases, SCMs may include other components to assist in managing a software process throughout the entire lifecycle. The difference between source control management systems and application lifecycle management (ALM) systems is really a matter of semantics and reflects the completeness of the tools provided in the system.
In spring 2007, Evans Data Corp. interviewed users of various source control management systems. The users were asked to rank the products they use across 16 different categories, on a scale ranging from “Excellent” to “Needs Improvement.” Only those IT managers and developers who actually used the products rated them, and they rated only the ones they use currently. Only products that achieved a certain threshold of rankings were included in the report. In addition, users were asked to rate the attributes as to their importance, so a truer evaluation could be made.
In studying these SCMs, it became clear that each product has its own story and its own appeal and drawbacks. Here are a few examples.
Borland’s StarTeam beat the competition in satisfying its users in several criteria, including file management, merge tracking, performing releases, speed of check-in/check-out, administrative overhead, bug tracking, artifact traceability and server usage. In addition, its users rated it within the top three in virtually all categories, giving it the greatest overall rating. However, StarTeam’s market share is low, Borland’s once-famous marketing muscle has withered, and the company’s stability is questionable after the recent spinout of its tools group.