In his CM: the Next Generation series, Joe Farah gives us a glimpse into the trends that CM experts will need to tackle and master based upon industry trends and future technology challenges.
In a next generation ALM tool, a process engine is needed that brings commonality across all ALM functions. MKS has done a decent job here for its ALM offering. But more than just a process engine is required. You need the ability to customize the entire tool to the process being used, whether it's a SEI's CMMI process, ICM's CM II process, Neuma's Unified Process, or your home grown process. Overall process look-and-feel, along with process terminology, must make its way into your ALM user interface.
Once the big picture has been settled, attention can shift to the smaller details. In large corporations, it's typical to develop an organizational wide process (consistent with CMMI levels 3 and higher), but to let individual projects customize this. The ability to specify roles, permissions, state flow, rules, triggers, and so forth, are an important part of customization.
CM+ supports state-transition flow for every class of item tracked in your repository, whether problem reports, updates, builds, testruns, documents or otherwise. It will even permit you to have custom flows (or partially custom flows) for different types within a class: Feature activities follow one flow, build activities another, and so forth. Each transition may be guarded by roles and permissions, as well as by rules and triggers. Basic triggers, such as email notification and logging of data changes, can be enabled through a simple checkbox selection.
CM+ also offers big picture configurations from which to start. The out-of-the-box configuration reflects Neuma's Unified Process. But switch to the CM II edition and you have something that looks quite different.
Fig. 8 - The main panel of the CM II edition of CM+ shows the ECR State Flow in color-coded fashion. The diagram can be edited directly in the CM+ panel. Note, in the top-right data panel how the "ecr" activities are color-coded to reflect their status. Similarly, gantt charts and summary graphs use the same color-coding to give a status-at-a-glance look and feel. Notice, on the left, the CM II process guidance, the requirements tree, and a number of "My" quick links. Custom CM II icons (near the top) allow you to zero in on the main dashboard used by each CMII role.
Roles and permissions are used not only for state flow, but for command access, user interface display, menu item inclusion, data access, and other such items. A number of predefined roles (CM Manager, Project Manager, Developer, Tester, Administrator, etc.) may be customized or new ones defined. Other CM+ process capabilities include access controls, electronic signatures, rules, triggers, data segregation, and customizable metrics.
Multiple Site Operation
CM and ALM tools try to address global access in different ways. Some partition the data across sites, with a common synchronization back to a main site every so often. Others have one writable site, with a number of mirrors for data access. Others simply provide the ALM tool in the Cloud (probably a local cloud rather than exporting their key software assets). Each of these have their advantages and disadvantages. In a next generation ALM tool, it is important to ensure that you always have a consistent view of the entire repository (that you can use for consistent backups). It's better if you don't have to do partitioning and synchronization operations, as these can be administration intensive. It's also important that a user can roam from one site to another without having to re-orient themselves for their current site.
CM+ allows global operation by allowing you to specify a number of sites (typically a few) which are to serve as server sites. Each site, in the default