He also noted one ALM 2.0 promise that has been realized: widespread support for multiple software change and configuration management (SCCM) tools. “Today, all vendors are offering integration with multiple SCCM repositories,” he said.
What the heck is Agile ALM?
A few years ago, when agile teams were known for tracking progress with sticky notes, not software tools, the term “Agile ALM” didn’t exist. The words contradict each other, said Voke analyst Theresa Lanowitz.
“Agile and ALM cannot exist together,” she said, adding that “agile” is concerned only with development practices, while ALM has a broader reach, from planning to coding, testing, and deployment.
But hers is largely a contrarian view. Others see Agile ALM as a natural extension, a blending of the two ideas. Cliff Utstein, vice president of marketing at software tool provider AccuRev, acknowledged that when a team first adopts agile, there isn’t a tremendous focus on tools. “But as agile projects scale out to dozens of developers and testers working at separate locations, ALM tools become critical,” he said.
CollabNet’s Griggs took it a step further. “Agile needs ALM to meet its own principles. You can’t do [things like] continuous integration and incremental software delivery on a large scale without tools,” he said.
Charles Chu, director of product management and strategy for IBM Rational, said it’s important to step back from the hype and hysteria surrounding Agile ALM.
“If you look at what’s really happening, Agile ALM is the embodiment of the set of best practices we have learned in 50 to 60 years of application development,” he said. “It’s a natural evolution—the current thinking about how best to manage the life cycle.”
Impact on agile practices
As that thinking takes hold, ALM tool makers are adding support for agile practices including short iterations (where the team delivers working software every one to three weeks); continuous integration (where team members integrate their work at least daily); refactoring (making code more efficient without changing its behavior); user stories (high-level definition of a requirement); and backlogs (list of deliverables ranked according to business value).
Tools must not only support these practices, but also automatically trigger the activities related to the practice. For example, a tool should “kick off a build every time you check in code,” said AccuRev founder and CTO Damon Poole.