The term “application life cycle” was introduced back in the early aughts, a time before Agile Development, before Web services and certainly before the practice of continuous software delivery.
No, the term Application Lifecycle Management—ALM—implies a beginning an end. ALM closely follows waterfall development practices, under which huge requirements documents are created for months before coding even begins, then batch processing and overnight builds occur alongside rigorous testing until the software is ready to be released, all to circle back to the beginning again for the next iteration of the software. That “cycle” of development could take a year, or 18 months.
But fast-forward to today, and things are dramatically different. In an Agile world, no longer are huge requirements documents created. Builds are forsaken for Continuous Integration, or used to make sure the whole of the software works even as the latest code is validated during CI. Testing and QA? People are still trying to figure out where testing fits in this world of rapid releases.
Not to mention, more open-source code than ever is being brought in to projects. That has to be vetted for license issues, quality issues and the like. And today’s applications often rely on Web services, so maintenance becomes a larger issue. For example, what happens to your application if a critical Web service you employ goes down, or is rewritten in such a way that it breaks your application?
Then there are the growing areas of DevOps and application performance management. So, configuring your infrastructure and then monitoring the application to ensure optimal performance become a part of the equation.
SD Times executive editor David Rubinstein sat down with Microsoft corporate vice president of the developer division Brian Harry at last month’s TechEd Conference in Houston to talk about Visual Studio Online (including TFS), which Harry described as Microsoft’s ALM hub. In his next breath, though, Harry said his team at Microsoft has been debating trying to come up with a new term for ALM, which would encompass everything involved in building and managing an application. They came up with Modern Application Lifecycle (MAL), which might not play well in France, where “mal” means bad or sick.
Our editors put our heads together and first came up with CALM: Continuous Application Lifecycle Management. But that included the term “lifecycle,” so we shortened it to CAM: Continuous Application Management.
How would you rename ALM? Let us have your suggestions.