• Save
Lessons learned in building a model driven software factory
Upcoming SlideShare
Loading in...5
×
 

Lessons learned in building a model driven software factory

on

  • 6,916 views

These are the slides of my talk at Code Generation 2010. I share my experiences during the development of a Model-Driven Software Factory. This factory is based on multiple Domain-Specific Languages ...

These are the slides of my talk at Code Generation 2010. I share my experiences during the development of a Model-Driven Software Factory. This factory is based on multiple Domain-Specific Languages (DSLs), together describing a Service-Oriented Business Application. All DSLs have a graphical concrete syntax and are aimed at involving domain experts in the software development process. The factory has been used for many projects in the last five years and its user base is growing fast.

Statistics

Views

Total Views
6,916
Views on SlideShare
4,979
Embed Views
1,937

Actions

Likes
6
Downloads
0
Comments
3

17 Embeds 1,937

http://www.theenterprisearchitect.eu 1818
http://blog.vsharing.com 82
http://processmodeling.nl 14
http://translate.googleusercontent.com 7
http://bbs.vsharing.com 2
http://office.napspirit.com 2
http://www.slideshare.net 2
http://feeds.feedburner.com 1
http://group.vsharing.com 1
http://webcache.googleusercontent.com 1
http://static.slidesharecdn.com 1
http://207.46.192.232 1
http://www.xdocs.org 1
http://cache.baidu.com 1
http://www.zhuaxia.com 1
http://www.hanrss.com 1
http://106.10.171.80 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

13 of 3 Post a comment

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Excellent Presentation.
    thanks
    Are you sure you want to
    Your message goes here
    Processing…
  • For an explanation of the 15 main lessons mentioned in this presentation see http://www.theenterprisearchitect.eu/archive/2010/09/06/15-lessons-learned-during-the-development-of-a-model-driven-software-factory
    Are you sure you want to
    Your message goes here
    Processing…
  • Could there be a download button to download the PDF please? (Like Eelco Visser's presentation)
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Lessons learned in building a model driven software factory Lessons learned in building a model driven software factory Presentation Transcript

    • 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