Maximize the Value of Applications with ALM – Part I
Maximize the Value of Applications with ALM – Part IThis is a two-part article that takes a closer look at ALM. In the first part of this article, we willunderstand the term ALM and its importance.According to Gartner, in today’s highly competitive business environment, organizations that adopt agilepractices, utilize globally distributed teams, or exploit complex processes and technologies wouldbenefit a lot if they use Application Lifecycle management (ALM) tools to manage their developmentactivities. In their report, “MarketScope for Application Life Cycle Management”, Gartner states “ALMsolutions are evolving to enable enhanced planning, measurement, control and reporting of activities inall the stages of all the various application delivery life cycles.“ However, before delving further into thetopic, let’s first understand the term application lifecycle management or simply ALM.Wikipedia defines ALM as “the process of managing the life of an application through governance,development and maintenance.” ALM is considered a union of business management and softwareengineering “made possible by tools that facilitate and integrate requirementsmanagement, architecture, coding, testing, tracking and release management.” ALM tools can becategorized into: Build management Change management Design and Feature management Issue management Modeling Monitoring and reporting Open source license management Project management Release management Requirements analysis Requirements management Revision control (an aspect of software configuration management) Software configuration management
Software deployment Software information management (for ALM tool integration) Software testing WorkflowALM is often confused with software development life cycle (SDLC) but there are fundamentaldifferences between the two. SDLC deals only with the development of the software product and unlikeALM, it has nothing to do with the maintenance and the management of the application until the end ofits life. Hence, ALM has much a bigger role to play than SDLC.ALM plays a vital role in software development process in the sense that it provides a way for achievingthe challenging objective of developing quality software that not only conforms to the requirements andbusiness needs of the customers but also increases the business value of the custom softwarethroughout its entire life. As mentioned above, it is quite a challenging objective since to get it right,there is the need of effective ALM tools that integrate horizontally as well as vertically.In the second and final part of this article, we will look at the benefits of ALM and the features of a bestof the breed ALM solutions.