Application lifecycle management
From Wikipedia, the free encyclopedia
Application lifecycle management (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]
Contents |
[edit] 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
[edit] 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]
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. Though there is no industry definition of what constitutes and what does not constitute an ALM tool, and the list gets longer every day, the generally accepted categories include:
- Requirements visualization
- Requirements management
- Feature management
- Modeling
- Design
- Project Management
- Change management
- Configuration Management
- Software Information Management (for ALM Tool Integration)
- Build management
- Testing
- Release Management
- Software Deployment
- Issue management
- Monitoring and reporting
- Workflow
The Integrated Development Environment (IDE) is evolving; 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 an application’s lifecycle: 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).
[edit] ALM Tools and Vendors
This section is written like an advertisement. Please help rewrite this section from a neutral point of view. (March 2009) |
[edit] References
- ^ deJong, Jennifer (2008-04-15). "Mea culpa, ALM toolmakers say". SDTimes. http://www.sdtimes.com/SearchResult/31952. Retrieved on 2008-11-22.
- ^ The Changing Face of Application Lifecycle Management by Carey Schwaber, Forrester Research, Inc. August 2006. [1]