The history of PLM followed by the introduction of ALM
To know the current facts and status of DevOps we must go back to history to see where it all began.
Well, to begin with, the concept of PLM (Product Lifecycle Management) was first implemented during 1985 by the American Motors Corporation. They wanted to increase their productivity rate and development rate for their Jeep ‘Grand Cherokee’. The principles were already existing in the management system but during this time it was arranged and applied in the development process. The synchronization of CAD (Computer-Aided Design), requirement management, configuration management, resource planning, engineering planning and various other important elements for product lifecycle management was done by PLM. The integrations were required not only at the product development level but also at the software application, database management, design and administration at the project level.
This gave rise to the ALM (Application Lifecycle Management) which was incorporated in the PLM process in the manufacturing companies. As the companies started implementing PLM it was obvious for the software development companies to follow the suite. Initially, the existing tools in use were combined but were not integrated for the process of design, requirement, release and build management, source code development, bug report, testing and user support, in fact, project management at large. They had a natural tendency to work in integration, therefore ALM was originally the conceptual and practical implementation of the already existing tools.
Incorporating ALM in Waterfall and Agile methodologies
The newfound management strategy was fitted into both Waterfall and Agile models. Both had different outcomes.
- Waterfall model and ALM – This model is also known as the Liner Sequential Life Cycle Model; it is the easiest to follow. Waterfall model works with sequential order where only after completing one phase of development and testing the next phase of the project starts. As the name suggests it is very linear. ALM was incorporated in the Waterfall model and it enhanced the existing system. Integrating ALM could not change the model, though it was highly incompatible with the traditional Waterfall.
- Agile model and ALM – On the other hand, the Agile model is a customer-centric model where customers’ involvement and opinion are shared with the developers, testers and managers. It is divided into small rapid cycles of design groups and test iterations is perfect for this model and can enhance the adaptability and agility of the model. ALM’s tight development integration is the base of an Agile model. Both are based on highly integrated tools and ALM as a concept is built inside Agile. ALM has become an integral part of Agile, whereas Agile gets its identity sharing the highly integrated approach with ALM.
Hence Agile model is the preferred model for the implementation of ALM.
Origin of DevOps and ALM
The origin of DevOps goes back to 2008 when a discussion between Patrick Debois and Andrew Clay Shafer about accelerating the delivery with fewer errors in the infrastructure of Agile methodology took place. It was 2009 though when the concept became popular due to the event DevOpsDays that happened in Belgium.
Therefore, it is well established that DevOps is an offshoot of Agile. However, DevOps is not Agile, but it follows and supports the Agile methodology. Taking that into account DevOps is well related to ALM as ALM accelerates Agile and in turn, helps in better implementation of DevOps.
DevOps increases the power of integration bringing forth the complete implementation of the ALM concept which is much more than the basic Agile methodology as it is well known that Operations incorporate much of Application Lifecycle Management and DevOps is engaged with the front-line of the entire ALM.
In reality; DevOps is the outcome after the implementation of ALM within the Agile framework, even if it does not seem to be so. The outcome varies and so there is a discrepancy in the outlook. going by the process it is evident that DevOps is directly related to ALM.
Is ALM seriously dead in the time of DevOps?
Let’s take the following question head-on!
The nature of ALM is to divide the development to the deployment process within any methodology into small separate phases. In the case of the traditional approach, ALM could only integrate the overall system of project and data management. But in case of Agile, the process is homogenous, blurring the boundaries. Whereas the core of ALM is to accelerate the development and Operations procedures although it may not be visible. The traditional approach was based on the separate phases which were unanimously followed by all.
The newly developed ALM does not need to make any separate arrangement as the concept is inbuild within DevOps. ALM is and will always be an integral part of DevOps existence as it exists on the implementation of DevOps.
So, the idea of ALM being dead in the time of DevOps is not at all possible, ALM is an idea used by DevOps to accelerate software development and production. It is a management concept that helps to integrate and implement DevOps. DevOps can never kill ALM and cannot overshadow it either.