ALM vs SDLC – Understanding Areas of ALM and how they fit together!

What is ALM?

Application Lifecycle Management refers to the process of managing lifecycle of an application from the conceptualization to end of support. It mainly revolves around 3 aspects: governance, development, and operations.

Refer to: What is ALM article by David Chappell here for more details around these aspects.

ALM != SDLC

Application Lifecycle Management is more that SDLC (Software Development Lifecycle). In fact, an application’s lifecycle includes the entire time during which an organization is spending money on this asset, from the initial idea to the end of the application’s life.

An application’s life is controlled by business events (in most cases) like a human life. To manage an application during a specific age, we need to look at the intricacies of processes, methods and tooling practices which collectively called as ALM.

Main Areas of ALM:

1. Requirements Management - Refers to requirement analysis, consolidation and management

2. Architecture & Design – Refers to application architecture, functional/non-function specification, technical design and solution structuring practices or patterns

3. Software Development Process – Various methodologies to develop the core application including Agile/ MSF/ Iterative Development

4. Project Management & Governance – Includes schedule/cost control, Project Management, Reporting and Risk Management

5. Database Management - Includes database tools/ processes to implement better design/operations/builds around Database

6. Code Quality:  Includes tools/methods to improve code quality and stability of application

7. Quality Assurance: Includes software testing processes and planning

8. Configuration & Deployment:  Release and change management combined with build procedures

Getting Started:

As I described the main areas of ALM above, you know by now that it is not a single thing that you go and become expert with. It is your collective experiences which will make you an ALM expert – not just one tool or process. Not to scare – after all it is something that you were doing on day-to-day, just that it is the time now to do it more consciously. Here are the top 2 links that you can refer to once you read what ALM is from David’s article.

1. ALM Specialist Toolkit

https://almspecialisttoolkit.codeplex.com/

2. Visual Studio 2010 Architecture Tooling Guidance

https://vsarchitectureguide.codeplex.com/