relevance, benefits, and problems of software modelling and model-driven techniques

25
Relevance, Benefits, Relevance, Benefits, and Problems of and Problems of Software Modelling and Software Modelling and Model Driven Techniques Model Driven Techniques A Survey in the Italian Industry A Survey in the Italian Industry Marco Torchiano Marco Torchiano A joint research conducted with F.Tomassetti (PoliTo), F.Ricca, A.Tiso, A joint research conducted with F.Tomassetti (PoliTo), F.Ricca, A.Tiso, and G.Reggio (UniGe) and G.Reggio (UniGe)

Upload: marco-torchiano

Post on 24-May-2015

325 views

Category:

Technology


0 download

DESCRIPTION

A Survey in the Italian Industry. Full info in the paper: http://www.sciencedirect.com.ezproxy.biblio.polito.it/science/article/pii/S0164121213000824

TRANSCRIPT

Page 1: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

Relevance, Benefits, and Relevance, Benefits, and Problems of Software Problems of Software Modelling and Model Driven Modelling and Model Driven TechniquesTechniquesA Survey in the Italian IndustryA Survey in the Italian Industry

Marco TorchianoMarco Torchiano

A joint research conducted with F.Tomassetti (PoliTo), F.Ricca, A.Tiso, and G.Reggio A joint research conducted with F.Tomassetti (PoliTo), F.Ricca, A.Tiso, and G.Reggio (UniGe)(UniGe)

Page 2: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

AgendaAgenda

MotivationMotivation

Survey designSurvey design

ResultsResults

ConclusionsConclusions

Page 3: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

MotivationMotivation

Claimed benefits of software Modelling and Claimed benefits of software Modelling and Model Driven techniques (MD*) are Model Driven techniques (MD*) are improvements in: improvements in:

productivity, productivity,

portability, portability,

maintainability, and maintainability, and

interoperability. interoperability.

Though, few efforts at collecting Though, few efforts at collecting evidenceevidence

Page 4: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

GoalsGoals

G1G1 Assess the actual relevance of software Assess the actual relevance of software modelling and MD* in the Italian industry,modelling and MD* in the Italian industry,

G2G2 Find out the way modelling and MD* are Find out the way modelling and MD* are applied (i.e., which processes, languages applied (i.e., which processes, languages and tools are used), andand tools are used), and

G3G3 Understand the motivations either leading Understand the motivations either leading to the adoption (expected benefits) or to the adoption (expected benefits) or preventing it (experienced or perceived preventing it (experienced or perceived problems).problems).

Page 5: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

Survey designSurvey design

PopulationPopulation

Italian software professionalsItalian software professionals

Probabilistic SamplingProbabilistic Sampling

Commerce Chamber DBCommerce Chamber DB

Convenience samplingConvenience sampling

Industrial contact networksIndustrial contact networks

Invitations on mailing listsInvitations on mailing lists

Advertisement in on-line magazineAdvertisement in on-line magazine

Advertisement on page of large developers’ conferenceAdvertisement on page of large developers’ conference

Page 6: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

QuestionnaireQuestionnaire

Web-based questionnaire with Lime SurveyWeb-based questionnaire with Lime Survey

SubSub: subject’s demographics: subject’s demographics

DevDev: development process: development process

ModMod: modelling details: modelling details

LanLan: languages and notations: languages and notations

Page 7: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

Questionnaire pathsQuestionnaire paths

Page 8: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

Research questionsResearch questions

RQ1RQ1: What is the diffusion and relevance of : What is the diffusion and relevance of Modelling and MD* in the Italian industry?Modelling and MD* in the Italian industry?

RQ2RQ2: What are the benefits of using Modelling : What are the benefits of using Modelling and MD*?and MD*?

RQ3RQ3: What issues hinder/prevent the adoption of : What issues hinder/prevent the adoption of modelling and MD*?modelling and MD*?

Page 9: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

RelevanceRelevance

A software development technology is relevant A software development technology is relevant to software engineering if it increases the to software engineering if it increases the likelihood of improving software development likelihood of improving software development practicespractices

Technical aspectsTechnical aspects

Process aspectsProcess aspects~ % of developers ~ % of developers

adopting itadopting it

Page 10: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

Relevance thresholdsRelevance thresholds

10%10% 25%25% 50%50%

Page 11: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

RQ1: MetricsRQ1: Metrics

Are models used for software development in Are models used for software development in your organization? your organization?

For model we mean both diagrams, e.g., For model we mean both diagrams, e.g., UML, and text according to any DSLUML, and text according to any DSL

Valid answers: Always; Sometimes; NeverValid answers: Always; Sometimes; Never

Percentage of Percentage of ModellersModellers (i.e. Always + (i.e. Always + Sometimes)Sometimes)

RelevanceRelevance

Page 12: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

RQ1: ResultsRQ1: Results

10%10% 25%25% 50%50%

Highly Highly RelevantRelevantHighly Highly

RelevantRelevant

Page 13: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

