all bits considered data to information to knowledge


Application Lifecycle Management is coming of age

Software intensive systems have a lot in common with humans – they are born, mature and die. They even sometimes come back from the dead, or simply linger around scaring day lights out of everyone who come in contact with them... To minimize one's chances of inadvertently releasing such monsters into the wild one should adopt holistic point of view – that of Application Lifecycle Management.

Wikipedia defines ALM as "... a continuous process of managing the life of an application through governance, development and maintenance. ALM is the marriage of business management to software engineering made possible by tools that facilitate and integrate requirements management, architecture, coding, testing, tracking, and release management."

Can't say it is a novel concept - every organization is already doing all of these either by design or by accident, with majority falling into the giant “in-between” void. The key is tight integration between three key areas – governance, development and operations.

To address the issue many a vendor came with ALM tools - sometime bundled, oftentimes integrated, - into a suite. Wikipedia lists over 40 “products” ranging from full-blown suites to assembly of specific tools, both commercial and free open source. Gartner's MarketScope mentions 20 leading vendors with ALM suites offering, out of which 8 got “Positive” rating, and IBM’s one got the only “Strong Positive”. The Forrester's Wave for ALM lists 7 vendors in the “strong” segment, with additional marks for market presence (with IBM, HP and Microsoft leading the “big” guys and CollabNet, Atlassian and Rally Software in leading smaller vendors pack)

The ALM offerings differ in degree of completeness, degree of coherence between the tools and extensibility model provided. Some of the more integrated offerings come in a variety of flavors such as SaaS or on-premises installations, with numerous options to complement either. And then there is a price tag to consider which, as with everything that purports to address enterprise-wide issues, is not insignificant – ranging from tens of thousand of dollars to a couple millions (and then some) with additional costs for infrastructure, operations, and maintenance. Still, there is a solid evidence that these investments under right circumstances might and do pay off. Implementing ALM principles to the Enterprise Integration and/or software development project can significantly improve quality of the delivered system and positively affect schedule.

The ALM processes fall into 5 domains:

  1. Requirements Definition and Management
  2. Quality and Build Management (including test Case management)
  3. Software Change and Configuration Management
  4. Process Frameworks and Methodology
  5. Integration Across Multiple AD (Application development) Tools

An integrated suite with a hefty price tag must address all of these domains to be worth consideration; and for best of breed route integration consideration are of paramount importance in order to realize ALM potential. One such important consideration, for example, is an integrated QA (either that or ability to integrate with a QA suite)

So far, only two vendors today offer fully integrated (all 5 domains), end-to-end, technology neutral ALM suites – IBM Rational Jazz Platform and HP ALM. The rest is either very much technology specific (such as Microsoft TFS) or stop short at providing some vital functionality (e.g. the issue and project tracking Jira does not address requirement management while FogBugz does, and neither comes close to providing test management functionality; both provide robust extensibility model to amend this with third party integration).  I am going to elaborate on the selection criteria and process of  “the best-fit ALM” solution in follow up posts. 🙂

Comments (0) Trackbacks (0)

No comments yet.

Leave a comment

No trackbacks yet.