Application lifecycle management
Encyclopedia
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
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

 made possible by tools that facilitate and integrate requirements management
Requirements management
Requirements management is the process of documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. It is a continuous process throughout a project...

, architecture
Software architecture
The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both...

, coding
Computer programming
Computer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a program that performs specific operations or exhibits a...

, testing
Software testing
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software...

, tracking
Issue tracking system
An issue tracking system is a computer software package that manages and maintains lists of issues, as needed by an organization...

, and release management
Release management
The release management process is a relatively new but rapidly growing discipline within software engineering of managing software releases....

.

Benefits

Proponents of application lifecycle management claim that it
  • Increases productivity
    Productivity
    Productivity is a measure of the efficiency of production. Productivity is a ratio of what is produced to what is required to produce it. Usually this ratio is in the form of an average, expressing the total output divided by the total input...

    , 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
    Collaboration
    Collaboration is working together to achieve a goal. It is a recursive process where two or more people or organizations work together to realize shared goals, — for example, an intriguing endeavor that is creative in nature—by sharing...

     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

Disadvantages

Opponents of application lifecycle management claim that it
  • Increases an application's whole-life cost
    Whole-life cost
    Whole-life cost, or Life-cycle cost , refers to the total cost of ownership over the life of an asset . Also commonly referred to as "cradle to grave" or "womb to tomb" costs. Costs considered include the financial cost which is relatively simple to calculate and also the environmental and...

  • Increases vendor lock-in
    Vendor lock-in
    In economics, vendor lock-in, also known as proprietary lock-in or customer lock-in, makes a customer dependent on a vendor for products and services, unable to use another vendor without substantial switching costs...

  • Single point of failure

Categories of ALM Tools

  • Requirements Analysis
    Requirements analysis
    Requirements analysis in systems engineering and software engineering, encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product, taking account of the possibly conflicting requirements of the various stakeholders, such as beneficiaries or users...

  • Requirements Management
    Requirements management
    Requirements management is the process of documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. It is a continuous process throughout a project...

  • Feature management
    Feature (software design)
    The Institute of Electrical and Electronics Engineers defines the term feature in IEEE 829 as "A distinguishing characteristic of a software item ." - Feature-rich :...

  • Modeling
    Model-driven engineering
    Model-driven engineering is a software development methodology which focuses on creating and exploiting domain models , rather than on the computing concepts...

  • Design
    Software design
    Software design is a process of problem solving and planning for a software solution. After the purpose and specifications of software are determined, software developers will design or employ designers to develop a plan for a solution...

  • Project Management
    Project management
    Project management is the discipline of planning, organizing, securing, and managing resources to achieve specific goals. A project is a temporary endeavor with a defined beginning and end , undertaken to meet unique goals and objectives, typically to bring about beneficial change or added value...

  • Change management
  • Configuration Management
    Configuration management
    Configuration management is a field of management that focuses on establishing and maintaining consistency of a system or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.For information assurance, CM...

  • Software Information Management (for ALM Tool Integration)
  • Build management
    Software build
    In the field of computer software, the term software build refers either to the process of converting source code files into standalone software artifact that can be run on a computer, or the result of doing so...

  • Software Testing
    Software testing
    Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software...

  • Release Management
    Release management
    The release management process is a relatively new but rapidly growing discipline within software engineering of managing software releases....

  • Software Deployment
    Software deployment
    Software deployment is all of the activities that make a software system available for use.The general deployment process consists of several interrelated activities with possible transitions between them. These activities can occur at the producer site or at the consumer site or both...

  • Issue management
  • Monitoring and reporting
  • Workflow
    Workflow
    A workflow consists of a sequence of connected steps. It is a depiction of a sequence of operations, declared as work of a person, a group of persons, an organization of staff, or one or more simple or complex mechanisms. Workflow may be seen as any abstraction of real work...

  • Open Source License Management


As the Integrated Development Environment
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

 (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
Unified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...

 (UML).

Notable ALM products

Notable ALM products include:
Name Vendor
IBM Rational solution for Collaborative Lifecycle Management
IBM Rational solution for Collaborative Lifecycle Management
IBM Rational solution for Collaborative Lifecycle Management is an integrated Application Lifecycle Management solution comprising three products: IBM Rational Requirements Composer, IBM Rational Team Concert, and IBM Rational Quality Manager. CLM is developed by the Rational brand of IBM and was...

IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

IBM Rational Team Concert
IBM Rational Team Concert
IBM Rational Team Concert is a software development team collaboration tool developed by the Rational brand of IBM and was first released in 2008. The software is available in both client versions and a Web version...

IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

BootStrapToday Sensible Softwares Pvt. Ltd.
HP Application Lifecycle Management
HP Application Lifecycle Management
HP Application Lifecycle Management ) is a software product targeted at accelerating the delivery of secure, reliable modern applications. It is a combination of a common platform, several key applications and a dashboard targeted at managing the core lifecycle of applications. ALM focuses on...

 Software
