Application lifecycle management
Part of a series on |
Software development |
---|
Application Lifecycle Management (ALM) is 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.[1]
Benefits
Proponents of application lifecycle management claim that it
- Increases productivity, as the team shares best practices for development and deployment, and developers need focus only on current business requirements
- Improves quality, so the final application meets the needs and expectations of users
- Breaks boundaries through collaboration and smooth information flow
- Accelerates development through simplified integration
- Cuts maintenance time by synchronizing application and design
- Maximizes investments in skills, processes, and technologies
- Increases flexibility by reducing the time it takes to build and adapt applications that support new business initiatives
Categories of ALM tools

As application development has evolved over time, more and more tools have been introduced. Initially, software development was supported with individual point tools, and then simple suites of tools emerged with loose integrations. Now we have modern comprehensive lifecycle tools that are fully integrated and provide capabilities for most of the roles in ALM. The most recent innovation is the discussion around ALM 2.0 which describes a vision for the application development infrastructure needed to meet the needs of the most modern development communities.[2][3]
As the complexity and sophistication of the software development task has grown it has been matched by increasing numbers of tools. The initial set of tools started with version control tools at the heart of the lifecycle and have grown out from there. Although the industry has not yet formally defined what precisely constitutes an ALM tool[4], for which the list gets longer every day, the generally accepted categories include:[citation needed]
- Requirements Analysis
- Requirements Management
- Feature management
- Modeling
- Design
- Project Management
- Change management
- Configuration Management
- Software Information Management (for ALM Tool Integration)
- Build management
- Software Testing
- Release Management
- Software Deployment
- Issue management
- Monitoring and reporting
- Workflow
As the Integrated Development Environment (IDE) continues to evolve, tool vendors are increasingly integrating their products to deliver suites. IDEs are giving way to tools that reach outside of pure coding and into the architectural, deployment, and management phases of the application lifecycle, providing full Application Lifecycle Management. The hallmark of these suites is a common user interface, meta model, and process engine that also enable ALM team members to communicate using standards-based architectures and technologies such as Unified Modeling Language (UML).[citation needed]
Notable ALM products
Notable ALM products include:
Name | Vendor |
---|---|
EmbedX (software)[5] | LDRA Testbed[6] |
CodeBeamer | Intland Software |
Codendi | Xerox |
HP Quality Center | HP Software & Solutions |
Serena Dimensions | Serena |
IBM Rational Team Concert | IBM |
MKS Integrity | MKS Inc. |
Parasoft Concerto[7] | Parasoft |
Pulse | Genuitec |
SAP Solution Manager | SAP |
StarTeam - Change and Configuration Management | Borland |
Visual Studio Team System | Microsoft |
workspace.com | workspace.com |
JIRA | Atlassian |
FogBugz | Fog Creek Software |
Programeter - Monitoring and Reporting | Going Software |
References
- ^ deJong, Jennifer (2008-04-15). "Mea culpa, ALM toolmakers say". SDTimes. Retrieved 2008-11-22.
- ^ The Changing Face of Application Lifecycle Management by Carey Schwaber, Forrester Research, Inc. August 2006.
- ^ Shaw, Kelly (2007-06-04). "ALM 2.0: Application lifecycle management changing to meet development organizations' needs". Software Quality News. Retrieved 2009-12-21.
- ^ "ALM: A 'bastardized' term?" by Jeff Feinman, SDTimes, August 12 2009
- ^ [1]
- ^ [2]
- ^ Parasoft Composes Concerto for ALM by Jeff Feinman, SDTimes, August 13, 2009