Eleven
Dogmas of Model-driven
    Development

            Rafael Chaves
 rafael@abstratt.com - Twitter: @abstratt
        http://abstratt.com/blog/
I


 Enterprise Software is much
harder than it should be, lack
of separation of concerns is to
            blame.
II


          Domain and
 architectural/implementation
    concerns are completely
different beasts and should be
   addressed separately and
           differently.
III


What makes a language good
 for implementation makes it
suboptimal for modeling, and
          vice-versa.
IV

 Domain concerns can and
 should be fully addressed
     during modeling,
implementation should be a
      trivial mapping.
V

A model that fully addresses
domain concerns will expose
 gaps in requirements much
           earlier.
VI

A model that fully addresses
 domain concerns allows the
solution to be validated much
            earlier.
VII


No modeling language is more
 understandable to end-users
than a running application (or
         prototype).
VIII


  A single architecture can
potentially serve applications
  of completely unrelated
           domains.
IX


  A same application can
potentially be implemented
according to many different
       architectures.
X

Implementation decisions are
 based on known guidelines
     applied consistently
 throughout the application,
   and beg for automation.
XI


The target platform should not
dictate the development tools,
        and vice-versa.

11 Dogmas of model driven development

  • 1.
    Eleven Dogmas of Model-driven Development Rafael Chaves rafael@abstratt.com - Twitter: @abstratt http://abstratt.com/blog/
  • 2.
    I Enterprise Softwareis much harder than it should be, lack of separation of concerns is to blame.
  • 3.
    II Domain and architectural/implementation concerns are completely different beasts and should be addressed separately and differently.
  • 4.
    III What makes alanguage good for implementation makes it suboptimal for modeling, and vice-versa.
  • 5.
    IV Domain concernscan and should be fully addressed during modeling, implementation should be a trivial mapping.
  • 6.
    V A model thatfully addresses domain concerns will expose gaps in requirements much earlier.
  • 7.
    VI A model thatfully addresses domain concerns allows the solution to be validated much earlier.
  • 8.
    VII No modeling languageis more understandable to end-users than a running application (or prototype).
  • 9.
    VIII Asingle architecture can potentially serve applications of completely unrelated domains.
  • 10.
    IX Asame application can potentially be implemented according to many different architectures.
  • 11.
    X Implementation decisions are based on known guidelines applied consistently throughout the application, and beg for automation.
  • 12.
    XI The target platformshould not dictate the development tools, and vice-versa.