SlideShare a Scribd company logo
1 of 36
Lessons learned in building a
     Model-Driven Software Factory




Johan den Haan
Head R&D Mendix
@JohanDenHaan
IT costs a lot, but is not fast
enough to meet Business Agility
wishes
We are going to
fix it today!
Join me on my
journey
Viewpoints

Context

A basic Model-Driven Software Factory

Releasing the product

Growing a user base
What kind of business problems do
        we want to solve?
Application characteristics
   Time-2-market
   Flexible
   Integration with commodity applications
   Portal / Rich user interface
   Domain knowledge
Who is our
target user?
Lessons learned
 Product dev. starts with a customer need
 MDD asks for repetition
 First step in building a MDSF is domain
  definition
 Make a clear choice about your target user
 Define the most important domain concepts
 Think about a methodology early - it will
  influence your DSL design and tool
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
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
  – Cloud infrastructure
Lessons learned (1)
 Interpretation is a viable alternative for code
  generation
 Use model checks to prevent errors early
 Make sure you can navigate and search
 Make DSLs as declarative as possible
 Prevent property explosion
 Create flexibility for unforeseen uses
Lessons learned (2)
 Do not only focus on development phase
 Deployment can be slow – compliance with
  code style, architecture, server config, etc.
 Cloud infrastructure can automate
  deployment
 Grow your factory bottom-up
 Always look at existing standards first
Applications build with
our product will suffer
from a double release
cycle
We need an
extension mechanism
How to ensure
quality?
Lessons learned (1)
 Put effort in documentation, training, and
  templates
 Create flexibility to prevent double release
  cycle troubles
 Release management is much easier with a
  plugin infrastructure
 Be always backwards compatible
Lessons learned (2)
 Deprecate model structures and provide
  alternatives for breaking changes
 Create (semi-)automated tests using test
  models
 Learn from reported bugs
 Do not only test the technical implementation
Why should he
use our product?
We should focus on
partners, but do
some lighthouse
projects ourselves
Make it easy to start
How to create an active user base?
Lessons learned (1)
 Make it compelling for partners to use your
  product – what’s in it for them?
 Start doing lighthouse projects yourself
 Sell business solutions to business people
 Eat your own dog food
 Integrate ‘community tools’ in modeling
  environment
Lessons learned (2)
 Use a reputation system for your support
  forum
 Give partners incentives to build reputation
 Create a place to download an share
  templates, extensions, etc.
 Make it compelling for partners to publish
  content
Viewpoints

Context

A basic Model-Driven Software Factory

Releasing the product

Growing a user base
Lessons learned in building a
Model-Driven Software Factory

       Learn more: world.mendix.com
   Read more: www.theenterprisearchitect.eu
         Connect: @JohanDenHaan

More Related Content

What's hot

Juc deck 16x9_dev_ops_mvp
Juc deck 16x9_dev_ops_mvpJuc deck 16x9_dev_ops_mvp
Juc deck 16x9_dev_ops_mvpCurtis Yanko
 
Easily Create Scalable Automation using Selenium
Easily Create Scalable Automation using SeleniumEasily Create Scalable Automation using Selenium
Easily Create Scalable Automation using SeleniumMicro Focus
 
Mobile to Mainframe - the Challenges of Enterprise DevOps Adoption
Mobile to Mainframe - the Challenges of Enterprise DevOps AdoptionMobile to Mainframe - the Challenges of Enterprise DevOps Adoption
Mobile to Mainframe - the Challenges of Enterprise DevOps AdoptionSanjeev Sharma
 
Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...
Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...
Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...AgileNetwork
 
DevOps for IBM Commerce
DevOps for IBM CommerceDevOps for IBM Commerce
DevOps for IBM CommerceMichael Elder
 
Udvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBM
Udvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBMUdvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBM
Udvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBMIBM Danmark
 
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 toolsDevOps for Enterprise Systems
 
Rapid Application Development using FOSS
Rapid Application Development using FOSSRapid Application Development using FOSS
Rapid Application Development using FOSSSanjay Patel
 
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
 
Automated Testing for CA Plex and 2E
Automated Testing for CA Plex and 2EAutomated Testing for CA Plex and 2E
Automated Testing for CA Plex and 2ECM First Group
 
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...Michael Elder
 
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps IBM UrbanCode Products
 
