FPSS WS1415 Part1 V08 20141112 - TU...

169
Future-Proof Software-Systems 1 Dr. Frank J. Furrer - WS 2014/15 Future-Proof Software-Systems (Zukunftsfähige Software-Systeme) Frank J. Furrer Dr. sc. techn. ETH-Zürich TU Dresden WS 2014/2015 Part 1 Part 1 V0.7 / 27.10.2014

Transcript of FPSS WS1415 Part1 V08 20141112 - TU...

Page 1: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems

1Dr. Frank J. Furrer - WS 2014/15

Future-Proof Software-Systems(Zukunftsfähige Software-Systeme)

Frank J. FurrerDr. sc. techn. ETH-Zürich

TU Dresden WS 2014/2015

Part 1Part 1

V0.7 / 27.10.2014

Page 2: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Interaction Style

2Dr. Frank J. Furrer - WS 2014/15

I prefer dialog - rather than monolog: Please feel free toask questions at any time

I am available for additional questions or discussionsafter each lecture

My Preferred Interaction Style:

… or at any time via e-mail:[email protected]

Page 3: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Lecture Summary

3Dr. Frank J. Furrer - WS 2014/15

Lecture Summary

Content:

1. What future-proof software-systems are

2. Why future-proof software-systems are key successfactors for today‘s and tomorrow‘s products and

services

3. Which body of knowledge exists for future-proofsoftware-systems

4. How the context for future-proof software-systemsdevelopment & evolution should look

Page 4: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Lecture Summary

4Dr. Frank J. Furrer - WS 2014/15

Lecture Summary

Objectives:

1. Understand „future-proof software systems“, theirstructure, properties and their quality attributes

2. Learn the principles, concepts and methods to design,implement and evolve future-proof software systems

3. Know the skills which are needed by a „future-proofsoftware-systems engineer“

4. Accept the (economical, ecological, societal) businesscase for future-proof software systems

Page 5: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems(Zukunftsfähige Software-Systeme)

Frank J. FurrerDr. sc. techn. ETH-Zürich

TU Dresden WS 2014/2015

ExamsExams

Page 6: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Copyright Frank J. Furrer 2013 6

Future-Proof Software-Systems: Exams

Exams:

[Official Text]:

Participants can receive a mark via an oralexam or a not graded certificate of

attendance.

http

://w

ww

.resu

mew

ritingserv

ice.b

iz

Page 7: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Copyright Frank J. Furrer 2013 7

Future-Proof Software-Systems: Exams

Oral Exam

Participants can receive a mark via an oral exam(3 credits ECTS)

Please check your exam regulations which type ofcredit (mark/certificate) you need. If you areinterested in an examination date, please write anemail to [email protected] (Secretary ofthe Chair of Software Technology). She willschedule the exams.

DO NOT CONTACT ME DIRECTLY. THANKS

Page 8: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Copyright Frank J. Furrer 2013 8

Future-Proof Software-Systems: Exams

Certificate of Attendance

Participants can receive a not graded certificateof attendance.

(NO credits ECTS)

If you are interested in a not graded certificate ofattendance, please write an email [email protected] (Secretary of theChair of Software Technology). She will arrangethe certificate.

DO NOT CONTACT ME DIRECTLY. THANKS.

For the not graded certificate you need to sign theattendance list provided during each lecture.

Page 9: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Copyright Frank J. Furrer 2013 9

Future-Proof Software-Systems: Exams

#

AErkennung derZusammenhängedes Prüfungs-gebietes

(Understanding)

BEinordnung speziellerFragestellungen in dieZusammenhänge desPrüfungsgebietes

(Reasoning)

CGrundlagenwissen gemässdem Stand des Studiums

(Knowledge)

1. What is a goodfuture-proofsoftware-architecture?

Why?

Which are the contra-productive behaviors ofan IT architect?

Which is the most importantskill of a successful ITarchitect?

Why?

2. Why are architectureprinciples soimportant?

Have architectureprinciples to be strictlyenforced in eachsituation and in eachproject?

Which is the resistanceencountered by an ITarchitect while trying toenforce architecture-principles?

Sample Exam Questions

Page 10: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Copyright Frank J. Furrer 2013 10

Future-Proof Software-Systems: Exams

Exam Procedure (15 minutes)

1. Greeting and identification (Examiner,

examination assistant, and student)

2. Question 1: from Group A

3. Question 2: from Group B

4. Question 3: from Group C

5. If time left: additional questions

6. Short Break

7. Feedback

Page 11: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Copyright Frank J. Furrer 2013 11

Future-Proof Software-Systems: Exams

#

AErkennung derZusammenhängedes Prüfungs-gebietes

(Understanding)

BEinordnung speziellerFragestellungen in dieZusammenhänge desPrüfungsgebietes

(Reasoning)

CGrundlagenwissen gemässdem Stand des Studiums

(Knowledge)

1. What is a goodfuture-proofsoftware-architecture?

Why?

Which are the contra-productive behaviors ofan IT architect?

Which is the most importantskill of a successful ITarchitect?

Why?

2. Why are architectureprinciples soimportant?

Have architectureprinciples to be strictlyenforced in eachsituation and in eachproject?

Which is the resistanceencountered by an ITarchitect while trying toenforce architecture-principles?

Sample Exam Questions

Page 12: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Copyright Frank J. Furrer 2013 12

Future-Proof Software-Systems: Exams

Questions

Page 13: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Content

13Dr. Frank J. Furrer - WS 2014/15

Future-Proof Software-Systems:

Content

Page 14: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Lecture Structure

14Dr. Frank J. Furrer - WS 2014/15

BusinessCase

justifies

Future-ProofSoftware-System

QualityProperties

definedby

Structure

enables

Architectureforms

guide

control

DevelopmentProcess

builds

ArchitecturePrinciples

enforce

Future-ProofSoftware-Systems

Engineer

leads

appliesMetrics

quantify

uses

Conceptual Context:(Lecture Map)

WorkingEnvironment

is embedded in

Page 15: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Content

15Dr. Frank J. Furrer - WS 2014/15

Content

Part 1: Introduction & Motivation

Part 2: Architecture Principles

Part 3: Some Specific Architecture Topics

Part 4: The Role, Personality and Context of the „Future-Proof Software-System Architect“

Context & Motivation Future-Proof Software-Systems Business Value Agility Resilience Managed Evolution Business Value & Architecture Erosion, Technical Debt Key Importance of Architecture Industrial Architecture

Page 16: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Content

16Dr. Frank J. Furrer - WS 2014/15

Future-Proof Software-Systems:

Context & Motivation

Page 17: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Context

17Dr. Frank J. Furrer - WS 2014/15

htt

p:/

/web

.kyo

to-i

net

.or.

jp/p

eop

le/s

-oga

/old

com

/in

de

x.h

tml UNIVAC 120 (1953)

Decimal storage: 120 digits„Program“: Wired Panel

htt

p:/

/ww

w.m

oto

rbas

e.co

m/p

ictu

re/b

y-id

/43

79

41

61

1

Land Rover 1953: SLOCs = 0(SLOC = Source Lines of Code)

CRAY Titan (2013)

http

://ww

w.ew

eek.com

/servers/slidesh

ow

s

Data storage: 710 Terabytes RAM30 Petabytes Disk

Computing Power: 17,59 Petaflops

Mercedes S-Class 2013: SLOCs 100 Million

http

://myau

to2

4.b

logsp

ot.ch

/20

13

/

+ 60 years

Page 18: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Context

18Dr. Frank J. Furrer - WS 2014/15

Software has evolved from a system building block

to a major industrial asset

with a large financial investment

and tremendous impact on the business opportunities

Many software modules have a long life span.

They need to be maintained and evolved over manyyears/decades

Therefore: Our software needs to be future-proof

(Definition follows later)

Page 19: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Context

19Dr. Frank J. Furrer - WS 2014/15

Example: VW Phaeton(Automotive Software)

Electrical/Electronic Architecture

http://delphi.com/manufacturers/auto/ee/

A modern luxury car contains70 … 100 electronic controlunits (= ECU‘s) in the form ofnetworked microprocessors

http://www.cars2review.com/2013-volkswagen-pheaton/

A modern luxury car iscontrolled by approx. 100Million source lines of code(SLOC‘s)

2014: 90% of the innovationin cars is due to software

Page 20: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Context

20Dr. Frank J. Furrer - WS 2014/15

Software is one of the most important key success factorsfor today‘s and tomorrow‘s products and services

Software determines (to a large extent):

Functionality

Quality Properties, such as safety, security,availability, integrity, performance etc.

Competitiveness

Revenue generation

Innovation capacity

Intellectual Property Rights ( IPR protection)

http

://ww

w.ch

ange-m

anagem

ent.co

m

Page 21: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Context

21Dr. Frank J. Furrer - WS 2014/15

… a little bit of history:

The first computer program: Lady Ada Lovelace (1843)

„Computation of Bernoulli Numbers“

(based on the work of Charles Babbage „The Analytical Engine“)

http://axsoris.com

2014:

The world software market exceeded $500 billion

(not including embedded software!)

http://www.itp.net

… Software production has become a major industry

Page 22: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Context

22Dr. Frank J. Furrer - WS 2014/15

Programs Functionality

Historical Context:

2010

2000

1990

1960

1950

Object Technology Systems Partitioning, Encapsulation

Component Systems Re-Use

Service-Oriented Systems Sustainability

Systems-of-Systems Interoperability

Page 23: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Context

23Dr. Frank J. Furrer - WS 2014/15

Technical Context:

1960

TechnicalInfrastructure

ApplicationSoftware

1980

TechnicalInfrastructure

ApplicationSoftware

