Introduction to the Next Generation of Source Control
Source Configuration Management (SCM) is an essential part of the Application Development lifecycle. Any kind of software development project is impossible to complete without some sort of source control manager tool.
For the first eight years of my career in IT, I have had an opportunity to use such tools as PVCS, CVS, RCS, and Aegis. The main function of these tools is to provide a framework within which a team of developers may work on many changes to a program independently and record the history of source files and documents. But, Source Configuration Management is much more than that—it is not only control of versions of files, it is also establishment of baselines and, more importantly, control of how file versions can be grouped together into logical tasks.
Two years ago, I was introduced to a new kind of Source Configuration Management tool—Synergy CM. This tool is a task-based Configuration Management solution. It answers all of the directives posed by Source Configuration Management. Synergy CM is not the only task-based Configuration Management tool out there. There is also a tool called Perforce. Unfortunately, I have not been able to use Perforce, but from reading up on it, I realize that the tool attempts to offers similar features. But, given the fact that IBM, owner of Rational ClearCase Software (another SCM), acquired Telelogic (developer of Synergy CM) last summer, I am confident that Synergy will capture a much larger market share in the near future.
This article will cover major features of Synergy CM. Furthermore, it will uncover some of the complexities associated with using the tool. I will leave it up to you do decide whether the tool is worth your consideration.
Suppose the requirements call for two enhancements to be implemented:
- Enhancement One: Update Business Constants and Rules Constants
- Enhancement Two: Update Rules Manager Interface and XML Parsing
After identifying what source code files have to be modified, the application developer creates two new tasks (see Figure 1).
- Task 27036: Business Constants and Rules Constants
- Task 27037: Update Rules Manager Interface and XML Parsing
Figure 1: Two new tasks
Then, the developer checks out files into their appropriate tasks (see Figure 2):
Figure 2: Checking out a source file
Task 27036 now contains the following checked out files (see Figure 3, upper section):
Task 27037 now contains the following checked out files (see Figure 3, lower section):
Figure 3: Checked out files
After coding has been competed, the application developer checks in all the files (see Figure 6) by completing the tasks (see Figure 4):
Figure 4: Application Developer completes a task