life-cycle pic.jpg
Realtech, 2013

Alternative name(s)


There is no alternative name however there is different types of life cycle management such as, application life-cycle management, product life-cycle management and software life-cycle management.

Description


There are two types of life-cycle management which are product life-cycle management which is a process of managing the development of a product going through many stages from conception, to manufacturing and application life-cycle management (ALM) is a combination of software engineering and business. This article will focus on ALM. An application's life cycle is in fact the entire time an organization invest money into the application, this is from conception stage to the end of the application's life where there is no longer any business value.

ALM involves three areas; firstly, governance which included the decision-making surrounding the application and ensuring the viability of the business case. Secondly, development which the creation of the application, however upgrades or new editions of the application is also included here meaning that development can take place throughout the life of the application. Furthermore, the development can be based on agile approaches as it is done in iterations, which are completed with user stories for that iteration. Finally there is operations, which the work and resources needed in order to manager the application, this take place before deployment of application until the end of the application's life (Chappell, 2008).

Agile values


Working software over comprehensive documentation is one of the agile values which applies to life cycle management in terms of ALM. ALM uses a number of difference software in order to update information if a large amount of documentation is used controlling and monitoring information may be problematic.
Responding to change over following a plan is another agile value which applies to life-cycle management. This is because many changes can occur throughout the life of the application. Applications are usually updated, however if the application is not performing or meeting requirement new ones will be done. This is a reason for the preparation of the iterations only including some requirements, design and testing, this allows room for change.
Simplicity an XP value is another value which is demonstrated in life-cycle management. ALM looks to make the requirement simple and to produce the application for the current needs of the organization because taking the needs for the future is risky as they are open to change; this also allows them to use the investment wisely

Agile principles


The scrum principle known as working software is the primary measure of progress can be achieved by using software to ensure that development is meeting requirements and deadlines in time for deployment into the organization.
An XP principle which can be adapted to life cycle management is making incremental changes. This reduces the amount of changes needed to be made if a problem occurs during an iteration, furthermore, ALM prefers to have minimal testing, having a smaller amount of requirements will make for less coding to test and evaluate if a problem arises. These principles can be carried out by having minimal requirements to be done on each iteration, completing only what is needed today and not what might be needed in the future.
Another principle that XP refers to is quality. It is essential to maintain quality throughout the whole life-cycle of the project. In agile, the fact that work is divided in iterations helps the team members to ensure that quality is implemented throughout the process and to keep better track on the quality of work in progress.

Agile practices


Governance is one of the main areas that ALM is concerned with. It encompasses all the decision making and can be linked to the XP practice- the planning game. This support ALM because it completes takes in iterations allowing the scope of the product to be determined. It also allows for new requirement to be added to product in stages.
An XP practice which can be related to life-cycle management is //Continuous// integration. This practice supports life-cycle management because life-cycle management is a continuous process of development and maintenance, so is the continuous integration comprises in integrating and building the system every time new task is completed.
Daily standup meetings is a scrum practice which can support life-cycle management because it involves monitoring the working process (Chappell, 2008); everyone should know what is required of them and what has been completed. This practices will allow the current situation of project to be known by all developers.


‍‍Discussion‍‍


A Linear Project Management Life Cycle (PMLC) model is more commonly used within a traditional approach. It is a simple model that assumes you have nearly perfect information. It is based on assumption and does not easily accommodate any deviations. This is where it differs from the agile approach as ALM is based around the continuous process of development and maintenance, which involves updates and changes (if need be) every time a new task is completed.
The development direction in the agile approach is readily changeable and testing occurs on every iteration, whereas the development direction in the traditional approach is fixed and testing takes place after the coding phase is completed causing the rework cost on projects that adopt an agile approach to be significantly lower than those that adopt a more traditional approach.

Links from this KA to other KAs


Life-cycle management can be linked to Requirements Management because managing the requirements whether its a product or application is important as many customers are not completely sure of what they want at the beginning. Another knowledge area life cycle management can be linked to is Project Quality Management; this is because quality assurance is a part of making sure the customer's requirements are met to a good standard with minimal problems resulting in minimal changes.
Life-cycle management is quite closely related also to Configuration Management, because throughout the whole working process the team should always refer to the original requirements, design and operational information.

References


Chappell, D. (2008) What is application Life-cycle Management?. [Online] Available at:
http://www.davidchappell.com/WhatIsALM--Chappell.pdf [Accessed: 26 February, 2013].‍‍

Realtech (2013) Application Life Cycle Management. ​[Online] Available at:
http://www.realtech.com/wInternational/software/solutions/application-lifecycle-management/application-lifecycle-managementW3DnavanchorW262110100.php [Accessed: 27 February, 2013].

‍‍External links‍‍


http://en.wikipedia.org/wiki/Application_lifecycle_management

http://www.outsofting.com/index.php?option=com_content&view=article&id=147&Itemid=113&lang=en

Read in another language