Application lifecycle management

Application lifecycle management (ALM) is the product lifecycle management (governance, development, and maintenance) of computer programs. It encompasses requirements management, software architecture, computer programming, software testing, software maintenance, change management, continuous integration, project management, and release management.[1][2]

ALM vs. Software Development Life Cycle

edit

ALM is a broader perspective than the Software Development Life Cycle (SDLC), which is limited to the phases of software development such as requirements, design, coding, testing, configuration, project management, and change management. ALM continues after development until the application is no longer used, and may span many SDLCs.

Integrated ALM

edit

Modern software development processes are not restricted to the discrete ALM/SDLC steps managed by different teams using multiple tools from different locations.[citation needed] Real-time collaboration, access to the centralized data repository, cross-tool and cross-project visibility, better project monitoring and reporting are the key to developing quality software in less time.[citation needed]

This has given rise to the practice of integrated application lifecycle management, or integrated ALM, where all the tools and tools' users are synchronized with each other throughout the application development stages.[citation needed] This integration ensures that every team member knows Who, What, When, and Why of any changes made during the development process and there is no last minute surprise causing delivery delays or project failure.[citation needed]

Today's application management vendors focus more on API management capabilities for third party best-of-breed tool integration which ensures that organizations are well-equipped with an internal software development system that can easily integrate with any IT or ALM tools needed in a project.[citation needed]

A research director with research firm Gartner proposed changing the term ALM to ADLM (Application Development Life-cycle Management) to include DevOps, the software engineering culture and practice that aims at unifying software development (Dev) and software operation (Ops).[3]

ALM software suites

edit

Some specialized software suites for ALM are:

Name Released by
Azure DevOps for Visual Studio Application Lifecycle Management Microsoft
Enterprise Architect Sparx Systems
GitLab GitLab
Helix ALM Perforce
IBM Rational IBM
JIRA Atlassian
Micro Focus Application Lifecycle Management Micro Focus
Mylyn Eclipse Foundation
Parasoft DTP Parasoft
Protecode System 4 Protecode
PTC Integrity PTC
Pulse Genuitec
Rocket Aldon Rocket Software
SAP Solution Manager SAP
StarTeam Borland
TeamForge CollabNet
Tuleap Enalean

See also

edit

References

edit
  1. ^ deJong, Jennifer (2008-04-15). "Mea culpa, ALM toolmakers say". SDTimes. Archived from the original on February 2, 2011. Retrieved 2008-11-22.
  2. ^ Chappell, David, What is Application Lifecycle Management? (PDF), archived from the original (PDF) on December 7, 2014
  3. ^ "Gartner blogpost". 2011-12-02.

Further reading

edit
  • Keuper, Frank; Oecking, Christian; Degenhardt, Andreas; Verlag, Gabler (2011). Application Management: Challenges - Service Creation - Strategies. ISBN 978-3-8349-1667-9.
  • Linnartz, Walter; Kohlhoff, Barbara; Heck, Gertrud; Schmidt, Benedikt (2004). Application Management Services und Support. Publicis Corporate Publishing. ISBN 3-89578-224-6.
  • "Gartner Market Scope for ALM 2010".
  • Hüttermann, Michael (2011). Agile Application Lifecycle Management. Manning. ISBN 978-1-935182-63-4.
edit