Relevance, Benefits, and Problems of Software Modelling and Model-Driven Techniques
1. Relevance, Benefits, andRelevance, Benefits, and
Problems of SoftwareProblems of Software
Modelling and Model DrivenModelling and Model Driven
TechniquesTechniques
A 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.ReggioA joint research conducted with F.Tomassetti (PoliTo), F.Ricca, A.Tiso, and G.Reggio
(UniGe)(UniGe)
3. MotivationMotivation
Claimed benefits of software Modelling andClaimed benefits of software Modelling and
Model Driven techniques (MD*) areModel Driven techniques (MD*) are
improvements in:improvements in:
productivity,productivity,
portability,portability,
maintainability, andmaintainability, and
interoperability.interoperability.
Though, few efforts at collectingThough, few efforts at collecting evidenceevidence
4. GoalsGoals
G1G1 Assess the actual relevance of softwareAssess 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* areFind out the way modelling and MD* are
applied (i.e., which processes, languagesapplied (i.e., which processes, languages
and tools are used), andand tools are used), and
G3G3 Understand the motivations either leadingUnderstand the motivations either leading
to the adoption (expected benefits) orto the adoption (expected benefits) or
preventing it (experienced or perceivedpreventing it (experienced or perceived
problems).problems).
5. 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
6. 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
8. 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*?
9. RelevanceRelevance
A software development technology is relevantA software development technology is relevant
to software engineering if it increases theto software engineering if it increases the
likelihood of improving software developmentlikelihood of improving software development
practicespractices
Technical aspectsTechnical aspects
Process aspectsProcess aspects
~ % of developers adopting it~ % of developers adopting it
11. RQ1: MetricsRQ1: Metrics
Are models used for software development inAre 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 ofPercentage of ModellersModellers (i.e. Always +(i.e. Always +
Sometimes)Sometimes)
RelevanceRelevance
15. RQ2: MetricsRQ2: Metrics
What are the benefits verified as consequences ofWhat are the benefits verified as consequences of
using modelling?using modelling?
Design supportDesign support
Improved documentationImproved documentation
Improved development flexibilityImproved development flexibility
Improved productivityImproved productivity
Quality of the softwareQuality of the software
Maintenance supportMaintenance support
Platform independencePlatform independence
StandardizationStandardization
Shortened reaction time to changesShortened reaction time to changes}}BenefitBenefit
achievementachievement
ratioratio
20. RQ3: MetricsRQ3: Metrics
What are the problems preventing the adoption ofWhat are the problems preventing the adoption of
modelling and MD*?modelling and MD*?
Too much effort requiredToo much effort required
Not useful enoughNot useful enough
Lack of competenciesLack of competencies
Lack of supporting toolsLack of supporting tools
Refusal from managementRefusal from management
Cost of supporting toolsCost of supporting tools
Refusal from developersRefusal from developers
Fear of lock-inFear of lock-in
Not flexible enoughNot flexible enough
Inadequacy of supporting toolsInadequacy of supporting tools}}ProblemProblem
RelevanceRelevance
21. RQ3 - ResultsRQ3 - Results
RelevantRelevant
LittleLittle
RelevantRelevant
IrrelevantIrrelevant
6 times more likely to6 times more likely to
occur among MD*occur among MD*
adoptersadopters
6 times more likely to6 times more likely to
occur among MD*occur among MD*
adoptersadopters
22. 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) ITHow representative of the Italian (EU) IT
industry?industry?
23. ConclusionsConclusions
MD* is aMD* is a relevantrelevant technology, modeling istechnology, modeling is higlyhigly
relevantrelevant
A few (very) likely benefits of modelingA few (very) likely benefits of modeling
MD* techniques make the chances ofMD* techniques make the chances of
achieving the less likely benefits four+ timesachieving 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
24. 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
25. Thank youThank you
For further details:For further details:
Marco Torchiano, Federico Tomassetti, FilippoMarco Torchiano, Federico Tomassetti, Filippo
Ricca, Alessandro Tiso, Gianna Reggio,Ricca, Alessandro Tiso, Gianna Reggio,
Relevance, Benefits, and Problems of SoftwareRelevance, Benefits, and Problems of Software
Modelling and Model Driven Techniques - A SurveyModelling and Model Driven Techniques - A Survey
in the Italian Industryin the Italian Industry,,
Journal of Systems and Software, Available onlineJournal of Systems and Software, Available online
1 April 2013, ISSN 0164-1212,1 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/piihttp://www.sciencedirect.com/science/article/pii
/S0164121213000824/S0164121213000824))