Application Lifecycle Management (ALM)
Application lifecycle management (ALM) is the product lifecycle management (governance, development, and maintenance) of computer programs. It encompasses user needs, requirements management, software architecture, computer programming, software testing, software maintenance, change management, continuous integration, project management, and release management.
Many products have emerged on the market to support ALM with many now supporting Agile software development. Some of the more forward-thinking software vendors also support Kanban methods for ALM. Examples of these products and vendors include, ThoughtWorks Mingle, Atlassian Jira, LeanKit Kanban, Kanbanize, Swift Kanban, VersionOne, and Trello.
Most ALM’s these days are visual and metaphorical to a physical card wall enabling a virtual user to drag virtual cards across a virtual wall. Common aspects of ALM to think about when setting up are what statuses does a card go through, i.e. User Research, Backlog, In Analysis, In Development, In Test, In UAT, In Pre-Live, Live, Measure. What card types will you support, i.e. Epic, Story, Defect, Task, etc. What sizing scales will you use (if any) such as Fibonacci, exponential, etc. Also think about how you are going to limit the amount of work in progress to increase throughput inline with Kanban best practice.
You need to be careful when using any Agile ALM tool. Many have templates pre-configured for Scrum or Kanban. These templates are often the vendors interpretation of how Scrum or Kanban should be implemented but these templates can quickly become major constraints for the team. A common problem is when a team comes to implement a small change to the configuration of the ALM and it affects all other teams using the ALM preventing them from making a change. Another issue is when teams become so dependent on the electronic tool that it impedes their decision making as the tool does it all for them. This massive reliance on the ALM tool often stifles continuous improvement – the ALM tail wagging the dog.