The World’s Leading Microsoft .NET Magazine
   
 
realworldsa


Search this Blog

 








iPing-it!

---------------

---------------

Microsoft, TFS (Team Foundation Server), MSF 4.0 (Agile or CMMI), DSL (Domain Specific Languages), essUP (Essential Unified Process), and Software Factories.

posted Wednesday, 8 November 2006
 

It has been almost a year since I wrote this blog about the Essential Unified Process, and this one on DSLs. 

 

I am currently looking at Team Foundation Server in the context of what it has to offer the development process.  The one thing that still has me baffled is why Microsoft chose the two extremes for the implementation of MSF 4.0.  Neither lend themselves well to tailoring a normal software development life cycle.  What I mean by normal is the Unified Process with a little more or a little less ceremony than the baseline it offers.  One thing to note about these processes is that they avoid UML.  I find it hard to believe though, that Microsoft would go so far out of the way to avoid it.  They do suggest it in some areas, like domain modeling.  But there suggestion is to model in Visio, forward engineer the model to code and then open it up in their DSL class modeler.  That is just plan dumb when tools like Enterprise Architect exist. 

 

If we are going to use Team Foundation Server, we are going to have to implement a development process.  It is doable but painful.  They have no real tool support built for it.  The ones that are out there are very painful to use.  And I am including configuration management in the creation of our process repository.  That will be the painful part.  Where in the heck is the Essential Unified Process stuff they preached, and said they were working on?  I was told before it would be available in the spring of 2006.  This says the end of 2006 now.  Hopefully that is the case.

 

Jack Greenfield wrote a pretty good article on Software Factories and VSTS here, called Measuring Success with Software Factories and Visual Studio Team System.  The good news about Software Factories is that for the most part they use proven industry standards to accomplish there goals.  The bad news about them is that they are basically a high ceremony product line engineering process, and Microsoft has ignored Product Line Engineering in there MSF 4.0.  I do not get it.  The article is excellent at showing the capabilities of VSTS and TFS as far as configuration for software factories goes, the problem is that it is not enough.  It needs to go much, much further, or they need to start supplying out of the box resources for Product Line Engineering.  Jack also mentioned Viewpoints.  This is an excellent book on the subject.

 

I have finally come across a good candidate for the creation of a DSL.  Jack also covers it to some degree in his article under feature configuration.  This is an excellent book on PLE.  The main problem with the book is that it uses the Orthogonal Variability Model to trace the variability in the project's artifacts, and there were no tools to support an Orthogonal Variability Model when the book was written.  Since then a plug-in for Eclipse has been written.  You can get it here.  The problem is it kinda stinks.  This is a perfect candidate for a VSTS DSL implementation.  The problem is time to learn the VSTS DSL tools isn't worth it when I can continue to use the UML profile written for Product Line Engineering feature analysis.

 

We are still not sure if we will incur the overhead of TFS for our development environment.  In some ways it seems like MS has done what a friend of mine pointed out IBM did a few years ago and made the mistake of making you use all their tools, or none of them.  So far I don't think that is the case, but it could very easily end up that way and that would very bad.  If it was reasonable to ignore MS I would just use Enterprise Architect for all our documentation and modeling needs, MS Project for planning, VSTS Developer Edition for the team members, plus one VSTS Tester for each team, SharePoint with a custom built process repository, and I'd flip a coin for VSS or Vault.  But we cannot ignore them.  Right now TFS has some definite rough edges, but it is a great start in the right direction for pulling together tools that if enhanced in the right direction could prove to be an excellent development process environment.  Notice I did not mention VSTS Architect.  Our company has phased out it's use completely.  They did start with it, but soon realized it offered nothing for the Software Architect, only the System Architect.  MS said that would change here, but it hasn't and we doubt it will.

 

We have made two decisions however that won't change in this evaluation.  We will be using Enterprise Architect for all our documentation and modeling needs.  MS has done nothing to provide an alternative for UML, and I doubt they will.  Visio's UML tools are ancient, and the DSL class modeler isn't worth much either.  We will also not be using the MSF 4.0 process implementations for anything.  Which means we will start from scratch.  We won't try to enhance or alter the MSF 4.0 CMMI or Agile implementations to a usable process.  The only thing that may change this is if the essUP becomes available before we implement our own.

 

links: digg this    del.icio.us    technorati    reddit

AddThis Social Bookmark Button




1. Peter Ritchie left...
Thursday, 9 November 2006 10:08 am

In terms of the UML, in typical Microsoft fashion, I think they found that the applicable UML diagrams wouldn't do what they wanted to do and rather than try to affect change in the UML space (which certainly would be timely) they created they're own.

I think Agile and CMMI were chosen to deal with the two ends of the development team spectrum: small and large--probably based on market demand (but I'm speculating).

No matter what Microsoft chose to do they wouldn't have made everyone happy. There's efforts to increase the number of process templates and there's several companies producing their own. And, it's flexible enough that you can create your own as well. Out-of-the-box I can't see how either of the included templates with suite most teams anyway.

To a certain extend Team System gets Microsoft's foot in the lifecycle door. They know they can't produce a timely solution that suites everyone's needs; so they do it in iterations. Start by getting something in the door then improve upon it by gathering feedback on that iteration.

Out-of-the-box, TFS will never be perfect for every single development team out there; but it does provide the architecture so you can make it work for your team, in most aspects.

I recommend that if TFS falls short for you in certain ways you log those concerns on http://connect.Microsoft.com/VisualSTudio/feedback for all to vote upon and for Microsoft to see.


2. Tad Anderson left...
Thursday, 9 November 2006 10:24 am :: http://realworldsa.dotnetdevelopersjourn

Peter... Thanks for the feedback. I will wait until we are done our eval process and then go to the feedback site.

Any word on essUP progess at MS?

Tad