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.
lot of trouble because they are not generally flexible.
Ideally your CM tool interface is the same across ALM functions. If you have to pop
in and out of different tools for Problem Tracking, Change Management, Building, etc., you're going to lose a great deal of functionality - developers, and others, won't do tool hopping if they can avoid it.
So you want to have a flexible way of navigating your data as your process changes, a means of prompting for exactly the information you expect your users to understand for each operation, a way of presenting custom to-do lists, in-boxes or whatever. A prepackaged GUI is not sufficient. It is either too general or too specific. You need an exact match to your process, and that needs to change as your process continues to grow and improve. Minimize clicks. Improve object-oriented operation and organization. The ability to handle the common cases trivially, and the ability to guide users through the more complex cases are essential.
Back to IDEs, the CM tool interface is going to be important as a cross-IDE interface, and also for users which are not IDE-centric. Furthermore, because CM can view the data
differently, developers are going to find that it's easier to do some things from the CM interface. These operations might include:
- Searching for strings across revisions of a file
- Reviewing changes made to a product
- Comparing the content of builds from a problem tracking perspective
- Identifying changes performed by a particular user or group.
- Navigating traceability links
- Performing merges on files and workspaces
In broader tools, you'll find that a significant proportion of your users are not developers. So the CM tool interface will be even more crucial, and will have to be role based.
There are other areas of User Interface that are important. How does the OS view your files and data? Do you have a window into your CM tool directly from the OS, and how difficult is it to use? There are a lot of non-development, non-technical users that could benefit from an OS-transparent view of CM - at least as much as it can be transparent: lawyers, accountants, etc. would love to be able to easily version their spreadsheets and
documents. One of the reasons that Atria's ClearCase was so rapidly adopted was that it allowed users to look at and use their files from the operating system. Even if administration overhead crept in, it's still an enviable capability.
How far have we come?
So where are we today. I have not done a recent inventory of tools. But progress is being made. The industry understands that it's not a choice between a monolithic system and a set of glued together tools - and as a result, there are fewer home-grown systems. Instead there are guiding principles that I believe the successful vendors will embrace:
- Central repository for management (horizontal)
- Common process engine (horizontal)
- Easily customized user interface (horizontal)
- Vertical tool integration through vertical standards (APIs)
How much has the industry embraced these concepts? I'd say there has been definite recognition of these requirements, but there's a long ways to go. You may have your own opinions and I'd like to hear them.