Many vendors advertise that their tools are "ALM tools." What are the distinguishing characteristics of an ALM tool?
When looking at ALM tools, you'll find that the category includes all the products that somehow touch the application lifecycle, from requirements gathering and source control to project management and monitoring. In addition, you'll see full-fledged ALM platforms that try to combine support for all aspects of the application lifecycle into one product or product family. Thus, there is a justifiable amount of confusion around the term "ALM tools." Historically, ALM as a tool category began with source control tools, and as the software development process became more sophisticated and complex, more and more different types of tools claimed to be in the ALM space.
As opposed to a single defined notion of a tool, a concept that I consider more useful in this context is that of an ALM framework. These frameworks are actually concerned with the full evolution of applications, as opposed to just individual pieces of the lifecycle, and include both the ALM process and supporting tools. From a tool perspective, there are two main approaches to take with an ALM framework for your organization. You can collect ALM tools and integrate them to build a customized ALM platform or you can install a full-fledged ALM platform.
As usual, the best method depends heavily on the organization, but there are a few guidelines that should be taken into consideration when picking a particular solution. Once you have defined your ALM process, look for the right set of tools or integrated platform that will remove the major bottlenecks and inefficiencies in your process. If looking at individual tools, the main concern is integration cost. Although assembling a set of tools gives more flexibility to support your organization's ALM process, the cost of integration shouldn't be neglected. You need to be careful not to spend more resources building the ALM framework than actually doing ALM.
On the other hand, when going for a fully-built ALM platform, make sure the platform is flexible enough to fit your organization's process. Keep in mind that these processes usually have many tacit rules; it's not just what's written in the manuals. One suggestion is to look for the ability to "break the rules" on the ALM platform. It should be possible to bend the pre-defined process if needed, to try new ways to do the process, or to handle an exceptional situation -- all of which is done with full notifications and accountability, of course!
ALM tools are a broad category for sure. But with the right ALM process, you can identify the areas where you need to remove inefficiencies and then select the right tools for the job.
Dig Deeper on Topics Archive
Related Q&A from Mike Jones
All development teams need to track requirements changes, but depending on the software development lifecycle and overall ALM process, the best ... Continue Reading
In this expert response, Mike Jones explains that SDLC is a subset of ALM with ALM covering the processes for all products in a portfoli. He also ... Continue Reading