relevance, benefits, and problems of software modelling and model-driven techniques
DESCRIPTION
A Survey in the Italian Industry. Full info in the paper: http://www.sciencedirect.com.ezproxy.biblio.polito.it/science/article/pii/S0164121213000824TRANSCRIPT
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)
AgendaAgenda
MotivationMotivation
Survey designSurvey design
ResultsResults
ConclusionsConclusions
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
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).
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
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
Questionnaire pathsQuestionnaire paths
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*?
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
Relevance thresholdsRelevance thresholds
10%10% 25%25% 50%50%
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
RQ1: ResultsRQ1: Results
10%10% 25%25% 50%50%
Highly Highly RelevantRelevantHighly Highly
RelevantRelevant
RQ1:Languages & RQ1:Languages & notationsnotations
38%38%
51%51%
11%11%{{ModellersModellers
76% use76% useUMLUML
21% use21% useDSLsDSLs
50%50%27%27%
23%23%
R1: MD* key techniquesR1: MD* key techniques
{{Modelle
rsM
odelle
rs
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
Likelihood thresholdsLikelihood thresholds
10%10% 25%25% 50%50%
RQ2: ResultsRQ2: Results
Very LikelyVery Likely
LikelyLikely
PossiblePossible
UnlikelyUnlikely
RQ2: ResultsRQ2: Results
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
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
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
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?
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
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
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))