10.2 Commercial SCM tools

 < Day Day Up > 



There is a wide range of commercial tools, from simple ones (intended for small systems and development groups), to those that cover the needs of large enterprises. We shall focus here on some of these, giving a short overview and in some cases showing characteristic or interesting parts.

10.2.1 AllFusion Harvest Change Manager

AllFusion Harvest Change Manager [6], formerly known as CCC/Harvest, is an enterprise change and CM tool. The tool is intended to provide a comprehensive, integrated, repository-based change management and CM solution for managing complex, enterprisewide development activities. The tool is intended to provide a means of tracking software changes and managing the application development process in distributed environments. This is a tool best suited for middle-size projects with a well-defined development process. The tool can be adjusted to the existing process.

The main features of AllFusion Harvest Change Manager are the following:

  • Process-driven, integrated change management and CM. The tool helps to create and modify models of a development process by automating workflows, such as notifications, approvals, and change migrations from one phase to another.

  • Problem management. Problem management can be automated and tracked with associated change packages, which give historical information regarding specific changes and events that take place within a development process.

  • Application development tools integration. This feature is enabled through its open architecture, customization options, and support for the Microsoft source code control interface (SCCI) standard.

  • Management reporting and metrics capabilities. Different reports providing data from the repository can be created using Visual Basic or Java scripts.

  • Inventory management. This feature provides authorized users with status information regarding any software asset in the entire organization—who, what, why, when, and where.

  • Automated build management. The tool includes automated build management through the Openmake facility, which is integrated in the tool and different IDEs.

Change management and CM provide support for managing the life cycle of software products by combining cooperative objects (for example, states and processes). The change process is based on promoting the change package (a set of changes), not on individual files. Figure 10.1 shows an example of the possibilities of defining a process, including several projects sharing common parts and in which the states are mutually dependent.

click to expand
Figure 10.1: Development process managed by AllFusion Harvest Change Manager.

10.2.2 Rational ClearCase

Rational ClearCase [7] is one of the leading SCM tools for the support of software development and maintenance life cycle. It is a tool for larger organizations that can take full advantage of SCM by providing control of all of the assets in the development and maintenance processes.

The tool consists of several products covering different phases and aspects of the software life cycle and scaling up support for small and middle size development teams up to large distributed enterprise projects (see Figure 10.2):

  • Rational ClearCase covers the basic SCM functions: version management, CM, change management, and build support. A light version, Rational ClearCase LT, is intended for smaller development projects.

  • Rational ClearCase MultiSite is a product option included in Rational ClearCase. A component of the Rational integrated change management solution, it enables parallel development across geographically dispersed teams.

  • Rational ClearQuest is a defect and change tracking system that captures and manages all types of CRs throughout the development life cycle.

    click to expand
    Figure 10.2: Rational ClearCase Family products for development projects of different sizes.

The ClearCase product family is to a large extent integrated with other Rational tools and supports Rational’s Unified Change Management (UCM). UCM defines an activity-based process for managing changes that teams can apply in their development projects, from the specification of requirements and design through implementation and delivery. It permits the management of changes at a higher level, in terms of activities or components. With UCM, an activity is automatically associated with its change set, which encapsulates the particular versions of the project artifacts used to implement the activity.

ClearCase is a very powerful means of obtaining an invariant view of the version management and CM. When accessing versioned files, developers work in a predefined view that is obtained by a selection filter for accessing a particular version of files or folders or any other type of object under version control. In everyday work, developers see the working structure as any ordinary file system, but they actually work directly on the repository. The repository, which is different from most SCM tools, is a version management file system, which is mounted to the developers’ standard file system. The rules for providing views are powerful, consisting of a combination of a set of simple rules, such as working version, latest version, particular BL, and particular branch.

Extensive support of distributed development is provided by a multisite option with a primary role in the synchronization of repositories. The synchronization is achieved at object version level, or more precisely on the branch level of objects. Different sites can be assigned as owners of different branches. A site can generate new versions of a file in a particular branch and can read other branches. The branches are synchronized at a specified frequency. The merge process from the branches must be performed manually. The example on Figure 10.3 shows two sites, where site A can check in new file versions in the main branch, while site B is allowed to update the bugfix branch. The branches are periodically replicated. In the example, only site A can do a merge from different branches and create a new version in the main branch.

click to expand
Figure 10.3: Multisite management of different branches of a file.

ClearCase is integrated in many IDEs. It also includes Microsoft SCCI and can therefore be integrated with other tools that support that interface. ClearCase also includes a simple script that manipulates with assets under version control. Triggers related to particular events and actions from users or from ClearCase itself can start these scripts. However, an API covering all ClearCase functions is not available in the present version. ClearCase is one of the few SCM tools that provide solutions for integration with PDM tools (see Section 6.3).

10.2.3 CM Synergy

CM Synergy [8] (previously known as Continuus) manages objects that can be source code, binary files, folders, or documents. All objects are under version control, saved, in the same way as in PDM systems—in a relational database and in the file system. In order to modify files, they must be checked out in the local file system.

Telelogic Synergy includes the following tools:

  • CM Synergy is change management software used for the development and maintenance of software and systems. It provides a distributed repository and support for a team-oriented workflow approach to development teams of different sizes.

  • Change Synergy is a change request tracking and reporting system that manages the process of change request management.

  • CMSynergy Distributed Change Management is used for remote and distributed change management. DCM enables geographically distributed development teams to work together.

  • CM Synergy ObjectMake provides a build management capability.

  • Project Synergy for Microsoft Project enables project management, with greater visibility into project activity and more accurate project schedules.

