Hello, C# Developers.
This is more of a "philosophical" question than the ones typically asked in this forum, but I wanted to get your opinion on Model Driven Development, and how you feel about it as an emerging technology in software development? Coming from my particular perspective, it seems that there is some push-back from developers regarding MDD platforms, citing that they are either too limited in what they can model, or that they pose the risk of marginalizing traditional developers. Can you relate to this at all?
At my company (Novulo), we've created a MDD platform called the Novulo Architect -- its a platform for creating .NET business solutions. We've tried to design it not as a replacement for the IT department, but as a tool for IT pros like you to increase your productivity and creativeness. One of the key features for developers is the fact that the model is not executable, but rather is transformational: the model gets transformed into a C# application. The idea behind this is that, whatever you cannot model, you can simply custom code yourself, using Virtual Studio, for example.
We've had success in the Netherlands (where we're headquartered), but recently we have made a free, full-featured trial version available on our website at http://www.novulo.com in order to get a more international perspective on the platform. So far, it has been a successful endeavor. But I'd like your opinion: does the ability to still program make the idea of using MDD more attractive to you?
Many thanks!
Loading
Danatas GerviPosted Sep 23, 2009, 1:54 AM
Michael, thank you for explanation.
I am interested. I will download the trial version of your system.
My first post was based on "First impression", and, I deliberately used only negative sides…
:-)
I should be ready for changes in my profession.
MichaelPosted Sep 23, 2009, 12:49 PM
I'm so glad that you'll give it a try. One of the goals for me here in to get some constructive feedback first about MDD in general and then to hopefully encourage developers to try the Novulo Architect and see how they compare our platform with other MDD technologies they've experienced in the past. You can try it for free at the novulo website. Also, if you ever felt like doing a Skype session, we could get one of our developers to do a demo for you. No pressure -- just a chance to see the platform's full capabilities.
Thanks again!
MichaelPosted Sep 22, 2009, 12:56 PM
Hi there, and thanks so much for your reply and feedback. I have to say that it is not the first time that I've heard comments similar to yours. Also, it is my experience that many veteran programmers had very bad, "scarring" experiences with early MDD platforms in the past -- as you know, there have been several MDD "movements" throughout the history of software development. To this end, I can only say that we at Novulo consider our platform to be the next generation of MDD technology, and that our approach gives traditional developers such as yourself a set of tools that they can relate to. Many of our competitors feature platforms that I don't think are what you can call "serious" in that they are built more for the non-IT pro (like me). The whole concept behind these MDD platforms is to eliminate guys like you, I'm sorry to say.
We come from a completely different perspective -- from a developer's perspective. One cannot simply sit down and bang out a .NET solution with the Architect; you have to have mastery of software development in order to get the most out of it.
You had said, ". . .I do not understand why I should learn how to use other program that will create code, if I could write this code by myself." My guess is that, based on your years of programming and your expertise, you can probably work very quickly when coding. However, the premise behind the Novulo Architect is to give programmers like you the ability to automate the monotonous, time-consuming, routine stuff so that you can spend more time coding the ultra-custom functions and features the client desires. I guarantee you that you can build things much quicker using the Architect.
In your reply, you also said, ". . . because I may not to say to customer – "No, I cannot do it, because we are using MDD." While that may be the case with executable MDD platforms, with the Architect (a transformational MDD platform), anything that cannot be modeled can be custom coded. So, imagine yourself building a .NET solution with the Architect. All of the basic, boring requirements can be achieved with the models, and all the rest you would build directly into the code itself. The other nice thing is that you build the GUI first, and the platform automatically builds the data model underneath. Of course, you can edit the data model if needed, but you don't have to start with the data model and work upward. This is particularly good for the client, because you can show them the UI up-front.
Really, I'd love to get your take on the Architect. We have a free trial on our website, and a good "Getting Started" tutorial in our library. Feel free to give it a whirl.
Thanks again for your feedback. It is valuable.
Danatas GerviPosted Sep 22, 2009, 11:34 AM
Hi.
I will say about my personal and very first opinion. So I understand that it is not "correct" opinion. :-)
First of all – this perspective (to drop rectangles in designer area instead writing the code) looks terrible. I am old programmer, my experience starts from computer with 48 kilobytes of memory (ZX-Spectrum) with single line editor, and I do not understand, why I should learn how to use other program that will create code, if I could write this code by myself. Existing tools of Visual Studio already looks for me as a house with unknown number of rooms – I do not know all abilities yet, and seems that will not know – because next version is on the way.
:-)
Also, not all of this tools (especially automatic code generators – DataSourse, DataBinding) – works exactly as I want. Once, I have opened the code of auto generated datasorse – all my remaining program was less by quantity of code.
Also, this is good for very standard solution – get data, modify, save… Customer always asks something unusual – and I do not know, how adds it (such customizations) to auto generated code! So, I avoid using Databinding. For me – mach better to use Recordset, to get exactly needed data, and to put it into grid as customer wants.
You suggest me to use "Databinding of Databinding"…
Every pattern makes borders. And for me – as for programmer – very important to have ability to override any border - because I may not to say to customer – "No, I cannot do it, because we are using MDD (MVP, OOP :-) - he will decide, that I am not skilled ".
So, your target auditory – level up from programmers – our managers and team leaders. Managers may say everything to anybody :-) and team leaders may want to take young and cheap programmers, because they easy receive new ideas and environments, and team leader know, that he can correct theirs code – if something will wrong.
:-)
PS : My answer – no. But… If my boss will decide to use it? :-)