SlideShare a Scribd company logo
1 of 42
Why there is no future for
        Model Driven Development




Johan den Haan
Head R&D Mendix
@JohanDenHaan
“It’s not the strongest who survive,
nor the most intelligent, but the
ones most adaptable to change.”
- Charles Darwin
Increasingly, the stability of an enterprise
is rooted in its ability to be dynamic, to
move fast and change quickly.
- James McGovern
Enterprise Systems, I mean. And not just a
little bit, either. Orders of magnitude
wrong. Billions and billions of dollars worth
of wrong. Hang-our-heads-in-shame
wrong. It’s time to stop the madness.
- Tim Bray
How to align dynamic
organizations and software?
Let me tell you the story of trying to
    fix this problem with MDD…

      1. Context

      2. Domain analysis

      3. Designing and growing DSLs

      4. How I came to the conclusion:
         “there is no future for MDD”
1. Context
Who is our
target user?
How to support our target users?
 Model should be easy to
  – Read
  – Browse
  – Search
  – Keep consistent
 Deployment
  – Should be easy / non-technical
  – Model execution / interpretation
Browser

                 Styling & user interaction
                                                            CSS, HTML, JavaScript
                         Client-side logic

                  Server communication


JVM

                                                            Java
       Flows & actions                   API & connectors


                          Access rules
                              ORM

Database
                                                            SQL
                              Data
Browser

                 Styling & user interaction                      CSS

                         Client-side logic
                                                            Rich Forms DSL
                  Server communication


JVM
                                                            Microflow DSL

       Flows & actions                   API & connectors   Mapping DSL


                          Access rules                       Security DSL

                              ORM                           Domain model

Database


                              Data
2. Domain analysis
An MDSF is a product,
product development starts
with a customer need
Growing a user base
 Light-house projects
 Make it easy to start
  – Documentation
  – Templates
 Make a clear choice about your target user
Think about a methodology early

 Process          UI        Information




Information   Information       UI




    UI         Process       Process
3. Designing and growing DSLs
How to prevent a property explosion?
 DSLs as declarative as possible
 Take time to understand the user’s problem
  – 5 Whys
  – Sounds easy, but it’s easier to forget
 Take time to come up with a feasible design
  and implementation
 Create flexibility with action language
  extension points
Example 1
Example 2
 Security metadata in database
  – Employee may only edit fields of Customer if it is a
    Customer of his own Company
 Metadata needed in e.g. UI
 Retrieving metadata can be slow on large
  datasets
How to ensure
quality?
How to ensure quality?
 Be always backwards compatible
 Learn from reported bugs.
 Do not only test the technical implementation,
  but also:
  – Backwards compatibility
  – Usability
  – Productivity
  – With new users frequently
Applications build with
an MDSF will suffer
from a double release
cycle
We need an
extension mechanism
Sounds like a nice success
story for MDD right?
4. How I came to the conclusion:
“there is no future for Model Driven Development”
Example 1: let the customer sign-off the UI
design before starting the implementation
Conclusion 1
 If your MDD tool reaches a certain level
  – Development isn’t the difficult part
  – The challenge is to turn ideas / business problems
    into a solution (model)
 Important elements outside tool
  – Requirements gathering
  – Project management
  – Methodology
 Benefits of MDD strongly connected to Agile
  – a mindset change!
Example 2: trying to arrange a server
to deploy a newly build application
Conclusion 2
 If your MDD tool reaches a certain level
  – development isn’t the slowest part of developing
    software
  – Deploying and taking it in production is
 Automate
  – Builds
  – Deployment
 Cloud deployment
  – Model-Execution-as-a-Service (MEaaS)
Example 3: building a
sales support system
Conclusion 3
 “Increasingly, the stability of an enterprise is
  rooted in its ability to be dynamic, to move fast
  and change quickly”
   – Agile business asks for agile software
   – We do not build software once, we evolve and grow it
     during it’s full lifetime.
 Being able to change software is more important
  than building it in a fast way
 Model-Driven Evolution needed in addition to
  Model-Driven Development
Example 4: proportion of software
maintenance costs > 90%
Conclusion 4
 Development costs only comprise the smaller
  portion of the total cost of software
  ownership
 Maintenance / evolution costs are the bigger
  portion
 Hence, pure Model-Driven Development
  doesn’t matter that much
Example 5: selling an MDD tool
Conclusion 5
 Why do customers want to pay for MDD?
  – Who is your customer?
  – How big is your market?
 MDD
  – is a solution for a software development problem
  – is a technology enabler, no value itself
 Business agility is value, but not reached by
  MDD alone
The story of trying to fix a business
        problem with MDD

     1. Context

     2. Domain analysis

     3. Designing and growing DSLs

     4. How I came to the conclusion:
        “there is no future for MDD”
Model Driven Development:
necessary, but not sufficient
1. Gather requirements
                          2. Model your application




     4. Gather feedback


                                   3. Deploy
                                   model version
1. Gather requirements
                         2. Model your application




   Agile Application
   4. Gather feedback
Lifecycle Management
                                  3. Deploy
                                  model version
Why there is no future for
Model Driven Development

           Credits to the full team at




 Read more: www.theenterprisearchitect.eu
       Connect: @JohanDenHaan

More Related Content

What's hot

Agile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentAgile in Action - Act 2: Development
Agile in Action - Act 2: Development
Spiffy
 
Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overview
slides_teltools
 
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Spiffy
 
Smarter products for_a_smarter_p_lanet-neeraj_chandra
Smarter products for_a_smarter_p_lanet-neeraj_chandraSmarter products for_a_smarter_p_lanet-neeraj_chandra
Smarter products for_a_smarter_p_lanet-neeraj_chandra
IBM
 
Dvsl enterprise solutions.v1
Dvsl enterprise solutions.v1Dvsl enterprise solutions.v1
Dvsl enterprise solutions.v1
dejavusolutions
 
Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding
Intland Software GmbH
 
Nearshoring With Tiempo 2011
Nearshoring With Tiempo 2011Nearshoring With Tiempo 2011
Nearshoring With Tiempo 2011
rgfordham
 
2012 ukdc shared services value prop growth day newbury
2012 ukdc shared services value prop growth day newbury2012 ukdc shared services value prop growth day newbury
2012 ukdc shared services value prop growth day newbury
bara2cls
 

What's hot (20)

Agile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentAgile in Action - Act 2: Development
Agile in Action - Act 2: Development
 
Modern Apps and App Lifecycle
Modern Apps and App LifecycleModern Apps and App Lifecycle
Modern Apps and App Lifecycle
 
Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overview
 
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
 
0. About this course
0. About this course0. About this course
0. About this course
 
ALM for SharePoint projects
ALM for SharePoint projectsALM for SharePoint projects
ALM for SharePoint projects
 
Vsts intro
Vsts introVsts intro
Vsts intro
 
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
 
Application Migration & Enhancement
Application Migration & EnhancementApplication Migration & Enhancement
Application Migration & Enhancement
 
Smarter products for_a_smarter_p_lanet-neeraj_chandra
Smarter products for_a_smarter_p_lanet-neeraj_chandraSmarter products for_a_smarter_p_lanet-neeraj_chandra
Smarter products for_a_smarter_p_lanet-neeraj_chandra
 
Dvsl enterprise solutions.v1
Dvsl enterprise solutions.v1Dvsl enterprise solutions.v1
Dvsl enterprise solutions.v1
 
How to choose the right software
How to choose the right softwareHow to choose the right software
How to choose the right software
 
Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding
 
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
 
Modernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructureModernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructure
 
Nearshoring With Tiempo 2011
Nearshoring With Tiempo 2011Nearshoring With Tiempo 2011
Nearshoring With Tiempo 2011
 
2012 ukdc shared services value prop growth day newbury
2012 ukdc shared services value prop growth day newbury2012 ukdc shared services value prop growth day newbury
2012 ukdc shared services value prop growth day newbury
 
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
 
Aspirea sales presentation
Aspirea sales presentationAspirea sales presentation
Aspirea sales presentation
 
SandeepVanama_Resume
SandeepVanama_ResumeSandeepVanama_Resume
SandeepVanama_Resume
 

Viewers also liked

