Integrated application lifecycle management
Integrated application lifecycle management is a totally integrated set of tools and processes that help organizations manage the entire lifecycle of an application development. It connects different teams, activities, platforms, tools, and processes involved in a software development project.
The three aspects of ALM—governance, development and operations— when connected to each other maximizes the business value of software.[1] Having the right combination of tools and processes along with a streamlined workflow makes the job easier. When cross-functional ALM tools are integrated horizontally as well as vertically, seamless connections are established across lifecycle stages, and therefore, the three distinct ALM phases are performed well.
Needs for Integrating ALM Tools and Processes
Organizations often spend millions in individual software development tools for managing requirements, projects, portfolios, software designs, development, testing, deployment, release and other functional areas. Tools that are not connected to each other lead to cumbersome manual procedures while synchronizing data or processes between them. The situation worsens if cross functional teams working on those tools are geographically isolated and on different time zones.
Enterprises employing an integrated suite of tools keep team members in sync with each other. This ensures a greater degree of collaboration among cross-functional teams followed by better quality application and faster delivery. Agile software development teams practicing in Large-scale, offshore and distributed environment need a centrally managed platform for automating workflow across lifecycle stages and moving data across tool boundaries.
Challenges of Implementing Integrated ALM
Introducing and implementing Integrated ALM in development organizations is not easy for following reasons: a) Multi-vendor tools use various technologies such as command line interface, desktop application, client-server, or web based that run on different platforms such as Windows, Linux, and UNIX. b) Software being produced uses a wide range of technologies such as .NET based desktop application, Java based web application, or a COBOL based mainframe application. c) Tools use various data repositories such as proprietary file structures, XML, Excel, or relational databases of various flavors. d) Tools are geographically distributed as the development groups and team members from multiple corporate entities are isolated.
Approaches to Adopt Integrated ALM
Considering the fact that leading ALM vendors are trying to build Integrated ALM platform around their clients' tool environment, their approaches differ significantly. Following are the three major approaches, their limitations, and advantages.
Approach #1: Point-to-point Integrated Multi-Vendor Tools. Limitations: complexity of tool combinations, handcrafted business integration rules, and replacement dilemma
Approach #2: Single Vendor Integrated ALM Tools. Limitations: compromise in tool usage, rip and replace for existing tools, one size fits all, technology islands of development
Approach #3: Multi-vendor best-of-breed Integrated ALM Tools by ESB based Integration Hub. Advantages: No limitations of Approach #1 and Approach #2 - better tool accessibility and re-configurability, future tool enhancements, seamless integration flow, lightweight integration, open messaging models, easy plug-in and plug-out integration service in SOA framework
There are a number of vendors and open source groups who provide tools to manage each of the ALM phases. Some vendors bring together a range of tools to support several aspects of ALM, others create an ESB based SOA framework to plug-and-play multiple tools in a central bus-like architecture.
ESB based ALM integration platform using integration middleware concept does away with complex and costly integrations, overcoming the limitations of point-to-point and single vendor tools integration. It not only increases connectivity and adds flexibility to gain better control of the applications, but also provides a user with codeless configuration facility.
See also
- Application Lifecycle Framework
- Open Services for Lifecycle Collaboration
- Software project management
- Systems development life-cycle
- Application Lifecycle Management
- Software Development Lifecycle
References
- ↑ "What is ALM" (PDF). David Chappell.
External links
- Chappell, David, What is Application Lifecycle Management? (PDF), archived from the original (PDF) on December 7, 2014
- Gartner Analyst Sean Kenefick, Market Profile: Application Life Cycle Management (ALM) Tools, 2012
- Margaret Rouse, application lifecycle management (ALM)
- Dave West, Integrated ALM Tools Are Fundamental to Success
- Dominic Tavassoli, Integrating application lifecycle management (ALM) processes provides additional benefits
- Sanat Singha, The Essentials to Look At in an ESB-Based ALM Integration Platform
- Zane Galviņa1, Darja Šmite, Software Development Processes in Globally Distributed Environment