Why do more elaborate IDE's lead to worse software?

0 downloads 0 Views 16MB Size Report
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