- Application lifecycle management
Application lifecycle management (ALM) regards the process of delivering
software as a continuously repeating cycle of inter-related steps: definition, design, development, testing, deployment and management. Each of these steps needs to be carefully monitored and controlled.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 initiativesPrinciples
The principles of application lifecycle management (ALM) are integral to mature development disciplines. Experienced development organizations employ these principles to ensure quality in the products they develop.
Application lifecycle management involves a variety of typical software project phases:
* Project management
* Project tracking
* Requirements planning
* Design and development
* Quality Assurance
* Release managementHistory, proponents and precursors
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. [The Changing Face of Application Lifecycle Management by Carey Schwaber, Forrester Research, Inc. August 2006. [http://www.forrester.com/Research/Document/Excerpt/0,7211,37653,00.html] ]
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 list includes:
* Requirements visualization
*Requirements management
* Feature management
* Modeling
* Design
*Project Management
* Change management
*Configuration Management
* Build management
* Testing
*Release Management
* 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 asUnified Modeling Language (UML).ALM Tools
References
ee also
*
Application Lifecycle Framework
*Systems Development Life Cycle
*Business Technology Optimization
*TechExcel Inc.
*OSGi
*MKS Inc.
Wikimedia Foundation. 2010.