What is model driven development good for?
Asked Answered
G

3

4

Microsoft, of Cairo fame, is working on Oslo, a new modeling platform. Bob Muglia, Senior Vice President of Microsoft Server & Tools Business, states that the benefits of modeling have always been clear.

In simple, practical terms, what are the clear benefits that Oslo bestows upon its users?

Gander answered 21/11, 2008 at 13:43 Comment(0)
L
10

In theory, there are a few benefits:

  • The people with the business knowledge can create the software models so you're less likely to lose anything in translation.
  • When non-technical shareholders create models, it forces them to "think like a developer". They see that what they considered obvious and easy is actually difficult when you formalize it.
  • It's more efficient. Business people have business knowledge and technical people have technical knowledge so, why not let each group design a system in their area of expertise? No more games of telephone as business experts re-explain what they mean to a developer. Developers are no longer distracted by cryptic business needs. They can focus on the interaction between highly technical systems.

In practice, it's a lot trickier:

  • Models are hard and that's that. Just because you push model creation to a different group doesn't mean you get foolproof models. Software development is all about modeling so developers are used to it. You may actually lose efficiency as a second group comes to grips with formalizing their understanding of a business need.
  • Model driven dev is tightly linked to OO concepts. OO is good for a lot of things, but not everything. What happens if what you really need falls outside the abilities of your modeling tool?
  • In my experience, the division between business and technical people is artificial. The most effective people are technical-minded business people or business-minded technical people. They make things happen. If you separate business tasks from technical tasks, you ruin the opportunity for cross-training and cross-thinking.
Leucoderma answered 21/11, 2008 at 15:49 Comment(1)
The people with the business knowledge are in the best position to create the business models. This does not in any way make them suitable to write software models. While oslo may be a great technology, this particular aspect of it is doomed to failureCrummy
R
3

I think modeling is just about the next abstraction level. Once it is established it will lead to higher productivity.

MDSD Today - mostly in form of code generation - saves time. Duplicating working patterns for different parts of your software and only writing real business code manually boosts productivity a little bit, but most likely leads to better software quality and more clean architecture.

Revis answered 21/11, 2008 at 16:11 Comment(0)
O
2

I think the short answer is research projects!

A good place to start though If you're keen to look into it more is Doug Purdy's PDC talk "A lap around Oslo" which you can see here. He explains how Oslo "captures the essence of the code without the ceremony",..whatever that means.

HTH.

Ostracod answered 27/5, 2010 at 7:46 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.