SlideShare a Scribd company logo
Dirk-Jan Swagerman
Senior Director Imaging Chain Cluster
September 2017
Why all software teams move
towards zero innovation speed.
And what to do about it
Our businesses in 20161
38% of Group sales 18% of Group sales41% of Group sales
Sales of EUR 17.4 billion
Diagnosis & Treatment
businesses
Connected Care & Health
Informatics businesses
Personal Health
businesses
1 As per Q2 2017, Other accounts for 3% of sales and includes HealthTech Other and Legacy Items
We address customer and consumer needs along
the health continuum
Healthy living Prevention Diagnosis Treatment Home care
Connected care and health informatics
We address customer and consumer needs along
the health continuum
Healthy living Prevention Diagnosis Treatment Home care
Connected care and health informatics
The gardeners dilemma
https://www.linkedin.com/pulse/gardeners-dilemma-dirk-jan-swagerman `
Year 1 Year 2 Year 3 Year 5Year 4
Sound bite: Maintenance is great, if you get paid!
All teams move to zero productivity
𝑃𝑡 = 𝑃0 × 𝑒−𝛼𝑡
α is the rate of maintenance
(non-quality + obsolescence)
The lower your quality, the quicker
you move to zero productivity
What can we do?
• Write less code
• Write better code
• Reduce code
What can we do? – Be brief
“I didn't have time to write a short
letter so i wrote a long one instead”
Mark Twain
Succinctness
1.expressed in few words; concise; terse.
2.characterized by conciseness or verbal brevity.
3.compressed into a small area, scope, or compass.
What can we do? - Greenfield
Write less code
Write better code
Less code = less bugs
Less ways to express it wrong
= less bugs
1. Use domain specific languages
Domain Specific Language
“DSLs are small
languages, focused on a
particular aspect of a
software system”
Martin-Fowler
Succinctness
Getting closer to Kolmogorov complexity
Kolmogorov complexity: The length of the shortest computer program that
produces the desired output
You cannot get closer to low Kolmogorov complexity than with a well
designed DSL
Assembly 3GL 4GL UML DSL
ComMA
Component Modeling & Analysis
Design better interfaces faster and concisely
Comma is a DSL where the ‘particular aspect’ happens to be
software interface design
Co-owned and created by Philips and TNO-ESI
SellerBuyer
What is the problem with software interfaces?
Give contracts
Wants car
Signs contract
Contract
Clause A: Seller delivers car to Buyer
Clause B: Buyer pays Seller 100 k€
Interface between parties
What are interfaces?
In which order are Clause A and Clause B executed?
What is the time between the execution of the clauses?
SellerBuyer SellerBuyer
Pays amount
Orders
Signs contract
Delivers Car
Signs contract
Delivers Car
Pays amountTime
Contract
Clause A: Seller delivers car to Buyer
Clause B: Buyer pays Seller 100 k€
What are software interfaces?
Software interface are like contracts. In software interfaces specifications: We describe
the clauses, We do not describe the order, We do not describe the timing
SellerBuyer SellerBuyer
Pays amount
Orders
Signs contract
Delivers Car
Signs contract
Delivers Car
Pays amountTime
Contract
Clause A: Seller delivers car to Buyer
Clause B: Buyer pays Seller 100 k€
Described
Non
Described
What is the proposed solution?
We created a toolset called: Component Modeling & Analysis (ComMA)
With ComMA interfaces can be described properly, ComMA checks interface conformance
SellerBuyer SellerBuyer
Pays amount
Orders
Signs contract
Delivers Car
Signs contract
Delivers Car
Pays amountTime
Contract
Clause A: Seller delivers car to Buyer
Clause B: Buyer pays Seller 100 k€
Described
W ComMa
Described
W ComMa
ComMA: Component Modeling & Analysis
interface ICamera {
types
enum Status {OnOK OnFailed}
commands
Status PowerOn
void PowerOff
void Click
int GetPictureNumber
notifications
CameraStatus(Status s)
LowBattery
EmptyBattery
}
Signature
behavior
machine camera provides ICamera {
init
count := 0
initial state Off {
transition trigger: ICamera::PowerOn
do: reply(ICamera::Status::OnOK)
next state: SwitchingOn
OR
do: reply(ICamera::Status::OnFailed)
next state: Off
}
TR1 in state SwitchingOn
command ICamera::PowerOff - [ .. 32.0 ms ]
-> reply
TR2 in state On
command ICamera::Click - [ 10.0 ms .. 100.0 ms ]
-> notification ICamera::PictureTaken
TR5 notification ICamera::LowBattery
then notification ICamera::LowBattery
with period 750.0 ms jitter 50.0 ms
until notification ICamera::EmptyBattery
Behavior Constraints
Design
documentation
Interface
code
Model based
Test Suite
Executable
Simulator
Interface
Conformance Check
Design for Six Sigma integration
The performance timing of an
implementation can monitored
and checked statistically.
ComMA will check
conformance against spec.
ComMA is free to use and download…
for non-competitors
We are interested in strengthening the ecosystem!
Contact jozef.hooman@tno.nl
Positioning DSL: Collision prevention
restriction VeryCloseTableTopAndBeam
activation
distance (TableTop, Beam) < 20 mm
effects
userGuidance “TableTop and Beam very close”
relative limit TableTop*[Rotation, Translation],
Beam*[Rotation, Translation]
User input on real hardware Poosl simulation System Simulator
User
Input
System
Commands
What can we do? - Maintenance
2. Drive quality cultureDrive quality culture
There is too much code in high-
tech systems that is not of
economic value
Over-production
Your software stack is bigger than needed
2
4
Confidential – For Internal Use Only
Over-abstraction
Over-processing
Over-branching
Conway's law
Your team needs a code down target!
https://www.linkedin.com/pulse/why-your-team-needs-code-down-target-dirk-jan-swagerman
8M Lines of code
Your team needs a code down target!
Credits: https://twitter.com/BrennaIvyArt
https://www.linkedin.com/pulse/why-your-team-needs-code-down-target-dirk-jan-swagerman
4M Lines of code
1.8M Lines of code -> 350 KLOC
What can we do? - Maintenance
Model based legacy transformation
Model based legacy transformation
Acquisition control subsystem
1.8M
Step 1 – Refactor with confidence
Gherkin/Specflow to capture legacy behavior in rigorous test harness
1.8M
Step 2 - Model-based migration
Opportunity
• New field service framework
• Collaboration with TNO
1.8M
1.2 M
Results
• 70% smaller code base than legacy software
• 80% effort reduction over manual migration
Step 2 – HW Obsolescence as opportunity
Opportunity
• Introduction of state of the art hardware
IGCIGC
FrontEnd Adapter
Application State
Controller
Scenario Controller
Image Generation
Controller (IGC)
Beam Limitation
Controller (BLC)
BackEnd Controller
(BEC)
Generator
Service
Image
Detection
Service
Collimator
Service
Sequencer
Service
Misc. IO
Service
SIB Certeray FDC
0.8M
1.2 M
Results
• 30% reduction of the code
Step 3 – Continuous ‘refactoring’
Opportunity
• Smaller continuous model based
refactoring's
• State machines modeled in state of the
art model based tools
0.8M
0.5 M
Results
• 40% reduction of the code
• Typically using modeling
reduces defects found during
integration with a factor of 10.
Model based refactoring results
1.3M Lines of code reduction in 4 years!
0.5 M
1.8M
Culture before result
Create pull before push
Management
• Vision – Explain ‘why’
• Support
Success Chance = Vision x Support x Skills x Openness x Opportunity
Team will identify opportunities!
Team
• Open to explore
• Technical Skills
Summary
• Culture before result
• Pull before push
• Have a code down target!
• Interface semantics &
timing
• State machines
• Positioning DSL’s
Less code
Better code
1. Use domain
specific languages
Reduce code 2. Drive quality culture
3. Model based legacy
transformation
• Create a test harness first
• Replace legacy with models
• Manual
• Automated
Questions?
@djswagerman
https://www.linkedin.com/djswagerman
Philips delivers innovation that
matters to you
Why all software teams move towards zero innovation speed - And what to do about it!

More Related Content

What's hot

СОЕДИНЕННЫЙ МИР
СОЕДИНЕННЫЙ МИРСОЕДИНЕННЫЙ МИР
СОЕДИНЕННЫЙ МИР
startupvillage2014
 
IoT: The T is for Telco, Isn't it?
IoT: The T is for Telco, Isn't it?IoT: The T is for Telco, Isn't it?
IoT: The T is for Telco, Isn't it?
Francisco J. Jariego, PhD.
 
LPWA-Open for Business. It’s time to execute
LPWA-Open for Business. It’s time to executeLPWA-Open for Business. It’s time to execute
LPWA-Open for Business. It’s time to execute
Telefónica IoT
 
The Ericsson Experiece at Mobile World Congress 2016
The Ericsson Experiece at Mobile World Congress 2016The Ericsson Experiece at Mobile World Congress 2016
The Ericsson Experiece at Mobile World Congress 2016
Ericsson Latin America
 
Iot launch
Iot launchIot launch
Iot launch
Ericsson
 
Telecom Italia's vision on future business drivers and IT implications
Telecom Italia's vision on future business drivers and IT implicationsTelecom Italia's vision on future business drivers and IT implications
Telecom Italia's vision on future business drivers and IT implications
Oscar Cicchetti
 
OSS/BSS User Group 2017
OSS/BSS User Group 2017OSS/BSS User Group 2017
OSS/BSS User Group 2017
Ericsson
 
Why an innovation culture is critical at the 5G network era
Why an innovation culture is critical at the 5G network eraWhy an innovation culture is critical at the 5G network era
Why an innovation culture is critical at the 5G network era
Corporate Startup Summit
 
an IoT 'Street Mesh' for Smart Parking, Local Marketing and Low Cost IoT Devices
an IoT 'Street Mesh' for Smart Parking, Local Marketing and Low Cost IoT Devicesan IoT 'Street Mesh' for Smart Parking, Local Marketing and Low Cost IoT Devices
an IoT 'Street Mesh' for Smart Parking, Local Marketing and Low Cost IoT Devices
Richard Brooks
 
DWS17 - Digital Content seminar - Florence LE BORGNE - IDATE Digiworld
DWS17 - Digital Content seminar - Florence LE BORGNE -  IDATE DigiworldDWS17 - Digital Content seminar - Florence LE BORGNE -  IDATE Digiworld
DWS17 - Digital Content seminar - Florence LE BORGNE - IDATE Digiworld
IDATE DigiWorld
 
Worknet smart pole overview
Worknet smart pole overviewWorknet smart pole overview
Worknet smart pole overview
Mike Maziarka
 
All connected, all cloud all intelligent
All connected, all cloud all intelligentAll connected, all cloud all intelligent
All connected, all cloud all intelligent
Huawei Technologies
 
Top 10 Strategic Tech Trends 2018 Pt 2
Top 10 Strategic Tech Trends 2018 Pt 2Top 10 Strategic Tech Trends 2018 Pt 2
Top 10 Strategic Tech Trends 2018 Pt 2
InterQuest Group
 
DWS17 - Plenary Session : Investment and digital infrastructure - Carlos LOPE...
DWS17 - Plenary Session : Investment and digital infrastructure - Carlos LOPE...DWS17 - Plenary Session : Investment and digital infrastructure - Carlos LOPE...
DWS17 - Plenary Session : Investment and digital infrastructure - Carlos LOPE...
IDATE DigiWorld
 
Google as telecom player - Value Grid Framework Critique
Google as telecom player - Value Grid Framework CritiqueGoogle as telecom player - Value Grid Framework Critique
Google as telecom player - Value Grid Framework Critique
Rohit Singh
 
Ericsson Technology Review - issue 2, 2017
Ericsson Technology Review - issue 2, 2017Ericsson Technology Review - issue 2, 2017
Ericsson Technology Review - issue 2, 2017
Ericsson
 
Real time ai on the edge
Real time ai on the edgeReal time ai on the edge
Real time ai on the edge
Anders Hardebring
 
Imagimob presentation at the Stockholm IoT Investment Summit
Imagimob presentation at the Stockholm IoT Investment SummitImagimob presentation at the Stockholm IoT Investment Summit
Imagimob presentation at the Stockholm IoT Investment Summit
Anders Hardebring
 
DWS17 - A time for big strategic bets - Plenary session -Rainer KALLENBACH - ...
DWS17 - A time for big strategic bets - Plenary session -Rainer KALLENBACH - ...DWS17 - A time for big strategic bets - Plenary session -Rainer KALLENBACH - ...
DWS17 - A time for big strategic bets - Plenary session -Rainer KALLENBACH - ...
IDATE DigiWorld
 

What's hot (20)

СОЕДИНЕННЫЙ МИР
СОЕДИНЕННЫЙ МИРСОЕДИНЕННЫЙ МИР
СОЕДИНЕННЫЙ МИР
 
09 ivideon
09 ivideon09 ivideon
09 ivideon
 
IoT: The T is for Telco, Isn't it?
IoT: The T is for Telco, Isn't it?IoT: The T is for Telco, Isn't it?
IoT: The T is for Telco, Isn't it?
 
LPWA-Open for Business. It’s time to execute
LPWA-Open for Business. It’s time to executeLPWA-Open for Business. It’s time to execute
LPWA-Open for Business. It’s time to execute
 
The Ericsson Experiece at Mobile World Congress 2016
The Ericsson Experiece at Mobile World Congress 2016The Ericsson Experiece at Mobile World Congress 2016
The Ericsson Experiece at Mobile World Congress 2016
 
Iot launch
Iot launchIot launch
Iot launch
 
Telecom Italia's vision on future business drivers and IT implications
Telecom Italia's vision on future business drivers and IT implicationsTelecom Italia's vision on future business drivers and IT implications
Telecom Italia's vision on future business drivers and IT implications
 
OSS/BSS User Group 2017
OSS/BSS User Group 2017OSS/BSS User Group 2017
OSS/BSS User Group 2017
 
Why an innovation culture is critical at the 5G network era
Why an innovation culture is critical at the 5G network eraWhy an innovation culture is critical at the 5G network era
Why an innovation culture is critical at the 5G network era
 
an IoT 'Street Mesh' for Smart Parking, Local Marketing and Low Cost IoT Devices
an IoT 'Street Mesh' for Smart Parking, Local Marketing and Low Cost IoT Devicesan IoT 'Street Mesh' for Smart Parking, Local Marketing and Low Cost IoT Devices
an IoT 'Street Mesh' for Smart Parking, Local Marketing and Low Cost IoT Devices
 
DWS17 - Digital Content seminar - Florence LE BORGNE - IDATE Digiworld
DWS17 - Digital Content seminar - Florence LE BORGNE -  IDATE DigiworldDWS17 - Digital Content seminar - Florence LE BORGNE -  IDATE Digiworld
DWS17 - Digital Content seminar - Florence LE BORGNE - IDATE Digiworld
 
Worknet smart pole overview
Worknet smart pole overviewWorknet smart pole overview
Worknet smart pole overview
 
All connected, all cloud all intelligent
All connected, all cloud all intelligentAll connected, all cloud all intelligent
All connected, all cloud all intelligent
 
Top 10 Strategic Tech Trends 2018 Pt 2
Top 10 Strategic Tech Trends 2018 Pt 2Top 10 Strategic Tech Trends 2018 Pt 2
Top 10 Strategic Tech Trends 2018 Pt 2
 
DWS17 - Plenary Session : Investment and digital infrastructure - Carlos LOPE...
DWS17 - Plenary Session : Investment and digital infrastructure - Carlos LOPE...DWS17 - Plenary Session : Investment and digital infrastructure - Carlos LOPE...
DWS17 - Plenary Session : Investment and digital infrastructure - Carlos LOPE...
 
Google as telecom player - Value Grid Framework Critique
Google as telecom player - Value Grid Framework CritiqueGoogle as telecom player - Value Grid Framework Critique
Google as telecom player - Value Grid Framework Critique
 
Ericsson Technology Review - issue 2, 2017
Ericsson Technology Review - issue 2, 2017Ericsson Technology Review - issue 2, 2017
Ericsson Technology Review - issue 2, 2017
 
Real time ai on the edge
Real time ai on the edgeReal time ai on the edge
Real time ai on the edge
 
Imagimob presentation at the Stockholm IoT Investment Summit
Imagimob presentation at the Stockholm IoT Investment SummitImagimob presentation at the Stockholm IoT Investment Summit
Imagimob presentation at the Stockholm IoT Investment Summit
 
DWS17 - A time for big strategic bets - Plenary session -Rainer KALLENBACH - ...
DWS17 - A time for big strategic bets - Plenary session -Rainer KALLENBACH - ...DWS17 - A time for big strategic bets - Plenary session -Rainer KALLENBACH - ...
DWS17 - A time for big strategic bets - Plenary session -Rainer KALLENBACH - ...
 

Similar to Why all software teams move towards zero innovation speed - And what to do about it!

Understanding the TCO and ROI of Apache Kafka & Confluent
Understanding the TCO and ROI of Apache Kafka & ConfluentUnderstanding the TCO and ROI of Apache Kafka & Confluent
Understanding the TCO and ROI of Apache Kafka & Confluent
confluent
 
IBM Cost Optimization Seminar 4th November 2015
IBM Cost Optimization Seminar 4th November 2015IBM Cost Optimization Seminar 4th November 2015
IBM Cost Optimization Seminar 4th November 2015
Martin Thompson
 
SMTAI PowerPoint: Blockchain for High Tech
SMTAI PowerPoint: Blockchain for High Tech SMTAI PowerPoint: Blockchain for High Tech
SMTAI PowerPoint: Blockchain for High Tech
Quentin Samelson
 
Building Operational Intelligence in Telecom with IBM ODM @Claro
Building Operational Intelligence in Telecom with IBM ODM @ClaroBuilding Operational Intelligence in Telecom with IBM ODM @Claro
Building Operational Intelligence in Telecom with IBM ODM @Claro
Icaro Tech
 
Osm
OsmOsm
Density based traffic light controlling (2)
Density based traffic light controlling (2)Density based traffic light controlling (2)
Density based traffic light controlling (2)hardik1240
 
Dcc Cheque Scanner
Dcc Cheque ScannerDcc Cheque Scanner
Dcc Cheque Scanner
arigleton
 
Gcs presentationoct2012md
Gcs presentationoct2012mdGcs presentationoct2012md
Gcs presentationoct2012mddelaney882000
 
GCS Presentation 2012 1
GCS Presentation 2012 1GCS Presentation 2012 1
GCS Presentation 2012 1
cbirdsall
 
Traffic Fms 050209
Traffic Fms 050209Traffic Fms 050209
Traffic Fms 050209
Vinay Chaddha
 
1250 alcohol-detection-with-vehicle-controlling
1250 alcohol-detection-with-vehicle-controlling1250 alcohol-detection-with-vehicle-controlling
1250 alcohol-detection-with-vehicle-controlling
Mikroc Srinivs
 
Deepak-Computational Advertising-The LinkedIn Way
Deepak-Computational Advertising-The LinkedIn WayDeepak-Computational Advertising-The LinkedIn Way
Deepak-Computational Advertising-The LinkedIn Wayyingfeng
 
Omnicomm offer for the aftermarket
Omnicomm offer for the aftermarketOmnicomm offer for the aftermarket
Omnicomm offer for the aftermarket
Dmitry Ilyin
 
The Light Bulb Moment – Learning to-identify-robotic-automation-opportunities
The Light Bulb Moment – Learning to-identify-robotic-automation-opportunitiesThe Light Bulb Moment – Learning to-identify-robotic-automation-opportunities
The Light Bulb Moment – Learning to-identify-robotic-automation-opportunities
OpenSpan
 
EX 2009 ("TracTix")
EX 2009 ("TracTix")EX 2009 ("TracTix")
EX 2009 ("TracTix")
Gaining Insight
 
Range Rover MKIII- ALL COMMS
Range Rover MKIII- ALL COMMSRange Rover MKIII- ALL COMMS
Range Rover MKIII- ALL COMMS
Jack Chen
 
Digital Lifestyle & M2M
Digital Lifestyle & M2MDigital Lifestyle & M2M
Digital Lifestyle & M2M
Comarch
 
M3000 Data Sheet
M3000 Data SheetM3000 Data Sheet
M3000 Data Sheetpfarwell
 

Similar to Why all software teams move towards zero innovation speed - And what to do about it! (20)

Understanding the TCO and ROI of Apache Kafka & Confluent
Understanding the TCO and ROI of Apache Kafka & ConfluentUnderstanding the TCO and ROI of Apache Kafka & Confluent
Understanding the TCO and ROI of Apache Kafka & Confluent
 
IBM Cost Optimization Seminar 4th November 2015
IBM Cost Optimization Seminar 4th November 2015IBM Cost Optimization Seminar 4th November 2015
IBM Cost Optimization Seminar 4th November 2015
 
Himanth_Resume
Himanth_ResumeHimanth_Resume
Himanth_Resume
 
SMTAI PowerPoint: Blockchain for High Tech
SMTAI PowerPoint: Blockchain for High Tech SMTAI PowerPoint: Blockchain for High Tech
SMTAI PowerPoint: Blockchain for High Tech
 
Building Operational Intelligence in Telecom with IBM ODM @Claro
Building Operational Intelligence in Telecom with IBM ODM @ClaroBuilding Operational Intelligence in Telecom with IBM ODM @Claro
Building Operational Intelligence in Telecom with IBM ODM @Claro
 
Osm
OsmOsm
Osm
 
Density based traffic light controlling (2)
Density based traffic light controlling (2)Density based traffic light controlling (2)
Density based traffic light controlling (2)
 
Dcc Cheque Scanner
Dcc Cheque ScannerDcc Cheque Scanner
Dcc Cheque Scanner
 
Gcs presentationoct2012md
Gcs presentationoct2012mdGcs presentationoct2012md
Gcs presentationoct2012md
 
GCS Presentation 2012 1
GCS Presentation 2012 1GCS Presentation 2012 1
GCS Presentation 2012 1
 
Traffic Fms 050209
Traffic Fms 050209Traffic Fms 050209
Traffic Fms 050209
 
1250 alcohol-detection-with-vehicle-controlling
1250 alcohol-detection-with-vehicle-controlling1250 alcohol-detection-with-vehicle-controlling
1250 alcohol-detection-with-vehicle-controlling
 
Deepak-Computational Advertising-The LinkedIn Way
Deepak-Computational Advertising-The LinkedIn WayDeepak-Computational Advertising-The LinkedIn Way
Deepak-Computational Advertising-The LinkedIn Way
 
Omnicomm offer for the aftermarket
Omnicomm offer for the aftermarketOmnicomm offer for the aftermarket
Omnicomm offer for the aftermarket
 
The Light Bulb Moment – Learning to-identify-robotic-automation-opportunities
The Light Bulb Moment – Learning to-identify-robotic-automation-opportunitiesThe Light Bulb Moment – Learning to-identify-robotic-automation-opportunities
The Light Bulb Moment – Learning to-identify-robotic-automation-opportunities
 
EX 2009 ("TracTix")
EX 2009 ("TracTix")EX 2009 ("TracTix")
EX 2009 ("TracTix")
 
Range Rover MKIII- ALL COMMS
Range Rover MKIII- ALL COMMSRange Rover MKIII- ALL COMMS
Range Rover MKIII- ALL COMMS
 
Final_presentation_ITS
Final_presentation_ITSFinal_presentation_ITS
Final_presentation_ITS
 
Digital Lifestyle & M2M
Digital Lifestyle & M2MDigital Lifestyle & M2M
Digital Lifestyle & M2M
 
M3000 Data Sheet
M3000 Data SheetM3000 Data Sheet
M3000 Data Sheet
 

Recently uploaded

Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
vrstrong314
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 

Recently uploaded (20)

Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 

Why all software teams move towards zero innovation speed - And what to do about it!

  • 1. Dirk-Jan Swagerman Senior Director Imaging Chain Cluster September 2017 Why all software teams move towards zero innovation speed. And what to do about it
  • 2. Our businesses in 20161 38% of Group sales 18% of Group sales41% of Group sales Sales of EUR 17.4 billion Diagnosis & Treatment businesses Connected Care & Health Informatics businesses Personal Health businesses 1 As per Q2 2017, Other accounts for 3% of sales and includes HealthTech Other and Legacy Items
  • 3. We address customer and consumer needs along the health continuum Healthy living Prevention Diagnosis Treatment Home care Connected care and health informatics
  • 4. We address customer and consumer needs along the health continuum Healthy living Prevention Diagnosis Treatment Home care Connected care and health informatics
  • 5.
  • 6. The gardeners dilemma https://www.linkedin.com/pulse/gardeners-dilemma-dirk-jan-swagerman ` Year 1 Year 2 Year 3 Year 5Year 4 Sound bite: Maintenance is great, if you get paid!
  • 7. All teams move to zero productivity 𝑃𝑡 = 𝑃0 × 𝑒−𝛼𝑡 α is the rate of maintenance (non-quality + obsolescence) The lower your quality, the quicker you move to zero productivity
  • 8. What can we do? • Write less code • Write better code • Reduce code
  • 9. What can we do? – Be brief “I didn't have time to write a short letter so i wrote a long one instead” Mark Twain Succinctness 1.expressed in few words; concise; terse. 2.characterized by conciseness or verbal brevity. 3.compressed into a small area, scope, or compass.
  • 10. What can we do? - Greenfield Write less code Write better code Less code = less bugs Less ways to express it wrong = less bugs 1. Use domain specific languages
  • 11. Domain Specific Language “DSLs are small languages, focused on a particular aspect of a software system” Martin-Fowler
  • 12. Succinctness Getting closer to Kolmogorov complexity Kolmogorov complexity: The length of the shortest computer program that produces the desired output You cannot get closer to low Kolmogorov complexity than with a well designed DSL Assembly 3GL 4GL UML DSL
  • 13. ComMA Component Modeling & Analysis Design better interfaces faster and concisely Comma is a DSL where the ‘particular aspect’ happens to be software interface design Co-owned and created by Philips and TNO-ESI
  • 14. SellerBuyer What is the problem with software interfaces? Give contracts Wants car Signs contract Contract Clause A: Seller delivers car to Buyer Clause B: Buyer pays Seller 100 k€ Interface between parties
  • 15. What are interfaces? In which order are Clause A and Clause B executed? What is the time between the execution of the clauses? SellerBuyer SellerBuyer Pays amount Orders Signs contract Delivers Car Signs contract Delivers Car Pays amountTime Contract Clause A: Seller delivers car to Buyer Clause B: Buyer pays Seller 100 k€
  • 16. What are software interfaces? Software interface are like contracts. In software interfaces specifications: We describe the clauses, We do not describe the order, We do not describe the timing SellerBuyer SellerBuyer Pays amount Orders Signs contract Delivers Car Signs contract Delivers Car Pays amountTime Contract Clause A: Seller delivers car to Buyer Clause B: Buyer pays Seller 100 k€ Described Non Described
  • 17. What is the proposed solution? We created a toolset called: Component Modeling & Analysis (ComMA) With ComMA interfaces can be described properly, ComMA checks interface conformance SellerBuyer SellerBuyer Pays amount Orders Signs contract Delivers Car Signs contract Delivers Car Pays amountTime Contract Clause A: Seller delivers car to Buyer Clause B: Buyer pays Seller 100 k€ Described W ComMa Described W ComMa
  • 18. ComMA: Component Modeling & Analysis interface ICamera { types enum Status {OnOK OnFailed} commands Status PowerOn void PowerOff void Click int GetPictureNumber notifications CameraStatus(Status s) LowBattery EmptyBattery } Signature behavior machine camera provides ICamera { init count := 0 initial state Off { transition trigger: ICamera::PowerOn do: reply(ICamera::Status::OnOK) next state: SwitchingOn OR do: reply(ICamera::Status::OnFailed) next state: Off } TR1 in state SwitchingOn command ICamera::PowerOff - [ .. 32.0 ms ] -> reply TR2 in state On command ICamera::Click - [ 10.0 ms .. 100.0 ms ] -> notification ICamera::PictureTaken TR5 notification ICamera::LowBattery then notification ICamera::LowBattery with period 750.0 ms jitter 50.0 ms until notification ICamera::EmptyBattery Behavior Constraints Design documentation Interface code Model based Test Suite Executable Simulator Interface Conformance Check
  • 19. Design for Six Sigma integration The performance timing of an implementation can monitored and checked statistically. ComMA will check conformance against spec.
  • 20. ComMA is free to use and download… for non-competitors We are interested in strengthening the ecosystem! Contact jozef.hooman@tno.nl
  • 21. Positioning DSL: Collision prevention restriction VeryCloseTableTopAndBeam activation distance (TableTop, Beam) < 20 mm effects userGuidance “TableTop and Beam very close” relative limit TableTop*[Rotation, Translation], Beam*[Rotation, Translation] User input on real hardware Poosl simulation System Simulator User Input System Commands
  • 22. What can we do? - Maintenance 2. Drive quality cultureDrive quality culture
  • 23. There is too much code in high- tech systems that is not of economic value
  • 24. Over-production Your software stack is bigger than needed 2 4 Confidential – For Internal Use Only Over-abstraction Over-processing Over-branching Conway's law Your team needs a code down target! https://www.linkedin.com/pulse/why-your-team-needs-code-down-target-dirk-jan-swagerman
  • 25. 8M Lines of code
  • 26. Your team needs a code down target! Credits: https://twitter.com/BrennaIvyArt https://www.linkedin.com/pulse/why-your-team-needs-code-down-target-dirk-jan-swagerman 4M Lines of code
  • 27. 1.8M Lines of code -> 350 KLOC
  • 28. What can we do? - Maintenance Model based legacy transformation
  • 29. Model based legacy transformation Acquisition control subsystem 1.8M
  • 30. Step 1 – Refactor with confidence Gherkin/Specflow to capture legacy behavior in rigorous test harness 1.8M
  • 31. Step 2 - Model-based migration Opportunity • New field service framework • Collaboration with TNO 1.8M 1.2 M Results • 70% smaller code base than legacy software • 80% effort reduction over manual migration
  • 32. Step 2 – HW Obsolescence as opportunity Opportunity • Introduction of state of the art hardware IGCIGC FrontEnd Adapter Application State Controller Scenario Controller Image Generation Controller (IGC) Beam Limitation Controller (BLC) BackEnd Controller (BEC) Generator Service Image Detection Service Collimator Service Sequencer Service Misc. IO Service SIB Certeray FDC 0.8M 1.2 M Results • 30% reduction of the code
  • 33. Step 3 – Continuous ‘refactoring’ Opportunity • Smaller continuous model based refactoring's • State machines modeled in state of the art model based tools 0.8M 0.5 M Results • 40% reduction of the code • Typically using modeling reduces defects found during integration with a factor of 10.
  • 34. Model based refactoring results 1.3M Lines of code reduction in 4 years! 0.5 M 1.8M
  • 35. Culture before result Create pull before push Management • Vision – Explain ‘why’ • Support Success Chance = Vision x Support x Skills x Openness x Opportunity Team will identify opportunities! Team • Open to explore • Technical Skills
  • 36. Summary • Culture before result • Pull before push • Have a code down target! • Interface semantics & timing • State machines • Positioning DSL’s Less code Better code 1. Use domain specific languages Reduce code 2. Drive quality culture 3. Model based legacy transformation • Create a test harness first • Replace legacy with models • Manual • Automated
  • 38. Philips delivers innovation that matters to you