InfrastructureServices

2000

TechnicalInfrastructure

ApplicationSoftware

InfrastructureServices

CommoditiesSourcing

2020

TechnicalInfrastructure

ApplicationSoftware

InfrastructureServices

CommoditiesSourcing

Page 24: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Context

24Dr. Frank J. Furrer - WS 2014/15

very high

Size/Complexity

low

Criticalityvery strong

weak

Rate of Change

slow

very fast

Range Context:

Page 25: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Context

25Dr. Frank J. Furrer - WS 2014/15

very high

Size/Complexity

low

Criticalityvery strong

weak

Rate of Change

slow

very fast

Example:Mobile Phone Software

Page 26: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Context

26Dr. Frank J. Furrer - WS 2014/15

very high

Size/Complexity

low

Criticalityvery strong

weak

Rate of Change

slow

very fast

Example:Aeroplane ControlSoftware

Page 27: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Context

27Dr. Frank J. Furrer - WS 2014/15

very high

Size/Complexity

low

Criticalityvery strong

weak

Rate of Change

slow

very fast

Example:Global BankingSoftware

Page 28: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Context

28Dr. Frank J. Furrer - WS 2014/15

Software-Systems: Impact Factors

„The three devils of systems engineering are:

Complexity,

Change,

Uncertainty”Anonymous

What do they do to our software?

How can we fight them?

Page 29: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Context

29Dr. Frank J. Furrer - WS 2014/15

Complexity

“Complexity is that property of an IT-system which makes it difficult

to formulate its overall behaviour, even when given complete

information about its parts and their relationships“

Page 30: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Context

30Dr. Frank J. Furrer - WS 2014/15

Change

“Continuous – sometimes disruptive – change force relentless

adaptation of the system to new requirements, to changes in the

environment and to technological progress“

Page 31: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Context

31Dr. Frank J. Furrer - WS 2014/15

Uncertainty

“Uncertainty – both during development and during operation –

forces weakly founded decisions with possibly far-reaching

consequences“

?

?

?

?? ?

? ?

? ?

Page 32: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Context

32Dr. Frank J. Furrer - WS 2014/15

Complexity

Change

Uncertainty

How can we successfully fight them?

… by using principles, methods,

metrics, strategies and processes for

future-proof software-systems

Page 33: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: ???

33Dr. Frank J. Furrer - WS 2014/15

Future-Proof Software-Systems:

Future-Proof Software-Systems

Page 34: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Definition

34Dr. Frank J. Furrer - WS 2014/15

Definition:

A future-proof software-system is a structure

that enables the management

of complexity, change and uncertainty

with the least effort, with acceptable risk and with specified quality properties

http

://ju

liecole

man

.org

Page 35: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Definition

35Dr. Frank J. Furrer - WS 2014/15

Definition:

A future-proof software-system is a structure

that enables the management

of complexity, change and uncertainty

with the least effort, with acceptable risk and with specified quality properties

Parts of the systemand their relationsships

Architecture

Activity: Steering thedevelopment & evolution

Strategy

Best value for theparameters ‘money‘ and

‘time-to-market‘ Agility

Acceptable probabilityfor undesired effectsand consequences Resilience

Assuring the desirednon-functional properties

„Fit for Purpose“

Page 36: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Definition

36Dr. Frank J. Furrer - WS 2014/15

Future-Proof Software-Systems:Primary Characteristics

Definition:

A future-proof software-system is a structure

that enables the management

of complexity, change and uncertainty

with the least effort, with acceptable risk and with specified quality properties

Agility Resilience

Business Value

Domain-specificQuality Properties

Page 37: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Definition

37Dr. Frank J. Furrer - WS 2014/15

Primary Characteristics:

Business Value

Agility

Resilience

Secondary Characteristics:

Non-functional properties:

o Reusability

o Hardware Resource Consumption

o Adherence to industry-standards

o etc.

What are the characteristics of Future-Proof Software-Systems?

«as good asnecessary»

«continuousimprovement»

Page 38: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Definition

38Dr. Frank J. Furrer - WS 2014/15

Primary Characteristics:

Business Value

Agility

Resilience

What are the characteristics of Future-Proof Software-Systems?

Definition

Metric

Example

Importance

Page 39: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Definition

39Dr. Frank J. Furrer - WS 2014/15

Metric: Quantitative measurement of a product or a process attribute

Metric Definition

Future-ProofSoftware-System

QualityProperties

definedby

Metrics

quantify

1) Metrics are indispensable for the

management of future-proof software-

systems („you cannot control what

you cannot measure“)

2) Metrics are expensive. You need a

very clear purpose and great staying

power

Page 40: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Business Value

40Dr. Frank J. Furrer - WS 2014/15

Future-Proof Software-Systems:

Business Value

Page 41: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Business Value

41Dr. Frank J. Furrer - WS 2014/15

Business Value: Definition

Business Value (of a software development) =

The opportunity to gain an advantage for the business

• Financial advantage (earnings), but also:

• Cost avoidance

• Competitive advantage (innovative functionality),

• Compliance to laws and regulations,

• Process improvements

• etc.

htt

p:/

/blo

g.e

nfo

cu

ssolu

tion

s.c

om

Page 42: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Business Value

42Dr. Frank J. Furrer - WS 2014/15

Metric: NPV (Net Present Value)

Business Value: Metric

NPV = Net Present Value(€)I = Investment(€)i = Yearly interest rate (%)n = year (n=0: Project start)

(1 + i)n

Benefityear-nNPV = - I

n

Page 43: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Business Value

43Dr. Frank J. Furrer - WS 2014/15

Business Value: Example

Business Value = Net Present Value (NPV)

Earnings: Year1 Year2 Year3 Year5 Year6240‘000 € 270‘000 € 230‘000 € 280‘000 € 300‘000 €

htt

p:/

/w

ww

.eco-w

ay.c

h/?p=10846

Investment:

- 860‘000.- €

(1+0.8)-1

1.08(1+0.8)-2

1.17(1+0.8)-3

1.26(1+0.8)-4

1.36(1+0.8)-5

1.478 %/year:

NPV = +165‘000 €

+ 222‘000 €+ 230‘000 €+ 182‘000 €+ 205‘000 €+ 186‘000 €+ 1‘025‘000 €

Page 44: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Business Value

44Dr. Frank J. Furrer - WS 2014/15

Business Value: Importance

Why is the business value of asoftware development important?

(Most) development activities must have a positive NPV,i.e. the activity should generate more income than cost

The calculated NPV is an important decision metric(GO/NOGO for a project)

The NPVs of projects are key financial planning data

Page 45: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Agility

45Dr. Frank J. Furrer - WS 2014/15

Future-Proof Software-Systems:

Agility

Page 46: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Agility

46Dr. Frank J. Furrer - WS 2014/15

Agility: Definition

Agility =

The capability to develop and introduce

new functionality with:

• short time-to-market

• reasonable development cost

Important note: This capability is a property of an organization,

but is heavily based on a good, evolvable structure of the system

htt

p:/

/gia

on

them

ove.c

om

Page 47: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Agility

47Dr. Frank J. Furrer - WS 2014/15

Agility: Metric

Metric Idea: Agility ~ Size2/(TtM*DevC)

Functionality with:

• short time-to-market

• reasonable development cost

Size

TtM

DevC

Page 48: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Agility

48Dr. Frank J. Furrer - WS 2014/15

Agility: Metric

Project Start Project End

TtM (Time-to-Market)Unit: days (d)

Project Start Project End

DevC (Development Cost)

WarrantyPeriod

Unit: k€

TtMi DevCi

(Sizei)2

Unit: #UCP2/(days*k€)

Amount of functionality:Functional Size

Size Unit: #UCP or #FP

Page 49: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Agility

49Dr. Frank J. Furrer - WS 2014/15

Agility: Example

