SlideShare a Scribd company logo
1 of 28
Download to read offline
1
7 December, 2022
Dr. Juha-Pekka Tolvanen
Measuring Productivity from
Model-Based Development:
A Tale of Two Companies
2
Agenda
◼ Model-based development approaches
◼ Measuring productivity
◼ Evaluations in the industry
– Case 1: Enterprise apps to the cloud
– Case 2: Automation systems
◼ Lessons to be learned
◼ Q&A
3
Model-based development?
Separate
model &
code
Code
Model
Finished
product
…and…
Tests
Config
Simulation
Checking
Metrics
BoM
Guides
Docs
etc.
4
Model-based development?
Separate
model &
code
Code
Model
Finished
product
Low-code,
Simulink
etc.
Code
Finished
product
Model
?
5
NI’s Labview
6
Model-based development?
Code
visualization
Code
'Model'
Finished
product
Separate
model &
code
Code
Model
Finished
product
Low-code,
Simulink
etc.
Code
Finished
product
Model
?
7
Reverse engineering?
1011 0011
...
MOV CX, AX
...
CRichText& mtmBody = iMtm-
>Body();
...
?
?
?
1011 0011
8
Model-based development?
Code
visualization
Code
'Model'
Finished
product
Roundtrip
Code
'Model'
Finished
product
Separate
model &
code
Code
Model
Finished
product
Low-code,
Simulink,
etc.
Code
Finished
product
Model
?
9
public class Alarm extends Thread
{
String name;
boolean localTimeAwareness;
String alarmState;
int sleepTime;
AbstractWatchApplication alarmApplication;
static final int dayMs;
volatile boolean isLive=false;
public Alarm(String alarmName, boolean aware, A
public void run()
public void stopAlarm()
}
10
Model-based development?
Code
Model
DSM,
DSL
Finished
product
Code
visualization
Code
'Model'
Finished
product
Roundtrip
Code
'Model'
Finished
product
Separate
model &
code
Code
Model
Finished
product
M2M
MDA®
Code
Mode
Finished
product
Model n
Low-code,
Simulink
etc.
Code
Finished
product
Model
?
11
What should be measured?
◼ Code related metrics (e.g. LoC)?
◼ Developer’s effort in the UI: the number of keyboard
inputs, mouse clicks, drag-and-drops etc.?
◼ Opinions on the user-friendliness, ease of learning etc.?
◼ Being able to complete given tasks?
◼ How well the approach can prevent errors (bugs)?
◼ Development time?
– Perhaps most widely applied by academia and industry
– Works over different languages
– Acts as a proxy for the costs
– Is a basis for budgeting, salaries, project planning etc.
12
Evaluations in practice?
◼ Companies conduct empirical comparison rarely
– high costs in terms of time or resources
◼ Many good scientific research methods are simply too
expensive and time-consuming for practical use
– large number of developers
– different groups
– repetition etc.
◼ Limited studies, collected experiences and opinions are
more often mentioned
13
Case 1: Enterprise apps for Azure
◼ Company had invested in developing their own
modeling language and code generators
14
Two different development steps
◼ Traditional Programming:
1. Schema definition with SQL Server Management Studio
using SQL
2. Business logic implementation in C# with Visual Studio
3. User interface implementation in HTML and JavaScript
◼ Model-based development:
1. Modeling the application (data, users, user rights, roles,
alerts etc.) with MetaEdit+ and generating the code
2. Adjusting the user interface with SQL
15
Model
16
Evaluation results
Defined parts Programming (h) Modeling (h)
Modeling (& generation) 1.25
Database schema 5.50
Business logic 12.50
User interface 16.50 2.25
Other (project setup etc.) 1.50 3.00
Total 36.00 6.50
Productivity ratio: 554%
17
Sport watches
◼ Heart rate measuring, analysis and visualization
◼ Calorie calculation, like current, cumulative, expenditure rate, active time
◼ Speed: current, average, maximum
◼ Distance, based on interval, trip, recovery
◼ Altimeter, vertical speed, altitude alarms, slope counter, graphical trend
◼ Cycling information like pedaling rate and cycling power
◼ Barometer, pressure drop alarm, graphical trend
◼ Exercise diaries
◼ Sensor connectivity (heart rate, speed, cadence, power, GPS)
◼ Compass, Temperature, Odometer, Logbooks, etc.
18
Sample model
19
Measured productivity
◼ Pilot by one developer
– Measuring time:
>900% faster
◼ Laboratory study, few hours
– 6 developers
– 2 new at Polar (<1y)
– Measured time varied:
from 75 min to 125 min, mean 105
– Productivity: at least 750% faster
– Asking opinions: results (scale 1-5, 5 best):
20
Case 2: Automation system
◼ Systems with HW, SW, deployment and maintenance
◼ functionality: lights, feeding, monitoring, etc.
◼ hardware: sensors, actuators, cabling
◼ persistent data, database
◼ UI
◼ communication network
◼ material needs
◼ deployment and installation
21
Fish farm automation system
◼ Modeling language covers:
– System structure
• network, sensors, controllers etc.
– Control operations
– Data structures
– User interfaces
– Installation
– Deployment
22
Model
23
Evaluation results
Defined parts Clone&own (h) Modeling (h)
Software 16 2
Electrical installation
changes
5
On-site installation 80 60
Total 101 62
Productivity ratio: 163%
24
Lessons learned
◼ Raising the level of abstraction with models and the use
of generators clearly improves productivity
◼ Other than code matters too!
◼ Aim to generate various outputs from the same model
◼ Access to metamodel and generators is relevant
25
Summary
◼ Development time is commonly used measure for
productivity
– In both academic studies and industry reports
◼ Evaluations can be conducted with modest investment
– Develop a small but typical system
– Ask additional developers to participate
• if possible, if interested
◼ Focus evaluation on differences in development
approaches
◼ Consider including maintenance tasks
– if possible
26
Thank you!
Questions?
Comments?
Counter arguments?
Experiences?
Contact: Juha-Pekka Tolvanen, jpt@metacase.com
27
Effort to create domain-specific
languages
"I could define a domain-specific language in
about six hours — design, testing and one
failed trial included"
"It took only one to a few person days for us
to completely create each of the three
metamodels"
"Creation of the modeling language solution
took 7.5 working days, covering the
development of the code generator"
28
Cost of DSL creation: industry cases
◼ Very few companies (and academic papers) report
figures on the creation effort
0 5 10 15
Blood separators
Military radio system
High level synthesis, ESL
Heating remote control
Voice control
Car infotainment
Sport watches
Touch screen controller
Days

More Related Content

Similar to Measuring Productivity from Model-Based Development

Cognizant's Zero Deviation Life Cycle - an Overview
Cognizant's Zero Deviation Life Cycle - an OverviewCognizant's Zero Deviation Life Cycle - an Overview
Cognizant's Zero Deviation Life Cycle - an Overview
Dr. Bippin Makoond
 

Similar to Measuring Productivity from Model-Based Development (20)

SE2023 0101 Software Development Process.pptx
SE2023 0101 Software Development Process.pptxSE2023 0101 Software Development Process.pptx
SE2023 0101 Software Development Process.pptx
 
Cost estamition
Cost estamitionCost estamition
Cost estamition
 
System Development Life Cycle Overview.ppt
System Development Life Cycle Overview.pptSystem Development Life Cycle Overview.ppt
System Development Life Cycle Overview.ppt
 
MODEL-DRIVEN ENGINEERING (MDE) in Practice
MODEL-DRIVEN ENGINEERING (MDE) in PracticeMODEL-DRIVEN ENGINEERING (MDE) in Practice
MODEL-DRIVEN ENGINEERING (MDE) in Practice
 
Software Process Models
 Software Process Models  Software Process Models
Software Process Models
 
lecture 1.pdf
lecture 1.pdflecture 1.pdf
lecture 1.pdf
 
Software development PROCESS
Software development PROCESSSoftware development PROCESS
Software development PROCESS
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
[2015/2016] Software development process
[2015/2016] Software development process[2015/2016] Software development process
[2015/2016] Software development process
 
SE-Lecture1.ppt
SE-Lecture1.pptSE-Lecture1.ppt
SE-Lecture1.ppt
 
2-models.pptx
2-models.pptx2-models.pptx
2-models.pptx
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 session
 
A CASE Lab Report - Project File on "ATM - Banking System"
A CASE Lab Report - Project File on  "ATM - Banking System"A CASE Lab Report - Project File on  "ATM - Banking System"
A CASE Lab Report - Project File on "ATM - Banking System"
 
STREAM-0D: a new vision for Zero-Defect Manufacturing
STREAM-0D: a new vision for Zero-Defect ManufacturingSTREAM-0D: a new vision for Zero-Defect Manufacturing
STREAM-0D: a new vision for Zero-Defect Manufacturing
 
Six sigma ajal
Six sigma ajalSix sigma ajal
Six sigma ajal
 
Part 1-Introduction to CAD-CAM-CAE.pptx
Part 1-Introduction to CAD-CAM-CAE.pptxPart 1-Introduction to CAD-CAM-CAE.pptx
Part 1-Introduction to CAD-CAM-CAE.pptx
 
Introduction Software and Software Engineering
Introduction Software and Software EngineeringIntroduction Software and Software Engineering
Introduction Software and Software Engineering
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Tools
 
Preeti Sharma tech
Preeti Sharma techPreeti Sharma tech
Preeti Sharma tech
 
Cognizant's Zero Deviation Life Cycle - an Overview
Cognizant's Zero Deviation Life Cycle - an OverviewCognizant's Zero Deviation Life Cycle - an Overview
Cognizant's Zero Deviation Life Cycle - an Overview
 

More from Juha-Pekka Tolvanen

More from Juha-Pekka Tolvanen (13)

What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
How to formalize a ubiquitous language into a domain-specific language.pdf
How to formalize a ubiquitous language into a domain-specific language.pdfHow to formalize a ubiquitous language into a domain-specific language.pdf
How to formalize a ubiquitous language into a domain-specific language.pdf
 
How domain specific modeling languages address variability: investigation of ...
How domain specific modeling languages address variability: investigation of ...How domain specific modeling languages address variability: investigation of ...
How domain specific modeling languages address variability: investigation of ...
 
Effort Used to Create Domain-Specific Modeling Languages
Effort Used to Create Domain-Specific Modeling LanguagesEffort Used to Create Domain-Specific Modeling Languages
Effort Used to Create Domain-Specific Modeling Languages
 
Automating safety engineering with model based techniques
Automating safety engineering with model based techniquesAutomating safety engineering with model based techniques
Automating safety engineering with model based techniques
 
Collaborative language engineering and language use: demo with MetaEdit+
Collaborative language engineering and language use: demo with MetaEdit+Collaborative language engineering and language use: demo with MetaEdit+
Collaborative language engineering and language use: demo with MetaEdit+
 
Automotive architecture examples with EAST-ADL models
Automotive architecture examples with EAST-ADL modelsAutomotive architecture examples with EAST-ADL models
Automotive architecture examples with EAST-ADL models
 
Collaborative modeling and metamodeling
Collaborative modeling and metamodelingCollaborative modeling and metamodeling
Collaborative modeling and metamodeling
 
Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+
 
20 examples on Domain-Specific Modeling Languages
20 examples on Domain-Specific Modeling Languages20 examples on Domain-Specific Modeling Languages
20 examples on Domain-Specific Modeling Languages
 
Model level debugging and profiling, Code Generation Conference 2014
Model level debugging and profiling, Code Generation Conference 2014Model level debugging and profiling, Code Generation Conference 2014
Model level debugging and profiling, Code Generation Conference 2014
 
Keynote at Code Generation 2014: The business cases of modeling and generators
Keynote at Code Generation 2014: The business cases of modeling and generatorsKeynote at Code Generation 2014: The business cases of modeling and generators
Keynote at Code Generation 2014: The business cases of modeling and generators
 
Industrial experiences on Domain-Specific Modeling
Industrial experiences on Domain-Specific ModelingIndustrial experiences on Domain-Specific Modeling
Industrial experiences on Domain-Specific Modeling
 

Recently uploaded

AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
Alluxio, Inc.
 

Recently uploaded (20)

AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning Framework
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data Migration
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 
IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024
 
CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdf
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
APVP,apvp apvp High quality supplier safe spot transport, 98% purity
APVP,apvp apvp High quality supplier safe spot transport, 98% purityAPVP,apvp apvp High quality supplier safe spot transport, 98% purity
APVP,apvp apvp High quality supplier safe spot transport, 98% purity
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
SQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionSQL Injection Introduction and Prevention
SQL Injection Introduction and Prevention
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
 
AI Hackathon.pptx
AI                        Hackathon.pptxAI                        Hackathon.pptx
AI Hackathon.pptx
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 

Measuring Productivity from Model-Based Development