Raise your level of abstraction
There is a big fuzz around model driven development and all the goodness about it, its promises of a high level of agility, cut down of prices, reduction of technical risks etc. etc. Many including myself think that the model-centric approach is the future of software development, and several companies are doing their business of it and build the next generation platforms and tools for creating agile business applications.
So, why on earth is it that big ISV players like Microsoft, Sun, IBM did not clearly entered the game and just let emerging companies share the cake? If it is so much a golden egg, such big companies should have given it a try and invest a few million on it?
For information: I exclude here IBM MDA tools (Rational tools) from the discussion, as I am talking here about tools targeting business users, and functional modeling + generation of ready to use business applications. The Rational tools are modeling tools but targeting technical users.
My thoughts there:
Any comments most welcomed!
Thank you for your input.
Had a look at your web sites. WebML looks very interesting. And I need to dig a bit more into the web ration videos.
But looks great! Will investigate further.
However I still don't agree with the absolute: no you can't do manual afterwork. In fact it is maybe a way to express the intent:
I think that code can be used as a "modeling language" for business rule. And as such be integrated in a model-driven platform. As such, the code you write is part of the full model. So there is no risk of break code<->model synchronisation. Makes sense?
I guess this is more or less what I meant (but I wanted to be provocative): the core message is that you must always grant the alignment between model and code, because only in this way you get all the value of MDD.
Thanks Mark for refocusing on the original question;)
Your points make sense. Yes big ISVs are driven by what their customers are asking for. So why would they not ask for more model-driven tools? .. Don't know.. Their customers beeing technical teams, they may in majority ask for what they know and currently use: traditional tools... And if it happens that more and more technical teams start to ask for model-driven tools: it's only half-done: they'll have to convince their management to trust the approach and buy these tools! Which can be tough...
Maybe we should think more about addressing business users when selling our tools/approach because they are the one to decide ?? The model-driven approach is a very technical matter, involving many technical gurus. Shall we include business people, take as much time as possible to explain the approach and convince them, so that they can help in marketing the approach?
Ok for big organisation using open tools. So they would be worried about vendor-locking when using model-driven tools? Makes sense. That would be in favor to tools with a generative approach rather than interpretative? because you can generate in a open target technology and remove the vendor-locking..
As said supporting Velmurugan Srinivasan arguments, it has become common for large shops to delegate its applications definition and development to external and well known software providers, shortening its work to configurate and customize large and generic packages. In this way, it seems that "commoditizing" software has become a real option for shops whose business is not software production.It is really possible to delegate the software building to such packages? I don´t agree: It is a new nigthmare, and custom software will return.
In addition, we are living a darwinian race towards fewer players in the software business, where innovation is not the priority. As Rui says, why big players will invest in MDD, if then they can buy the winner? It seems that nowadays, business means to remove competitors...You mention Oslo: in my opinion, Microsoft preferred its .net comfortable business over funding research: Why killing its Visual Studio business?
And finally, agree with our colleagues supporting complete code generation. MDD requires to be affordable to the regular team at any shop.
If the standard business is still comfortable, that means MDx does create much pressure to the market. But we can look at it from a different angle: after all Microsoft *did* notice MDx and tried something, for whatever reasons. Or SAP, with it's "business on demand". Ok, they live pretty well from customizing DB tables, but the customers are getting more impatient and more angry, there *is* demand for better customization options.
From the end user perspective, it is in fact unimportant if the customization is achieved by copy&pasting DB-schemas, by buying customizable standard components, by outsourcing or by MDx - if it works.
I'm pretty convinced that MDx (in a broad sense: including but not restricted to using a code generator) will play a rather huge role in this game. As far as I have heard, "business on demand" actually did not work very well, I guess SAP would be lucky if they had a better solution at hand.