In a Forrester report, The Changing Face Of Application Life-Cycle Management, nearly one-third of enterprises are already using application lifecycle management (ALM) processes and tools, and almost half are aware of it (see Figure-1). But in conversations with user companies, we often find that even those familiar with the term are often hard-pressed to define it.
Figure-1: Awareness of ALM is High
This article begins to describe what it takes to pragmatically and effectively integrate ALM synergistically with agile-lean product development.
For the purposes of this article, application lifecycle management (ALM) encompasses the processes, practices, techniques and tools employed at all stages of system-software development, including:
- Program amp; Project Management amp; Planning
- Requirements Gathering and Management
- Software Architecture amp; Design
- System-Software Development
- Testing amp; Quality Assurance
- Operations Management
ALM, when done right, may help your enterprise wide adoption of agile-lean product development. Conversely done wrong, there is a high risk your adoption of ALM will result in not achieving the return-on-investment and value you had planned. There is also a high probability an ALM adoption gone wrong will undermine your adoption of agile-lean product development, not least of which will negatively impact your development organizations ability to build better software and team morale as well as result in dissatisfied Customers or internal IT Business Partners.
It is highly recommend you take a lean-agile approach to planning and implementing ALM.
You cannot improve what you do not effectively measure and quantify. Before you can improve anything, you have to know what your baseline is; otherwise, how do you measure the improvement, or even identify what to improve? While at the same time keeping in mind Gilb’s Measurability Principle: “Anything you need to quantify can be measured in some way that is superior to not measuring it at all.”
Examining both the perceived and actual processes your using to develop and maintain system-software provides a complete picture of your enterprise-wide system-software development processes and practices. People in your organization will have different opinions about the current state of your development capabilities. Establishing a shared understanding of your current situation and identifying those areas that need attention is key to success.
Value-stream maps, as depicted in Figure-2, are generated from the data gathered during examination to guide the organization to effective, efficient, and pragmatic ALM processes, practices, techniques and tools that synergistically integrate with your approach to agile-lean product development.
Figure-2: Agile-Lean Product Development Value-Stream Map
Above all you do not want the design and processes behind the ALM vendor’s tool to dictate how you are going to do things. It behooves you to make sure your ALM vendor of choice, understands this, takes it to heart and that they will work with you to adapt their tool to your specific needs.
As a result, strengths are acknowledged, areas for improvement (constraints and bottlenecks) are identified and continuous improvement begins to take form and substance.
The Changing Face Of Application Life-Cycle Management by Carey Schwaber with John R. Rymer and Jacqueline Stone
About the Author
Russell Pannone is the Founder of We Be Agile and the Agile Lean Phoenix User Group, as well as the Agile-Lean Adoption Lead. With almost 30 years of system-software development and delivery experience, my focus is on working side-by-side with folks on real projects helping them deliver valuable system-software to production early and often, giving those I collaborate with the best opportunity to beat the competition to market, realize revenue and discover insights that we can use to help us improve.