Intro to Microsoft Solution Framework 4.0 and the Visual Studio Team System

I'm a certified MSF Practitioner. Great - how many of you know what MSF is? MS doesn't do a great job of marketing this “product” which is really a process or dare say methodology for the software development lifecycle. The angle MSF has over RUP is that it's derived from what MS does to build its own software and in the MCS group. Some key differences:

  • MSF talks about team roles much more that RUP does. It also talks about scalability and combining roles. The minimum team size that can use MSF is 3. Key take away: Never combine the testing & developer roles.
  • MSF is traditionally (and surprisingly) somewhat less iterative than RUP. I ignore that fact because iterations work and big design up front doesn't.

So along with the announcement of Visual Studio Team System, and all it's far reaches into the SDLC, it would only make sense that MS revamp MSF to fit in with this new toolset - and indeed MSF 4.0 is a deliverable of VSTS.

One of the new directions is that MSF now talks about competing process models...calling the existing one “Formal“ and the new one, you guessed it - “Agile“. Marco Dorantes' excellent blog has some interesting criticisms related to how those are distinguished.

For MSF 3.1 today, above and beyond all of the documentation to describe how it works, you also have a series of templates you can use in your own project. This would include an array of  “Plans“ related to Architecture, Development, Deployment, Performance, Security as well as various requirement and specification documents. There is also a handy Risk Assessment template which is great for prioritizing the project risks and if anything I recommend following a rigid risk mitigation discipline in your projects.

In MSF 4.0 you'll see other neato concrete things in VSTS like:

  • Work Items
  • Source Check-in Polices.
  • Document Templates (Word & Excel)
  • MS Project Templates
  • Reports
  • Project Portal/SharePoint site template

You can read more about this here.