DevOps for Mainframe for IBM Pulse Conference
DevOps for Mainframe for IBM Pulse ConferenceDevOps for Mainframe for IBM Pulse Conference
DevOps for Mainframe for IBM Pulse ConferenceRosalind Radcliffe
 
Acceleo Day - Orange
Acceleo Day - OrangeAcceleo Day - Orange
Acceleo Day - Orangesliard
 
Wise Men Oracle Mobility Webinar- 11-December-2014
Wise Men Oracle Mobility Webinar- 11-December-2014Wise Men Oracle Mobility Webinar- 11-December-2014
Wise Men Oracle Mobility Webinar- 11-December-2014Wise Men
 
Aspirea sales presentation
Aspirea sales presentationAspirea sales presentation
Aspirea sales presentationMayank Singh
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareDevOps for Enterprise Systems
 

What's hot (20)

Juc deck 16x9_dev_ops_mvp
Juc deck 16x9_dev_ops_mvpJuc deck 16x9_dev_ops_mvp
Juc deck 16x9_dev_ops_mvp
 
Easily Create Scalable Automation using Selenium
Easily Create Scalable Automation using SeleniumEasily Create Scalable Automation using Selenium
Easily Create Scalable Automation using Selenium
 
Whitepaper: DevOps - Happiest Minds
Whitepaper: DevOps - Happiest MindsWhitepaper: DevOps - Happiest Minds
Whitepaper: DevOps - Happiest Minds
 
Mobile to Mainframe - the Challenges of Enterprise DevOps Adoption
Mobile to Mainframe - the Challenges of Enterprise DevOps AdoptionMobile to Mainframe - the Challenges of Enterprise DevOps Adoption
Mobile to Mainframe - the Challenges of Enterprise DevOps Adoption
 
Cloud, agile
Cloud, agileCloud, agile
Cloud, agile
 
Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...
Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...
Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...
 
DevOps for IBM Commerce
DevOps for IBM CommerceDevOps for IBM Commerce
DevOps for IBM Commerce
 
Udvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBM
Udvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBMUdvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBM
Udvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBM
 
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
 
Rapid Application Development using FOSS
Rapid Application Development using FOSSRapid Application Development using FOSS
Rapid Application Development using FOSS
 
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...
 
Automated Testing for CA Plex and 2E
Automated Testing for CA Plex and 2EAutomated Testing for CA Plex and 2E
Automated Testing for CA Plex and 2E
 
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
 
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
 
DevOps for Mainframe for IBM Pulse Conference
DevOps for Mainframe for IBM Pulse ConferenceDevOps for Mainframe for IBM Pulse Conference
DevOps for Mainframe for IBM Pulse Conference
 
Acceleo Day - Orange
Acceleo Day - OrangeAcceleo Day - Orange
Acceleo Day - Orange
 
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
 
Wise Men Oracle Mobility Webinar- 11-December-2014
Wise Men Oracle Mobility Webinar- 11-December-2014Wise Men Oracle Mobility Webinar- 11-December-2014
Wise Men Oracle Mobility Webinar- 11-December-2014
 
Aspirea sales presentation
Aspirea sales presentationAspirea sales presentation
Aspirea sales presentation
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 

Viewers also liked

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
 
Lessons Learned About Software Development
Lessons Learned About Software DevelopmentLessons Learned About Software Development
Lessons Learned About Software DevelopmentJeffrey Ryan Thalhammer
 
BPM for Manufacturing (Business Process-Centric Manufacturing) v4
BPM for Manufacturing (Business Process-Centric  Manufacturing) v4BPM for Manufacturing (Business Process-Centric  Manufacturing) v4
BPM for Manufacturing (Business Process-Centric Manufacturing) v4Sudhir(SMACI) Menon
 
Computer programmer analyst performance appraisal
Computer programmer analyst performance appraisalComputer programmer analyst performance appraisal
Computer programmer analyst performance appraisalsammywood963
 
'Growing to a Next Level Test Organisation' by Tim Koomen
'Growing to a Next Level Test Organisation' by Tim Koomen'Growing to a Next Level Test Organisation' by Tim Koomen
'Growing to a Next Level Test Organisation' by Tim KoomenTEST Huddle
 
