SlideShare una empresa de Scribd logo
1 de 36
10 things you should know about
  Model-Driven Development


            Johan den Haan


                      Blog:
       http://www.theenterprisearchitect.eu

                   Twitter:
                @JohanDenHaan
                @ModelDriven
Model-Driven Development
   Differs from model-based development
   Is still a software development approach
   Asks for agile development
   Needs a standardized architecture
   Asks for different tools
   Leads to a change in roles
   Can lead to business-IT alignment
   Needs another business model
   Is not enough
   Leads to resistance
Model-Driven
Development?
Automation
Abstraction
Productivity
 Short term: more functionality
 Long term: less sensitive for changes in
  – Personnel
  – Business requirements
  – Development platforms
  – Deployment platforms
It’s still software development
 Experience with approach and tool?
 Is the tool finished on time to start project?
 Abstraction vs. Rigidity: know your
  limitations
 Version control
The law of leaky
  abstractions
Innovation
 distracts?
Asks for agile development
 Iterative modeling
  – Iteration planning
  – Model storming
  – Test-driven executable model specification
 Knowledge crunching
 Stakeholders actively participate
 Requirements evolve troughout project
YAGNI also holds
  for modeling
Asks for agile development
 DDD based DSL development
  – Capture domain knowledge in a metamodel
  – Communicate using an ubiquitous language
  – Let the metamodel drive the implementation
  – Isolate the domain
  – Refactor continously
  – Maintain metamodel integrity
  – Use a people-oriented approach
Needs a standardized architecture
Needs a standardized architecture
 Functional principles
  – Guide function design
  – Are reflected in the DSLs
  – Condition the model validations
 Constructional principles
  – Guide construction design
  – Are reflected in the generator
  – Condition the domain framework implementation
MDD really enforces
  architecture
Asks for different tools
DSL tool
 Workbenches:                   Tool user activities:
   – DSL workbench                 –   DSL definitions
   – Transformation workbench      –   Transformation rules
 Input:                           –   Architecture definition
   – DSL definitions               –   (Domain) framework
   – Transformation rules              implementation
 Output:                        Examples:
   – Solution workbench            –   openArchitectureWare
   – Generator                     –   MetaEdit+
                                   –   Microsoft DSL Tools
 Tool vendor activities:
                                   –   JetBrains MPS
   – Meta language definition
   – Transformation language
     definition
   – Workbench
     implementations
Model-Driven Software Factory
 Workbenches:                   Tool user activities:
   – Solution workbench            – Application modeling
 Input:                         Examples:
   – Functional specification      – Mendix
 Output:                          – Mod4j
   – Working application
 Tool vendor activities:
   – DSL definitions
   – Transformation rules
   – Architecture definition
   – Domain framework
     implementation
   – Solution workbench
     implementation
Leads to a change in roles
 Meta team
  – Building the Model-Driven Software Factory
  – Using DSL tools
 Project team
  – Building end-user applciations
  – Using a Model-Driven Software Factory
Meta team:
domain expert
Meta team:
language engineer
Meta team:
transformation specialist
Meta team:
implementation / platform expert
Meta team:
software factory architect
Project team:
business engineer
Project team:
application / solution architect
Project team:
test engineer
Can lead to Business-IT alignment
 Specify software with domain-specific
  concepts
 Domain experts really involved in
  development process
 MDD makes software development more
  agile
 Explicit connection between organization
  models and models of the IT system?
Can lead to Business-IT alignment
Needs another business model
 Benefits
  – Faster time-to-market
  – Increased quality
  – Involving domain experts leads to fit-for-purpose
  – Follow fast changes in business requirements and
    technology
 Costs
  – Learn MDD
  – Develop MDD tool
  – Maintain MDD tool
Time = money?
Is not enough!!
Is not enough
   Integrating model and code
   More focus on changing applications
   Runtime flexibility
   Configuration vs. Model-Driven Development
   Adaptive modeling
Leads to resistance
Model-Driven Development
   Differs from model-based development
   Is still a software development approach
   Asks for agile development
   Needs a standardized architecture
   Asks for different tools
   Leads to a change in roles
   Can lead to business-IT alignment
   Needs another business model
   Is not enough
   Leads to resistance
10 things you should know about
  Model-Driven Development


                   Blog:
    http://www.theenterprisearchitect.eu

                Twitter:
             @JohanDenHaan
             @ModelDriven

Más contenido relacionado

La actualidad más candente

Juc deck 16x9_dev_ops_mvp
Juc deck 16x9_dev_ops_mvpJuc deck 16x9_dev_ops_mvp
Juc deck 16x9_dev_ops_mvp
Curtis Yanko
 
