CM is an important driver for development productivity, yet remains often overlooked when discussing how the development lifecycle could be optimized. Often, this happens because of the perceived complexity of parallel strategies and additional overhead. However, today’s CM tools offer powerful capabilities that allow users to tap into that potential.
Mario Moreira surveyed recently surveyed agile professionals to find out just how valuable CM processes and tools are to them. While there was a noticeable difference in opinion between different responder age groups, the overall response was overwhelmingly positive in CM's favor.
Many times when managers first consider parallel development, it appears to be a very effective way to manage changes to concurrent streams of development. This is somewhat true if the project uses an SCM technology that allows for stable branching and establishes discreet project and maintenance branches. However, what is often forgotten is that while branching is a great way to separate code changes, at some point merging will have to occur. This article provides guidance for approaching and performing parallel development.