Model-Driven Software Engineering in Practice - Chapter 1 - Introduction
Model-Driven Software Engineering in Practice - Chapter 1 - IntroductionModel-Driven Software Engineering in Practice - Chapter 1 - Introduction
Model-Driven Software Engineering in Practice - Chapter 1 - Introduction
Marco Brambilla
 
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE PrinciplesModel-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Marco Brambilla
 
Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...
Real-Time Innovations (RTI)
 
MoDisco EclipseCon2010
MoDisco EclipseCon2010MoDisco EclipseCon2010
MoDisco EclipseCon2010
fmadiot
 
Windows Azure Mobile Services
Windows Azure Mobile ServicesWindows Azure Mobile Services
Windows Azure Mobile Services
Jan Hentschel
 

Viewers also liked (20)

Model-Driven Software Engineering in Practice - Chapter 1 - Introduction
Model-Driven Software Engineering in Practice - Chapter 1 - IntroductionModel-Driven Software Engineering in Practice - Chapter 1 - Introduction
Model-Driven Software Engineering in Practice - Chapter 1 - Introduction
 
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE PrinciplesModel-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
 
An Enterprise Ontology based approach to Model-Driven Engineering
An Enterprise Ontology based approach to Model-Driven EngineeringAn Enterprise Ontology based approach to Model-Driven Engineering
An Enterprise Ontology based approach to Model-Driven Engineering
 
Mendix-7-Keynote
Mendix-7-KeynoteMendix-7-Keynote
Mendix-7-Keynote
 
App Delivery Platform-as-a-Service - How we revolutionized the app developmen...
App Delivery Platform-as-a-Service - How we revolutionized the app developmen...App Delivery Platform-as-a-Service - How we revolutionized the app developmen...
App Delivery Platform-as-a-Service - How we revolutionized the app developmen...
 
Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...
 
Best Practices of Data Modeling with InfoSphere Data Architect
Best Practices of Data Modeling with InfoSphere Data ArchitectBest Practices of Data Modeling with InfoSphere Data Architect
Best Practices of Data Modeling with InfoSphere Data Architect
 
EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)
 
MoDisco EclipseCon2010
MoDisco EclipseCon2010MoDisco EclipseCon2010
MoDisco EclipseCon2010
 
Textual Modeling Framework Xtext
Textual Modeling Framework XtextTextual Modeling Framework Xtext
Textual Modeling Framework Xtext
 
Israel redefining innovation at International CES 2015
Israel redefining innovation at International CES 2015Israel redefining innovation at International CES 2015
Israel redefining innovation at International CES 2015
 
Service Cloud für Fortgeschrittene – Die Roadmap für 2012
Service Cloud für Fortgeschrittene – Die Roadmap für 2012Service Cloud für Fortgeschrittene – Die Roadmap für 2012
Service Cloud für Fortgeschrittene – Die Roadmap für 2012
 
Datameer
DatameerDatameer
Datameer
 
Windows Azure Mobile Services
Windows Azure Mobile ServicesWindows Azure Mobile Services
Windows Azure Mobile Services
 
Model-Driven Software Development 2.0
Model-Driven Software Development 2.0Model-Driven Software Development 2.0
Model-Driven Software Development 2.0
 
Model Driven Software Development - Data Model Evolution
Model Driven Software Development - Data Model EvolutionModel Driven Software Development - Data Model Evolution
Model Driven Software Development - Data Model Evolution
 
iPhonical and model-driven software development for the iPhone
iPhonical and model-driven software development for the iPhoneiPhonical and model-driven software development for the iPhone
iPhonical and model-driven software development for the iPhone
 
IN4308 1
IN4308 1IN4308 1
IN4308 1
 
Model-Driven Software Development - Introduction & Overview
Model-Driven Software Development - Introduction & OverviewModel-Driven Software Development - Introduction & Overview
Model-Driven Software Development - Introduction & Overview
 
Getting Started with Big Data for Business Managers
Getting Started with Big Data for Business ManagersGetting Started with Big Data for Business Managers
Getting Started with Big Data for Business Managers
 

Similar to Why there is no future for Model Driven Development

Perfect Storm: HR in the Cloud
Perfect Storm: HR in the CloudPerfect Storm: HR in the Cloud
Perfect Storm: HR in the Cloud
Stanton Jones
 
Corporate Resume Daffodil Software
Corporate Resume Daffodil SoftwareCorporate Resume Daffodil Software
Corporate Resume Daffodil Software
Ashok Surendran
 