Agile MDD
Agile MDDAgile MDD
Agile MDDfntnhd
 
Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overviewslides_teltools
 
BestShore - Global Software Factory
BestShore - Global Software FactoryBestShore - Global Software Factory
BestShore - Global Software FactoryRonan Soares
 
Why there is no future for Model Driven Development
Why there is no future for Model Driven DevelopmentWhy there is no future for Model Driven Development
Why there is no future for Model Driven DevelopmentJohan den Haan
 
The Globally Integrated Enterprise and the Insurance Factory Model
The Globally Integrated Enterprise and the Insurance Factory ModelThe Globally Integrated Enterprise and the Insurance Factory Model
The Globally Integrated Enterprise and the Insurance Factory ModelDavid S. Lipien, PMP, MCP
 
Lean & Agile by Régis Medina at the Lean IT Summit 2013
Lean & Agile by Régis Medina at the Lean IT Summit 2013Lean & Agile by Régis Medina at the Lean IT Summit 2013
Lean & Agile by Régis Medina at the Lean IT Summit 2013Institut Lean France
 
What is (tcoe) testing center of excellence
What is (tcoe) testing center of excellenceWhat is (tcoe) testing center of excellence
What is (tcoe) testing center of excellenceMaveric Systems
 
The Lean Software Factory by Yves Caseau
The Lean Software Factory by Yves CaseauThe Lean Software Factory by Yves Caseau
The Lean Software Factory by Yves CaseauInstitut Lean France
 
10 things to improve project management
10 things to improve project management10 things to improve project management
10 things to improve project managementStriking Group Pty Ltd
 
PDC - Arquitetura - 001 - A vida, o universo e tudo mais ...
PDC - Arquitetura - 001 - A vida, o universo e tudo mais ...PDC - Arquitetura - 001 - A vida, o universo e tudo mais ...
PDC - Arquitetura - 001 - A vida, o universo e tudo mais ...slides_teltools
 
Testing capability ppt
Testing capability pptTesting capability ppt
Testing capability pptanilreddyqa
 
Venture Builder / Start-up Factory Model One-slider Infographic
Venture Builder / Start-up Factory Model One-slider Infographic Venture Builder / Start-up Factory Model One-slider Infographic
Venture Builder / Start-up Factory Model One-slider Infographic Floyd DCosta
 

Viewers also liked (20)

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...
 
Lessons Learned About Software Development
Lessons Learned About Software DevelopmentLessons Learned About Software Development
Lessons Learned About Software Development
 
BPM for Manufacturing (Business Process-Centric Manufacturing) v4
BPM for Manufacturing (Business Process-Centric  Manufacturing) v4BPM for Manufacturing (Business Process-Centric  Manufacturing) v4
BPM for Manufacturing (Business Process-Centric Manufacturing) v4
 
Computer programmer analyst performance appraisal
Computer programmer analyst performance appraisalComputer programmer analyst performance appraisal
Computer programmer analyst performance appraisal
 
'Growing to a Next Level Test Organisation' by Tim Koomen
'Growing to a Next Level Test Organisation' by Tim Koomen'Growing to a Next Level Test Organisation' by Tim Koomen
'Growing to a Next Level Test Organisation' by Tim Koomen
 
Agile MDD
Agile MDDAgile MDD
Agile MDD
 
Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overview
 
BestShore - Global Software Factory
BestShore - Global Software FactoryBestShore - Global Software Factory
BestShore - Global Software Factory
 
Industrialization of testing
Industrialization of testing Industrialization of testing
Industrialization of testing
 
Why there is no future for Model Driven Development
Why there is no future for Model Driven DevelopmentWhy there is no future for Model Driven Development
Why there is no future for Model Driven Development
 
The Globally Integrated Enterprise and the Insurance Factory Model
The Globally Integrated Enterprise and the Insurance Factory ModelThe Globally Integrated Enterprise and the Insurance Factory Model
The Globally Integrated Enterprise and the Insurance Factory Model
 
Lean & Agile by Régis Medina at the Lean IT Summit 2013
Lean & Agile by Régis Medina at the Lean IT Summit 2013Lean & Agile by Régis Medina at the Lean IT Summit 2013
Lean & Agile by Régis Medina at the Lean IT Summit 2013
 