HP Software Division
Seapine ALM Seapine Software
Seapine Software
Seapine Software is a privately held Mason, Ohio-based software and services company whose products address software application lifecycle management and quality assurance.Seapine was established in 1995 by Rick Riccetti...

OpsHub Integration Manager OpsHub
ThoughtWorks Agile ALM ThoughtWorks
ThoughtWorks
ThoughtWorks is a privately owned global IT consultancy that delivers custom software, software tools, consulting, and transformation services to Global 1000 companies. It has a products division, ThoughtWorks Studios, which creates and markets software development and project management applications...

Pivotal Tracker
Pivotal Tracker
Pivotal Tracker is software as a service for agile project management and collaboration. The product is developed by Pivotal Labs, an agile software engineering firm headquartered in San Francisco with offices in New York, Colorado, and Singapore....

Pivotal Labs
Pivotal Labs
Pivotal Labs is an agile software development consulting firm with headquarters in San Francisco, and satellite offices in downtown Manhattan, Boulder, Colorado, and Singapore. Pivotal's practice highlights Ruby on Rails, pair programming, test-driven development and behavior driven development...

VersionOne VersionOne
Jama Contour Jama Software
Jama Software
Jama Software is a privately held company that was founded in 2006 and is headquartered in Portland, Oregon. Jama’s flagship product, Jama Contour, was released in 2007...

Parasoft Concerto Parasoft
Parasoft
Parasoft is an independent software vendor with headquarters in Monrovia, California. It was founded in 1987 by five graduates of the California Institute of Technology who had been working on Caltech Cosmic Cube....

Visual Studio Application Lifecycle Management Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

Team Foundation Server
Team Foundation Server
Team Foundation Server is a Microsoft product offering source control, data collection, reporting, and project tracking, and is intended for collaborative software development projects...

Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

CollabNet TeamForge CollabNet
CollabNet
CollabNet is a company that sells application lifecycle management software for distributed development teams engaged in both enterprise and open source development.-History:...

ScrumWorks CollabNet
CollabNet
CollabNet is a company that sells application lifecycle management software for distributed development teams engaged in both enterprise and open source development.-History:...

Serena Dimensions Serena Software
Serena Software
Serena Software Inc is US-based software company.Serena develops and markets products focused on managing change across information technology environments...

Serena Business Manager Serena Software
Serena Software
Serena Software Inc is US-based software company.Serena develops and markets products focused on managing change across information technology environments...

uberSVN
UberSVN
uberSVN is a Freeware software product developed by WANdisco Inc. It provides a Web Application for installation, administration and use of the Apache Subversion software versioning and revision control system. The first public beta was launched on April 22, 2011...

WANdisco
WANdisco
WANdisco, Inc. is a United States based software company involved in the production of Subversion, a software versioning and revision control system.-History:WANdisco was incorporated in 2005...

CodeBeamer
CodeBeamer (software)
codeBeamer is a web based Collaborative Application Lifecycle Management tool for distributed software development, written in Java. It is developed and marketed by Intland Software. Its license is proprietary, but free versions and free hosting options are available...

Intland Software
Intland Software
Intland Software is a provider of enterprise-class collaboration solutions. The company is headquartered in Stuttgart, Germany and has an office in Sunnyvale, California.- History :Intland Software was formally founded in 1999 by two industry veterans...

MKS Integrity
MKS Integrity
MKS Integrity now a PTC product is a system and software lifecycle management and application lifecycle management platform developed by MKS Inc. and was first released in 2001. The software is client/server, with both desktop and web client interfaces...

MKS Inc.
A Platform Visual Paradigm International Ltd.
Pulse
Pulse (ALM)
Pulse is a proprietary application lifecycle management technology developed and maintained by Genuitec, a founding and strategic member of the Eclipse Foundation....

Genuitec
Genuitec
Genuitec, LLC is a software development company that operates as an entirely virtual organization. It is best known for its Integrated development environment, MyEclipse, and Application Lifecycle Management and software delivery technologies Pulse ....

SAP Solution Manager
SAP Solution Manager
SAP Solution Manager is a software tool, content and gateway to create, operate, manage and monitor business management solutions. SAP Solution Manager is one of the products of software company SAP AG.- Overview :...

SAP
SAP AG
SAP AG is a German software corporation that makes enterprise software to manage business operations and customer relations. Headquartered in Walldorf, Baden-Württemberg, with regional offices around the world, SAP is the market leader in enterprise application software...