Project Size(#UCP)

TtMi(days)

DevCi(k€)

End Date

P1 1’200 900 5’600 Jan 2012

P2 650 645 2’566 Jan 2012

P3 4’400 5’280 27’270 March 2012

P4 980 620 5’400 April 2012

P5 11’250 6’600 75’600 April 2012

P6 2’300 1’900 13’900 June 2012

P7 800 390 6’200 August 2012

P8 1’850 1’250 13’200 August 2012

etc. … … … …

AgilityTtMi DevCi

(Sizei)2

Unit: #UCP2/(days*k€)

availability data

measurementperiod

CREDIT SUISSE values:

~ 4.2 k€/UCP

~ 0.8 days/UCP

[Murer/Bonati/Furrer

ISBN 978-3-642-01632-5]

Page 50: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Agility

50Dr. Frank J. Furrer - WS 2014/15

Agility: Importance

Why is agility so important?

time

Time to market

Reqs

Time to market

Time to market

we

Competitor A

Competitor B

time

Development Cost

Reqs

Development Cost

Development Cost

we

Competitor A

Competitor B

Page 51: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Agility

51Dr. Frank J. Furrer - WS 2014/15

Agility: Importance

Why is agility so important?

“It is not the strongest of the species that survives,nor the most intelligent that survives.It is the one that is the most adaptable to change.”

Charles Darwin: The Origin of Species (1859)

Today: «most adaptable to change»applies to software-systems and thecompanies which live from them

Page 52: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Agility impacts every project

Low agility: (all) projects are late and expensive

= high resistance to change bad!

High agility: (all) projects are in time and cost-efficient

= low resistance to change good!

High agility allows to use the company resources moreefficient

Agility is an important competitive market factor

Future-Proof Software-Systems: Agility

52Dr. Frank J. Furrer - WS 2014/15

Agility: Importance

Why is agility so important?

Page 53: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Resilience

53Dr. Frank J. Furrer - WS 2014/15

Future-Proof Software-Systems:

Resilience

http

://fc

w.c

om

/artic

les/2013/07/08/execte

ch

-opera

tion

al-re

silie

nce.a

spx

Page 54: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Resilience

54Dr. Frank J. Furrer - WS 2014/15

Why resilience as a primary characteristicof future-proof software-systems?

htt

p:/

/bookro

ar.

blo

gspot.

ch

/2012/05/m

ost-

dan

gero

us-s

nakes-i

n-w

orl

d.h

tml

The world has become a dangerous place for software The world has become a dangerous place for software

Page 55: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Resilience

55Dr. Frank J. Furrer - WS 2014/15

Resilience: Definition

Resilience is the capability of a system with specific characteristics

before, during and after a disruption

to absorb the disruption, recover to an acceptable level of performance,

and sustain that level for an acceptable period of time

http://www.incose.org/practice/techactivities/wg/rswg/

Incident System& Environment

Before – Allows anticipation and corrective action to be considered During – How the system survives the impact of the disruption After – How the system recovers from the disruption

Page 56: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Resilience

56Dr. Frank J. Furrer - WS 2014/15

Resilience: Definition

Incident System& Environment

Impact

http://www.403wg.afrc.af.milDisruption

Page 57: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Resilience

57Dr. Frank J. Furrer - WS 2014/15

Resilience: Definition

Example: Nucelar Power Plant

Terrorist

Hacker

Earthquake

Impact: None

Impact: Shutdown

Impact:TemporaryShutdown

http://www.cleanenergyinsight.org/energy-insights

DisruptiveIncident

Result (Impact)

Page 58: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Resilience

58Dr. Frank J. Furrer - WS 2014/15

Environment

SoftwareSystem

Error

htt

ps:/

/sou

ndclo

ud.c

om

Crash

t

Degraded operation

t

t

Malfunction

htt

p:/

/kan

to.s

trip

es.c

om

Resilience: Definition

Page 59: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Resilience

59Dr. Frank J. Furrer - WS 2014/15

Resilience: Definition

2010 2010

t

Complexity

t

Tractability

System

Safety Case

Disruptive Incidents1. Xxx2. Yyy3. Zzz

predictpredict adjustadjust

System

Incid

ent

?

ResilientSystem

Page 60: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Resilience

60Dr. Frank J. Furrer - WS 2014/15

Resilience: Definition

Example: Immune System

http://ageless-society.com

2n

dlin

eofdefe

nse:

Un

specific

defe

nse

3rd

lin

eof

defe

nse:

Specific

defe

nse

4th

lin

eof

defe

nse:

Learn

ing/A

dapta

tion

1stlin

eofdefe

nse:

Ph

ysic

albarr

ier

adjust

Page 61: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Resilience

61Dr. Frank J. Furrer - WS 2014/15

Resilience: Definition The four cornerstones of resilience

responding[actual]

knowingwhat to do

Holln

agel,

2011,

ISB

N978-1

-4724-2

074-9

monitoring[critical]

knowingwhat to look

for

learning[factual]

knowingwhat hashappened

anticipating[potential]

knowingwhat toexpect

t

before during after

adjust

adjust

Page 62: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Resilience

62Dr. Frank J. Furrer - WS 2014/15

Resilience: Metric

Incident System& Environment

Impact

Damage Potentialof the Incident:

• catastrophic• critical• severe• marginal• negligible

Resulting Impact:

• catastrophic• critical• severe• marginal• negligible

Response ofthe system

Page 63: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Resilience

63Dr. Frank J. Furrer - WS 2014/15

Resilience: Metric

Damage Potential:• catastrophic: 5• critical: 4• severe: 3• marginal: 2• negligible: 1

Resulting Impact:

• catastrophic: 5• critical: 4• severe: 3• marginal: 2• negligible: 1

Incid

en

t

Impact

Response ofthe system

Resilience against 1 incident: 1 =ImpactPotential

(e.g. 2/3)

System resilience over a time period : =1n i

Page 64: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Resilience

64Dr. Frank J. Furrer - WS 2014/15

Resilience: Metric

1) Incident Damage Potential: 4 (critical)Resulting Impact: 2 (marginal)

Examples:

impact

damage potentiali = = 2/4 = 0.5

impact

damage potentiali = = 4/3 = 1.33

very good resiliencereduction!

2 ) Incident Damage Potential: 3 (severe)Resulting Impact: 4 (critical)

very low resilienceamplification!

Page 65: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Resilience

65Dr. Frank J. Furrer - WS 2014/15

Resilience: Metric Example: Banking System Incidents

Date Incident Damage

Potential

Damage Impact Remarks

4.1.13 DB2 Database

Crash

4 Operational blackout for 3

hrs (Recovery time)

2 2/4 = 0.5 Save & recovery procedures

worked well

6.1.13 Semnager Virus

Infection

3 Small number of customers

affected

2 2/3 = 0.67 Payment check procedures

worked well

21.2.13 Crash of

authentication

servers

3 Employees could not access

the IT system for 1 hour

1 1/3 = 0.34 Backup/recovery mechanisms

worked well

4.5.13 Fibre trunk cable

damaged (by

construction work)

4 No external communications

for 5 hours

3 3/4 = 0.75 Emergency repair in time

9.12.13 Illegal financial

transaction

executed (fault in

sanction filter)

3 Legal & compliance

consequences

3 3/3 = 1.0 Sanction filter update process

improved

impact

potential =

System resilience over 5 incidents: 5 =1n i = 0.65

Page 66: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Resilience

66Dr. Frank J. Furrer - WS 2014/15

Resilience: Importance

Why is resilience so important?

Software has an enormous impact on people and society:

• Functionality in all areas of life and work

• Tremendous business opportunities

• etc.

Software failures may have grave consequences:• Accidents in safety-critical systems

• Financial or reputation loss

• Legal & regulatory consequences

• Product liability cases

• etc.

Page 67: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Resilience

67Dr. Frank J. Furrer - WS 2014/15

Resilience: Importance

Disruptions:rate &severity

time

Dependenceon software

htt

p:/

/blo

g.q

ate

stl

ab.c

om

htt

p:/

/w

ww

.com

pu

terp

erf

orm

an

ce.c

o.u

k

Page 68: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Summary

68Dr. Frank J. Furrer - WS 2014/15

Today, software is a major, long-lived industrial asset

with a large financial investment,

a tremendous impact on the business opportunities,

and considerable risk

In order to get the most out of our software,

with acceptable risk and long-term viability,

we need adequate structures, methods and processes

we need future-proof software-systems

Summary (1/2)

Page 69: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Summary

69Dr. Frank J. Furrer - WS 2014/15

The characteristics of future-proof software systems are:

Summary (2/2)

Secondary Characteristics:

Non-functional properties:o Reusability

o Hardware Resource Consumption

o Adherence to industry-standards

o etc.

«as good asnecessary»

«continuousimprovement»

Primary Characteristics:

Business Value

Agility

Resilience

Page 70: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: References

70Dr. Frank J. Furrer - WS 2014/15

References: Business Value

Reference

Theo J.W. Renkema :

The IT Value Quest – How to Capture the Business Value of IT-Based Infrastructure

John Wiley & Sons, Inc., Chichester, UK, 2000. ISBN 978-0-471-98817-0

Roger Gutbrod, Christian Wiele:

The Software Dilemma – Balancing Creativity and Control on the Path to Sustainable Software

Springer-Verlag, Heidelberg, 2012. ISBN 978-3-642-27235-6

Luke Hohmann:

Beyond Software Architecture – Creating and Sustaining Winning Solutions

Pearson Education, Addison-Wesley, Boston, USA, 2003. ISBN 978-0-201-77594-8

Gerrit Muller:

Systems Architecting – A Business Perspective

CRC Press (Taylor & Francis), Boca Raton, FL, USA, 2012. ISBN 978-1-4398-4762-6

Dan Remenyi, Arthur Money, Michael Sherwood-Smith:

The effective measurement and management of IT costs and benefits

Butterworth-Heinemann, Oxford UK, 2nd edition, 2000. ISBN 0-7506-4420-6

Jeanne W. Ross, Peter Weill, David C. Robertson:

Enterprise Architecture as Strategy – Creating a Foundation for Business Execution

Harvard Business Review Press, USA, 2006. ISBN 978-1-5913-9839-4

Page 71: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: References

71Dr. Frank J. Furrer - WS 2014/15

References: Agility

Reference

Barry Boehm, Richard Turner:

Balancing Agility and Discipline – A Guide for the Perplexed

Pearson Education, Addison-Wesley, Boston, USA, 2004. ISBN 978-0-321-18612-5

Richard de Neufville, Stefan Scholtes:

Flexibility in Engineering Design

MIT Press, Cambridge, USA, 2011. ISBN 978-0-262-01623-0

James Coplien, Gertrud Bjornvig:

Lean Architecture for Agile Software Development

John Wiley & Sons, Inc., Chicester UK, 2010. ISBN 978-0-470-68420-7

Fred A. Cummins:

Building the Agile Enterprise – with SOA, BPM and MBM

Morgan Kaufmann (Elsevier), Amsterdam, 2009. ISBN 978-0-12-374445-6

Jez Humble, David Farley:

Continuous Delivery – Reliable Software Releases through Build, Test, and Deployment Automation

Pearson Education (Addision-Wesley), Boston, USA, 2011. ISBN 978-0-321-60191-9

Bertrand Meyer:

Agile! – The Good, the Hype and the Ugly

Springer Verlag, Berlin und Heidelberg, 2014. ISBN 978-3-3190-5154-3

Dean Leffingwell:

