- Topics
- Understanding DevOps
- What is application lifecycle management (ALM)?
Published June 18, 2020 •
Overview
Application lifecycle management (ALM) is the people, tools, and processes that manage the life cycle of an application from conception to end of life.
ALM is made up of several disciplines that haveoften been separated under legacy development processes, such as a waterfall development method,including project management, requirements management, software development, testing and quality assurance, deployment, and maintenance.
Application lifecycle management supports agile and DevOps development approaches by integrating these disciplines together and enabling teams to collaborate more effectively for your organization..
Adopting ALM also leads to continuous delivery of software and updates with frequent releases, sometimes as often as several per day, as opposed to new releases only coming every few months or once a year.
Application lifecycle management provides a framework for software development while also helping you to manage your software over time. Following ALM practices uses a lightweight, pre-established plan and requirements to turn an idea into an application.
When approaching software development with ALM, you need to consider the whole lifespan of the application. Maintenance and future updates should be taken into account, including when the application should be retired and replaced.
By bringing these pieces together, ALM leads to faster deployments, improved visibility into your workflow,higher-quality products, and increased developer satisfaction.
ALM tools essentially function as project management tools that help you bring people and processes together. Look for a tool that includes version control, the ability for teams to communicate in real time, requirements management features, estimation and project planning, source code management, and test management.
You may find all of the features you need in 1 tool, or you may need to integrate with additional tools—developer-specific tools, for example. The ALM tool you choose should also support your development process, whether it's agile, waterfall, DevOps, or something else.
Examples of ALM tools:
- Atlassian Jira
- IBM ALM solutions
- CA Agile Central
- Microsoft Azure DevOps Server
- Tuleap
- Basecamp
Enterprise technology to support ALM
ALM supports a DevOps approach, which goes hand-in-hand with Linux® containers. Containers give your team the underlying technology needed for a cloud-native development style, and support a unified environment for development, delivery, integration, and automation.
And Kubernetes is the modern way to automate Linux container operations. Kubernetes helps you easily and efficiently manage clusters running Linux containers across public, private, or hybrid clouds.
Red Hat® OpenShift® is the enterprise-ready Kubernetes platform that offers development and operations teams a common platform and set of tools as a foundation for building, deploying, and managing containerized applications on any infrastructure so you can achieve your ALM goals.