TCoE
TCoETCoE
TCoE
 
What is (tcoe) testing center of excellence
What is (tcoe) testing center of excellenceWhat is (tcoe) testing center of excellence
What is (tcoe) testing center of excellence
 
The Lean Software Factory by Yves Caseau
The Lean Software Factory by Yves CaseauThe Lean Software Factory by Yves Caseau
The Lean Software Factory by Yves Caseau
 
10 things to improve project management
10 things to improve project management10 things to improve project management
10 things to improve project management
 
PDC - Arquitetura - 001 - A vida, o universo e tudo mais ...
PDC - Arquitetura - 001 - A vida, o universo e tudo mais ...PDC - Arquitetura - 001 - A vida, o universo e tudo mais ...
PDC - Arquitetura - 001 - A vida, o universo e tudo mais ...
 
Testing capability ppt
Testing capability pptTesting capability ppt
Testing capability ppt
 
Testing Centre Of Excellence From AppLabs
Testing Centre Of Excellence From AppLabsTesting Centre Of Excellence From AppLabs
Testing Centre Of Excellence From AppLabs
 
Venture Builder / Start-up Factory Model One-slider Infographic
Venture Builder / Start-up Factory Model One-slider Infographic Venture Builder / Start-up Factory Model One-slider Infographic
Venture Builder / Start-up Factory Model One-slider Infographic
 

Similar to Lessons learned in building a model driven software factory

Mdd Lcds
Mdd LcdsMdd Lcds
Mdd Lcdsravinxg
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 
Spring tutorials
Spring tutorialsSpring tutorials
Spring tutorialsTIB Academy
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises Kasun Indrasiri
 
Makersbay Overview
Makersbay OverviewMakersbay Overview
Makersbay Overviewslodha
 
Ss Wrap Up Session 13 Aug
Ss Wrap Up Session 13 AugSs Wrap Up Session 13 Aug
Ss Wrap Up Session 13 AugWSO2
 
SOA Summer School: Best of SOA Summer School – Encore Session
SOA Summer School: Best of SOA Summer School – Encore Session SOA Summer School: Best of SOA Summer School – Encore Session
SOA Summer School: Best of SOA Summer School – Encore Session WSO2
 
Framework adoption for java enterprise application development
Framework adoption for java enterprise application developmentFramework adoption for java enterprise application development
Framework adoption for java enterprise application developmentClarence Ho
 
ALM Integration in a Web 2.0 World
ALM Integration in a Web 2.0 WorldALM Integration in a Web 2.0 World
ALM Integration in a Web 2.0 Worldoslc
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservicesAnil Allewar
 
Can IBM i play with SOA?
Can IBM i play with SOA?Can IBM i play with SOA?
Can IBM i play with SOA?LANSA
 
Opac labs overview-pr1.0
Opac labs overview-pr1.0Opac labs overview-pr1.0
Opac labs overview-pr1.0opaclabs
 
