The World’s Leading Microsoft .NET Magazine
   
 
realworldsa


Search this Blog

 








iPing-it!

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

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

VSTS 2005, DSL, and Software Architecture

posted Wednesday, 21 December 2005
VSTS 2005 offers nothing but Visio in the way of tools to the Software Architect. There are plenty of tools for the System Architect, Developer, Tester, and Project manager, but banks everything on DSLs and Software Factories for the Software Architect. Both will add some value in the future, but the only tool we have to work with now is UML 1.4 in Visio AGAIN, which they say they have no plans to upgrade. The MSF agile templates so far are horrible, and our process we are putting together is a Product Line Engineering (PLE) process that uses off shore development, so the process's ceremony is very high. We need heavy documentation to produce an effective communication channel between our Marketing/Management team, Architecture team, and our Development Team. We are currently widdling down the RUP to UP, and then building it up to a PLE process on our own. So we are creating 70% of the artifact templates and guidelines by hand.

I put this out a few weeks ago after evaluating their DSL toolkits:

I think every yahoo in the world who likes to re-invent the wheel will be putting out their own designers. This now ticks me off as much as the MSF did when it claimed to be a process framework when it first came out. The only thing that has accomplished is making a huge mess, and then coming back full circle when they decided to give it some instances of structure, and they implement XP, UP, and RUP. The same processes that were around when they started their mess.

We have worked far too hard to get where we are with industry standards for software development. Why is it the electronic engineering field has been able to stabilize? I doubt they would have if they would have engineers defining their own schematic language on every project across the world.

Imagine being a consultant and every new gig you get you walk into you need to learn a new modeling language. I think DSLs can add value if they are used correctly, but UML already does when used correctly.

The only part of it I like is the template engine, but this isn’t going to be worth the mess this makes.

The only hope we have is if the experts in the field like Mr. Booch, Mr. Gamma, Mr. Martin, Mr. Ambler, Mr. Jacobson, Mr. Gomaa, Mr. Clements, Mrs. Northrop, Mr. Fowler, Mr. Evans… etc. (You know who you are) step in and take the lead on this, to get this under control as quickly as possible, and guide us in the right direction on how to use this correctly. Then and only then will this possibly stand a chance of just not making a huge mess.

We need someone at MS to produce a MSF template mirroring the UP (the only process I have seen be truly successful in a non-agile environment), and if they are banking on Product Line Engineering (PLE) as there core process for Software Factories, we need an MSF process Mirroring what SEI combined with the ITEA projects says PLE is. There is already a company working on getting a MSF RUP template to work within the VSTS environment.

Along with these processes that are intended to document the architecture (software architecture, not system architecture), they need to provide the modeling tools and process templates that make implementing them possible.

MS needs to get on the ball as to what Software Architecture is and what we need to be successful, so far VSTS 2005 is greatly lacking.

links: digg this    del.icio.us    technorati    reddit

AddThis Social Bookmark Button




1. Jack Greenfield left...
Friday, 6 January 2006 1:55 pm :: http://blogs.msdn.com/jackgr

I've posted a reply to these comments on my blog (http://blogs.msdn.com/jackgr/archive/2006/01/06/510162.aspx).


2. Tad Anderson left...
Friday, 6 January 2006 3:03 pm :: http://realworldsa.blogspot.com/

Thanks for responding Jack.

First let me say I think your book is the best book written on the current state of the software development industry to date, and I have read it from cover to cover, and reference it continuously. I have also read every other book out there on PLE. I can understand why Paul and Linda endorsed your book, you did a fine job of incorporating their PLE practices into Software Factories. I think you are doing a great job in moving us forward in our industry.

As far as Software Factories and MDA go I have both in the same bucket of promising to create a great future potential for us as far as process and efficiency goes. But both I hold as future only assets to our community.

I am glad to hear your intention with DSL's are for use with Software Factories. I hope that makes it out to the general population. I agree they should be used in that context.

As far as learning a new domain with every project, nothing will change that. Many UML profiles however, are now standardized enough to at least know what you are looking at when you are looking at a model.

