Microsoft has embraced the idea of Application Lifecycle Management as a framework upon their software development tools can be positioned. This is a great notion, and one that will take several years of investment even from a company with as many resources as Microsoft.
ALM is the enterprise software development holy grail that IBM sought for years and invested in with the Rational tools. And although there is a tremendous value in prescriptive guidance in enterprise development models, there is a natural tension between the ALM crowd and Development as a Craft advocates. ALM, after all, is all about quantifying, measuring, predicting, planning, and economies of scale. Ironically, the kind of transparency and predictability called for by the minimalist Agile community is the same goal of ALM tooling offered by Big Blue and now by the new blue in Redmond.
How are Microsoft products staged to lay across the ALM model? The story today is mixed.
ALM Principle | MS Product Answer |
Project Management | Portfolio Server, Project Server, MS Project |
Project Tacking | TFS, MS Project |
Requirements Planning | 3rd Party Solutions |
Design and Development | Visio, Visual Studio |
Quality Assurance | Visual Studio |
Release Management | System Center, Team Build |
Helpdesk | SharePoint? |
Your familiarity with these products may lead you to the same conclusion that many have already reached. The products in the stack currently fail to integrate cleanly and many provide only a starting taste of the functionality needed to realize the ALM vision. The story is obviously a little muddy today. But what’s next?
Team System Rosario promises much improvement in the areas of tracking, design, quality assurance, and development. Significant bridges are also being started toward improving the release management story.
That won’t do it all, of course. There are other pieces needed in the stack that will need to be freshened up including operational support tools. Microsoft is in hot pursuit of filling this gap with a host of products under the System Center umbrella of products. An actual helpdesk management system to displace the TechExcels and Remedys of the world is essential here.
The point is, MS has its sights set on a complete ALM story and are focusing on the midsize market, as Microsoft is so good at doing.
The Good
A focus on ALM in the Microsoft stack will have a tremendous impact on software development and delivery as we know it. Interoperable components in the pipeline will help bridge those gaps in midsize organizations that are typically only filled in large enterprises. Transparency will be ubiquitous.
Given the open nature of products being developed at MS these days, I have high hopes that these systems will truly be pluggable, so that if you want to bridge TFS to Remedy (for example) doing so is not rocket surgery. Web services are great, aren’t they?
Concerns
There is a fine line between managing for predictability and ‘command and control’. Tools like those in this stack are like guns. They can be used for good, but misuse is more common than not.
Tooling like this gives every non-tool Agilist out there genuine pause, and with good reason. The history of stewardship in complex models like this is less than stellar. That is to say, this tooling can provide huge value, and the basis for crushing souls. Let’s be careful how we wield them.