StarTeam
StarTeam
StarTeam is a revision control system used in software development, especially when a project involves multiple teams in different locations. StarTeam is a SCM and SDLC software application, created by Starbase Corporation, acquired by Borland in January 2003 which was acquired by Microfocus...

 - Change and Configuration Management
Borland
Borland
Borland Software Corporation is a software company first headquartered in Scotts Valley, California, Cupertino, California and finally Austin, Texas. It is now a Micro Focus subsidiary. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn.-The 1980s:...

workspace.com workspace.com
JIRA
JIRA
Jira may refer to:* JIRA, software-engineering package* Journal of Iranian Research and Analysis* Jira, also known as Zilla, fictional character* Jira * Jira...

Atlassian
Atlassian
Atlassian is a software company based in Sydney, Australia which makes business enterprise software, targeted at software developers. On 1 September 2010, the World Economic Forum announced the company as a Technology Pioneer for 2011.- Products :...

Rally Rally Software
Rally Software
Rally Software, founded in 2002, offers SaaS-based Application Lifecycle Management platform and products, Agile coaching services, courses through and online forums focused on Agile and Lean practices...

Digite Digite Agile ALM
FogBugz
FogBugz
FogBugz is an integrated web-based project management system featuring bug/issue tracking, discussion forums, wikis, customer relationship management, and Evidence Based Scheduling developed by Fog Creek Software....

Fog Creek Software
Fog Creek Software
Fog Creek Software is a software company specializing in project management tools. Its main products are FogBugz, a web-based project management tool, Fog Creek Copilot, a remote assistance tool, CityDesk, a desktop-based content management system, Kiln, a source control and code review tool built...

BuildMaster
BuildMaster
BuildMaster is an integratedbuild, release, and application lifecycle management system that provides automation of the software development build, test, and deployment processes....

Inedo
AgileSCM Clearvision
Polarion ALM Polarion
rt-collab Embedded ALM rt-labs
Protecode System 4
Protecode
Protecode is a private company based in Ottawa, Ontario, Canada. Protecode is a provider of open source license management solutions that can be used throughout the software development lifecycle to ensure license compliance. Protecode System 4 is a suite of tools for managing open source...

Protecode
Protecode
Protecode is a private company based in Ottawa, Ontario, Canada. Protecode is a provider of open source license management solutions that can be used throughout the software development lifecycle to ensure license compliance. Protecode System 4 is a suite of tools for managing open source...

Oracle Team Productivity Center Oracle Corporation
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...

IKAN ALM IKAN
ScrumBook qx3

Open Source Alternatives

Name Sponsor
Endeavour Agile ALM Community Driven
TopCased ALM Community, AirBus Consortium, Ministére de La Défense, Ministére de l'Economie des Finances et de l'Industrie, L'Agence Nationale de le Recherche, Region Mid Pyrinees
zentao ALM base on SCRUM
OSEE Community, Boeing

See also

  • Business transaction management
    Business Transaction Management
    Business transaction management , also known as business transaction monitoring, application transaction profiling or user defined transaction profiling, is the practice of managing information technology from a business transaction perspective...

  • Product lifecycle management
    Product lifecycle management
    In industry, product lifecycle management is the process of managing the entire lifecycle of a product from its conception, through design and manufacture, to service and disposal...

  • Application Lifecycle Framework
    Application Lifecycle Framework
    Application Lifecycle Framework was an Eclipse project to develop an open integration and interoperability framework for application lifecycle management tools. The project failed to gain the support of significant vendors and was terminated in 2008....

  • Systems Development Life Cycle
    Systems Development Life Cycle
    The systems development life cycle , or software development life cycle in systems engineering, information systems and software engineering, is a process of creating or altering information systems, and the models and methodologies that people use to develop these systems.In software engineering...

  • Open Services for Lifecycle Collaboration
    Open Services for Lifecycle Collaboration
    Open Service for Lifecycle Collaboration is an open community, originally proposed in 2008, to define a set of specifications that enable integration of software development and more broadly Application Lifecycle Management and Product lifecycle Management products and services...


Further Literature

  • Application Management: Challenges - Service Creation - Strategies; Frank Keuper, Christian Oecking, Andreas Degenhardt; Gabler Verlag 2011; ISBN 978-3-8349-1667-9
  • Walter Linnartz, Barbara Kohlhoff, Gertrud Heck, Benedikt Schmidt: Application Management Services und Support, Publicis Corporate Publishing 2004, ISBN 3-89578-224-6
  • Gartner Market Scope for ALM 2010 http://www.gartner.com
  • Agile Application Lifecycle Management; Michael Hüttermann; Manning 2011; ISBN 9781935182634

Electronic sources

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK