whittle modeling wizards 2012

123
The Truth about Model-Driven Development in Industry – and Why Researchers Should Care Jon Whittle joint work with John Hutchinson, Mark Rouncefield School of Computing & Communications Lancaster University, UK [email protected]

Upload: jonathw

Post on 23-Jun-2015

342 views

Category:

Technology


2 download

DESCRIPTION

Researchers in model-driven development (MDD) should be intimately familiar with how MDD is used in industry. If they are not, there is a danger that new methods and tools are developed without proper consideration for the way that MDD developers actually work and think. A thorough understanding of current MDD industrial practice can inform research problems and ensure that research solutions are actually adopted. This talk will describe results from a year long study, which applied methods from social science to understand how MDD is actually used in industry. Based on a survey of over 400 MDD practitioners, in-depth interviews with 22 industry professionals from 17 different companies, and a small number of on-site observational studies, the talk will discuss the current state-of-practice in industrial use of MDD, and will offer some insights on current research gaps.

TRANSCRIPT

Page 1: Whittle Modeling Wizards 2012

The Truth about Model-Driven Development in Industry

– and Why Researchers Should Care

Jon Whittlejoint work with John Hutchinson, Mark Rouncefield

School of Computing & Communications

Lancaster University, UK

[email protected]

Page 2: Whittle Modeling Wizards 2012

2001 AD

Page 3: Whittle Modeling Wizards 2012
Page 4: Whittle Modeling Wizards 2012

 I'm sorry, Dave. I'm afraid I can't do that.

Page 5: Whittle Modeling Wizards 2012
Page 6: Whittle Modeling Wizards 2012

model-driven architecture

aka.model-driven developmentmodel-driven engineeringmodel-based software developmentmodel-based designmodel-integrated computingdomain-specific modeling

Page 7: Whittle Modeling Wizards 2012

productivity

Page 8: Whittle Modeling Wizards 2012

maintainability

Page 9: Whittle Modeling Wizards 2012

portability

Page 10: Whittle Modeling Wizards 2012

interoperability

Page 11: Whittle Modeling Wizards 2012

all is well with the world

Page 12: Whittle Modeling Wizards 2012

except for…

those darned naysayers

Page 13: Whittle Modeling Wizards 2012
Page 14: Whittle Modeling Wizards 2012

2012 AD

Page 15: Whittle Modeling Wizards 2012

who was right?

Page 16: Whittle Modeling Wizards 2012

talk outline• Project EAMDE

– Social/organizational/technical factors

• Discoveries– Some observations– Some lessons– Some tips

Page 17: Whittle Modeling Wizards 2012

Project EAMDE

• Widely-distributed questionnaire on how MDD is used– 35 questions pertaining to MDD application– 449 responses

• In-depth interviews with MDD practitioners– 22 interviews; 17 different companies– 150,000 words of transcribed data– >360 years of cumulative experience

• On-site ethnographic studies (ongoing)– 2 done (by Steinar Kristoffersen); more planned

Page 18: Whittle Modeling Wizards 2012

What EAMDE is not

• an attempt to quantify the penetration of MDD in industry

• a study on UML– deliberately broad view of MD*

• an attempt to evangelise or promote MDD– interested in failure as much as success

Page 19: Whittle Modeling Wizards 2012

Diversity

Page 20: Whittle Modeling Wizards 2012

Examples of MDD

Page 21: Whittle Modeling Wizards 2012

Examples of MDD

“the broader the domain you try and cover, the less the productivity increase… with DSM, you’re not looking at building a modeling language for embedded applications … you’re not looking at building one for mobile applications… mobile embedded, or even mobile phones or even Brand X mobile phones, but a particular product family of Brand X mobile phones…”

Page 22: Whittle Modeling Wizards 2012

First discovery: a lot of MDD success is hidden

Page 23: Whittle Modeling Wizards 2012

UML BPMN VendorDSL

In-houseDSL

SysML Matlab/Simulink

Which modeling languages do you use? (tick all that apply)

Page 24: Whittle Modeling Wizards 2012

DSLs favored over general-purpose modeling

• mostly, companies write their own code generators for very specific tasks

– In contrast, companies often ditch commercial tools because they cannot modify them the way they want or because they “don’t do everything”

– Multiple references to the fact that off-the-shelf tools could have killed an MDD effort

• Generation of whole systems is not widespread

Page 25: Whittle Modeling Wizards 2012

Second discovery: code generation is a red herring

Page 26: Whittle Modeling Wizards 2012

Code generation

“I guess at the end of the day, this dream of code generation from models doesn’t exist – I mean everything ends up being done by hand because either we don’t trust code generators or they just don’t generate the code we need… it’s actually impossible to get in non-functional requirements into code generators – it’s too difficult”

Page 27: Whittle Modeling Wizards 2012

Offsetting gains without realising it

• “sometimes the code generated makes it necessary to use a larger CPU which costs more money than the efficient code of an experienced programmer”

• 8x more expensive to certify generated code

Page 28: Whittle Modeling Wizards 2012

Don’t obsess about productivity

• 65-100% code generated

• Figures on productivity gains differ– 20-800% gain– 27% loss

Page 29: Whittle Modeling Wizards 2012

Third discovery: the real benefits of MDD are holistic

Page 30: Whittle Modeling Wizards 2012

So if not productivity, then what?

• The real benefits of MDD are quality, architecture, reuse

• “whenever you name any single advantage…you can always achieve the same advantage with another approach…”– “it tends to be that a model-driven approach is more

likely to have a well articulated design and architecture”

Page 31: Whittle Modeling Wizards 2012

Example

• An organisation finds itself developing lots of little (modeling) languages over time:– “we were generating 70% of the system off these little

XML languages… we would try to separate out the pieces that were generateable and the pieces that weren’t… it motivated us to have better separation of concerns”

Page 32: Whittle Modeling Wizards 2012

Fourth discovery: MDD must enable new things, not just speed up old things

Page 33: Whittle Modeling Wizards 2012

Doing things faster and better is not enough

• If the status quo works (or is perceived to work), there will be insufficient buy-in to change

– MDD should be sold not based on how it can do things (slightly) better, but in terms of how it can fix things that are broken

– “software is no longer a bottleneck”

Page 34: Whittle Modeling Wizards 2012

People/Organizations

Page 35: Whittle Modeling Wizards 2012

The Psychology of MDD

Page 36: Whittle Modeling Wizards 2012

Architects love MDD

Page 37: Whittle Modeling Wizards 2012

The code guru hates it

Page 38: Whittle Modeling Wizards 2012

as does the hobbyist developer

Page 39: Whittle Modeling Wizards 2012

It’s bad news for offshoring

Page 40: Whittle Modeling Wizards 2012

Middle-managersare usually the

bottleneck

Page 41: Whittle Modeling Wizards 2012

The MDD guru is likelyto be a developer anddomain expert

Page 42: Whittle Modeling Wizards 2012

MDD works best in companiesthat are not in the software business

Page 43: Whittle Modeling Wizards 2012

Current Business PracticeDoesn’t Support MDD

Page 44: Whittle Modeling Wizards 2012

• “lead architects need to understand that just because their models are simple, they weren’t going to be put out of a job…”

• Developers are defined by their expertise for a technology not a domain; so it is not in their interests to innovate

Business Practice Doesn’tSupport MDD

Page 45: Whittle Modeling Wizards 2012

• domain experts already model– “they already have an established way to design in

Powerpoint”– “I think they are more open than a company that has very

long years of experience in software development”

MDD Works Best in Non-Software Companies

Page 46: Whittle Modeling Wizards 2012

The Good, The Bad, and The Ugly

Page 47: Whittle Modeling Wizards 2012

The Good

Page 48: Whittle Modeling Wizards 2012

• mature domain• non-software context• ground-up effort• real business driver

Page 49: Whittle Modeling Wizards 2012

“we put it directly in the line of the product”

“we are not allowed to fail”

Page 50: Whittle Modeling Wizards 2012

“the benefit was not only because we introduced model-driven design”

“we also started a re-use group”

“if you didn’t introduce model-driven design, the reuse initiative would have failed”

Page 51: Whittle Modeling Wizards 2012

“at this moment, embedded software is not bottleneck in any project”

Page 52: Whittle Modeling Wizards 2012

“56% of all our code is from re-used building blocks, but in the beginning it was only 5 or 10%”

“normally, decisions are made as low in the organisation as possible

Page 53: Whittle Modeling Wizards 2012

The Good

• critical path• non-software context• real business driver• MDD an enabler for reuse

Page 54: Whittle Modeling Wizards 2012

The Bad-Ass

Page 55: Whittle Modeling Wizards 2012
Page 56: Whittle Modeling Wizards 2012

“the same electrical design in a full size truck as in a Cadillac”

Page 57: Whittle Modeling Wizards 2012

“somebody would be writing the spec”

“they were actually outsourcing”

Page 58: Whittle Modeling Wizards 2012

“there was an order of magnitude difference in terms of number of people involved from generation to generation”

Page 59: Whittle Modeling Wizards 2012

“you couldn’t find a computer scientist if you went on a search party”

Page 60: Whittle Modeling Wizards 2012

“vendors try to push out-of-the-box code generation”

“very, very challenging to do… so we wrote our own code generator”

Page 61: Whittle Modeling Wizards 2012

“if we did modeling just for code generation”

“you’ll likely not get the right abstraction”

Page 62: Whittle Modeling Wizards 2012

The Bad-Ass

• mature domain• non-software context• ground-up effort• real business driver

Page 63: Whittle Modeling Wizards 2012

The Ugly

Page 64: Whittle Modeling Wizards 2012
Page 65: Whittle Modeling Wizards 2012

“it was a totally new concept of switching system”

Page 66: Whittle Modeling Wizards 2012

“he made this huge decision ”

“50 developers all using this CASE tool”

Page 67: Whittle Modeling Wizards 2012

“if there is a problem, they just contact the [CASE tool] engineers.. That was kind of their strategy”

Page 68: Whittle Modeling Wizards 2012

“and suddenly the tool doesn’t do something expected”

“they try to contact the vendor but they don’t really know what’s going on”

Page 69: Whittle Modeling Wizards 2012

“they couldn’t optimize the generated code”

“so the way they had to do it was asking the hardware guys to have more hard disc, more memory, because of the tool”

Page 70: Whittle Modeling Wizards 2012

“it was a nightmare to them to add all the features”

Page 71: Whittle Modeling Wizards 2012

The Ugly

• immature domain• top-down effort• no real business driver• lack of control

Page 72: Whittle Modeling Wizards 2012

What would 449 MDD practitioners say?

Page 73: Whittle Modeling Wizards 2012

Disclaimers

Page 74: Whittle Modeling Wizards 2012

Snowball sampling

Page 75: Whittle Modeling Wizards 2012

Not everyone answered every question

Page 76: Whittle Modeling Wizards 2012

We encouraged only those with actual MDE experience to participate…

Page 77: Whittle Modeling Wizards 2012

…and discouraged those with opinion but no experience

Page 78: Whittle Modeling Wizards 2012

Aims of the Survey

Page 79: Whittle Modeling Wizards 2012

Real use of MDE in practice

Page 80: Whittle Modeling Wizards 2012

Unraveling points of contention related to MDE

Page 81: Whittle Modeling Wizards 2012

Technical factors• Code will write itself!• BUT needs to be

integrated with legacy systems

Page 82: Whittle Modeling Wizards 2012

People factors• Easier to train new hires• BUT new hires require

more training

Page 83: Whittle Modeling Wizards 2012

Organisational factors• Encourages organisation-

