Friday, October 10, 2008

ALM Summarized


There is an article in this month's SD Times about Application Lifecycle Management suites. An ALM suite is any set of software packages that proposes to cover the entire Software Development Lifecycle (SDLC). An ALM suite might include for example a requirements tool, a use case tool, a project management tool, a software architecture design tool, an IDE (Integrated Development Environment), a source code control tool, a testing tool, and a build & release tool. Rational (now IBM) and Borland were two companies that developed early ALM suites with some real depth. There are many others.

What is the value of an ALM? Interested parties (project managers, business owners, etc.) can determine the health of a software project. Some questions that an ALM package would help to answer include the following: How far along is the project? [A dashboard view or report can be produced from the suite.] What is the soonest date a production release could be made? [Hopefully always within a few days if CI (Continuous Integration) principals are being followed.] Were all of the requirements met? [There is often some traceability aspect in ALM suites that allows the user to see whether all requirements have been met and how.] Ultimately all of this reduces risk and improves the quality of the project.

Back to the SD Times article mentioned above: I thought one of the most interesting and salient points Lisa Morgan (author) made was that "Not one of the software companies we've talked to claims to offer a totally complete ALM solution and they say that no one currently does." I believe that standard protocols may have to be in place for vendors to play nice but this may take awhile. Look at the state of the ERP (SAP, PeopleSoft, etc.) marketspace to see what I'm talking about. Customers want "best of breed" but vendors want to lock them in.

Also in the print edition of the article, there is an executive summary box titled "What Does ALM Include?" The list is impressively comprehensive...


  • Requirements planning

  • Visualization management

  • Modeling

  • Design

  • Feature management

  • Build management

  • Configuration management

  • Change management

  • Project management

  • Release management

  • Testing/QA

  • Deployment

  • Monitoring and reporting

  • Workflow

  • Collaboration

  • Team communication

No comments: