It has been a while since software configuration management has seen any changes, but industry experts sense that some new things on the SCM front are brewing. With the advent of accepted open-source solutions and Distributed Version Control Systems (DVCS), married with tighter collaboration of roles and tools and the expansion of SCM within the application life cycle, the typically quiet and fragmented industry is poised for some imminent changes while working with the ones that have already occurred.
Perhaps the most interesting and “revolutionary” movement the SCM market has experienced is the introduction of CollabNet’s Subversion (a tool for version control) and Git, a DVCS tool. Both open-source solutions bring a different flavor to the table of SCM tools by offering developers and organizations alike different options for developing software.
Viewing this change on the micro level of SCM, Forrester analyst Dave West said, “I’ve seen a migration away from complex and expensive software configuration management solutions to Subversion and other open-source solutions.
“These tools are easier to work with, of course cheaper, and are gaining popularity,” he added, and if the trend continues, “I see a continued movement towards Git and other DVCS tools.”
A fairly recent innovation in version control, DVCS tools offer developers a much easier and more compelling way to develop software, especially if teams are distributed across the world, said Eric Sink, founder of SCM vendor SourceGear.
DVCS tools differ in several ways from a more traditional centralized approach to revision control. Unlike the centralized model, DVCS may offer several “central” repositories for developers to work with, easing the difficulty of distributed teams collaborating on work, explained Jack Repenning, CTO of ALM vendor CollabNet. These types of tools also enable users to work productively even when not connected to a network, which is another differentiator from traditional revision control tools that require a connection to a network for operations and tasks.