The Upside of ALM
Why software development as a repeatable business process may work for you.
You don't have to be a development deep thinker to know that building applications is getting increasingly complex. It's no surprise, then, that organizations are able to choose from among a growing number of application lifecycle management (ALM) solutions designed to help manage that complexity.
In June, Borland Software Corp. unveiled its new lifecycle management system, Borland Management Solutions (BMS). Built on its Open ALM Framework, the platform is a key piece of the ALM strategy the company has been assembling over the past four years.
At about the same time, ALM newcomer CollabNet Corp. released a version of its popular software-configuration management solution enhanced with ALM features. Other vendors are dipping their toes into the ALM waters, including Microsoft, which promotes Visual Studio Team System (VSTS) 2008 as a solution for "addressing the overall application lifecycle management needs of business and IT."
In fact, ALM has emerged as a critical enterprise capability in the last few years, says Forrester Research Inc. Senior Analyst Jeffrey Hammond. He contends that ALM solutions target a growing bottleneck in custom app development.
"Custom development is like any other balanced system," Hammond explains. "As in a PC, for example: When you improve the performance of one area -- say, the CPU speed -- you eventually shift the overall system bottleneck to another area -- say, the system bus.
"Over the past 10 years we've seen IDEs get better and better, and it's now very easy for developers to write code. But during that time we haven't seen a one-to-one increase in overall software productivity, because release management has not kept up. It's still a challenge to get all the code developers can write through build, testing and final sign-off," continues Hammond.
As developers write code faster, they also make mistakes and introduce errors at a faster rate.
"We haven't necessarily gotten better at managing the find-and-fix process with software defects," Hammond adds. "Managing the 'system bus' of software development is what ALM is all about; coordinating all the hyper-productive individual developers and testers with their great individual tools and making the transfer of artifacts between them more efficient."
The ALM Imperative
ALM is also a response to an increasingly complex application development and deployment environment. IT organizations wrestle daily with this complexity as they race to stay ahead of rapid changes in business demand, says Bola Rotibi, principal analyst at U.K.-based Macehiter Ward-Dutton Ltd.
"Software delivery is still notoriously complex, and the process of improvement is rife with challenges," she says.
||"An ALM solution should be about providing a central management and governance framework."
|Bola Rotibi, Principal Analyst, Macehiter Ward-Dutton Ltd.
ALM solutions strive to support the development process as a managed business process, providing the ability to educate and transfer skills and enable communications among stakeholders. They should also provide seamless integration between the key phases of the software dev and delivery process, while presenting a unifying workbench -- or integrated development environment (IDE) -- with role- or function-based perspectives.
"I've often stated that ALM is the process control of application delivery," Rotibi explains. "Hence an ALM solution should be about providing a central management and governance framework where all the tools, processes and workflows associated with the lifecycle of an application or software component can work together in a truly seamless way, whether those components come from one vendor or multiple vendors."
Rotibi isn't suggesting that ALM should cover every aspect of IT as a kind of all-encompassing "Über platform." But she does see it as the process-control engine for everything having to do with the creation of the app. That includes all modifications that occur when packaging apps for deployment. Change requests, feature additions and code fixes are all part of the ALM process, Rotibi says, because they involve the release of a new version of an application or software component, or they usher in an entirely new application or component.
In Search of Transparency
ALM is largely about gaining visibility into the perceived "black box" of the software delivery process, says Matt Klassen, director of product marketing for Borland. "When we ask our customers how they track and improve their software delivery process, they basically tell us that they really don't have much visibility into that process," he says.
In 2004, Borland became one of the first companies to focus exclusively on ALM solutions. The Austin, Texas-based company's goal was to change enterprise software development from what Klassen calls "an unpredictable art form" into a manageable and repeatable business process. The company's BMS platform is designed to provide that visibility.
As hot a product category as ALM has become from a management perspective, many developers are still cool to the idea. Rob Cheng, director of product marketing for CollabNet, says it's not the fault of developers.
"The way some vendors and experts talk about ALM, it doesn't sound like something most developers or dev teams would enjoy living under," Cheng says. "It comes off as a dictatorial regime: the tyranny of ALM. But at this point in its evolution, the term really is value-neutral. It's like the word 'process.' Scrum is a process; so is XP [eXtreme Programming]. And developers like working with those agile methods. A process based on the Scrum methodology isn't something most developers would find oppressive."
||"The way some vendors and experts talk about ALM, it doesn't sound like something most developers or dev teams would enjoy living under. It comes off as a dictatorial regime."
|Rob Cheng, Director of Product Marketing, CollabNet Corp.
CollabNet is the Brisbane, Calif.-based company best known for its open source Subversion version-control software, which recently entered the ALM market.
Do companies really need this much transparency in the application development process? Absolutely, Cheng says.
"Transparency breeds trust, and trust drives reuse," he explains. "Reuse is the holy grail of application development. But you can't reuse if you don't have trust, and you don't have trust without transparency."
Rotibi agrees. In fact, she says that the pressure is greater than ever for IT organizations to deliver software as a managed business process that is both efficient and predictable. Solutions that provide a high level of transparency will be well positioned for restoring confidence to both the software delivery team and the business, she says.
So why do developers often seem so prickly about ALM?
"Right now the state-of-the-art [ALM 1.0] requires developers to conform to the process enforced by the tools," says Forrester's Hammond. "Few metrics are automatically collected, and many things must be manually entered. And unfortunately, many of the tools are sold as control mechanisms; top down as opposed to developer productivity aids."
Hammond says ALM solutions should help make dev teams more disciplined, without forcing them into rigid processes: "It's really a question of tools adjusting to people instead of the other way around."
Time to Adopt ALM?
So, if you're not currently implementing an ALM solution or process in your organization, should you do so? Michael Azoff, senior analyst at U.K.-based research firm Butler Group, believes that you should. Organizations need ALM to have any hope of tackling what he calls "the software crisis of poor delivery" -- essentially, the surprising amount of software that ends up not meeting business needs. An appropriate ALM strategy is also a sign of maturity within the organization, he says.
Butler Group advises taking a modular approach to ALM. "We don't believe there's one correct way," Azoff says. "But in a nutshell, you must first understand where you are now in terms of processes and methodologies, people and tools, and then work to where you want to be on this triplet. Every organization will have its own approach and solution that fits its requirements and business needs."
Implementation of an ALM strategy can be a tricky business, says Macehiter Ward-Dutton's Rotibi, because its success depends on a number of criteria, including the culture of the organization and management team, the ability of the management team to drive support and stay committed, the maturity and skill levels of the IT team, the organization's business goals and solution requirements, its current tool investments and the quality of processes in place in that organization.
"Software development is hard and it can be complex. It needs to both reflect and support the complex, distributed environment that business is conducted in," she says. "ALM will help to make the process of delivery and management more easily controllable and predictable, but development -- particularly of complex applications and implementations -- will remain hard.
"ALM is as much about people, processes and methodology as it is about technology and a tools platform," Rotibi adds. "It requires commitment and pragmatism in approach and implementation, as well as drive from the top and support from the bottom."
The Leading ALM Vendors
U.K.-based researcher Butler Group conducted a vendor-comparison study last year and identified 10 providers of application lifecycle management (ALM) solutions as the leaders of a pretty lean pack. They are, in alphabetical order:
Aldon emphasizes process-driven software configuration and change management in its approach to ALM. The Aldon Lifecycle Manager is part of a suite of app-management tools designed to enable quick adaptation to what the company calls "the growing challenges of SOA, regulatory compliance, outsourcing, offshoring and globalization."
Borland Software Corp.
Long known as a software dev tools company and maker of the popular JBuilder IDE and Delphi tools, Borland shifted gears back in 2005 to become one of the first companies to focus exclusively on ALM solutions. Borland's goal was to change enterprise software development from "an unpredictable art form" into a manageable and repeatable business process. "Open ALM" is Borland's model for providing lifecycle-management solutions for any process, tool or platform.
Formerly known as Computer Associates, CA is one of the world's largest IT-management software providers. Its product list is massive. In the ALM category, the company lists several, including: CA Unicenter, CA CMDB, CA SupportBridge Live, Automation and CA SupportBridge Self Service Automation. Probably its best-known ALM product, Unicenter, is aimed primarily at midsize and larger enterprises in the communications, education, financial services and government sectors.
Software services provider Compuware's ALM strategy has evolved around what it calls the "application delivery management" space. Its solutions are designed to "continuously align and manage application delivery projects with expected business outcomes." Toward that end, the company's solutions address what it calls "the major stages of the application lifecycle," including development, quality assurance, service management and support.
HP calls its approach to ALM "application lifecycle optimization." Its lifecycle services are delivered via three products: Test Factory Services, which HP calls "the cornerstone" of its lifecycle-optimization portfolio; Quality Methodology, which establishes the software test lifecycle, while also coexisting with and supporting "every existing software lifecycle approach," including object-oriented, service-oriented architecture and customer-specific approaches; and WinRunner, the company's venerable test-automation tool.
IBM's ALM offering is part of its Rational Software Suite. Rational is designed to provide lifecycle-management capabilities that work within the Rational Unified Process (RUP), a framework for applying iterative business processes to software development. RUP adds years of "harvested best practices" to the ALM picture, providing, IBM says, "the continuous visibility and control that organizations need to effectively govern the business process of software and systems delivery."
Microsoft's entry in the ALM race comes in the form of its Visual Studio Team System (VSTS) 2008. The company describes VSTS as an integrated ALM solution that combines tools, processes and guidance "to help everyone on the team improve their skills and work more effectively together." VSTS is designed to facilitate collaboration and communication among team members and business stakeholders, to ensure software quality "at every step of the application lifecycle" and to provide visibility into project activity. Microsoft's approach to ALM also involves third-party developers-more than 200 of them, the company says-who enhance VSTS's capabilities.
MKS was one of the first companies to offer an end-to-end ALM platform. Today the company is one of the top ALM vendors. It provides ALM in the form of a single solution and architecture: Integrity for Application Lifecycle Management. Its flagship solution is designed to extend process and control across each stage of the app lifecycle, and it's built to span all major enterprise applications, platforms, locations and players, the company says.
Polarion Software GmbH
This German company's products are based on its Live ALM Technology. The company's product family is based on an integrated, real-time ALM platform. It's a Web-based solution designed to provide traceability and transparency on ALM activities via a portal. The platform is built on open source frameworks such as Subversion, Apache and Eclipse. The company offers a family of products that includes Polarion ALM, which is offered in Enterprise, Pro and Community editions.
Serena Software Inc.
One of the leading ALM vendors, Serena's ALM software and services are aimed at large enterprises. According to the company, its solutions are designed to "synchronize and automate the relationships and dependencies among development steps" from requirements to modeling, development, build, test and deployment. Its list of ALM solutions includes a process-centric product called Dimensions, a portfolio and project integrator called Mariner and a business mashup tool for synchronizing communication and collaboration among distributed dev teams.