For integration with other tools, CM Synergy uses Microsoft SCCI. It permits integration with different IDE tools such as PowerBuilder, Microsoft(R) Visual C++, Visual Cafe, VisualAge for Java, and Visual Basic. The ActiveCM plug in enables automatic execution of SCM commands by monitoring the development environment and triggering the SCM activities that would normally be provided by a developer.

CM Synergy can specify a life cycle model for the development process by defining workflows using states of objects and activities as transitions between the states. Different life cycles can be defined for different types of objects (e.g., for source code, a life cycle model defines the states work, integration, test, SQA, and release, and for a task, registered, assigned, and completed). A script language is used for modeling life cycles.

The process models can be classified in two categories:

  1. Object-based models. This category of model identifies different object types and a life cycle model for each type. It is easy to add new types of objects and new life cycles for them.

  2. Task-based process models. This model is focused on tasks. Objects can be associated with tasks. An action applied on a task is propagated to all associated objects. For example, if a task is checked out, all files associated with this task will be checked out.

The tool supports parallel development and it distinguishes three different-types of concurrent development: concurrent development of objects, development of variant releases, and development of parallel releases. Distributed development is supported by Distributed Change Management, which manages the synchronization of repositories. Entire repositories, objects, or particular structures can be synchronized. The objects are updated over multiple sites using the following methods (see Figure 10.4):

  • Object replication. One site (a master site) is responsible for all changes in an object, while other sites can use the object.

  • Concurrent development. All sites work with the same object, and two approaches are used for sharing the object: hub and spoke (in which a particular side includes a master version to which all other versions are synchronized), and peer to peer (in which versions of all sites are synchronized in particular order) [2].

    click to expand
    Figure 10.4: Different principles in sharing of data: (a) Object replication, (b) hub-and-spoke parallel development, (c) peer-to-peer parallel development.

10.2.4 MERANT PVCS

Merant PVCS [9] products cover SCM functions and also focus on similar activities in other domains, in particular Web content management (WCM) and application change management (ACM) in corporate-packaged application suites from Oracle.

PVCS is a family of the following products:

  • PVCS Professional is a single suite for SCM that includes PVCS Version Manager, PVCS Tracker, and PVCS Configuration Builder.

  • PVCS Version Manager organizes, manages, protects software assets during revision, and promotes team collaboration. PVCS Version Manager is integrated with numerous development environments and tools.

  • PVCS Tracker captures and manages changes, issues, and tasks, providing basic process control to ensure coordination and communication within and across development teams.

  • PVCS Configuration Builder ensures that applications can be reliably built in a reproducible manner, ensuring the use of components from the same version.

  • PVCS Dimensions integrates SCM functions under process definition to automatically manage workflow and change implementation. It is used for larger projects.

  • Merant Collage is a Web life cycle toolset that manages a Web site infrastructure and combines it with task management and workflow.

  • PVCS Change Manager for Oracle speeds adoption of custom development and updates and new releases from Oracle for ERP suites.

Both PVCS Professional and PVCS Dimensions address version management, build management, and issue management. Process and workflow management, BL management, and release management are addressed in a basic way with PVCS Professional. PVCS Dimensions has more advanced capabilities for build, release, and process management. It relies on a single metadatabase repository, and it integrates all management functions into a single system. PVCS Dimensions manages all areas of SCM and the items, components, roles, and processes involved, including enforcement of workflow steps, checkpoints, and approvals. PVCS Tracker is a link between a development process and users’ requirements. It is used for registering feature requests, defect reports, customer feedback, general project issues, tasks, action items, and responsibilities. These issues are integrated with the development process by linking them with particular changes performed in the development projects. Figure 10.5 shows the high-level differences between PVCS Professional, PVCS Dimensions, and PVCS Tracker.

click to expand
Figure 10.5: PVCS tools collaboration.

PVCS tools are intended for medium-size projects. They support parallel and distributed development processes. In particular, PVCS includes WebDAV functions, which make it possible to access file structures over the Internet.

All of the tools are integrated with most existing IDEs. A special facility, TrackerLink, IDE integration, is used for integration with other products. The integration is based on Microsoft SCCI specification, which is supported by many IDEs.

10.2.5 Microsoft Visual Source Safe

Microsoft Visual SourceSafe (VSS) [10] is a version management tool with rudimentary configuration functionality. The main feature of VSS is its good integration in Visual Studio (it is actually a part of Visual Studio, although the integration is not perfect). Unlike most SCM tools, VSS is neither file oriented nor change oriented; it is project oriented. Version management is performed within a frame of a project. Parallel development and file versioning is obtained on a project level, not a file level. Although VSS belongs to a low-level class of SCM tools, it is very popular because it is supplied with MS Visual Studio.

The main features of VSS are:

  • It is practical for individual developers or small groups;

  • It is integrated into Visual Studio, so there are no extra costs if using Visual Studio;

  • Easy start for inexperienced programmers and SCM users;

  • Many tools on the market have adopted VSS and built additional functions (such as change management and distributed development).



 < Day Day Up > 



Implementing and Integraing Product Data Management and Software Configuration[... ]ement
Implementing and Integrating Product Data Management and Software Configuration Management (Artech House Computing Library)
ISBN: 1580534988
EAN: 2147483647
Year: 2006
Pages: 122

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net