CM: THE NEXT GENERATION - Evaluating and Selecting a CM/ALM Tool

based on having sufficient information within the repository, and especially in the data structure and relationships.

11 Advanced Workspace Management: Workspaces are clearly linked to change packages. Multiple changes are supported in a workspace. The 4G tool reports through visual or other effects on the attributes of the workspace so that, as well as checkin/out status, other attributes, such as ro/rw, missing, differences in the files and other such information is actively portrayed in the source tree view of the CM tool.

12 Source Code and Source Revision Searching: Source code search capabilities are extended in the 4G tools so that operations common in IDEs, such as source code searching, can be extended to the CM repository. This allows, for example, searching across revisions of a source file, or searching through a specific baseline or other context view.

13 File Revisioning augmented with Full Data Revisioning: Along with the normal source code revisions, the 4G CM tool allows revision of finer levels of data including descriptions, data elements and even process workflow.

14 Context-based dependency analysis and layering support: The 4G CM tool allows interactive query of relationships between groups of files to support impact analysis and layering support. For example, it should be possible to identify, using a simple query, whether or not layering is violated because of out-of-layer "include" operations.

15 Promotable Directory Structure Changes: In the same way that file changes may be promoted or rolled back through the status associated with the change, it must be possible to promote or roll back changes to the directory structure. By adjusting a context view, any changes placed into or pulled out of the view must have such structural differences immediately reflected in the view.

16 Dynamic Variant Capabilities: Variant changes are supported such that the change can be dynamically applied to any context view. Hence if a product variant is formed by changing a set of files, that variant may be applied automatically, and dynamically, to any build definition, and user view or any baseline to produce the variant effect for that view. This helps to reduce multiple variant baselines down to a single baseline with variant options which may be specified at build time.

17 Product/Sub-product Management: The 4G CM/ALM tool will manage multiple products, including products which are contained within other products. Such a product hierachy helps to automate the order of building products (i.e. product dependencies), but also helps in navigating the set of product assets of a company so that a specific product release context may be easily selected.

18 Rename Operation Preserving History: Renaming of files which are part of a configuration must preserve the history of existing configurations, while at the same time allowing the history of the file evolution to be preserved.

19 Update Based on Workspace Changes: A 4G CM/ALM tool can look at a workspace and automatically generate an update package, including checkouts and structural (i.e. directory) changes, that is ready for peer review and subsequent checkin. As such directory-centric development (in addition to repository-centric development) is fully supported.

20 End-to-end impact analysis: From a line of code back to the potentially affected requirements, from a failed test case to the potential set of requirements, from a requirement change to the potentially affected set of documents, source code and test cases, the CM/ALM tool provides impact analysis capabilities to pare down the analysis activity.

21 Configurable Unified Process Support: The 4G CM/ALM tool includes unified process support which is easily customized for each organization or project. The support is apparent both in work flow and in on-line process documentation

About the author

Joe Farah's picture
Joe Farah

Joe Farah is the President and CEO of Neuma Technology and is a regular contributor to the CM Journal. Prior to co-founding Neuma in 1990 and directing the development of CM+, Joe was Director of Software Architecture and Technology at Mitel, and in the 1970s a Development Manager at Nortel (Bell-Northern Research) where he developed the Program Library System (PLS) still heavily in use by Nortel's largest projects. A software developer since the late 1960s, Joe holds a B.A.Sc. degree in Engineering Science from the University of Toronto. You can contact Joe at farah@neuma.com