A Look Ahead to the Third Generation of CM Tools

[article]

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.

Summary:
Every year we like to take a look at where the CM industry is going. There are always two sides to the story. Where is technology moving, and where is the market moving? Technology is moving ahead at a good clip, from some vendors, while stagnant with others. The same can be said of the market. There are those looking at a full ALM solution or an Enterprise CM solution, while there are others who are looking primarily for a version control/build tool, possibly with some change management.

The technology view is to be expected. Vendors move at different speeds and have differing visions. But on the user side, it's a bit more difficult to understand. One would expect that if you could find tools that would lower your total cost of operation and free up resources for your core business needs, the path would be obvious. However, a significant portion of new CM installations continue to be on the low-end side of things. The key reason in our opinion: perceived complexity. CM vendors may be responsible for this perception, especially because there are a number of complex tools out there - the total cost of ownership isn't what is advertised, or the initial outlay to reach these targets are far too great and incur significant risk. That being said, there are also a number of tools out there that reduce complexity significantly, including those which target the ALM and Enterprise CM markets.

I've been heavily involved in the CM industry for over a quarter century. The first generation of CM tools were version control and build support tool with features such as baseline reproducibility and delta/difference and merge capabilities. That finally gave way to a second generation, starting in the 1990s for the most part. Change Management was recognized, at least by a critical mass, as a necessary component. Distributed development was also recognized. Other major advances included workspace support, scalability, cross-platform support, graphical user interfaces, directory revisioning, branch and label management, the addition of problem/issue tracking, context-based views, and the introduction of process support. However, with this significant second generation expansion came significant overhead.

Supporting scalability, distributed development, label management and process became, not just a full time job, but a task for a CM team to take on. The tools that were supposed to be simplifying development management and improving quality came at quite a cost to the project. As such, today's perception: only some companies can afford to "do it right". And that's where many high end tools stand today. They are second generation tools requiring significant infrastructure to support.

There are at the same time a number of tools, which, though they may not provide all of the capabilities required to count them as full second generation tools, have side-stepped the infrastructure and overhead. They have good technical solutions which are scalable, and perhaps even support some form of distributed development. Typically they fall short on the process and CM maturity side. Maybe they lack directory revisioning or change packaging, or rely on heavy infrastructure add-ons to permit these. Perhaps they focus on the version and build management space but fail to address process. There are some good ideas out there: generic process engines; highly-scalable solutions; small footprint solutions; better branching/stream support. But a new feature or two does not push one solution ahead of the pack, and does not constitute the next generation of CM.

Pages

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

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

May 04
May 04
May 04
Jun 01