Today for an application to be successful there should be an organized development platform that enables control of an application lifecycle, simultaneously reducing the costs and provides continuous business solutions. Application lifecycle management – is supposed to be a strategic answer to application chaos and a means for business growth.
According to the Online Cambridge Dictionary, a lifecycle means the series of changes that a living thing goes through from the beginning of its life until death, while management imposes the control and organization of something. Projecting these definitions on the information technologies sphere application lifekeeping management can also be generally explained by summing up the two terms, though with light changes due to a specific character of the subject (software applications). So, dilettantish, one can defy application lifecycle management, or to put it in short, ALM, as a process of governing and controlling a software application existence from its first appearance until it reaches its final point, in other words, until it is removed from the market.
However, taking into account the modern market challenges and requirements to any product, including a software application, we can not limit ourselves with such a narrow view concerning ALM. Let's get deeper into the topic. From a more scientific perspective application lifecycle management is the entire period of managing the life of an application from a concept to its removal. This period encompasses the whole development process which is not so far away from us as it looks to be at first sight.
Applications are used for private and business purposes. Surely, there is no doubt ALM is first of all made for business customers. However, as far as any application lifecycle encompasses certain stages, it will be better to examine them referring to a approved Skype application and make the ALM definition clear for everyone. It is always right to go from an easier to a more complex thing.
Let's see which components ALM consist of. Here one can reason on an everyday level.
Without doubt, each of us faces ALM every day. Suppose the top 10 examples of applications include Microsoft Word, Google Chrome, Windows Media Player, World of Warcraft, Adobe Photoshop, iTunes, Skype, Steam, Adobe Dreamweaver, and Corel WordPerfect. On a philistine level we are offered to “refresh” this or that application in our PC. This is a part of ALM in a broad sense which satisfies a necessity to make an application more adaptive to the needs of users and, in such a way, more profitable at the market. (Generally one can defy the goal of the ALM in such a way in general).
In other words, an update of an application is one of the application lifecycle stages. However, the ALM itself begins much earlier.
Let's take Skype as a philistine and for all understandable example. Just some information:
Skype was founded in 2003. The first public version was released on 29 August 2003.
At first, the application had a simple interface, voice adapted unlike ICQ and MSN Messenger. During installation Skype chose the language localization of Windows and had a quick and easy registration login in comparison with competing programs. It was and is easy to install. This is how Skype's ALM began, with an idea that users demand a highly innovative product, easier to be appreciated, in this particular case in comparison to the existing communication programs, and this can also be called required management. It is also a continuous process through the project. Thus, referring to our Skype example, the Skype 1.2 Version included Voicemail for the first time, as well as introduced a Skypeln function that allows linking a Skype account with a phone number. In other words, requirement management as a part of the ALM includes verification and adaptation of an application to the needs and expectation of its users and stakeholders, both external and internal. Generally, requirements management investigates the situation, makes a decision on the requirements' feasibility, then designs and constructs the application, tests it to make sure that the work still complies with the initial requirements and budget and finally releases the application. The requirements management extends over the entire application lifecycle management and is its critical point, is a method and a means to provide what business need.
Then, one should mention a more narrow and specific component of the ALM – software architecture. To put it briefly, it includes software components and relationships between them as well as features of both the components and relations. Software architecture encompasses instruments to design an application.
As an obvious case, we refer again and again to our simple application example – Skype. The Skype architecture consists of a central registration server to which all clients register, its main operation principle is a peer model.
Application architecture is closely interconnected with computer programming which makes an executable program out of a problem. It creates an algorithm in confirmation with which an application works.
Since an application is created, it should be tested. Application testing is a vital stage of the application lifecycle management. Actually, it validates an application and answers the question whether requirements for its development are met. From the technical point of view, application testing presupposes that no mistakes should occur after its release. In other words, ALM is demarcated with an application testing as far as the matter of quality predetermines the success or failure of the deal. Moreover, applications should be maintained, which means amendments with a view to correct faults and improve the operation and the optimization on the whole. A few days ago the Microsoft Corporation stunned the world announcing that it develops a program that will make a near real-time speech-to-speech translation in Skype. In this particular case application maintenance measures enhancement of the application's capabilities.
However, sometimes maintenance is perceived as correction or defect tracking which is also an aspect of application maintenance. Moving on to the next explanation, it's necessary to mention change management. According to Meir Lehmann's law of the continuing change systems must change as not to become less useful. For most applications changes reappear again and again several more times during the lifecycle, changes introduce new versions and upgrades of an application which we face every day.
Thus, applications are experiencing an ongoing process of development, testing and release.
As you can see, ALM is a huge complex activity of the IT companies to supply a highly innovative product to the market.
But that's, however, a broad perspective regarding the phenomenon of ALM. As it has been already mentioned, there is a need to introduce narrower, more specific customized products that is why application lifekeeping management is aimed at solving problems of individuals. All the above mentioned stages are introduced as software suites or platforms for applications determined for particular businesses.
Referring to the VTB24 Bank example, the ALM was introduced to optimize the work of the applications which number increased rapidly as the bank's activity expanded. In such a way ALM turns into an industry of the IT-market. Microsoft, IBM, Oracle, Boland and other big players introduce a set of means to support an application lifecycle (eg Visual Studio, IBM Rational Solution, FusionForce etc.). Nowadays ALM solutions are made for discrete manufacturers and include all the above mentioned components: requirement management, test and maintenance management, change management that are presented as a single integrated solution that supports variant complexity of an application. Actually, it's a good product to make money and business.
And it's should not be ignored. Since ALM is focused on transfer of the newest information throughout the whole application life and its maintenance, that's a way how to make business effective as well as to make it grow. Automatization, collaboration, synchronization, integration, innovation are ALM's best features that will surely make it grow and spread.