KiranGara_JEE_7Yrs
KiranGara_JEE_7YrsKiranGara_JEE_7Yrs
KiranGara_JEE_7Yrs
Kiran Gara
 
Mdd Lcds
Mdd LcdsMdd Lcds
Mdd Lcds
ravinxg
 
Malli Resume_30 Jun 2012
Malli Resume_30 Jun 2012Malli Resume_30 Jun 2012
Malli Resume_30 Jun 2012
mallikarjun ch
 

Similar to Why there is no future for Model Driven Development (20)

Innovation in model driven software
Innovation in model driven softwareInnovation in model driven software
Innovation in model driven software
 
Microsoft Microservices
Microsoft MicroservicesMicrosoft Microservices
Microsoft Microservices
 
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
 
Making bimodal it_a_reality_final
Making bimodal it_a_reality_finalMaking bimodal it_a_reality_final
Making bimodal it_a_reality_final
 
CWIN17 Utrecht / cg u services - frank van der wal
CWIN17 Utrecht / cg u services - frank van der walCWIN17 Utrecht / cg u services - frank van der wal
CWIN17 Utrecht / cg u services - frank van der wal
 
Perfect Storm: HR in the Cloud
Perfect Storm: HR in the CloudPerfect Storm: HR in the Cloud
Perfect Storm: HR in the Cloud
 
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with Microservices
 
Cloud Scars: Lessons from the Enterprise Pioneers
Cloud Scars: Lessons from the Enterprise PioneersCloud Scars: Lessons from the Enterprise Pioneers
Cloud Scars: Lessons from the Enterprise Pioneers
 
Cloud scars: Lessons from the Enterprise Pioneers
Cloud scars: Lessons from the Enterprise PioneersCloud scars: Lessons from the Enterprise Pioneers
Cloud scars: Lessons from the Enterprise Pioneers
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Neev Competencies in SaaS-based Development
Neev Competencies in SaaS-based DevelopmentNeev Competencies in SaaS-based Development
Neev Competencies in SaaS-based Development
 
Corporate Resume Daffodil Software
Corporate Resume Daffodil SoftwareCorporate Resume Daffodil Software
Corporate Resume Daffodil Software
 
KiranGara_JEE_7Yrs
KiranGara_JEE_7YrsKiranGara_JEE_7Yrs
KiranGara_JEE_7Yrs
 
Mdd Lcds
Mdd LcdsMdd Lcds
Mdd Lcds
 
Industry Perspective: DevOps - What it Means for the Average Business
Industry Perspective: DevOps - What it Means for the Average BusinessIndustry Perspective: DevOps - What it Means for the Average Business
Industry Perspective: DevOps - What it Means for the Average Business
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises
 
4.4.2013 Software, System, & IT Architecture - Good Design is Good Business:...
4.4.2013  Software, System, & IT Architecture - Good Design is Good Business:...4.4.2013  Software, System, & IT Architecture - Good Design is Good Business:...
4.4.2013 Software, System, & IT Architecture - Good Design is Good Business:...
 
Malli Resume_30 Jun 2012
Malli Resume_30 Jun 2012Malli Resume_30 Jun 2012
Malli Resume_30 Jun 2012
 
ANIn Chennai April 2024 |Agile Engineering: Modernizing Legacy Systems by Ana...
ANIn Chennai April 2024 |Agile Engineering: Modernizing Legacy Systems by Ana...ANIn Chennai April 2024 |Agile Engineering: Modernizing Legacy Systems by Ana...
ANIn Chennai April 2024 |Agile Engineering: Modernizing Legacy Systems by Ana...
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 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
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