Agile in Action - Act 3: Testing
Agile in Action - Act 3: TestingAgile in Action - Act 3: Testing
Agile in Action - Act 3: Testing
Spiffy
 
3 rad extensibility-srilakshmi_s_rajesh_k
3 rad extensibility-srilakshmi_s_rajesh_k3 rad extensibility-srilakshmi_s_rajesh_k
3 rad extensibility-srilakshmi_s_rajesh_k
IBM
 
Legacy Migration
Legacy MigrationLegacy Migration
Legacy Migration
WORPCLOUD LTD
 
Agile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentAgile in Action - Act 2: Development
Agile in Action - Act 2: Development
Spiffy
 
The Challenges Oracle Forms Migration to ADF
The Challenges Oracle Forms Migration to ADFThe Challenges Oracle Forms Migration to ADF
The Challenges Oracle Forms Migration to ADF
DataNext Solutions
 

La actualidad más candente (20)

Juc deck 16x9_dev_ops_mvp
Juc deck 16x9_dev_ops_mvpJuc deck 16x9_dev_ops_mvp
Juc deck 16x9_dev_ops_mvp
 
Hariprasad karanam
Hariprasad karanamHariprasad karanam
Hariprasad karanam
 
Acceleo Day - Orange
Acceleo Day - OrangeAcceleo Day - Orange
Acceleo Day - Orange
 
Agile Software Architecture
Agile Software ArchitectureAgile Software Architecture
Agile Software Architecture
 
Agile in Action - Act 3: Testing
Agile in Action - Act 3: TestingAgile in Action - Act 3: Testing
Agile in Action - Act 3: Testing
 
3 rad extensibility-srilakshmi_s_rajesh_k
3 rad extensibility-srilakshmi_s_rajesh_k3 rad extensibility-srilakshmi_s_rajesh_k
3 rad extensibility-srilakshmi_s_rajesh_k
 
java web framework standard.20180412
java web framework standard.20180412java web framework standard.20180412
java web framework standard.20180412
 
System Architect and Rhapsody
System Architect and RhapsodySystem Architect and Rhapsody
System Architect and Rhapsody
 
Application Migration & Enhancement
Application Migration & EnhancementApplication Migration & Enhancement
Application Migration & Enhancement
 
SOA Unit I
SOA Unit ISOA Unit I
SOA Unit I
 
Legacy Migration
Legacy MigrationLegacy Migration
Legacy Migration
 
NISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckNISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide Deck
 
Vsts intro
Vsts introVsts intro
Vsts intro
 
Modern Apps and App Lifecycle
Modern Apps and App LifecycleModern Apps and App Lifecycle
Modern Apps and App Lifecycle
 
Agile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentAgile in Action - Act 2: Development
Agile in Action - Act 2: Development
 
Converting to the latest COBOL Compiler made simple with the right tools
Converting to the latest COBOL Compiler made simple with the right toolsConverting to the latest COBOL Compiler made simple with the right tools
Converting to the latest COBOL Compiler made simple with the right tools
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineering
 
How Software Mind reduces costs & expands CoreLogic capabilities
How Software Mind reduces costs & expands CoreLogic capabilitiesHow Software Mind reduces costs & expands CoreLogic capabilities
How Software Mind reduces costs & expands CoreLogic capabilities
 
IBM Application Delivery Foundation for z Systems
IBM Application Delivery Foundation for z SystemsIBM Application Delivery Foundation for z Systems
IBM Application Delivery Foundation for z Systems
 
The Challenges Oracle Forms Migration to ADF
The Challenges Oracle Forms Migration to ADFThe Challenges Oracle Forms Migration to ADF
The Challenges Oracle Forms Migration to ADF
 

Similar a 10 Things You Should Know About MDD

Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
ghodgkinson
 
WDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptxWDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptx
Arthur240715
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
Piero Fraternali
 

Similar a 10 Things You Should Know About MDD (20)

Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
 
A Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsA Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small Projects
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Tools
 
Model Driven Architectures
Model Driven ArchitecturesModel Driven Architectures
Model Driven Architectures
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
Building Maintainable PHP Applications.pptx
Building Maintainable PHP Applications.pptxBuilding Maintainable PHP Applications.pptx
Building Maintainable PHP Applications.pptx
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
MDA
MDAMDA
MDA
 
Agile MDD
Agile MDDAgile MDD
Agile MDD
 
.netcampus2015 office365dev
.netcampus2015 office365dev.netcampus2015 office365dev
.netcampus2015 office365dev
 
Ravindra Prasad
Ravindra PrasadRavindra Prasad
Ravindra Prasad
 
L02 Architecture
L02 ArchitectureL02 Architecture
L02 Architecture
 
WDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptxWDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptx
 
Mdsd capable target architecture
Mdsd capable target architectureMdsd capable target architecture
Mdsd capable target architecture
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
 
The REMICS model-driven process for migrating legacy applications to the cloud
The REMICS model-driven process for migrating legacy applications to the cloudThe REMICS model-driven process for migrating legacy applications to the cloud
The REMICS model-driven process for migrating legacy applications to the cloud
 
Research software identification - Catherine Jones
Research software identification - Catherine JonesResearch software identification - Catherine Jones
Research software identification - Catherine Jones
 
Build, upgrade and connect your applications to the World
Build, upgrade and connect your applications to the WorldBuild, upgrade and connect your applications to the World
Build, upgrade and connect your applications to the World
 
Lightweight Model-Driven Engineering
Lightweight Model-Driven EngineeringLightweight Model-Driven Engineering
Lightweight Model-Driven Engineering
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

10 Things You Should Know About MDD

  • 1. 10 things you should know about Model-Driven Development Johan den Haan Blog: http://www.theenterprisearchitect.eu Twitter: @JohanDenHaan @ModelDriven
  • 2. Model-Driven Development  Differs from model-based development  Is still a software development approach  Asks for agile development  Needs a standardized architecture  Asks for different tools  Leads to a change in roles  Can lead to business-IT alignment  Needs another business model  Is not enough  Leads to resistance
  • 6. Productivity  Short term: more functionality  Long term: less sensitive for changes in – Personnel – Business requirements – Development platforms – Deployment platforms
  • 7. It’s still software development  Experience with approach and tool?  Is the tool finished on time to start project?  Abstraction vs. Rigidity: know your limitations  Version control
  • 8. The law of leaky abstractions
  • 10. Asks for agile development  Iterative modeling – Iteration planning – Model storming – Test-driven executable model specification  Knowledge crunching  Stakeholders actively participate  Requirements evolve troughout project
  • 11. YAGNI also holds for modeling
  • 12. Asks for agile development  DDD based DSL development – Capture domain knowledge in a metamodel – Communicate using an ubiquitous language – Let the metamodel drive the implementation – Isolate the domain – Refactor continously – Maintain metamodel integrity – Use a people-oriented approach
  • 13. Needs a standardized architecture
  • 14. Needs a standardized architecture  Functional principles – Guide function design – Are reflected in the DSLs – Condition the model validations  Constructional principles – Guide construction design – Are reflected in the generator – Condition the domain framework implementation
  • 15. MDD really enforces architecture
  • 17. DSL tool  Workbenches:  Tool user activities: – DSL workbench – DSL definitions – Transformation workbench – Transformation rules  Input: – Architecture definition – DSL definitions – (Domain) framework – Transformation rules implementation  Output:  Examples: – Solution workbench – openArchitectureWare – Generator – MetaEdit+ – Microsoft DSL Tools  Tool vendor activities: – JetBrains MPS – Meta language definition – Transformation language definition – Workbench implementations
  • 18. Model-Driven Software Factory  Workbenches:  Tool user activities: – Solution workbench – Application modeling  Input:  Examples: – Functional specification – Mendix  Output: – Mod4j – Working application  Tool vendor activities: – DSL definitions – Transformation rules – Architecture definition – Domain framework implementation – Solution workbench implementation
  • 19. Leads to a change in roles  Meta team – Building the Model-Driven Software Factory – Using DSL tools  Project team – Building end-user applciations – Using a Model-Driven Software Factory
  • 23. Meta team: implementation / platform expert
  • 26. Project team: application / solution architect
  • 28. Can lead to Business-IT alignment  Specify software with domain-specific concepts  Domain experts really involved in development process  MDD makes software development more agile  Explicit connection between organization models and models of the IT system?
  • 29. Can lead to Business-IT alignment
  • 30. Needs another business model  Benefits – Faster time-to-market – Increased quality – Involving domain experts leads to fit-for-purpose – Follow fast changes in business requirements and technology  Costs – Learn MDD – Develop MDD tool – Maintain MDD tool
  • 33. Is not enough  Integrating model and code  More focus on changing applications  Runtime flexibility  Configuration vs. Model-Driven Development  Adaptive modeling
  • 35. Model-Driven Development  Differs from model-based development  Is still a software development approach  Asks for agile development  Needs a standardized architecture  Asks for different tools  Leads to a change in roles  Can lead to business-IT alignment  Needs another business model  Is not enough  Leads to resistance
  • 36. 10 things you should know about Model-Driven Development Blog: http://www.theenterprisearchitect.eu Twitter: @JohanDenHaan @ModelDriven