Scaling Software Agility – Best Practices for Large Enterprises

Pearson Education (Addison-Wesley), Boston, USA, 2007. ISBN 978-0-321-45819-3

Page 72: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: References

72Dr. Frank J. Furrer - WS 2014/15

References: Resilience (1/2)

Reference

Erik Hollnagel, David D. Woods, Nancy Leveson (Editors):

Resilience Engineering – Concepts and Precepts

Ashgate Publishing Ltd., Aldershot, UK, 2006. ISBN 978-0-7546-4904-5

Erik Hollnagel, Jean Pariès, David D. Woods, John Wreathall (Editors):

Resilience Engineering in Practice – A Guidebook

Ashgate Publishing Ltd., Farnham, UK, 2011. ISBN 978-1-4724-2074-9

Erik Hollnagel :

FRAM: The Functional Resonance Analysis Method – Modelling Complex Socio-Technical Systems

Ashgate Publishing Ltd., Farnham, UK, 2012. ISBN 978-1-4094-4551-7

Michael Howard, David LeBlanc:

Writing Secure Code – Practical Strategies and Techniques for Secure Application Coding in a Networked World

Microsoft Press, Redmond, USA, 2003. ISBN 0-7356-1722-8

Clifford J. Berg:

High-Assurance Design – Architecting Secure and Reliable Enterprise Applications

Addison-Wesley, N.J., USA, 2006. ISBN 0-321-37577-7

Scott Jackson:

Architecting Resilient Systems – Accident Avoidance and Survival and Recovery from Disruptions

John Wiley & Sons, Inc., New Jersey, USA, 2010. ISBN 978-0-470-40503-1

Page 73: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: References

73Dr. Frank J. Furrer - WS 2014/15

References: Resilience (2/2)

Reference

C. Warren Axelrod:

Engineering Safe and Secure Software Systems

Artech House, Norwood, USA, 2013. ISBN 978-1-60807-472-3

Stuart Anderson, Massimo Felice:

Emerging Technological Risk – Underpinning the Risk of Technology Innovation

Springer-Verlag, London, UK, 2012. ISBN 978-1-4471-2142-8

Nancy G. Leveson:

Engineering a Safer World – Systems Thinking applied to Safety

MIT Press, Cambridge MA, USA, 2011. ISBN 978-0-262-01662-9

Mark S. Merkow, Lakshmikanth Raghavan:

Secure and Resilient Software Development

CRC Press, Taylor & Francis Group, Boca Raton, USA, 2010. ISBN 978-1-4398-2696-6

Kim Zetter:

Countdown to Zero Day – Stuxnet and the Launch of the World's First Digital Weapon

Crown Publishing, 2014. ISBN 978-0-7704-3617-9

Drew Chapman:

The Pattern of Fear – Paranoia is all in the Mind

Penguin Books, London, UK, 2013. ISBN 978-1-405-91287-7

Jeffrey Papows:

Glitch – The Hidden Impact of Faulty Software

Prentice Hall Inc., USA, 2010. ISBN 978-0-132-16063-6

Page 74: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

74Dr. Frank J. Furrer - WS 2014/15

Future-Proof Software-Systems:

Managed Evolution

Page 75: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

75Dr. Frank J. Furrer - WS 2014/15

Future-Proof Software-Systems: Managed Evolution Coordinate System

x: BusinessValue

y: Resilience

z: Agility At any point in time tn

a system has a quantified:

• Business value

• Resilience

• Agility

agilitymetric

resilience

metric

Page 76: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

76Dr. Frank J. Furrer - WS 2014/15

BusinessValue

Resilience

Agility

Every project transforms the

system, i.e. it improves or

deteriorates its:

• Business value

• Resilience

• Agility

Page 77: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

77Dr. Frank J. Furrer - WS 2014/15

gain inbusiness value

gain inresilience

gain inagility

BusinessValue

Resilience

Agility

There are «good»

projects – improving

at the same time:

• Business value

• Agility

• Resilience

of the system

Page 78: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

78Dr. Frank J. Furrer - WS 2014/15

gain inbusiness value

loss inresilience

loss inagility

BusinessValue

Resilience

Agility

There are «bad» projects –

deteriorating at least one of the:

• Business value

• Agility

• Resilience

of the system

Page 79: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

79Dr. Frank J. Furrer - WS 2014/15

BusinessValue

Resilience

Agility

Future-Proof Software-Systems: Evolution Trajectory

A sequence of

projects builds a

transformation

trajectory of the IT

system (= the

evolution trajectory)

Page 80: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

80Dr. Frank J. Furrer - WS 2014/15

BusinessValue

Resilience

Agility

BusinessValue

Resilience

BusinessValue

Agility

Page 81: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

81Dr. Frank J. Furrer - WS 2014/15

BusinessValue

Resilience

BusinessValue

Agility

Future-Proof Software-Systems: 2 Managed Evolution Coordinate System

Agility Evolution Trajectory Resilience Evolution Trajectory

All projects in time All projects in time

Loss ofresilience

Gain ofBusiness value

Gain ofagility

Gain ofBusiness value

PiPj

Page 82: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

82Dr. Frank J. Furrer - WS 2014/15

BusinessValue

Agility

Loss ofAgility

Gain of BusinessValue

Continuous development of

business value while neglecting

improvement of agility leads to a

petrification of the system

(= path to death)

Trajectory Case 1:Opportunistic Evolution

Agility Evolution Trajectory

Page 83: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

83Dr. Frank J. Furrer - WS 2014/15

BusinessValue

Agility

Trajectory Case 1:Opportunistic Evolution

Agility Evolution Trajectory: What does it mean?

4.2 k€/UCP

0.8 days/UCP10.0 k€/UCP

4.0 days/UCP

50.0 k€/UCP

10.0 days/UCP

Page 84: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

84Dr. Frank J. Furrer - WS 2014/15

Resilience

Loss ofResilience

Gain of BusinessValue

Trajectory Case 1:Opportunistic Evolution

Resilience Evolution Trajectory

BusinessValue

Continuous development of

business value while neglecting

improvement of resilience leads

to an undefendable system

(= path to death)

Page 85: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

85Dr. Frank J. Furrer - WS 2014/15

Resilience

Trajectory Case 1:Opportunistic Evolution

Resilience Evolution Trajectory: What does it mean?

BusinessValue

Page 86: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

86Dr. Frank J. Furrer - WS 2014/15

Which is the right strategy for Future-Proof Software-Systems?

htt

p:/

/w

ww

.forb

es.c

om

/fd

c/w

elc

om

e_m

jx.s

htm

l

Page 87: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

87Dr. Frank J. Furrer - WS 2014/15

BusinessValue

Agility

Gain ofAgility

Gain of BusinessValue

ManagedEvolutionChannel

Continuous development of both business value

and agility leads to a sustainable system

(= path to future-proof SW-systems)

Trajectory Case 2:Managed Evolution

Agility Evolution Trajectory

Page 88: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

88Dr. Frank J. Furrer - WS 2014/15

BusinessValue

Resi-lience

Gain ofResi-

lience

Gain of BusinessValue

ManagedEvolutionChannel

Continuous development of both business value

and resilience leads to a sustainable system

(= path to future-proof SW-systems)

Trajectory Case 2:Managed Evolution

Resilience Evolution Trajectory

http

://en

.wik

ipedia

.org

/w

iki/

Cze

ch

oslo

vak_b

ord

er_

fortific

atio

ns

Page 89: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

89Dr. Frank J. Furrer - WS 2014/15

Manifesto ofManaged Evolution

1. Each project mustimprove business value,

agility and resilience(average)

2. Each projectimplements only amanageable, risk-

controlled functionality

ManagedEvolutionChannel

Business Value

AgilityResilience

First Key Insightfor Future-Proof

Software-Systems

Page 90: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

90Dr. Frank J. Furrer - WS 2014/15

Is there a significant obstacle to managed evolution?

BusinessValue

Agility

Project Pn

Implementing an

amount of functionality

(= business value)

requires:

• Money (€, $)

• Time (TPn)

Resilience

Gain of BusinessValue

Page 91: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

91Dr. Frank J. Furrer - WS 2014/15

Is there a significant obstacle to managed evolution?

BusinessValue

Agility

Improving agility and

resilience requires

additional:

• Money (€, $)

• Time (TPn)

Resilience

Gain of Business Value

Gain ofagility &

resilience

Page 92: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

92Dr. Frank J. Furrer - WS 2014/15

Is there a significant obstacle to managed evolution?

Improving agility and resilience

requires additional:

• Money (€, $)

• Time (TPn)

Agility Resilience

Gain ofagility &

resilience

http://sgs-uae.com

Are your business people prepared to pay?

For every project?

Page 93: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

93Dr. Frank J. Furrer - WS 2014/15

Is there a significant obstacle to managed evolution?http://wohleranzeiger.ch/seilziehen/index.html

BusinessPeople

CIO &IT-Architects

Business wants:• (Very) short time to market

• Low cost

• Only essential functionality

• Newest technology

CIO & Architecture want:• Improving Agility

• Improving Resilience

• Limit growth in complexity

• No technical debt

Page 94: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

94Dr. Frank J. Furrer - WS 2014/15

Is there a significant obstacle to managed evolution?

http://wohleranzeiger.ch/seilziehen/index.html

BusinessPeople

CIO &IT-Architects

Second Key Insightfor Future-Proof

Software-Systems

Necessary:Good alignment, trustand respect betweenbusiness and IT

Page 95: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

95Dr. Frank J. Furrer - WS 2014/15

http

://articles.econ

om

ictimes.in

diatim

es.com

/20

13

-02

-06

/new

s/36

94

