Monday 12 January 2009

New David Chappell ALM Whitepapers

David Chappell has the rare ability to explain technology in simple (not simplistic!) terms. Most of his whitepapers are relatively short and to the point. He recently published four whitepapers relating to ALM, and they are no exception:

1. What is ALM

A very good introduction of ALM and not surprisingly :-) pretty consistent with views I expressed nearly two (!) years ago in my ALM != SDLC blog post.

2. ALM and Business Strategy

This paper discussess the link between ALM and Business Strategies. It describes the importance of ALM to maintain relevance and competitiveness by building and managing custom applications.

3. ALM as a Business Process

Here ALM is seen as a business process supporting core business processes such as HR, Sales, etc. Given the high degree of automation of core business processes these days, it should not come as a surprise that ALM is fundamental to the success of organisations. I never thought of ALM as a business process - until now!

4. ALM Tool Evolution

In this paper, David looks at the tools market to support ALM. It's not an in-depth analysis of what is on the market, but more of a 'status quo' of where the industry is and where it needs to go.


My original download link is no longer working, but I hope the papers will be available soon from David's blog or website.

Friday 2 January 2009

SDTimes new ALM resources website

If you are interested in ALM - and I assume you are if you found this website - check out the SDTimes (Software Development Times) new section with ALM specific resources. You can find it here.

Wednesday 31 December 2008

Added a new poll..

I added a new poll to understand which aspect of ALM you are most interested in. ALM can be divided into three (3) aspects:

1. Align (make sure you do the right things)
2. Build (make sure you do things right)
3. Provision (deploy and manage the things to make sure you get the expected results)

What are you most interested in? You should be interested in all of them, but if your life dependent on it, which one would you focus on first?

Monday 29 December 2008

76% know what ALM is about - excellent!

My poll "What is ALM?" is almost over and the final result indicates 76% (potentially 84% but we don't know what the 'self-explanatory' folks thought it is....) of you know what it means, excellent! I expected a much higher degree of confusion, so I am glad there is considerable awareness out there.

Finally - I have a proper ALM demo environment

Yes I know I haven't updated this blog for ages, but it does not mean I have been idle.... First I needed to fight bureaucrats to get funds to acquire hardware for something they can't appreciate, then I had to install and configure an environment. Here is where I am at:


1) The hardware


After consulting with our local IT Pro and other illustrious technical folks, I decided to buy a Shuttle with a Quad Core CPU and 8GB of RAM. The decision criteria were simple a) small form factor to be able to carry the box around, b) enough grunt to run an entire ALM demo environment. Here it is:

2) The software environment

To be able to explore, learn about (and ultimately demo) ALM in its entirety I needed to setup an environment. I chose Windows Server 2008 and HyperV as the base infrastructure - and I love it! The next step was to setup an ALM environment:


The environment is made up of an Office and Visual Studio client, a Domain Controller, a TFS Server, a Project Server and a System Center server. Eventually I plan to add Portfolio Server and PerformancePoint to the mix.

I guess I could have reused existing HyperV images, but I think it is invaluable to go through the full end-to-end process of setting up and configuring an environment.

This setup will allow me to explore all kinds of ALM integration scenarios and I plan to report about it on a regular basis - hopefully a lot more often than usual :-)

Friday 29 August 2008

ALM or SLM?

I have a question about ALM ... The 'A' obviously stands for 'Application' a term we used in the past to refer to a blob of software residing on a single computer.

These days 'application' is more like a logical concept. Modern composite 'applications' are made up of many different components, some of them may not even reside inside your organisation. Is the workflow engine part of an apps, is the .NET library part of it, what about a data feed?

I don't know the answer but it has implications when we talk about Application Lifecycle Management (ALM). How can we talk about ALM when we can't even define application boundaries?

We have been discussing this internally and the term 'Service Lifecycle Management' came up a few times... and I have to say I like it! 'Service' might be a better description of what a modern application is really about.. what do you think?

I added a poll (on the left) titled SLM or ALM (Service Lifecycle Management) ? Let me know what you think is a better term...

Monday 28 January 2008

ALM and IO Models - how do they relate?

If you watch TV, read technical or business magazines you probably have heard of Microsoft's People Ready Business vision. It recognises it is people who deliver business value but their full potential is only achieved with the support of optimised IT infrastructures.
This infrastructure is very diverse and must support a wide variety of capabilities. To get a handle on this, Microsoft developed three models that collectively capture all the necessary capabilities required to support a People Ready Business. The models are:

The models also consider different maturity levels, similar to other frameworks such as CMMI, SPICE or SixSigma. As organisations mature they increase efficiencies and effectiveness. The framework recognises four levels of maturity:

  • Basic
  • Standardised
  • Advanced
  • Dynamic

It is beyond the scope of this post to elaborate about the IO models but if you are interested there is an excellent 6-page overview available here.

So what does this have to do with ALM? A lot! To implement an effective Application Lifecycle Management platform in your organisation, you have to improve several - traditionally distinct - capabilities:

  1. you have to get your project/program planning and monitoring activities right
  2. you have to optimise your development activities
  3. you have to streamline your deployment and infrastructure management capabilities

It doesn't make sense to be excellent at developing software but incompetent at deployment or vice versa. Neither does it make sense to efficiently deploy applications which don't solve business needs - you have to be efficient AND effective!

It just so happens that the Microsoft IO models describe all these capabilities and a lot more (see picture below). In the context of these models, ALM is an example of a scenario delivering a value to the business (in this case effectively managing application lifecycles).


We don't use the term IO scenario here at Microsoft, but it reminds me a lot of use case scenarios. Use case scenarios are collections of related requirements, IO scenarios are collections of related IO capabilities ..... works for me!