[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for EnterprisesWSO2
 
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...Steve Speicher
 
Perfect Storm: HR in the Cloud
Perfect Storm: HR in the CloudPerfect Storm: HR in the Cloud
Perfect Storm: HR in the CloudStanton Jones
 
How To Select RIA
How To Select RIAHow To Select RIA
How To Select RIATerry Wang
 

Similar to Lessons learned in building a model driven software factory (20)

Mdd Lcds
Mdd LcdsMdd Lcds
Mdd Lcds
 
Mdd lcds
Mdd lcdsMdd lcds
Mdd lcds
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
Nuno Godinho
Nuno GodinhoNuno Godinho
Nuno Godinho
 
Spring tutorials
Spring tutorialsSpring tutorials
Spring tutorials
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises
 
Makersbay Overview
Makersbay OverviewMakersbay Overview
Makersbay Overview
 
Madhava_Sr_JAVA_J2EE
Madhava_Sr_JAVA_J2EEMadhava_Sr_JAVA_J2EE
Madhava_Sr_JAVA_J2EE
 
Ss Wrap Up Session 13 Aug
Ss Wrap Up Session 13 AugSs Wrap Up Session 13 Aug
Ss Wrap Up Session 13 Aug
 
SOA Summer School: Best of SOA Summer School – Encore Session
SOA Summer School: Best of SOA Summer School – Encore Session SOA Summer School: Best of SOA Summer School – Encore Session
SOA Summer School: Best of SOA Summer School – Encore Session
 
Framework adoption for java enterprise application development
Framework adoption for java enterprise application developmentFramework adoption for java enterprise application development
Framework adoption for java enterprise application development
 
soa1.ppt
soa1.pptsoa1.ppt
soa1.ppt
 
ALM Integration in a Web 2.0 World
ALM Integration in a Web 2.0 WorldALM Integration in a Web 2.0 World
ALM Integration in a Web 2.0 World
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Can IBM i play with SOA?
Can IBM i play with SOA?Can IBM i play with SOA?
Can IBM i play with SOA?
 
Opac labs overview-pr1.0
Opac labs overview-pr1.0Opac labs overview-pr1.0
Opac labs overview-pr1.0
 
[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises
 
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
 
Perfect Storm: HR in the Cloud
Perfect Storm: HR in the CloudPerfect Storm: HR in the Cloud
Perfect Storm: HR in the Cloud
 
How To Select RIA
How To Select RIAHow To Select RIA
How To Select RIA
 

Recently uploaded

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Recently uploaded (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Lessons learned in building a model driven software factory

  • 1. Lessons learned in building a Model-Driven Software Factory Johan den Haan Head R&D Mendix @JohanDenHaan
  • 2. IT costs a lot, but is not fast enough to meet Business Agility wishes
  • 3. We are going to fix it today!
  • 4. Join me on my journey
  • 5. Viewpoints Context A basic Model-Driven Software Factory Releasing the product Growing a user base
  • 6.
  • 7. What kind of business problems do we want to solve?
  • 8. Application characteristics  Time-2-market  Flexible  Integration with commodity applications  Portal / Rich user interface  Domain knowledge
  • 10. Lessons learned  Product dev. starts with a customer need  MDD asks for repetition  First step in building a MDSF is domain definition  Make a clear choice about your target user  Define the most important domain concepts  Think about a methodology early - it will influence your DSL design and tool
  • 11.
  • 12. Browser Styling & user interaction CSS, HTML, JavaScript Client-side logic Server communication JVM Java Flows & actions API & connectors Access rules ORM Database SQL Data
  • 13. 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
  • 14. 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 – Cloud infrastructure
  • 15.
  • 16. Lessons learned (1)  Interpretation is a viable alternative for code generation  Use model checks to prevent errors early  Make sure you can navigate and search  Make DSLs as declarative as possible  Prevent property explosion  Create flexibility for unforeseen uses
  • 17. Lessons learned (2)  Do not only focus on development phase  Deployment can be slow – compliance with code style, architecture, server config, etc.  Cloud infrastructure can automate deployment  Grow your factory bottom-up  Always look at existing standards first
  • 18.
  • 19. Applications build with our product will suffer from a double release cycle
  • 20. We need an extension mechanism
  • 21.
  • 22.
  • 23.
  • 25. Lessons learned (1)  Put effort in documentation, training, and templates  Create flexibility to prevent double release cycle troubles  Release management is much easier with a plugin infrastructure  Be always backwards compatible
  • 26. Lessons learned (2)  Deprecate model structures and provide alternatives for breaking changes  Create (semi-)automated tests using test models  Learn from reported bugs  Do not only test the technical implementation
  • 27.
  • 28. Why should he use our product?
  • 29. We should focus on partners, but do some lighthouse projects ourselves
  • 30. Make it easy to start
  • 31. How to create an active user base?
  • 32. Lessons learned (1)  Make it compelling for partners to use your product – what’s in it for them?  Start doing lighthouse projects yourself  Sell business solutions to business people  Eat your own dog food  Integrate ‘community tools’ in modeling environment
  • 33. Lessons learned (2)  Use a reputation system for your support forum  Give partners incentives to build reputation  Create a place to download an share templates, extensions, etc.  Make it compelling for partners to publish content
  • 34. Viewpoints Context A basic Model-Driven Software Factory Releasing the product Growing a user base
  • 35.
  • 36. Lessons learned in building a Model-Driven Software Factory Learn more: world.mendix.com Read more: www.theenterprisearchitect.eu Connect: @JohanDenHaan