96

15

_1_b

oein

g-s-dream

liner-fligh

ts-nip

po

n-airw

ays

Example: Boeing 787(787 Dreamliner Grounding)

On January 17, the fleet of 50dreamliner 787 aircraft wasgrounded due to problems with itslithium-ion batteries

Reason: The pressure to meet tight deadlines

http://www.nbcnews.com/id/50584174

Highly dangerous:

Business requirementsmassively overruledengineering requirements

Page 96: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

96Dr. Frank J. Furrer - WS 2014/15

Managed Evolution: Importance

Why is managed evolution so important?

• Most of today’s software-systems are so large andcomplex, that they cannot be understood by a singleperson, not even by a group of persons

• Entropy strongly and quickly deteriorates the qualityproperties of software-systems

We need a reliable, measurable strategy to evolve ourlarge and complex software-systems

We need to measure the success of our strategy, i.e. toprove the improvement of our quality criteria

We need a management tool to steer large projects intothe quality-based direction we want

Page 97: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Managed Evolution

97Dr. Frank J. Furrer - WS 2014/15

Managed Evolution: Importance

BusinessValue

Agility

Gain ofAgility

htt

p:/

/lu

nat

un

es.d

evia

nta

rt.c

om

/art

Gain of BusinessValue

Page 98: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: References

98Dr. Frank J. Furrer - WS 2014/15

References: Managed Evolution

Reference

Stephan Murer, Bruno Bonati, Frank J. Furrer:

Managed Evolution – A Strategy for Very Large Information Systems

Springer-Verlag, Berlin Heidelberg, 2011, ISBN 978-3-642-01632-5

Michael A. Cusumano:

Staying Power – Six Enduring Principles for Managing Strategy & Innovation in an Uncertain World

Oxford University Press, New York, USA, 2010. ISBN 978-0-19-921896-7

Olivier L. de Weck, Daniel Roos, Christopher L. Magee:

Engineering Systems – Meeting Human Needs in a Complex Technological World

MIT Press, Cambridge, USA, 2011. ISBN 978-0-262-01670-4

George Fairbanks:

Just Enough Software Architecture – A Risk-Driven Approach

Marshall & Brainerd, Boulder CO, USA, 2010. ISBN 978-0-9846181-0-1

Mario Godinez, Eberhardt Hechler, Klaus Koening, Steve Lockwood, Martin Oberhofer, Michael Schroeck:

The Art of Enterprise Information Architecture: A Systems-Based Approach for Unlocking Business Insight

Addison Wesley Publishing Inc., USA, 2010. ISBN 978-0-13-703571-7

Frederik Ahlemann, Eric Stettiner, Marcus Messerschmidt, Christine Legner (Editors):

Strategic Enterprise Architecture Management – Challenges, Best Practices, and Future Developments

Springer-Verlag, Berlin Heidelberg, 2012. ISBN 978-3-642-24222-9

Scott A. Bernard:

An Introduction to Enterprise Architecture – Linking Strategy, Business, and Technology.

Author House, IN, USA, 2012. ISBN 978-1-4772-5800-2

Page 99: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

99Dr. Frank J. Furrer - WS 2014/15

Future-Proof Software-Systems:

Business Value ErosionArchitecture Erosion

Technical Debt

Page 100: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

100Dr. Frank J. Furrer - WS 2014/15

The force of entropy means that disorder is the only thing

that happens automatically and by itself.

If you want to create a completely ad-hoc IT architecture,

you do not have to lift a finger.

It will happen automatically as a result of day-to-day IT

activity.

Richard Hubert: Convergent Architecture, 2002. ISBN 978-0-471-10560-2

http://larvalsubjects.wordpress.com

Page 101: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

101Dr. Frank J. Furrer - WS 2014/15

Business Value Erosion

BusinessValue

AgilityResilience

tn

AgilityResilience

tn+1 tn

BusinessValue

AgilityResilience

tn+2 tn+1 tn

Business Value

Business value erodes,

because:

• Functionality

becomes obsolete

• User behaviour

changes

• Functionality is

replaced (renewed)

• New delivery

channels appear

Page 102: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

102Dr. Frank J. Furrer - WS 2014/15

Business Value

AgilityResilience

Architecture Erosionhttp://thoreau.colonial.net/Students/EricksonHoyt/erosion

The force of erosion

continuously

reduces agility and

resilience (and other

quality properties)

Page 103: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

103Dr. Frank J. Furrer - WS 2014/15

Architecture Erosion

Any IT-architecture is continuously

degenerating due to many factors:

• SW Paradigm changes (e.g. SOA)

• New laws & regulations

• New standards (e.g. interoperability standards)

• New technology platforms (e.g. Web Services)

• Introduction of new architecture principles

• Complexity increase

• New malicious activities

… and some more

http://thoreau.colonial.net/Students/EricksonHoyt/erosion

Architecture Erosion:

Architecture Erosionis generated byexternal factors

Page 104: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

104Dr. Frank J. Furrer - WS 2014/15

Architecture Erosion Examples

In the history of software engineering there were manydisruptive paradigm changes which led to massivearchitecture erosion, e.g.:

Procedural programming Object-Orientation

Local processing distributed processing

Monoliths Client-Server architecture

Remote procedure calls/CORBA Web services

Programming by people Model-based code generation

… and more to come

Page 105: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

105Dr. Frank J. Furrer - WS 2014/15

Business Value

AgilityResilience

http://thoreau.colonial.net/Students/EricksonHoyt/erosion

You need a

continuous effort

just to maintain

agility and resilience

Architecture Erosion

Page 106: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

106Dr. Frank J. Furrer - WS 2014/15

Business Value

AgilityResilience

http://thoreau.colonial.net/Students/EricksonHoyt/erosion

You need additional

effort to improve

agility and resilience

Architecture Erosion

Page 107: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

107Dr. Frank J. Furrer - WS 2014/15

Architecture Erosion Example: COBOL Programming

Gartner 1997:

Around 200 billion lines of COBOL code are in live operation

75% of the world’s business data, and 90% of financialtransactions, are processed in COBOLhttp://en.wikipedia.org/wiki/COBOL

htt

p:/

/w

ww

.wew

ere

web.b

e/in

trodu

cti

on

-au

-cobol/

2012/01/22

COBOL (COmmonBusiness-OrientedLanguage, 1959) is acompiled programminglanguage designed forbusiness, finance, andadministrative systemsuse.

Technical Erosion:Replacement?

Page 108: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

108Dr. Frank J. Furrer - WS 2014/15

Technical Debt

Technical Debt

Technical Debt

Definition:

Technical debt in an IT-system is the

result of all those necessary things that

you choose not to do now, but will impede

future evolution if left undone

Ward Cunningham, 2007

Technical Debt:is generated byinternal factors

Page 109: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

109Dr. Frank J. Furrer - WS 2014/15

Technical Debt

Technical Debt:

Causes of Technical Debt:

• Architecture Erosion

• Disruptive technology

• Accumulation of mistakes + shortcuts (e.g. breaking partitions)

• Dead code (missed explementations)

• Bad (or ignored) programming best practices & guidelines

• Violation of Architecture Principles, e.g. unmanaged redundancy

• Deferred refactoring

• Progress in software-engineering (e.g. programming languages)

• Careless or skipped upgrades

… and some more

Page 110: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

110Dr. Frank J. Furrer - WS 2014/15

Technical Debt

Technical debt sneaks in– some time seen, sometime unseen

http

://w

ww

.hdw

allp

apers

cool.c

om

/sn

ake-d

eskto

p-w

allp

apers

/

The continuous accumulation of technical debt

is many times justified by the statement:

«we know we should do it differently – but there is no time

now – we will fix it later» (… and forget about)

is a massive danger for any IT-system

Page 111: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

111Dr. Frank J. Furrer - WS 2014/15

The first kind of technical debt is the kind that is incurred

unintentionally. For example, a design approach just turns out to be

error-prone or a junior programmer just writes bad code. This

technical debt is the result of doing a poor job

Steve McConnell, 2007

The second kind of technical debt is the kind that is incurred

intentionally. This occurs when an organization makes a conscious

decision to optimize for the present rather than for the future. This

inc ludes decisions like "We don't have time to reconcile these two

databases, so we'll write some glue code that keeps them

synchronized for now and reconcile them after we ship“, or "We have

some code written by a contractor that doesn't follow our coding

standards; we'll clean that up later”

Steve McConnell, 2007

Page 112: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

112Dr. Frank J. Furrer - WS 2014/15

Time

QualityProperties

TechnicalDebt Accumulation

Technical Debt

Projects

Page 113: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

113Dr. Frank J. Furrer - WS 2014/15

Technical Debt

http://dandev91.wordpress.com/

Cost of one source line of

embedded systems code:

€ 15.00 … € 40.00

Average Technical Debt

in each source line of

embedded systems code:

€ 2.70

[Deloitte Consulting LLP: Tech Trends 2014]

Page 114: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

114Dr. Frank J. Furrer - WS 2014/15

Example: Database Extension (1/2)Technical Debt

ApplicationApplicationApplicationApplicationApplication

NewApplicationDB

Extensions

Solution 1: Extend DB2 Database

ApplicationApplicationApplicationApplicationApplication

NewApplication

Ext Problem: New database standard = ORACLE

Page 115: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

115Dr. Frank J. Furrer - WS 2014/15

Example: Database Extension (2/2)Technical Debt

Solution 2: Full migration to ORACLE Database

ApplicationApplicationApplicationApplicationApplicationMigration

Ext NewApplication

Solution 3: Bridging

NewApplication

ApplicationApplicationApplicationApplication

Bridging:• Synchronization

• Alignment«We will fix it later»

