posted on Monday, August 30, 2004 9:45 PM
by
anoras
MSF Agile – Joy!
A beta of Microsoft Solutions Framework (MSF) Agile has been released and it looks very promising. In its earlier incarnations, I’ve regarded the framework as a kind of best-of-both-worlds combination of the Rational Unified Process and the Dynamic Systems Development Method (DSDM), both very formal methodologies.*
During the last couple of years Extreme Programming (XP) and other loose-sleeved approaches have become increasingly popular. Personally I’ve never been a huge fan of XP. I like the idea of the product, namely code, being at the center of the universe opposed to RUPs motto that “all activities must be balanced to have a successful project” is appealing. I’ve always found the RUP motto a bit odd, what things you do won’t make a project successful it’s rather how you do things.
Pair-programming has never been my cup of tea. Two minds may think better than one, but I get the most and best work done on my own, music playing in the background and without too many interruptions.
The formal camp has clung to high ceremony processes arguing that these give high predictability, sound architectures and a disciplined team. On the other hand the agile cowboys claim that customer involvement, constant feedback and motivated teams are keys to success. I believe the golden path lies between these two and I feel that Randy Miller, the architect behind MSF Agile, has drawn this path on the methodology map.
What I like the most about MSF Agile is that it is simple. It only defines five roles, a clear definition of the tasks for each of these roles, the workflow for the tasks and clearly defined set of work products, but most of all; unlike XP, the framework does not have any rules for how you should work.
Microsoft Visual Studio Team System will have a number of adaptable features to support the MSF processes.
Another thing I like is that even though Visual Studio Whitehorse supports UML modeling, this does not seem to be part of the MSF process. This is good since modeling is nothing but a tool. In some projects large class diagrams is the way to go, but in most RAD projects a quick mock-up on the whiteboard gives better results; after all the role of diagrams, as with any other illustration, is to improve understanding.
The build system in Visual Studio 2005 is neither a requirement for the process, but it comes through pretty clearly from development process descriptions that such a tool should be in place.
Continuous integration is one of the most important elements of successful agility.
As a consultant I always have some skepticism towards any nostrum methodology, but I will champion those who offer true agility and freedom. MSF Agile is a promising framework; it has the agility of XP without the stupidity of XP. And just like RUP it has well defined artifacts without the complexity. Combined with discipline towards design guidelines, automated tests and continuous integration MSF Agile is compelling.
* MSF Formal will still be an option for large scale traditional projects.