Application lifecycle management

Software development process
Core activities
Paradigms and models
Methodologies and frameworks
Supporting disciplines
Tools
Standards and BOKs

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]

In summary, ALM [3] is a set of pre-defined processes that start somewhere in the business as an idea, a need, a challenge or a risk and then pass through different development phases such as Requirements definition, design, development, testing, deployment, release and maintenance spanning across an entire lifecycle of a product. Throughout the ALM process, each of these steps is closely monitored and controlled, followed by proper tracking and documentation of any changes to the application.

ALM is Different from SDLC

ALM is a broader perspective than the Software Development Life Cycle, 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 - The Modern ALM

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

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. 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.

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.

There has been talk to change the term ALM to ADLM (Application Development Life-cycle Management) to include DevOps.[4]

ALM software suites

Some specialized software suites for ALM are:

Name Released by
Endevor CA Technologies
Enterprise Architect Sparx Systems
FusionForge FusionForge
GeneXus GeneXus - Artech
HP Application Lifecycle Management HP Software Division
IBM Rational Team Concert IBM
JIRA Atlassian
Mylyn Eclipse Foundation
Parasoft Concerto, Parasoft Development Testing Platform Parasoft
Protecode System 4 Protecode
Pulse Genuitec
PTC Integrity PTC
Rational solution for Collaborative Lifecycle Management IBM
SAP Solution Manager SAP
StarTeam Borland
TeamForge CollabNet
Team Foundation Server (on-premises software) and Visual Studio Team Services (cloud service)

for Visual Studio Application Lifecycle Management

Microsoft
TestTrack Seapine Software
Tuleap Enalean

See also

References

  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. "What are ALM and Integrated ALM" (PDF). Kovair Software.
  4. "Gartner blogpost".

Further reading

Electronic sources

This article is issued from Wikipedia - version of the 11/7/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.