Why there is no future for Model Driven Development

  • 1. Why there is no future for Model Driven Development Johan den Haan Head R&D Mendix @JohanDenHaan
  • 2. “It’s not the strongest who survive, nor the most intelligent, but the ones most adaptable to change.” - Charles Darwin
  • 3. Increasingly, the stability of an enterprise is rooted in its ability to be dynamic, to move fast and change quickly. - James McGovern
  • 4. Enterprise Systems, I mean. And not just a little bit, either. Orders of magnitude wrong. Billions and billions of dollars worth of wrong. Hang-our-heads-in-shame wrong. It’s time to stop the madness. - Tim Bray
  • 5. How to align dynamic organizations and software?
  • 6. Let me tell you the story of trying to fix this problem with MDD… 1. Context 2. Domain analysis 3. Designing and growing DSLs 4. How I came to the conclusion: “there is no future for MDD”
  • 9. How to support our target users?  Model should be easy to – Read – Browse – Search – Keep consistent  Deployment – Should be easy / non-technical – Model execution / interpretation
  • 10. Browser Styling & user interaction CSS, HTML, JavaScript Client-side logic Server communication JVM Java Flows & actions API & connectors Access rules ORM Database SQL Data
  • 11. Browser Styling & user interaction CSS Client-side logic Rich Forms DSL Server communication JVM Microflow DSL Flows & actions API & connectors Mapping DSL Access rules Security DSL ORM Domain model Database Data
  • 13. An MDSF is a product, product development starts with a customer need
  • 14. Growing a user base  Light-house projects  Make it easy to start – Documentation – Templates  Make a clear choice about your target user
  • 15. Think about a methodology early Process UI Information Information Information UI UI Process Process
  • 16. 3. Designing and growing DSLs
  • 17. How to prevent a property explosion?  DSLs as declarative as possible  Take time to understand the user’s problem – 5 Whys – Sounds easy, but it’s easier to forget  Take time to come up with a feasible design and implementation  Create flexibility with action language extension points
  • 19. Example 2  Security metadata in database – Employee may only edit fields of Customer if it is a Customer of his own Company  Metadata needed in e.g. UI  Retrieving metadata can be slow on large datasets
  • 21. How to ensure quality?  Be always backwards compatible  Learn from reported bugs.  Do not only test the technical implementation, but also: – Backwards compatibility – Usability – Productivity – With new users frequently
  • 22. Applications build with an MDSF will suffer from a double release cycle
  • 23. We need an extension mechanism
  • 24.
  • 25.
  • 26. Sounds like a nice success story for MDD right?
  • 27. 4. How I came to the conclusion: “there is no future for Model Driven Development”
  • 28. Example 1: let the customer sign-off the UI design before starting the implementation
  • 29. Conclusion 1  If your MDD tool reaches a certain level – Development isn’t the difficult part – The challenge is to turn ideas / business problems into a solution (model)  Important elements outside tool – Requirements gathering – Project management – Methodology  Benefits of MDD strongly connected to Agile – a mindset change!
  • 30. Example 2: trying to arrange a server to deploy a newly build application
  • 31. Conclusion 2  If your MDD tool reaches a certain level – development isn’t the slowest part of developing software – Deploying and taking it in production is  Automate – Builds – Deployment  Cloud deployment – Model-Execution-as-a-Service (MEaaS)
  • 32. Example 3: building a sales support system
  • 33. Conclusion 3  “Increasingly, the stability of an enterprise is rooted in its ability to be dynamic, to move fast and change quickly” – Agile business asks for agile software – We do not build software once, we evolve and grow it during it’s full lifetime.  Being able to change software is more important than building it in a fast way  Model-Driven Evolution needed in addition to Model-Driven Development
  • 34. Example 4: proportion of software maintenance costs > 90%
  • 35. Conclusion 4  Development costs only comprise the smaller portion of the total cost of software ownership  Maintenance / evolution costs are the bigger portion  Hence, pure Model-Driven Development doesn’t matter that much
  • 36. Example 5: selling an MDD tool
  • 37. Conclusion 5  Why do customers want to pay for MDD? – Who is your customer? – How big is your market?  MDD – is a solution for a software development problem – is a technology enabler, no value itself  Business agility is value, but not reached by MDD alone
  • 38. The story of trying to fix a business problem with MDD 1. Context 2. Domain analysis 3. Designing and growing DSLs 4. How I came to the conclusion: “there is no future for MDD”
  • 40. 1. Gather requirements 2. Model your application 4. Gather feedback 3. Deploy model version
  • 41. 1. Gather requirements 2. Model your application Agile Application 4. Gather feedback Lifecycle Management 3. Deploy model version
  • 42. Why there is no future for Model Driven Development Credits to the full team at Read more: www.theenterprisearchitect.eu Connect: @JohanDenHaan