hide all comments

DSM

Tad Anderson on the Microsoft marketing machine

February 27, 2006 13:38:55 +0200 (EET)

Tad Anderson puts things in historical perspective in his Real World Software Architecture blog:

We are in a new era of trying to figure out what Microsoft is doing. To do what they say to do can lead to trouble. The past has proven this. I learned this lesson years ago when MS was preaching the DNA model for building applications [i.e. ASP & COM]. Microsoft never implemented DNA in their own applications -- they always used ISAPI filters written in C++. The reason for selling DNA is that it was what the development community was capable of handling.

Absolutely! And that's surely the correct business decision, if you want to make money. Trying to teach the development community that there can be a better way, radically different from what they do now, is always going to be a harder sell. Saying "look, you can get that new hyped stuff, all without leaving the comfort of your familiar environment" is something that will appeal to a lot of people -- almost irrespective of how true it actually is.

Back in the days of ASP 2.0 I always tried to sell my clients on ColdFusion, but they would usually never bite because of the upfront cost. I couldn't convince then that going with ASP and VB COM+ DNA would cost them much more in the long run because of it not being maintainable or modifiable. But they all did learn the hard way, and my predictions were never disproved.

That's the strange thing: Microsoft was doing exactly the right thing in business terms, but it was bad for the customers. Sometimes it works out that this is still good for the industry: it helps people try the new hyped thing, and in the best case they see the benefits, but realize that a syncretic combination of old with new is poor, and move fully to the new way. The danger though is that the industry thinks they've tried the new thing, and it sucked -- and blame the new thing not the syncretic Microsoft tool.

Where we are now is in the middle of a landslide of Microsoft suggestions on how we should approach development with their tools and trying to discern which are valid approaches to development, which tools should be used, and which are marketing propaganda to keep the development community happy and in their corner. Microsoft is not in the same boat as they were back in the ASP COM+ DNA days. But we are still finding some things coming out of their camp that are market driven instead of best practice driven.

Microsoft is not in the same boat as with the Internet, when they were really late to the party. This time, they are among the first really big companies. More interestingly, this time they are making a strong attempt to define the market: attacking the UML/OMG/IBM trinity (although being strangely silent on its most visible form, Eclipse), redefining terms (Software Factory, DSL), and being far more open about their ongoing work (CTPs, blogs). Rather than attempt to say that what they have is an easy way into the real new thing -- Domain-Specific Modeling with full code generation -- they are saying their Software Factories are the new thing.

Still, there seems to be a lot of mixed messages, most clearly in the ARCast podcasts: Steve Cook says with SF you can only generate 40-80% of code, Jack Greenfield says models are important but not the dominant development assets. Their tools can only do one modeling language at a time, but Jack Greenfield says you need tens or hundreds of modeling languages with SF on any "real" project.

Most revealingly, and completely backing up Tad's analysis, is Jack saying there can be very significant problems if you try to get 7 million VB programmers to adopt modelling -- you get "tissue rejection" -- and so you have to change the thing you are trying to get them to adopt. Even though Jack was talking about their decision not to use UML, the fact that he focused on the "7 million VB users", rather than the actual UML problems, points to the need Microsoft has to please existing customers. The important thing is to come up with something that customers will accept more easily, rather than focusing on what is going to be best for them in the long term. Again, sound business sense -- I may not like it, or want to apply it myself, but I can't deny it.Type_Link_text_here

Trying to weed through all the marketing driven releases from MS is not an easy task, but in the end it is something that always needs to be done. I will be waiting to use DSLs and Software Factories until I see the first product released from Microsoft that has fully used Software Factories to develop it. I have a feeling I will be waiting a while. And I am really not interested in seeing a Software Factory that implements Pet Shop. Until Microsoft is selling pets, Pet Shop is just another marketing tool.

Sort of. It's a little unfair to demand Microsoft build their own applications with DSM, since it's best used where you have a number of product variants, and the variation can't be handled with simple choices on whether to include a part or not. Then again, SF doesn't claim to share that limitation, or at least Microsoft isn't making that clear in its marketing.

In any case, the issue isn't whether DSM -- or the DSM part of SF -- works: of course it does. The issue is whether Microsoft's DSL tools are an effective way to build support for DSM. That's where it will be interesting to see a real project, and calculate how much work was spent on using the DSL tools and coding against their framework. Like Tad, I have a feeling I'll be waiting a while before I see the DSL Tools even coming close to the true, non-coding based DSM tools like MetaEdit+ -- or even ones with a little coding like Dome and GME. They should beat EMF+GEF, but GMF may give them a run for their money. And since GMF is free, multi-platform, and "OMG standard compliant", Microsoft are going to have to work hard to win even that race.

Comments

Good Break Down...

[http://realworldsa.dotnetdevelopersjournal.com/] February 27, 2006 17:19:25 +0200 (EET)

Excellent Blog... nice job adding relevant thoughts... Thanks... Tad

DSL Tools Background

[Pedro Silva] March 01, 2006 21:25:31 +0200 (EET)

Having been through the different waves of technologies that Tad and you describe, I have see how some folks are hesitant to adopt process and tools.

On the other hand, DSL Tools grew out of the shared infrasture of actual designers that shipped in VS 2005: the Distributed System Designers (Application Designer, Logical Datacenter Designer, and System Designer), and the Class Designer. So, to answer the question about whether or not this technology has been used in any real-world applications: yes. However, much of the model, diagram, and actions had to be done manually to produce the designers you see in VS. Actually, some of the limitations on DSL Tools are because it was originally written for a very specific set of designers.

The DSL Tools uses the same core infrastructure (modeling framework, diagramming, and shel integration) and adds tools to it easier to produce models and shapes: the domain model designer, code generation, and project templates.

And, as we move into development for Orcas, new designers are planned, and they'll be built on DSL Tools because it makes it much easier to define the domain model and get to a good starting designer than if the developers had to do it all by hand.