Page 116: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

116Dr. Frank J. Furrer - WS 2014/15

What can we do against the accumulation of technical debt?

Allow additional:

• Money (€, $)

• Time (TPn)

in each project

BusinessValue

Gain of Business Value

Quality Properties

Project Pn

CombatArchitecture

Erosionand

TechnicalDebt

Accumulation

Page 117: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

117Dr. Frank J. Furrer - WS 2014/15

Summary

Architecture erosion and technical debt accumulationconstitute a heavy risk for software-systems.

Architecture erosion and technical debt sneak into thesystem – often unknown – and massively impede theevolution of the IT system

Management procedures, quality assurance processes,and support from the business people must be present toavoid architecture erosion and technical debtaccumulation.

Each individual project must have funding and time toavoid architecture erosion and technical debtaccumulation

Page 118: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

118Dr. Frank J. Furrer - WS 2014/15

Summary«We will fix it later»

… is the direct way to hell

htt

ps:/

/w

ww

.beh

an

ce.n

et

Page 119: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Erosion & Technical Debt

119Dr. Frank J. Furrer - WS 2014/15

Deutsch: Kontostand am 31.12.2012Französisch: Solde bancaire le 31.12.2013Italienisch: Saldo il 31.12.2013Englisch: Balance at 31.12.2013

Example: 5th Language Until 1995 Swiss banking IT-systems used 4 languages:

Spanisch: Saldo el 31.12.2013Due to globalization, in Y2000 a newlanguage (Spanish) had to be offered

to the customers

PROGRAMM N…(1;12;Kontostand am x.y.z)(2;12;Solde bancaire le x.y.z)(3;12;Saldo il x.y.z)(4;12;Balance at x.y.z)……

Traditionally, thetexts were part ofthe individualprograms („text-string“),identified bylanguage codeand text code

PROGRAMM N…(1;12;Kontostand am x.y.z)(2;12;Solde bancaire le x.y.z)(3;12;Saldo il x.y.z)(4;12;Balance at x.y.z)(5;12;Saldo x.y.z)……

Individuallymodify all theprograms whichneed Spanishoutput (ca. 5‘000applications)

Solution 1:

PROGRAMM N……

Create a centrallanguage file andexport it to allprograms

Solution 2:

(1;12;Kontostand am x.y.z)(2;12;Solde bancaire le x.y.z)(3;12;Saldo il x.y.z)(4;12;Balance at x.y.z)(5;12;Saldo x.y.z)

PROGRAMM N+1…… PROGRAMM N+2

…… PROGRAMM N+3

……

Page 120: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: References

120Dr. Frank J. Furrer - WS 2014/15

References: Erosion & Debt

Reference

Chris Sterling:

Managing Software Debt – Building for Inevitable Change

Pearson Education, Addison-Wesley, N.J., USA, 2011. ISBN 978-0-321-55413-0

Deloitte Consulting LLP:

How to Reverse Your Technical Debt

Tech Trends 2014: Inspiring Disruption, June 18, 2014. Downloadable from:http://www.castsoftware.com/castresources/materials/recorded/061814/How_To_Reverse_Your_Technical_Debt.pdf [lastaccessed: 16.8.2014]

Martin Fowler:

Technical Debt

February 2009. Downloadable from: http://martinfowler.com/bliki/TechnicalDebt.html (last accessed 24.6.2013)

Ward Cunningham:

Technical Debt. 2012. Downloadable from: http://c2.com/cgi/wiki?TechnicalDebt [last accessed 9.10.2014]

Steve McConnell:

Technical Debt. 2007. Downloadable from: http://www.construx.com/10x_Software_Development/Technical_Debt/ [lastaccessed 9.10.2014]

Page 121: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

121Dr. Frank J. Furrer - WS 2014/15

Future-Proof Software-Systems:

Importance of Architecture

Page 122: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

122Dr. Frank J. Furrer - WS 2014/15

Definition:

A future-proof software-system is a structure

that enables the management

of complexity, change and uncertainty

with the least effort, with acceptable risk and with specified quality properties

Parts of the systemand their relationsships

Architecture

Page 123: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

123Dr. Frank J. Furrer - WS 2014/15

A future-proof software-system is a structure that enables themanagement of complexity, change and uncertainty

with the least effort, with acceptable risk and with specified qualityproperties

http://www.0lll.com/architecture-exhibitions/?gal=24 http://www.asisbiz.com/index.html

Which structure is easier to expand and evolve?Which structure has the better properties, e.g. quality of life?

Which structure is future-proof?

Page 124: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

124Dr. Frank J. Furrer - WS 2014/15

Why is structure important? What determines structure?

htt

p:/

/ww

w.n

ews.

wis

c.ed

u/n

ewsp

ho

tos/

iro

nV

I.h

tml

Structure is the basis forordered, managed evolution

The

tow

ero

fb

abelb

yP

ieterB

ruegelth

eEld

er(1

56

3)

Architecture! Architecture! Architecture!

Page 125: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

125Dr. Frank J. Furrer - WS 2014/15

Example: Access Control(Applications Security)

Impact of a change: 5’000 privacy-critical banking applications

DigitalCertificate

DigitalCertificate

Access Control

Application

Access Control

Application

Access Control

Application

Access Control

Application

Access Control

Application

Access Control

Application

UID,PW

Structure 1: Distributed Access Control

Application

Application

ApplicationApplication

ApplicationApplication

UID,PW

Access Control

Structure 2: Central Access Control

Page 126: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

126Dr. Frank J. Furrer - WS 2014/15

IT Architecture Definition:

“The fundamental organization of a system

embodied in its parts, their relationships to

each other and to the environment, and the

principles guiding its design and evolution”[adapted from IEEE00]

Page 127: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

127Dr. Frank J. Furrer - WS 2014/15

System Boundary

Parts of the System

Internal Dependencies(Relationships)

External Dependencies(Relationships)

Properties

Behaviour

Properties

Behaviour

Properties

Behaviour

Page 128: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

128Dr. Frank J. Furrer - WS 2014/15

BusinessValue

Agility

BusinessValue

Resilience

+ Quality PropertiesPerformance

Energy Consumption…

The structure of the system

– i.e. its architecture –

determines to a large extent

the properties of the system

Architecture

is the most important factor

for

future-proof software-systems

Page 129: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

129Dr. Frank J. Furrer - WS 2014/15

Architecture of the existing system:• Parts• Relationships

Architecture of the new element:• Parts• Relationships

Page 130: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

130Dr. Frank J. Furrer - WS 2014/15

optimumfit into

existingsystem

Design, Implementation,Deployment

ArchitectureDevelopment

adequatearchitectureof new parts

&relationships

Architecture development is a

front activity, i.e. it must be done

before the actual software

development starts

How much shall we invest into

architecture devlopment?

• Money (5%, 12%, 27%, …) ?

• Time (3%, 11%, 21%) ?

Page 131: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

131Dr. Frank J. Furrer - WS 2014/15

G. Fairbanks / ISBN 978-0-9846181-0-1

How much Architecture is enough?

Architecture = Front-end effort (beforethe productive work starts)

Cost, delay, constraints

Architecture work

Project effort (€)

10 %

100 %

??

Answer:

• System creation/extensions with highrisk need much architecture work

• System creation/extensions with lowrisk need little architecture work(George Fairbanks - ISBN 978-0-9846181-0-1, 2010)

Page 132: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

132Dr. Frank J. Furrer - WS 2014/15

How much Architecture is enough?

Architecture work

Project effort (€)

10 %

100 %

http

://w

ww

.skyscra

pern

ew

s.o

rgh

ttp:/

/w

ww

.dim

en

sio

nsin

fo.c

om

/dim

en

sio

ns-o

f-a-d

og-h

ou

se

Page 133: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

133Dr. Frank J. Furrer - WS 2014/15

When have we done enough architecture work?

How do we know that we have a good architecture?

Architecture Principles

Architecture Evaluation

Page 134: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

134Dr. Frank J. Furrer - WS 2014/15

Arc

hite

ctu

reD

evelo

pm

en

t

Architecture options

Existingsystem

architecture

Arc

hite

ctu

reE

valu

atio

n

Target architecture

weightingtrade-offs

Requirements• functional• properties

RequirementsEngineering

stakeholders

ArchitectureTop-LevelProcess

completeness,consistency

Page 135: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

135Dr. Frank J. Furrer - WS 2014/15

Example: Sanction Filter(Financial embargo enforcement)

Application

ApplicationApplication

Application

ApplicationApplication

ApplicationApplication

Application

ApplicationApplication

Application

ApplicationApplication

ApplicationApplication

ApplicationApplication

Application

Application

several 1‘000 applicationsin >40 countries

SIC XYZSWIFT SWIFT SWIFT SWIFT SWIFT SWIFT SIC XYZ

hundreds of clearing hubs worldwide

world

wid

econ

nectiv

ity

several 1‘000connections toclearing hubs

New legal requirement:„Strictly enforce embargo lists

worldwide“

San

cti

on

filt

er

Page 136: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

136Dr. Frank J. Furrer - WS 2014/15

Example: Sanction Filter(Financial embargo enforcement)

Application

ApplicationApplication

Application

ApplicationApplication

ApplicationApplication

Application

ApplicationApplication

Application

ApplicationApplication

ApplicationApplication

ApplicationApplication

Application

Application

several 1‘000 applicationsin >40 countries

SIC XYZSWIFT SWIFT SWIFT SWIFT SWIFT SWIFT SIC XYZ

hundreds of clearing hubs worldwide

several 1‘000connections toclearing hubs

San

cti

on

filt

er

Architecture option 1:Fully decentralized installation

