Measuring the ALM maturity level

As I am asked quite often to do an audit or assesment on a application or developmentteam, I use several tools to measure how well software is being build & managed.

One of the tools I use is an 'ALM maturity level' assesment.
Several models and theories exist on this topic, so I'll just add a summary here.

ALM is short for Application Lifecycle Management and contains all processes, methodologies etcetera involved in the life of an application, from the initial idea, through development, testing & maintaining to the eventual end-of-life phase.

In short: as long as an organization is throwing money at it, ALM is there.

First you have to define a maturity model which you will be using to assess against. Several examples can be found online (see More material below to see a few)

All models I've read and reviewed have a similar approach, more or less following the CMM based model :

Level 0 - Initial (Chaotic)
Processes at this level are (typically) undocumented and ad hoc, uncontrolled and executed in a reactive manner.

Level 1 - Basic
Processes are more or less repeatable, hopefully generating consistent results. There might be a standard in tools being used.

Level 2 - Standard
Processes are documented and standardized.
Probably consistent results are in place.
There is a standard toolset.

Level 3 - Managed
Processes and tools are standardized, enforced and managed by using metrics (KPI's)
Terms like continuous integration & deployment might be heard. (DevOPS?)

Level 4 - Optimizing
There is focus on continuous improvement.
Process performance is being monitored and improved.

During an assessment my main work consists of having interviews with people from all roles involved in the processes. The next step is then checking if all processes are followed like described and how these are automated, if applicable.
This will then be compared to the desired level and I advice on how to improve in practical steps.

Of course there are much more topics involved which are being measured during an assessment because ALM involves all processes and methodologies, like requirements engineering, software development, testing, operations, projectmanagement etcetera.
For obvious reasons I can't give you our complete model with all indicators per level here ;-)

Hopefully this will give you a nice starter though on how to start measuring the ALM maturity level.

More material

To start there is the Capability Maturity Model (CMM).
The friends over at Thoughtworks have a nice PDF to download.
And here is a nice (older) presentation from TechEd about this topic.
Another presentation by Microsoft on the topic.
HP also has a similar article here

Ronald Harmsen

I'm a software developer. When I'm not developing software I'm training & coaching other developers, speaking on a conference or fiddling with some technical stuff.

Arnhem, The Netherlands

Subscribe to Ronald to the cloud

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!