Processes with a point
Application lifecycle management tools ensure that the software build happens how it should, when it should. E&T explains all in the second part of its survey of integrated development environments.
This is not going to be pretty. You're in charge of a software development team, your two-year project was delivered over budget and over deadline - and the users are complaining that it doesn't do what they want.
You know that the line of business manager changed the requirements a few times, but you just can't remember how. And why did an independent audit just find your code riddled with security bugs? Your CIO has summoned you into a meeting to find out what went wrong, and you need answers, fast.
Simply using an integrated development environment (IDE) isn't enough to produce robust software these days. Application lifecycle management (ALM) is a category of software designed to manage all aspects of a software application's production, giving earnest developers the chance to answer those questions, or better still, avoid them coming up at all.
If IDEs can be regarded as the word processors of the software development world, then ALM is the content management system that helps you understand and manage the overall process of conceiving, researching, writing, and publishing the 'book'.
"It's about taking a strategic approach in terms of improving the software delivery process," explains Bola Rotibi, an analyst at market-watcher Macehiter Ward-Dutton.
But what's to improve? "When you're writing code, there are a lot of different artefacts," says Philip Deck, CEO of ALM product vendor MKS. These include documents explaining what the users wanted the software to do, diagrams explaining the overall architecture of the system, task assignments for the developers, and plans for testing the software. These artefacts are produced during several discrete phases of software development.
"The promise of ALM is that it will automate a lot of the processes that, right now, are done in Microsoft Excel or Word, and emailed around," says Howard Kiewe, senior research analyst at Canada-based market watcher Info-Tech Research.
ALM includes elements of requirements management (making sure you understand what users want), application design and modelling (designing the architecture of the software), testing, and build management (preparing new versions of the software as updates).
"As these processes iterate together, you need to have one reflect the other," says Deck. If someone changes a requirements document, that has to be reflected in other artefacts. If someone changes the diagram representing the architecture of the software, the code should reflect that, and vice versa (a process known as 'round tripping').
Single vendor, single suite
Managing these artefacts in that cohesive way is a difficult task, especially when the products have been developed by different companies. This is why companies dealing with ALM tend to try and collect as many parts of the puzzle as possible, so that they can offer them as a single suite.
MKS is a prime example. "It's proven in MKS's case that they sell to the enterprise space. People there are more comfortable - they can pony up the money, and they prefer a single vendor," says Kiewe. "They're willing to say 'We'll take the benefits of a single thing, even if it's not ideal'."
MKS has a gateway product that it can use to integrate with other vendors' products; but Deck argues that this does not happen, for the most part.
Borland is another company that has focused entirely on application lifecycle management. The company concentrated on IDEs for years before selling off that part of its product base to Codegear (which was later purchased by Embarcadero), in favour of more strategic products.
Borland covers most parts of the ALM landscape, but it is missing a critical part of the ALM portfolio; it doesn't engage with the IT services management (ITSM) process - the back-office IT delivery systems that manage the delivery of IT services, such as helpdesks and systems management tools.
"There may be some things that mean an application works functionally, but not operationally," says Rotibi. "You may find that you're making calls that a machine can't handle, or a transaction rate that it can't cope with. In other words, you have operational issues to contend with."
Ian Buchanan, director of product management at Borland, admits that the company's "expertise isn't in deployment: we would look at partnerships and acquisition opportunities to fill that gap." However, the company has other options. Last December (2007), it launched Open ALM, a strategy to help customers integrate other products with the company's tool set. As that develops, it becomes possible for customers to hook best-of-breed tools handling the deployment side of ALM into the firm's portfolio of products.
Jazz team server
In this capacity Borland may be extending an olive branch to the rest of the industry, but Macehiter Ward-Dutton's Bola Rotibi says that the likes of IBM and HP (Hewlett-Packard) have an advantage. "The real players will be the system vendors," she says. IBM, which has its roots in systems delivery, purchased ALM vendor Rational in 2002.
The company has been working hard to capitalise on the product, and has launched Jazz, a technology platform that it will gradually migrate the existing Rational products to. The Jazz Team Server, which will serve as a foundation for the products, will give them new capabilities, such as the ability to see which other team members are logged on, and presence and messaging facilities.
The big vendors have, meanwhile, taken an interest in this area. Microsoft, too, has created its own framework for partners as part of its Visual Studio Team System, the iteration of its IDE that was rolled together with ALM components, but which is also open to third party plug-ins; and HP offers its Quality Center, which evolved from a suite of tools that it purchased along with Israeli firm Mercury in 2006.
Unlike Borland and MKS, these vendors all have an ulterior motive for selling their ALM solutions, according to Macehiter Ward-Dutton's Bola Rotibi. "Ultimately they want to manage that [ALM] process," she believes. "If they manage the process, you'll probably gravitate toward their servers. The big thing that survives all these are the management servers - and they're expensive tools."
Ultimately, it would be easier if everyone just revolved around open source IDE framework company Eclipse, as so many people do at the IDE level, Rotibi suggests. Unfortunately, Eclipse just shelved the Application Lifecycle Framework project that was designed to integrate open source ALM components from others in the industry.
But how ready are customers for these systems? "You can buy these products, and it won't be much good for you unless you understood the process," says Info-Tech Research's Howard Kiewe. "What kind of process are you using, and how are you doing it on the ground?"
IET Technical and Professional Networks:
- Systems Engineering http://kn.theiet.org/communities/systems/index.cfm [new window]
- Applications Development - http://kn.theiet.org/communities/application/index.cfm [new window]