Page 137: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

137Dr. Frank J. Furrer - WS 2014/15

Example: Sanction Filter(Financial embargo enforcement)

Application

ApplicationApplication

Application

ApplicationApplication

ApplicationApplication

Application

ApplicationApplication

Application

ApplicationApplication

ApplicationApplication

ApplicationApplication

Application

Application

several 1‘000 applicationsin >40 countries

SIC XYZSWIFT SWIFT SWIFT SWIFT SWIFT SWIFT SIC XYZ

hundreds of clearing hubs worldwide

Architecture option 2:Fully centralized installation

centralized, high-performancesanction filter

Page 138: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

138Dr. Frank J. Furrer - WS 2014/15

Example: Sanction Filter(Financial embargo enforcement)

Application

ApplicationApplication

Application

ApplicationApplication

ApplicationApplication

Application

ApplicationApplication

Application

ApplicationApplication

ApplicationApplication

ApplicationApplication

Application

Application

several 1‘000 applicationsin >40 countries

SIC XYZSWIFT SWIFT SWIFT SWIFT SWIFT SWIFT SIC XYZ

hundreds of clearing hubs worldwide

Architecture option 3:Sub-clustering

Sanctionlist

centrallymaintained

Page 139: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

139Dr. Frank J. Furrer - WS 2014/15

Example: Sanction Filter(Financial embargo enforcement)

Arc

hite

ctu

reE

valu

atio

n

Target architecture

weightingtrade-offs

Criteria Option 1: fullydecentralized

Option 2: fullycentralized

Option 3: Sub-clustering

Performance 3 1 2

Security 1 3 2

Maintainability 1 3 3

Dependability 3 1 2

Implementation cost 1 2 3

Operational cost 1 3 2

Match withorganizationalstructure

1 1 3

Governance 1 1 3

Legal & complianceconformance

2 3 3

Archiving 1 3 2

Assessment 15 21 25

1 = low2 = average3 = good

Page 140: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

140Dr. Frank J. Furrer - WS 2014/15

Primary Characteristics:

Business Value

Agility

Resilience

Secondary Characteristics:

Non-functional properties:

o Reusability

o Hardware Resource Consumption

o Adherence to industry-standards

o etc.

Characteristics of Future-Proof Software-Systems

«as good asnecessary»

«continuousimprovement»

whichproperties?

Page 141: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

141Dr. Frank J. Furrer - WS 2014/15

Example: Availability(System Quality Property)

Definition:

Availability = The degree to which a system or component is operational andaccessible when required for use [IEEE Std 610.12-1990]

Simply put, availability is the proportion of time a system is in a functioning condition

S

Metric:E[Uptime]

Availability A =E[Uptime]+E[Downtime]

Example:

Uptime = 23.8 hrs/day

Downtime = 0.2 hrs/day

A = 0.9917

Page 142: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

142Dr. Frank J. Furrer - WS 2014/15

Quality Property Type

Business Value Primary Characteristic

Agility Primary Characteristic

Availability

Security

Safety

Privacy/Confidentiality

Performance

Usability

Robustness

Operating Cost

Reusability

Compliance to laws and regulations

Adherence to industry-standards

Memory Size

Power consumption

Testability

etc.

= Resilience

identical forall systems

Resilience set:dependent onapplication area

Additionalqualityproperties:dependent onapplication area

Page 143: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

143Dr. Frank J. Furrer - WS 2014/15

# System Quality Property Weight

0: irrelevant

10: highest importance

Primary Characteristics

1 Business Value 10

2 Agility 10

Resilience:

3 Safety 9

4 Fault-Tolerance 9

5 Compliance to laws & regulations 9

6 Integrity (Sensor Data) 9

7 Availability 8

8 Security 7

9 Diagnosability 6

Secondary Characteristics

10 Resources (Memory, CPU, …) 8

11 Compliance to industry-standards 7

12 Usability (User Interfaces) 9

etc

Example:Automotive Domain

Quality PropertyScore Card

Page 144: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

144Dr. Frank J. Furrer - WS 2014/15

System Design,Implementation,

Deployment

ArchitectureDevelopment

ArchitectureEvaluation

Fun

ctio

nal

Requ

irem

en

ts

# System Quality Property Weight

0: irrelevant

10: highest importance

Primary Characteristics

1 Business Value 10

2 Agility 10

Resilience:

3 Safety 9

4 Fault-Tolerance 9

5 Compliance to laws & regulations 9

6 Integrity (Sensor Data) 9

7 Availability 8

8 Security 7

9 Diagnosability 6

Secondary Characteristics

10 Resources (Memory, CPU, …) 8

11 Compliance to industry-standards 7

12 Usability (User Interfaces) 9

etc

rev

iew

&a

pp

rov

al

Page 145: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

145Dr. Frank J. Furrer - WS 2014/15

Summary

The most important success factor for a future-proof

software system is its structure: The structure enables

functionality and most of the quality attributes. Therefore

the system structure must very carefully be defined,

implemented and evolved.

Structure of a system is defined by its architecture. The

architecture must be adequate and adhere to proven

architecture principles. Architecture is a continuously

evolving, managed, key artefact!

Page 146: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

146Dr. Frank J. Furrer - WS 2014/15

Future-Proof Software-Systems:

Industrial Architecture

Page 147: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

147Dr. Frank J. Furrer - WS 2014/15

Software determines (to a large extent):

Functionality

Quality Properties, such as safety, security, availability, …)

Competitiveness and revenue generation of the company

Innovation and Intellectual Property Rights

Faulty software has an enormous impact:

• Risks in safety- or security-critical systems

• Loss of customers, revenue and reputation

• Legal & regulatory consequences

• Product liability

• etc.

Jeffrey Papows, 2010

ISBN 978-0-132-16063-6

Page 148: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

148Dr. Frank J. Furrer - WS 2014/15

Example: Faulty Automotive Software

Feb 12, 2014 (Reuters): “Toyota Motor Corp on

Wednesday issued a recall covering all 1.9 million of

the third-generation Prius cars sold worldwide, due

to a programming glitch in their hybrid system”

htt

p:/

/arc

hiv

e.w

grz

.com

/n

ew

s/art

icle

/216964/1/Toyota

-Recalls-2

42000-P

riu

s-L

exu

s-H

ybri

d-C

ar

Page 149: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

149Dr. Frank J. Furrer - WS 2014/15

Agility

Business Value

Business Value

Resilience

Business Value

Quality Properties

Future-ProofSoftware Systems

+ Functional correctness

The software doeswhat it should do

The software does notwhat it should not do

Functional Correctness

↑Good Architecture

Page 150: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

150Dr. Frank J. Furrer - WS 2014/15

System/Software Architecture

ArchitectureQuality

bad

low

good

high

Enabler for:

business value, agility,

quality properties, functional correctness

Cause for:

functional errors restricted business

value low agility

bad quality properties

Page 151: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

151Dr. Frank J. Furrer - WS 2014/15

System/Software Architecture

=Central Issue

in Systems- and Software-Engineering

Lecture:

Parts 2 & 3: Principles of good architecture

( Structure of Future-Proof Software-Systems)

Part 4: The Role, Personality and Context

of the „Future-Proof Software-System Architect“

Page 152: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

152Dr. Frank J. Furrer - WS 2014/15

Architecture

=Central Issue

in Systems- and Software-Engineering

Industrial Architecture:

= The result of a principle-based, formalized

process relying on industrial methods and

best practices to assure defined quality goals

Page 153: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

153Dr. Frank J. Furrer - WS 2014/15

Industrial Architecture

«Architecture» of the Industrial Architecture:

Meta-Architecture

[= A Framework to specify Industrial Architecture]

Page 154: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

154Dr. Frank J. Furrer - WS 2014/15

Information (Data)Architecture(Information & Data)

TechnicalArchitecture(TechnicalInfrastructure)

IntegrationArchitecture(CooperationMechanisms)

ApplicationsArchitecture(Functionality)

BusinessArchitecture(Business Processes)

Industrial Architecture Stack:

Page 155: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

155Dr. Frank J. Furrer - WS 2014/15

Example:Automotive Control

htt

p:/

/ww

w.v

eh

icle

-lab

.ne

t

Information (Data) Architecture:• Specification of information used (car & environment) and data structures

Technical Architecture:• Number and location of the ECU‘s, cabling structure• System software (RTOS)

Integration Architecture:• Design of bus-structure(s) and interaction mechanisms & middleware

Applications Architecture:• Assignment of functionality to tasks, definition of interfaces, redundancy

Business Architecture:• Definition of Functionality, User interfaces & Interactions

Page 156: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

156Dr. Frank J. Furrer - WS 2014/15

Information (Data)Architecture(Information & Data)

TechnicalArchitecture(TechnicalInfrastructure)

IntegrationArchitecture(CooperationMechanisms)

ApplicationsArchitecture(Functionality)

BusinessArchitecture(Business Processes)

Str

uctu

ralA

rch

itectu

reLayers

Hori

zonta

lA

rch

itectu

res

SecurityArchitecture

(Defense)

SafetyArchitecture

(Accidents)

PerformanceArchitecture

(Real-Time)

SystemManagementArchitecture

(Control)

etc

.X-Architectures

Vertical Architectures

Page 157: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

157Dr. Frank J. Furrer - WS 2014/15

Information (Data)Architecture(Information & Data)

TechnicalArchitecture(TechnicalInfrastructure)

IntegrationArchitecture(CooperationMechanisms)

ApplicationsArchitecture(Functionality)

BusinessArchitecture(Business Processes)

SecurityArchitecture

(Defense)

SafetyArchitecture

(Accidents)

PerformanceArchitecture

(Real-Time)