RQ1:Languages & RQ1:Languages & notationsnotations

38%38%

51%51%

11%11%{{ModellersModellers

76% use76% useUMLUML

21% use21% useDSLsDSLs

50%50%27%27%

23%23%

Page 14: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

R1: MD* key techniquesR1: MD* key techniques

{{Modelle

rsM

odelle

rs

Page 15: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

RQ2: MetricsRQ2: Metrics

What are the benefits verified as consequences of What are the benefits verified as consequences of using modelling?using modelling?

Design supportDesign supportImproved documentationImproved documentationImproved development flexibilityImproved development flexibilityImproved productivityImproved productivityQuality of the softwareQuality of the softwareMaintenance support Maintenance support Platform independencePlatform independenceStandardizationStandardizationShortened reaction time to changesShortened reaction time to changes}}Benefit Benefit

achievement achievement ratioratio

Page 16: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

Likelihood thresholdsLikelihood thresholds

10%10% 25%25% 50%50%

Page 17: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

RQ2: ResultsRQ2: Results

Very LikelyVery Likely

LikelyLikely

PossiblePossible

UnlikelyUnlikely

Page 18: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

RQ2: ResultsRQ2: Results

Page 19: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

Benefits AchievementBenefits Achievement CodeCodeGenerGener

..

ModelModelInterprInterpr

..

ModelModelTransforTransfor

mm

ToolsmiToolsmithth UMLUML

UMLUMLProfileProfile

ssDSLDSL

DesignDesign 2.42.4

DocumentatioDocumentationn

2.62.6

MaintenanceMaintenance

QualityQuality

StandardizatioStandardizationn

2.22.2 3.93.9 4.74.7

FlexibilityFlexibility 3.93.9 3.93.9 3.13.1ProductivityProductivity 3.93.9 4.24.2 8.38.3 4.24.2 3.43.4

ReactivityReactivity 4.04.0 5.55.5IndependenceIndependence 3.03.0 4.74.7 4.24.2 9.99.9 4.34.3

Odds ratiosOdds ratios

Page 20: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

RQ3: MetricsRQ3: Metrics

What are the problems preventing the adoption of What are the problems preventing the adoption of modelling and MD*?modelling and MD*?

Too much effort required Too much effort required Not useful enoughNot useful enoughLack of competenciesLack of competenciesLack of supporting toolsLack of supporting toolsRefusal from managementRefusal from managementCost of supporting toolsCost of supporting toolsRefusal from developersRefusal from developersFear of lock-inFear of lock-inNot flexible enoughNot flexible enoughInadequacy of supporting toolsInadequacy of supporting tools}}ProblemProblem

RelevanceRelevance

Page 21: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

RQ3 - ResultsRQ3 - Results

RelevantRelevant

LittleLittleRelevantRelevant

IrrelevantIrrelevant6 times more likely to 6 times more likely to

occur among MD* occur among MD* adoptersadopters

6 times more likely to 6 times more likely to occur among MD* occur among MD*

adoptersadopters

Page 22: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

Threats to validityThreats to validity

ConstructConstruct

Did we capture the essential aspects of MD*?Did we capture the essential aspects of MD*?

InternalInternal

Sampling (selection bias)Sampling (selection bias)

ExternalExternal

How representative of the Italian (EU) IT How representative of the Italian (EU) IT industry?industry?

Page 23: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

ConclusionsConclusions

MD* is a MD* is a relevantrelevant technology, modeling is technology, modeling is higly relevanthigly relevant

A few (very) likely benefits of modelingA few (very) likely benefits of modeling

MD* techniques make the chances of MD* techniques make the chances of achieving the less likely benefits four+ times achieving the less likely benefits four+ times higherhigher

Toolsmithing provides several benefitsToolsmithing provides several benefits

UML apparently plays no significant roleUML apparently plays no significant role

Page 24: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

ConclusionsConclusions

Main problemsMain problems

Too much effort estimatedToo much effort estimated

Not useful enoughNot useful enough

Lack of competenciesLack of competencies

Among MD* fear of lock-inAmong MD* fear of lock-in

Page 25: Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques

Thank youThank you

For further details:For further details:

Marco Torchiano, Federico Tomassetti, Filippo Ricca, Marco Torchiano, Federico Tomassetti, Filippo Ricca, Alessandro Tiso, Gianna Reggio, Alessandro Tiso, Gianna Reggio, Relevance, Benefits, and Problems of Software Relevance, Benefits, and Problems of Software Modelling and Model Driven Techniques - A Modelling and Model Driven Techniques - A Survey in the Italian IndustrySurvey in the Italian Industry, , Journal of Systems and Software, Available online 1 Journal of Systems and Software, Available online 1 April 2013, ISSN 0164-1212, April 2013, ISSN 0164-1212, 10.1016/j.jss.2013.03.084.10.1016/j.jss.2013.03.084.((http://www.sciencedirect.com/science/article/pii/S0164http://www.sciencedirect.com/science/article/pii/S0164121213000824121213000824))