I often hear developers using the terms ALM and SDLC synonymously, probably because they spend most of their time engaged in Scrum and less time concerning themselves with the ongoing operations and governance of the product they are working on. The truth is, SDLC is but a small part of ALM. Let's take a look at the overall objectives of ALM.
In the figure below, the red arrows represent three major objectives of ALM:
- Bring value to the organization faster by building and delivering faster.
- Maximize value by capturing, prioritizing, and incorporating feedback from the organization.
- Extend the period of highest value by ensuring ongoing quality of the product.
There are 3 main aspects spanning the objectives identified above.
- Governance – Business Case Development, Project Portfolio Management, Application Portfolio Management, etc.
- Development – Creation, Feature Addition Projects (SDLC), Maintenance (Bug Fixes)
- Operations – Deploying, Updating, Monitoring
Take a look at all of the elements in the figure above, and think about the tools and technologies we can use to improve upon each one. Collectively, all of these improvements enable us to meet the objectives of ALM.
In previous posts, I've talked about various aspects of Scrum, which is a framework that helps us to achieve a more efficient, business oriented SDLC.
In future posts, we'll take some deeper dives into some tools such as Microsoft Visual Studio Team Foundation Server that enable us to improve upon all aspects of ALM.