wide standards• BUT requires heavy-

handed, rigorous management

Page 84: Whittle Modeling Wizards 2012

Key findings

Page 85: Whittle Modeling Wizards 2012

The “Community” of Respondents

Page 86: Whittle Modeling Wizards 2012

Do you consider MDE to be a good thing?

84%

Page 87: Whittle Modeling Wizards 2012

• Significant software engineering experience– Over 1000 years total experience– 70% involved in software development for 5 years or

more

Page 88: Whittle Modeling Wizards 2012

• Employed in a range of different roles– Developer 17%– Modeler 21%– Team leader 19%– Project manager 16%– Domain expert 4%– Researcher 23%– Architect 7%

Page 89: Whittle Modeling Wizards 2012

• Good spread of size of company– Roughly a third each had:

• 1-100 employees• 100-1000• >1000

• A significant number of employees are not engaged in software development

Page 90: Whittle Modeling Wizards 2012

Experience with MDE

• Initial exploration: 10%• Prototyping: 10%• First major project: 18%• ~ 1/3: extensive experience of MDE on many

projects and/or over many years

Page 91: Whittle Modeling Wizards 2012

What are models used for?

“Do not use” percentages for MDE activities

Page 92: Whittle Modeling Wizards 2012

UML BPMN VendorDSL

In-houseDSL

SysML Matlab/Simulink

Which modeling languages do you use?

Page 93: Whittle Modeling Wizards 2012

Use of multiple languages

• 62% of those using custom DSLs also use UML• Almost all users of SysML and BPMN also use

UML• UML is the most popular ‘single use’ language

– 38% of all respondents

• UML used in combination with just about every combination of modeling languages– 14% of UML users combine with vendor DSL– 6% with both custom and vendor DSL

Page 94: Whittle Modeling Wizards 2012

Which diagrams are used?

19 different diagram types are used regularly

Page 95: Whittle Modeling Wizards 2012

Points of contention – paired questions

Page 96: Whittle Modeling Wizards 2012

Effect of MDE on Training Costs

Q: Does using MDE allow you to employ developers with less software engineering experience?

Q: Does using MDE require you to carry out significant extra training in modeling?

46% agree, 34% disagree

74% agree, 9% disagree

Page 97: Whittle Modeling Wizards 2012

Benefits of code generation

Q: Is your use of code generation an important aspect of your MDE productivity gains?

Q: Is integrating generated code into your existing projects a significant problem?

75% agree, 10% disagree

36% agree, 40% disagree

Page 98: Whittle Modeling Wizards 2012

Changes on model or code?

Q: Do you mainly make updates on the model rather than the code?

Q: Do you spend a lot of time synchronizing the model and the code?

70% agree, 15% disagree

35% agree, 45% disagree

Page 99: Whittle Modeling Wizards 2012

MDE and Agility

Q: Does MDE make you faster at implementing new requirements?

Q: Does MDE prevent you from responding to business opportunities?

75% agree, 12% disagree

32% agree, 38% disagree

Page 100: Whittle Modeling Wizards 2012

Complexity of UML

Q: Is UML too complex?

Q: Is UML powerful enough?

44% agree, 32% disagree

52% agree, 31% disagree

Page 101: Whittle Modeling Wizards 2012

Promoting understanding

Q: Does your use of MDE lead to better understanding between stakeholders?

Q: Does your use of MDE result in unexpected confusion and/or misunderstandings between stakeholders?

66% agree, 16% disagree

25% agree, 49% disagree

Page 102: Whittle Modeling Wizards 2012

Tooling

Q: Are MDE tools too expensive?

Q: Do organizations attempt to deploy MDE using inappropriate and/or cheap tools?

45% agree

55% agree

Page 103: Whittle Modeling Wizards 2012

Tools used

