Next Generation ALM tools are, well, somewhat futuristic. After all we're talking about the Next Generation. But it's hard to talk about abstract and idealistic concepts if they are too hard to picture. There are a number of tools out there that demonstrate clear 3G and 4G properties. And new ALM Tools are emerging on several fronts. Having written this column since mid-2004, I decided this would be a good time to show a bit more of the leading edge - a Next Generation ALM tool to reinforce the concepts of NG ALM. I think it may affect the way you think about ALM tools. It will also, hopefully, affect the way vendors think about their own tools, and especially about the future.
If you've followed my columns over the years, you may have a good idea of what makes up a 1G, 2G, 3G and 4G tool. But let's try to put the definitions succinctly.
1G CM - Let's you reproduce your builds.
2G CM - 1G, and allows you to track changes (as opposed to file deltas) conceptually and track why each change was made. It also provides a relatively easy to use interface, usually graphical.
3G CM - 2G, but with a strong focus on ease-of-use, role-based custom process, and low cost of operation. It integrates the entire product team, possibly geographically distributed, rather than just the development team, with a common architecture across all ALM functions. Forms and reporting are unified into data navigation and object-oriented actions.
4G CM - 3G, but the way you want it, with little effort to get it that way, across all ALM functions, and even beyond ALM when necessary. Throw away the tool training manual - focus on your process. Automatic data capture occurs from the environment, context and actions, where possible, to ensure data quality and completeness, while simplifying the end-user task. Focus moves from navigation and actions to roles, meetings and tasks, with custom dashboard stations to manage each.
OK... I'm starting to get a bit wordy here. And the last time I wrote about CM Generations, I think it was my longest article.
So how do we rate today's CM/ALM tools on the CM Generation scale? Well, it's not getting any easier to do. Subversion, for example, is a 1G tool, with a number of post 1G capabilities. But add on the layered and complementary products and it becomes part of a more advanced ALM tool. RTC has some great 3G capabilities, and assuming it's sufficiently scalable, is very forward looking in nature, but it's architecture weighs it down as a hybrid 2G/3G tool overall. MKS has some great technology too, but again weighed down by its "big-IT" architecture and its less mature CM function versus its very strong process architecture. Neuma has some really nice technology in its CM+ product - and we'll use it in this article to help demonstrate some of the Next Generation ALM tool concepts.
Next Generation ALM
When we talk about Next Generation ALM tools, we're focusing on late 3G and early 4G architectures. So what are the big areas that make a tool NG. A quick summary:
- Ease-of-use by role and task - not just by tool function. Translation: miminal tool training.
- Seamlessly Integrated ALM functions. Not just functions that work together with traceability. Common architecture.
- Zero-administration, or at least darn near. You don't need to hire someone for CM/ALM administration.
- Low TCO (Total Cost of Ownership). Across the entire ALM function.
- Extensive, and very easy customization. The way you want it, with little effort.
- Secure, global operation, surviving and auto-recovering from network outages.
- Ultra-high reliability. Fail-safe. Disaster recovery capabilities. Data sabotage recovery. Always available data.
- High performance and admin-free scalability, both upward and downward.
- Process orientation, with minimal scripts. Process is structured to support automation and guidance.
- Context-aware. Data is populated based on your environment, actions, and structured strategies.
- High-level navigation, data mining and interpretation, with minimal effort. Custom focus on info access by role.
- Invisible complexity. CM/ALM is very complex and needs to be more so. But it must hide this complexity.
- Platform architecture. Not limited by the latest hardware/OS platform. Can co-exist across multiple platforms.
- Mature, advanced, out-of-the-box process. Support across development disciplines.
- Strong data architecture - supporting all engineering and management data efficiently and effortlessly.