SystemManagementArchitecture

(Control)

etc

.

Imp

act

on

all

ho

rizo

nta

lla

ye

rs

Imp

act

on

all

ho

rizo

nta

lla

ye

rs

Imp

act

on

all

ho

rizo

nta

lla

ye

rs

Imp

act

on

all

ho

rizo

nta

lla

ye

rs

Page 158: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

158Dr. Frank J. Furrer - WS 2014/15

Information (Data)Architecture(Information & Data)

TechnicalArchitecture(TechnicalInfrastructure)

IntegrationArchitecture(CooperationMechanisms)

ApplicationsArchitecture(Functionality)

BusinessArchitecture(Business Processes)

SecurityArchitecture

(Defense)

SafetyArchitecture

(Accidents)

PerformanceArchitecture

(Real-Time)

SystemManagementArchitecture

(Control)

etc

.

For each of the horizontal

and vertical architectures there are:

• Architecture Principles

• Architecture Patterns

• Best Practices

Page 159: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

159Dr. Frank J. Furrer - WS 2014/15

ArchitecturePrinciples

ArchitectureGuidelines &

Best Practices

ArchitectureStandards

Architecture Developmenthttp://www.telco2.net/blog/2007/04/telco_20_event_digital_worker.html

Fundamental insights– formulated as rules –how a good IT-systemshould be built

http://www.wyattresources.com/guardrail.htm

Implementation advice– seen as „guardrails“ –to guide the architect

Binding, enforcableregulation for buildingan IT-system

Page 160: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

160Dr. Frank J. Furrer - WS 2014/15

Example: Managed Data Redundancy(Applications Architecture & Information Architecture)

Problem: Different applications work with inconsistent data

Information(Content)

InformationSource

InformationSource

DataSource

DataSource

Snap-shot

ApplicationUserApplication

UserApplicationUser

ApplicationUserApplication

User

ApplicationUser

Multiple, uncoordinatedacquisition of the sameinformation

Redundant, ofteninconsistent data

Applications or userswork with different,inconsistent data

Page 161: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

161Dr. Frank J. Furrer - WS 2014/15

Example: Managed Data Redundancy(Applications Architecture & Information Architecture)

The data is generatedand propagated in aconsistent way

Applications or userswork with consistent data

Architecture Principle:For each information (content) one andonly one master source is defined. All

managed data redundancy derivessolely from this master source

Information(Content)

InformationSource

InformationSource

Master DataSource

Synchronization/Consistency

Snap-shot

DataSource

DataSource

ApplicationUserApplication

UserApplicationUser

ApplicationUserApplication

User

ApplicationUser

Page 162: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

162Dr. Frank J. Furrer - WS 2014/15

Example: Access Control (Security Architecture)

InformationArchitecture

TechnicalArchitecture

IntegrationArchitecture

ApplicationsArchitecture

BusinessArchitecture

Security Safety Perfor-mance

SystemManage-

ment

UserNameIDCredentials

Protection Object

NameIDConfidentiality LevelConstraints

Role

Role NameID

1…*1…*

MemberOf

1…*1…*

isAuthorizedfor

RightAccessTypeCredentials

checkRights

http://www.techwench.com

Rights DB

Access Control

APPLICATION

Rights

Page 163: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

163Dr. Frank J. Furrer - WS 2014/15

EngineeringDiscipline

ArchitecturePrinciples

ArchitectureGuidelines &Best Practices

ArchitectureMetrics

ArchitectureStandards

GovernanceInstrument

IT StandardsEnforcement

TechnologyPortfolio

Management

ApplicationsPortfolio

Management

ServicePortfolio

Management

ArchitectureProcess

IT StandardsDevelopment

ComplexityManagement

Architect‘sTraining

Business – ITAlignment

ArchitectureCommunication

Industrial Architecture

Architecture Development

Architecture Enforcement

Result: Structure („Architecture“)

Structure

BusinessArchitecture

ApplicationsArchitecture

IntegrationArchitecture

InformationArchitecture

TechnicalArchitecture

VerticalArchitectures

Page 164: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

164Dr. Frank J. Furrer - WS 2014/15

Use and Importance of Architecture Views

Stakeholders

www.123rf.com

Sys Mgmt

Security

Safety

etc.

Architecture documentation:

Documentation Framework

Views:

Overarching documentation

Page 165: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

165Dr. Frank J. Furrer - WS 2014/15

Architecture View: Security – a selective view

System Boundary

Security Properties:• Protocol: Secure ESB

• Encryption: RSA-1024• Encryption: Link

• Authentication: none

Security Properties:• Protocol: SSL

• # Cert: 2‘048 Bit• Encryption: End-to-End

• Authentication: PKI

Security Properties:• Authentication: # Certificates

• Authorization: Role-Based• Audit Trail: Real-Time

• Monitoring: continuous• Databases: encrypted

Page 166: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Importance of Architecture

166Dr. Frank J. Furrer - WS 2014/15

Summary

Bad architecture is the cause for:

functional errors

restricted business value

low agility, weak resilience

bad quality properties

Good architecture is the enabler for:

business value,

agility & resilience,

quality properties,

functional correctness

Page 167: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

167Dr. Frank J. Furrer - WS 2014/15

References:ReferencesMurer11 Stephan Murer, Bruno Bonati, Frank J. Furrer:

Managed Evolution – A Strategy for Very Large Information Systems

Springer-Verlag, Berlin Heidelberg, 2011, ISBN 978-3-642-01632-5Fairbanks10 George Fairbanks:

Just Enough Software Architecture – A Risk-Driven Approach

Marshall & Brainerd, Boulder CO, USA, 2010. ISBN 978-0-9846181-0-1DeWeck11 Olivier L. de Weck, Daniel Roos, Christopher L. Magee:

Engineering Systems – Meeting Human Needs in a Complex Technological World

MIT Press, Cambridge, USA, 2011. ISBN 978-0-262-01670-4Bass13 Len Bass, Paul Clements, Rick Kazman:

Software Architecture in Practice

SEI-Series (Pearson Education), Addison-Wesley, N.J., USA, 3rd edition, 2013. ISBN 978-0-321-81573-6Beijer10 Peter Beijer, Theo de Klerk:

IT Architecture – Essential Practice for IT Business Solutions

Lulu Enterprises Inc., USA, 2010 (www.lulu.com). ISBN 978-1-4457-0603-0Clements10 Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Paulo Merson, Robert Nord:

Documenting Software Architectures: Views and Beyond

SEI Series in Software Engineering. Addison Wesley, MA, USA, 2nd revised edition, 2010. ISBN 978-0-321-55268-6

Gorton06 Ian Gorton

Essential Software Architecture

Springer-Verlag, Berlin Heidelberg, 2006. ISBN 978-3-540-28713-1Greefhorst11 David Greefhorst, Erik Proper:

Architecture Principles – The Cornerstones of Enterprise Architecture

Springer Verlag, Heidelberg, Berlin, 2011. ISBN 978-3-642-20278-0Lattanze09 Anthony J. Lattanze:

Architecting Software Intensive Systems – A Practicioner’s Guide

Auerbach Publications, Taylor & Francis Group, LLC, 2009. ISBN 978-1-4200-4569-7

Page 168: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

168Dr. Frank J. Furrer - WS 2014/15

References:ReferencesSterling11 Chris Sterling:

Managing Software Debt – Building for Inevitable Change

Pearson Education, Addison-Wesley, N.J., USA, 2011. ISBN 978-0-321-55413-0Gutbrod12 Roger Gutbrod, Christian Wiele:

The Software Dilemma – Balancing Creativity and Control on the Path to Sustainable SoftwareSpringer-Verlag, Heidelberg, 2012. ISBN 978-3-642-27235-6

DeMarco97 Tom DeMarco:

The Deadline – A Novel About Project Management

Dorset House Publishing, N.Y., USA, 1997. ISBN 978-0-932633-39-2

Fowler09 Martin Fowler:

Technical Debt

February 2009, downloadable from: http://martinfowler.com/bliki/TechnicalDebt.html (last accessed 24.6.2013)

Duvall07 Paul Duvall, Steve Matyas, Andrew Glover:

Continuous Integration - Improving Software Quality and Reducing Risk

(Pearson Education) Addison-Wesley, N.J., USA, 2007. ISBN 978-0-321-33638-5

Feathers07 Michael Feathers:

Working Effectively with Legacy Code

Prentice Hall International, USA, 2007. ISBN 978-0-13-117705-5

Barbacci95 Mario Barbacci, Mark H. Klein, Thomas A. Longstaff, Charles B. Weinstock:

Quality Attributes

Software Engineering Institute (SEI), Carnegie Mellon University, Technical Report CMU/SEI-95-TR-021,December 1995. Downloadable from: http://www.sei.cmu.edu/library/abstracts/reports/95tr021.cfm (lastaccessed 24.6.2013)

Fairbanks10 George Fairbanks:

Just Enough Software Architecture – A Risk-Driven Approach

Marshall & Brainerd, Boulder CO, USA, 2010. ISBN 978-0-9846181-0-1

Page 169: FPSS WS1415 Part1 V08 20141112 - TU Dresdenst.inf.tu-dresden.de/.../FPSS_WS1415_Part1_V08_20141112.pdf · 2014. 11. 12. · Dr. Fran k J. Furrer - WS 2014/15 2 I prefer dialog - rather

Future-Proof Software-Systems: Industrial Architecture

169Dr. Frank J. Furrer - WS 2014/15

This is the end of Part 1:

You know now the foundations of future-proof software-systems

Parts 2 + 3:

Explains the important architecture principles

Part 4:

Describes the „future-proof software-systems engineer“ and his workingcontext