- .NET (3)
- Architectuur (3)
- Bank (5)
- Hypotheek (2)
- Internet (3)
- MDA / MDD (1)
- Multi Channel (3)
- Offshoring (4)
- Overheid (1)
- Software Development (4)
- Software Solutions (2)
- Verkoopkracht (3)
- Verzekering (2)
Hybrid Software Development Process
I strongly believe that if in the future software development is to remain manageable and agile when producing solutions for complex business problems in new hi-tech environments, we will need to abstract further from the lowest levels of coding artefacts. Model Driven Architecture (MDA) and MDD (Model Driven Development) are well adapted concepts that aim at achieving this abstraction. A lot of initiatives are employed to make these concepts available to architects, designers and developers by means of tools that integrate into modelling and development environments. “Integration” is the keyword here: in order to successfully embed MDA/MDD in a software development process, it is very important that it seamlessly integrates with the development environment. Especially, since it is highly unlikely that a company will decide on applying MDA concepts 100% across the board of a time critical (aren’t they all?) software development project. The risk is just too high. The far more likely route to take is to initially apply MDA in only parts of the process and use a conventional process in the other parts. When successful, the application of MDA can be gradually extended. This keeps the risks manageable. Thus, for successful gradual adaptation of MDA, the ability to apply a hybrid process with both MDA and conventional software development is mandatory.
Eclipse
Looking at the current playing field of MDA tools from the hybrid perspective, the best cards seem to be in the hands of the tools that operate within Eclipse. Eclipse is as an open platform for modelling and development tools to plug into. A large number of parties have built there tools for this environment, thus profiting from the open character and the integration benefits that are gained almost automatically. As a software development environment, Eclipse by default comes with a Java language IDE, but other language IDE’s are also available. In short, Eclipse offers a lot that is needed to create a decent hybrid model driven software development environment, where the most convenient target language is Java.
Visual Studio
Then there is Microsoft’s .NET: a powerful development framework, but -at the same time- not nearly as open as anything in the Eclipse space. Actually, the only serious option for developing .NET based software is Visual Studio, which is kept very closed by Microsoft. Additionally, Visual Studio historically grew from ye ol’ Visual Basic IDE, which allowed developers to quickly build visual Windows applications. Still, Visual Studio is very much centred around writing code and optimizing the code writing process by supplying a number components that can be used by integrating them visually. It was never intended to facilitate abstract modelling languages with enhanced tools. Thus, if practical MDA (with a hybrid development process) ever were to happen in the .NET space, Microsoft would be the only one who would be in a position to enable this. Unfortunately, they have repeatedly reported that they “do not believe” in UML nor MDA. They are putting their money on Domain Specific Languages, since that fits far better in the strategy to approach software development bottom-up instead of top-down. But even with DSL’s their ambitions seem rather low level, given that no significant new developments have been incorporated in the new Visual Studio 2008 (compared to its predecessor: Visual Studio 2005).
Conclusion
So I’m rather pessimistic about the attainability of practical MDA/MDD in the .NET space. Opening up Visual Studio or -better yet- having Microsoft introduce a new open .NET development environment much like Eclipse, could boost developments in this area the right way (oops, did I use the words “open” and “Microsoft” in the same sentence?
). Or what about even getting a Microsoft-made .NET language IDE plugin in Eclipse? Ok… I guess I’m pushing it. But boy, do I hate it when politics frustrate innovation.
Pascal Lindelauf
plindelauf@yellowtail.nl


