Elaborate IDEs cause âProgramming by coincidenceâ. See âThe pragmatic programmerâ. Harald König (FHDW Hannover). IDETâ Software+. MMMDE 2015.
Why do more elaborate IDE’s lead to worse software? Harald K¨onig Univ. of Applied Sciences, FHDW Hannover, Germany
MMMDE, 29.09.2015
Outline
1
Experiences
Outline
1
Experiences
2
Implications
Outline
1
Experiences
2
Implications
3
Outcome
Experiences
Outline
1
Experiences
2
Implications
3
Outcome
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
3 / 15
Experiences
Business Application Development IDE’s . . .
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
4 / 15
Experiences
Business Application Development IDE’s . . . SAP (Systems Applications and Programs in Data Processing - world’s largest provider of standard ERP software)
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
4 / 15
Experiences
Business Application Development IDE’s . . . SAP (Systems Applications and Programs in Data Processing - world’s largest provider of standard ERP software) 1990: Invention of intelligent ABAP/4-IDE
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
4 / 15
Experiences
Business Application Development IDE’s . . . SAP (Systems Applications and Programs in Data Processing - world’s largest provider of standard ERP software) 1990: Invention of intelligent ABAP/4-IDE Market-Driven: Cheap and easy development for everyone
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
4 / 15
Experiences
Business Application Development IDE’s . . . SAP (Systems Applications and Programs in Data Processing - world’s largest provider of standard ERP software) 1990: Invention of intelligent ABAP/4-IDE Market-Driven: Cheap and easy development for everyone
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
4 / 15
Experiences
Business Application Development IDE’s . . . SAP (Systems Applications and Programs in Data Processing - world’s largest provider of standard ERP software) 1990: Invention of intelligent ABAP/4-IDE Market-Driven: Cheap and easy development for everyone generates:
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
4 / 15
Experiences
Business Application Development IDE’s . . . SAP (Systems Applications and Programs in Data Processing - world’s largest provider of standard ERP software) 1990: Invention of intelligent ABAP/4-IDE Market-Driven: Cheap and easy development for everyone generates:
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
4 / 15
Experiences
Business Application Development IDE’s . . . SAP (Systems Applications and Programs in Data Processing - world’s largest provider of standard ERP software) 1990: Invention of intelligent ABAP/4-IDE Market-Driven: Cheap and easy development for everyone generates:
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
4 / 15
Experiences
. . . and effects of their use
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
5 / 15
Experiences
. . . and effects of their use Elaborate IDEs cause ”Programming by coincidence”
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
5 / 15
Experiences
. . . and effects of their use Elaborate IDEs cause ”Programming by coincidence” See ”The pragmatic programmer”
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
5 / 15
Experiences
. . . and effects of their use Elaborate IDEs cause ”Programming by coincidence” See ”The pragmatic programmer” Service Level Agreements (SLA): Supplier provides infrastructure for bug fixing and patch delivery of running software: More temptation to rapidly deliver α-versions
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
5 / 15
Experiences
. . . and effects of their use Elaborate IDEs cause ”Programming by coincidence” See ”The pragmatic programmer” Service Level Agreements (SLA): Supplier provides infrastructure for bug fixing and patch delivery of running software: More temptation to rapidly deliver α-versions Continuous enhancements (standard software):
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
5 / 15
Experiences
. . . and effects of their use Elaborate IDEs cause ”Programming by coincidence” See ”The pragmatic programmer” Service Level Agreements (SLA): Supplier provides infrastructure for bug fixing and patch delivery of running software: More temptation to rapidly deliver α-versions Continuous enhancements (standard software): New (legal) requirements
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
5 / 15
Experiences
. . . and effects of their use Elaborate IDEs cause ”Programming by coincidence” See ”The pragmatic programmer” Service Level Agreements (SLA): Supplier provides infrastructure for bug fixing and patch delivery of running software: More temptation to rapidly deliver α-versions Continuous enhancements (standard software): New (legal) requirements Fast development → New customers → fast(er) development
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
5 / 15
Experiences
. . . and effects of their use Elaborate IDEs cause ”Programming by coincidence” See ”The pragmatic programmer” Service Level Agreements (SLA): Supplier provides infrastructure for bug fixing and patch delivery of running software: More temptation to rapidly deliver α-versions Continuous enhancements (standard software): New (legal) requirements Fast development → New customers → fast(er) development
Quick extension of IT-department → Many unsupervised beginners: Component proliferation and unmaintainable code
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
5 / 15
Experiences
. . . and effects of their use Elaborate IDEs cause ”Programming by coincidence” See ”The pragmatic programmer” Service Level Agreements (SLA): Supplier provides infrastructure for bug fixing and patch delivery of running software: More temptation to rapidly deliver α-versions Continuous enhancements (standard software): New (legal) requirements Fast development → New customers → fast(er) development
Quick extension of IT-department → Many unsupervised beginners: Component proliferation and unmaintainable code 1. Good construction support (IDE, SLA) ⇒ Rapid increase of entropy Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
5 / 15
Experiences
Example 1: Business application after some years in production
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
6 / 15
Experiences
Example 1: Business application after some years in production Unreproducable deadlock problem!
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
6 / 15
Experiences
Example 1: Business application after some years in production Unreproducable deadlock problem! −→ Development manager’s reaction:
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
6 / 15
Experiences
Example 1: Business application after some years in production Unreproducable deadlock problem! −→ Development manager’s reaction:
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
6 / 15
Experiences
Example 1: Business application after some years in production Unreproducable deadlock problem! −→ Development manager’s reaction:
7→
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
??
MMMDE 2015
6 / 15
Experiences
Example 1: Business application after some years in production Unreproducable deadlock problem! −→ Development manager’s reaction:
7→
??
”We fix the problem only, if it will repeatedly happen! Hopefully it vanishes in Release 4.0 . . . ”
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
6 / 15
Experiences
Example 1: Business application after some years in production Unreproducable deadlock problem! −→ Development manager’s reaction:
7→
??
”We fix the problem only, if it will repeatedly happen! Hopefully it vanishes in Release 4.0 . . . ” 2. Instead of correct code, business developers prefer Cost-Effectiveness-Calculations
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
6 / 15
Experiences
Example 2 (There is still hope . . . ) Performance improvement for reading hierarchical dependencies
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
7 / 15
Experiences
Example 2 (There is still hope . . . ) Performance improvement for reading hierarchical dependencies
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
7 / 15
Experiences
Example 2 (There is still hope . . . ) Performance improvement for reading hierarchical dependencies
7→
”No problem, this is a universal construction!”
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
7 / 15
Experiences
Example 2 (There is still hope . . . ) Performance improvement for reading hierarchical dependencies
7→
”No problem, this is a universal construction!” Resulted in a stable, formally underpinned tool to generate reflexive and transitive closure in DB tables
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
7 / 15
Experiences
Example 2 (There is still hope . . . ) Performance improvement for reading hierarchical dependencies
7→
”No problem, this is a universal construction!” Resulted in a stable, formally underpinned tool to generate reflexive and transitive closure in DB tables Became standard tool for application developers
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
7 / 15
Experiences
Example 2 (There is still hope . . . ) Performance improvement for reading hierarchical dependencies
7→
”No problem, this is a universal construction!” Resulted in a stable, formally underpinned tool to generate reflexive and transitive closure in DB tables Became standard tool for application developers 3. Technical developers are mathematically minded - and recognize the relevance.
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
7 / 15
Experiences
Example 3: IT-department extension Some companies’ hiring strategies:
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
8 / 15
Experiences
Example 3: IT-department extension Some companies’ hiring strategies: ”We look for . . . . . . Mathematicians for programming our satellites (ESA)
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
8 / 15
Experiences
Example 3: IT-department extension Some companies’ hiring strategies: ”We look for . . . . . . Mathematicians for programming our satellites (ESA) . . . Number theorists for the improvement of our cryptographic solutions (supplier of network solutions)
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
8 / 15
Experiences
Example 3: IT-department extension Some companies’ hiring strategies: ”We look for . . . . . . Mathematicians for programming our satellites (ESA) . . . Number theorists for the improvement of our cryptographic solutions (supplier of network solutions) . . . Statisticians for our data analytics products (BI provider)
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
8 / 15
Experiences
Example 3: IT-department extension Some companies’ hiring strategies: ”We look for . . . . . . Mathematicians for programming our satellites (ESA) . . . Number theorists for the improvement of our cryptographic solutions (supplier of network solutions) . . . Statisticians for our data analytics products (BI provider) . . . Experts in Applied Mathematics (FEM, PDE) for the maintenance of our CAD-applications”
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
8 / 15
Experiences
Example 3: IT-department extension Some companies’ hiring strategies: ”We look for . . . . . . Mathematicians for programming our satellites (ESA) . . . Number theorists for the improvement of our cryptographic solutions (supplier of network solutions) . . . Statisticians for our data analytics products (BI provider) . . . Experts in Applied Mathematics (FEM, PDE) for the maintenance of our CAD-applications” Hiring strategy of the typical ERP-Application-Supplier: ”We look for . . .
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
8 / 15
Experiences
Example 3: IT-department extension Some companies’ hiring strategies: ”We look for . . . . . . Mathematicians for programming our satellites (ESA) . . . Number theorists for the improvement of our cryptographic solutions (supplier of network solutions) . . . Statisticians for our data analytics products (BI provider) . . . Experts in Applied Mathematics (FEM, PDE) for the maintenance of our CAD-applications” Hiring strategy of the typical ERP-Application-Supplier: ”We look for . . . . . . University graduates for programming our business solutions”
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
8 / 15
Experiences
Example 3: IT-department extension Some companies’ hiring strategies: ”We look for . . . . . . Mathematicians for programming our satellites (ESA) . . . Number theorists for the improvement of our cryptographic solutions (supplier of network solutions) . . . Statisticians for our data analytics products (BI provider) . . . Experts in Applied Mathematics (FEM, PDE) for the maintenance of our CAD-applications” Hiring strategy of the typical ERP-Application-Supplier: ”We look for . . . . . . University graduates for programming our business solutions” 4. Companies seem to accept this mismatch.
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
8 / 15
Experiences
Example 4 - Perfect Case
Brand leader for print output solutions
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
9 / 15
Experiences
Example 4 - Perfect Case
Brand leader for print output solutions Event Structures for the management of causal dependencies (”Complexity management”): Guidance, basic principle
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
9 / 15
Experiences
Example 4 - Perfect Case
Brand leader for print output solutions Event Structures for the management of causal dependencies (”Complexity management”): Guidance, basic principle A developer’s comment: ”Now we understand the relevance of these BPM-foundations”
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
9 / 15
Experiences
Example 4 - Perfect Case
Brand leader for print output solutions Event Structures for the management of causal dependencies (”Complexity management”): Guidance, basic principle A developer’s comment: ”Now we understand the relevance of these BPM-foundations” . . . and: ”Our work was harmonised, since we adhered to a mathematical theory.”
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
9 / 15
Experiences
Example 4 - Perfect Case
Brand leader for print output solutions Event Structures for the management of causal dependencies (”Complexity management”): Guidance, basic principle A developer’s comment: ”Now we understand the relevance of these BPM-foundations” . . . and: ”Our work was harmonised, since we adhered to a mathematical theory.” 5. Developers trust domain-specific mathematical models (if they witness successful use) Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
9 / 15
Implications
Outline
1
Experiences
2
Implications
3
Outcome
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
10 / 15
Implications
(Provocative) Metaphor Software Applications are trees:
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
11 / 15
Implications
(Provocative) Metaphor Software Applications are trees:
Trunk: Framework (Transactions, Network, Encryption)
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
11 / 15
Implications
(Provocative) Metaphor Software Applications are trees:
Trunk: Framework (Transactions, Network, Encryption) Branches: Business Functions
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
11 / 15
Implications
(Provocative) Metaphor Software Applications are trees:
Trunk: Framework (Transactions, Network, Encryption) Branches: Business Functions Tree crown grows uncontrolled!
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
11 / 15
Implications
(Provocative) Metaphor Software Applications are trees:
Trunk: Framework (Transactions, Network, Encryption) Branches: Business Functions Tree crown grows uncontrolled! Get very old, can hardly be removed
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
11 / 15
Implications
(Provocative) Metaphor Software Applications are trees:
Trunk: Framework (Transactions, Network, Encryption) Branches: Business Functions Tree crown grows uncontrolled! Get very old, can hardly be removed Software landscapes are impenetrable jungles Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
11 / 15
Implications
Summary so far: The Evolution Dilemma
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
12 / 15
Implications
Summary so far: The Evolution Dilemma Today’s business solutions are old and intricate
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
12 / 15
Implications
Summary so far: The Evolution Dilemma Today’s business solutions are old and intricate There are major impediments and constraints for . . . . . . renovation, . . . decrease of entropy, or . . . complete replacement.
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
12 / 15
Implications
Summary so far: The Evolution Dilemma Today’s business solutions are old and intricate There are major impediments and constraints for . . . . . . renovation, . . . decrease of entropy, or . . . complete replacement.
Even methodical first versions grow uncontrolled as time evolves
www.pinterest.com Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
12 / 15
Implications
Summary so far: The Evolution Dilemma Today’s business solutions are old and intricate There are major impediments and constraints for . . . . . . renovation, . . . decrease of entropy, or . . . complete replacement.
Even methodical first versions grow uncontrolled as time evolves
/
www.pinterest.com Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
12 / 15
Implications
R´esum´ee
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
13 / 15
Implications
R´esum´ee
1
Today’s business solutions are old and intricate
2
Even methodical first versions grow uncontrolled as time evolves
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
13 / 15
Implications
R´esum´ee
1
Today’s business solutions are old and intricate
2
Even methodical first versions grow uncontrolled as time evolves
3
Impediments and constraints for radical overhaul
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
13 / 15
Implications
R´esum´ee
1
Today’s business solutions are old and intricate
2
Even methodical first versions grow uncontrolled as time evolves
3
Impediments and constraints for radical overhaul
4
Developers of business solutions underestimate the significance of mathematical models (and companies agree)
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
13 / 15
Implications
R´esum´ee
1
Today’s business solutions are old and intricate
2
Even methodical first versions grow uncontrolled as time evolves
3
Impediments and constraints for radical overhaul
4
Developers of business solutions underestimate the significance of mathematical models (and companies agree)
5
Technical developers are mathematically minded
6
Even more if mathematical methods are purpose-driven
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
13 / 15
Implications
R´esum´ee
1
Today’s business solutions are old and intricate
2
Even methodical first versions grow uncontrolled as time evolves
3
Impediments and constraints for radical overhaul
4
Developers of business solutions underestimate the significance of mathematical models (and companies agree)
5
Technical developers are mathematically minded
6
Even more if mathematical methods are purpose-driven
7
Mathematical models ”at work” are very convincing
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
13 / 15
Outcome
Outline
1
Experiences
2
Implications
3
Outcome
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
14 / 15
Outcome
Summary There are 2 requirements and 2 corresponding hypotheses:
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
15 / 15
Outcome
Summary There are 2 requirements and 2 corresponding hypotheses: (for business solutions) Formally support sustainable evolution ((semi-)automatically, through the whole life cycle). Guide legacy system rehabilitation with standardised migration paths.
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
15 / 15
Outcome
Summary There are 2 requirements and 2 corresponding hypotheses: (for business solutions) Formally support sustainable evolution ((semi-)automatically, through the whole life cycle). Guide legacy system rehabilitation with standardised migration paths. Today’s theories do not seem to be mature enough to serve this purpose
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
15 / 15
Outcome
Summary There are 2 requirements and 2 corresponding hypotheses: (for business solutions) Formally support sustainable evolution ((semi-)automatically, through the whole life cycle). Guide legacy system rehabilitation with standardised migration paths. Today’s theories do not seem to be mature enough to serve this purpose (general) Specify purposes of formal methods and convince business developers of their relevance!
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
15 / 15
Outcome
Summary There are 2 requirements and 2 corresponding hypotheses: (for business solutions) Formally support sustainable evolution ((semi-)automatically, through the whole life cycle). Guide legacy system rehabilitation with standardised migration paths. Today’s theories do not seem to be mature enough to serve this purpose (general) Specify purposes of formal methods and convince business developers of their relevance! Formal methods are not assigned to application domains, they are often not approved in commercial solutions
Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
15 / 15
Outcome
Summary There are 2 requirements and 2 corresponding hypotheses: (for business solutions) Formally support sustainable evolution ((semi-)automatically, through the whole life cycle). Guide legacy system rehabilitation with standardised migration paths. Today’s theories do not seem to be mature enough to serve this purpose (general) Specify purposes of formal methods and convince business developers of their relevance! Formal methods are not assigned to application domains, they are often not approved in commercial solutions I leave these points for discussion and thank you for your attention. Harald K¨onig (FHDW Hannover)
IDE↑⇒ Software↓
MMMDE 2015
15 / 15