I am also glad you are moving in the direction of viewpoint and perspectives, and that you are hard at work making advances with your process implementations. I hope you continue in the PLE direction.

Maybe I wasn't quite clear in my frustration and ranting. I think the work you are doing is great, and the direction you are heading in is great, and that it should continue.

My frustration is with today, and the tools we are being handed today. With VSTS 2005 I lose XDE, I gain a DSL roundtrip class diagram modeling tool, and a bunch of Data Center modeling tools. So now I am stuck with the choice between Sparx, Borland, and some other tools to be able to do my job today. I don't have time to write a DSL UML tool so I can architect this project, and I wouldn't even if I had the time. Basically I am tool-less to architect, unless I can get my client to fork over a few more grand for our team. A great aggravation in this process is trying to explain why Visio, while it may be free, doesn't cut it. If it isn't going to be improved, get rid of it.

My frustration is not with your movement, my frustration is with the gap that has been put in place by MS making us wait for your Software Factories movement to produce the tools and process frameworks we need to do our job. So I am not against your movement of Software Factories, I am against Microsoft's position of promoting it as what will be available, while providing nothing to us today.


3. Steve Cook left...
Friday, 6 January 2006 4:25 pm :: http://blogs.msdn.com/stevecook/

Tad, which parts of UML do you think we should implement?


4. Tad Anderson left...
Saturday, 7 January 2006 12:29 am :: http://realworldsa.blogspot.com/

I answered which parts of UML do you think we should implement? Here- http://realworldsa.dotnetdevelopersjournal.com/umltoolsfromms.htm


5. Tad Anderson left...
Saturday, 7 January 2006 9:37 am :: http://realworldsa.blogspot.com/

I would like to add that if you made your way to this blog, please be sure to read Jack's response (http://blogs.msdn.com/jackgr/archive/2006/01/06/510162. aspx) which addresses my concern that "I think every yahoo in the world who likes to re-invent the wheel will be putting out their own designers."

He states "However, we have admittedly not done a good enough job of making clear that we intend people to build DSLs primarily in the context of Software Factories. Yes, we do expect them to build standalone DSLs, but the primary goal of productizing the DSL technology was to support factory development."

So although MS does expect some DSLs to be build as stand alone tools, you must have a valid reason for doing so. In my humble opinion if it is not in the context of Software Factories, you should leave them alone. This would mean you have institutionalized a product line engineering process and would like to investigate moving on to software factories. Take notice that I do have Software Factories at the top of the process ladder in this blog http://realworldsa.dotnetdevelope rsjournal.com/the_process_ladder_up_rup_eup_ple__never_neverland.htm (The Process Ladder- UP, RUP, EUP, PLE, & Never Neverland)

In my blog on the .NET tools we are evaluating (http://realworldsa.dotnetdevelopersjournal.com/net_20_t ools_evaluation_dsl_gat_sql_2005_mobile_5_vsts_enter.htm) I say " In the future DSL's may serve a purpose in allowing a visual representation to configuring our product,". That is because we are implementing a Product Line Engineering Process, which happens to be the core of achieving Software Factories. But right now, we are using UML because we need all the experts that Jack mentions in his blog to provide more guidelines, and we need Software Factories institutionalized in the engineering field so we have a repeated successful guide to follow when we do decide that they are right for us.

He also addresses the lack of process and software architect tools MS is currently providing, and why it happened.


6. Simon Mourier left...
Thursday, 9 March 2006 8:16 am

I think there is really a big difference between the ideas behind DSL, and the current implementation shipped with Visual Studio. While I think the ideas and concepts are valid, at least in some scenarios, the implementation is in general simply not worth it. I suppose it simply means the people behind the ideas and the ones behind the implementation are just not the same, as Tad suggests...


7. sdas left...
Friday, 10 March 2006 3:45 pm

Treading into the Software Architecture world ...


8. Me left...
Wednesday, 10 January 2007 12:07 am

Amen brother Tad ... you couldn't of said it better. Let's get the Visual Side of the architecture diagrams done in something better than Visio. Atleast Microsoft could have tied the physical server inventory together with the Systems Center ITIL CMDB repository.