ATL, Acceleo, Agile4R, AndroMDA, ANTLR, Apple XCode, ArgoUML, Artisan Studio, ASCET, ASF+SDF, AToM3, Blu Age, Borland Together, BridgePoint, Eclipse (EMF, GMF, M2T), Enterprise Architect, Rhapsody, Rational Technical Developer, Rational Rose, IdealXML, Influx, Intalio, Intelligent Software Factory, iUML, Kermeta, Lisp, LTS, M2Flex, Magic Draw, Matlab/Simulink, Maven, Mendix, MetaEdit+, MetaSketch, MiaGeneration, Microsoft DSL Tools, Microsoft Visual Studio, Visio, Omnigraffle, MicroTool Objectif, MID Innovator Object, ModelBus, ModelPro, MOFScript, NexJ MDE Framework, Obeo, Objecteering, Oliva Nova, OpenArchitectureWare, OpenEmbeDD, OptimalJ, Oracle Case, OWLtoAspectJ, Papyrus, Popkin SA and BPWIN, Poseidon, PowerDesigner, Protégé, QVT-Operational (Eclipse Implementation), Rascal, Rational Software Architect, Scheme, SketchiXML, starUML, Stratego, TAYLOR, Telelogic Tau, Tibco Business Studio, Together Architect, Topcased, T-VEC, Umbrello, UModel, URDAD, Visual Paradigm, VisualState, WEBRATIO, WebSphere Integration Developer, IBM XDE

Over 100 tools

Page 104: Whittle Modeling Wizards 2012

Key findings

• Productivity gains from code generation tend to outweigh losses from integration with existing code

• MDE allows for faster turn-around on new requirements– But there is a significant risk that it may prevent

organizations from responding to new business opportunities

Page 105: Whittle Modeling Wizards 2012

Key findings

• MDE increases overall training costs• UML is not yet universally accepted as the

modeling language of choice– Indeed, DSLs are far more prevalent than anticipated

Page 106: Whittle Modeling Wizards 2012

Education, education, education

Page 107: Whittle Modeling Wizards 2012

• Are we teaching modeling the wrong way?– bottom-up versus top-down– combine teaching modeling

& compilers/code optimizationoptimization

Page 108: Whittle Modeling Wizards 2012

Top 10 Tips for Practitioners

Page 109: Whittle Modeling Wizards 2012

Keep Domains Tight and Narrow

1

Page 110: Whittle Modeling Wizards 2012

Target well-documented, well-understood domains

2

Page 111: Whittle Modeling Wizards 2012

Put MDD on the Critical Path

3

Page 112: Whittle Modeling Wizards 2012

MDD works best when drivenfrom the ground-up

4

Page 113: Whittle Modeling Wizards 2012

Be Careful About Gains Offset Elsewhere

5

Page 114: Whittle Modeling Wizards 2012

Don’t Obsess About Code Generation

6

Page 115: Whittle Modeling Wizards 2012

Not everyone can think abstractly

7

Page 116: Whittle Modeling Wizards 2012

Most projects fail at scale-up

8

Page 117: Whittle Modeling Wizards 2012

Match tools/processes to the way people think; not the

other way around

9

Page 118: Whittle Modeling Wizards 2012

OK, there were only 9…

10

Page 119: Whittle Modeling Wizards 2012

Bedtime reading…

• Model Driven Engineering Practices in Industry, ICSE 2011

• Empirical Assessment of MDE in Industry, ICSE 2011

• Mismatches between Industry Practice and Teaching of Model-Driven Software Development. MODELS 2011 Educators’ Symp.

• A Survey of Practitioners’ Use of MDE (ask me for a copy)

Page 120: Whittle Modeling Wizards 2012
Page 121: Whittle Modeling Wizards 2012

Why should researchers care?

Page 122: Whittle Modeling Wizards 2012

Match tools/processes to the way people think; not the

other way around

Page 123: Whittle Modeling Wizards 2012

Dataset

http://www.comp.lancs.ac.uk/~eamde/site/content_qres.php

These Slides

http://www.slideshare.net/jonathw/whittle-modeling-wizards-2012