SlideShare a Scribd company logo
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: DevelopmentSpiffy
 
Modern Apps and App Lifecycle
Modern Apps and App LifecycleModern Apps and App Lifecycle
Modern Apps and App Lifecycle
Marc Hoppers
 
Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overviewslides_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
 
0. About this course
0. About this course0. About this course
0. About this course
IBM Rational software
 
ALM for SharePoint projects
ALM for SharePoint projectsALM for SharePoint projects
ALM for SharePoint projects
Spiffy
 
Vsts intro
Vsts introVsts intro
Vsts intro
Sevajothi Crafts
 
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
DevOps for Enterprise Systems
 
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_chandraIBM
 
Dvsl enterprise solutions.v1
Dvsl enterprise solutions.v1Dvsl enterprise solutions.v1
Dvsl enterprise solutions.v1dejavusolutions
 
How to choose the right software
How to choose the right softwareHow to choose the right software
How to choose the right software
Rüdiger Gros
 
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
 
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
DevOps for Enterprise 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
zslmarketing
 
Nearshoring With Tiempo 2011
Nearshoring With Tiempo 2011Nearshoring With Tiempo 2011
Nearshoring With Tiempo 2011rgfordham
 
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 newburybara2cls
 
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...
Intland Software GmbH
 
Aspirea sales presentation
Aspirea sales presentationAspirea sales presentation
Aspirea sales presentation
Mayank Singh
 

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
 
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
Johan den Haan
 
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...
Johan den Haan
 
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)
 
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
Vladimir Bacvanski, PhD
 
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)
mikaelbarbero
 
MoDisco EclipseCon2010
MoDisco EclipseCon2010MoDisco EclipseCon2010
MoDisco EclipseCon2010fmadiot
 
Textual Modeling Framework Xtext
Textual Modeling Framework XtextTextual Modeling Framework Xtext
Textual Modeling Framework Xtext
Sebastian Zarnekow
 
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
FSJU AUJF
 
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
Salesforce Deutschland
 
Datameer
DatameerDatameer
Datameer
Chris Morrison
 
Windows Azure Mobile Services
Windows Azure Mobile ServicesWindows Azure Mobile Services
Windows Azure Mobile ServicesJan Hentschel
 
Model-Driven Software Development 2.0
Model-Driven Software Development 2.0Model-Driven Software Development 2.0
Model-Driven Software Development 2.0
Etienne Juliot
 
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
Sander Vermolen
 
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
Heiko Behrens
 
IN4308 1
IN4308 1IN4308 1
IN4308 1
Eelco Visser
 
Model-Driven Software Development - Introduction & Overview
Model-Driven Software Development - Introduction & OverviewModel-Driven Software Development - Introduction & Overview
Model-Driven Software Development - Introduction & Overview
Eelco Visser
 
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
Datameer
 

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

Innovation in model driven software
Innovation in model driven softwareInnovation in model driven software
Innovation in model driven software
Sagi Schliesser
 
Microsoft Microservices
Microsoft MicroservicesMicrosoft Microservices
Microsoft Microservices
Chase Aucoin
 
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...
apidays
 
Making bimodal it_a_reality_final
Making bimodal it_a_reality_finalMaking bimodal it_a_reality_final
Making bimodal it_a_reality_final
Centric Consulting
 
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
Capgemini
 
Perfect Storm: HR in the Cloud
Perfect Storm: HR in the CloudPerfect Storm: HR in the Cloud
Perfect Storm: HR in the CloudStanton Jones
 
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"
GlobalLogic Ukraine
 
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
Jim (张建军) Zhang
 
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
Dave Roberts
 
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
ServiceMesh
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
Anil Allewar
 
Neev Competencies in SaaS-based Development
Neev Competencies in SaaS-based DevelopmentNeev Competencies in SaaS-based Development
Neev Competencies in SaaS-based Development
Neev Technologies
 
Corporate Resume Daffodil Software
Corporate Resume Daffodil SoftwareCorporate Resume Daffodil Software
Corporate Resume Daffodil SoftwareAshok Surendran
 
KiranGara_JEE_7Yrs
KiranGara_JEE_7YrsKiranGara_JEE_7Yrs
KiranGara_JEE_7YrsKiran Gara
 
Mdd Lcds
Mdd LcdsMdd Lcds
Mdd Lcdsravinxg
 
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
Michael Elder
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises
Kasun Indrasiri
 
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:...
IBM Rational
 
Malli Resume_30 Jun 2012
Malli Resume_30 Jun 2012Malli Resume_30 Jun 2012
Malli Resume_30 Jun 2012mallikarjun ch
 
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...
AgileNetwork
 

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

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.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