Part1 V10 20161008 - TU...

133
Future-Proof Software 1 Prof. Dr. Frank J. Furrer - WS 2016/17 Future-Proof Software (Zukunftsfähige Software) Prof. Dr. Frank J. Furrer TU Dresden WS 2016/2017 Part 1: Introduction Part 1: Introduction V1.0 / 08.10.2016

Transcript of Part1 V10 20161008 - TU...

Page 1: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

1 Prof. Dr. Frank J. Furrer - WS 2016/17

Future-Proof Software(Zukunftsfähige Software)

Prof. Dr. Frank J. Furrer

TU Dresden WS 2016/2017

Part 1: IntroductionPart 1: Introduction

V1.0 / 08.10.2016

Page 2: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

2 Prof. Dr. Frank J. Furrer - WS 2016/17

Part 1: IntroductionPart 1: Introduction

Administrative Information

Page 3: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

3 Prof. Dr. Frank J. Furrer - WS 2016/17

Prof. h.c. Dr. Frank J. Furrer

Page 4: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

4 Prof. Dr. Frank J. Furrer - WS 2016/17

1975 -2011: Industry-career in industrial control systems and insystem/software architecture for very large IT systems

1974: Ph.D.EE (Dr. sc. techn. ETHZ) from the Swiss Federal Institute ofTechnology, Zurich (ETH-Z)

1970: MS in Electrical Engineering 1970 from the Swiss Federal Institute ofTechnology, Zurich (ETH-Z)

1945 (January 27): Born in Switzerland (Zurich)

CV Summary

2015 (July 1): Professor h.c. of the Computer ScienceDepartment of the Technical University of Dresden (TUD)

2013/14: Lehrbeauftragter TUD Dresden

Page 5: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

5 Prof. Dr. Frank J. Furrer - WS 2016/17

I am available for additional questions or discussionsafter each lecture

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

[email protected]

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

http

://w

ww

.dia

logdata

.de

Page 6: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

6 Prof. Dr. Frank J. Furrer - WS 2016/17

Exams:

[Official Text]:

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

attendance (Sitzschein).

http

://w

ww

.resu

mew

ritingserv

ice.b

iz

Page 7: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

7 Prof. Dr. Frank J. Furrer - WS 2016/17

Certificate of Attendance

Participants can receive a not graded certificateof attendance.

(NO credits ECTS)

Please write an email to [email protected] (Secretary of the Chair of SoftwareTechnology).

She will arrange the certificate.

DO NOT CONTACT ME DIRECTLY. THANKS.

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

Page 8: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

8 Prof. Dr. Frank J. Furrer - WS 2016/17

Oral Exam

Participants can receive a grade 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 9: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

9 Prof. Dr. Frank J. Furrer - WS 2016/17

#

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: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

10 Prof. Dr. Frank J. Furrer - WS 2016/17

Date Topic

Wk 41: Wed, 12. Oct. 16 Introduction

Wk 43: Wed, 26. Oct. 16 Managed Evolution for Software

Wk 45: Wed, 9. Nov. 16 Architecting for Agility (1)

Wk 47: Wed, 23. Nov. 16 Architecting for Agility (2)

Wk 49: Wed, 7. Dez. 16 Architecting for Agility (3)

Wk 51: Wed, 21. Dez. 16 Architecting for Resilience (1)

Wk 3: Wed, 18. Jan. 17 Architecting for Resilience (2)

Wk 5: Wed, 1. Feb. 17 Skills and Personality of the Future-Proof Software-Engineer

Lecture: 3.+4. DS (11:10 – 12:40 und 13:00 – 14:30) in room APB/E010

Page 11: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

11 Prof. Dr. Frank J. Furrer - WS 2016/17

Part 1: Introduction

Part 2: Managed Evolution Strategy for Software Systems

Part 3: Architecting for Agility

Part 4: Architecting for Resilience

Part 5: Skills of a Future-Proof Software Engineer

Slides + Additional Information:

http://st.inf.tu-dresden.de/teaching/fps

Lecture Structure:

Page 12: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

12 Prof. Dr. Frank J. Furrer - WS 2016/17

BusinessCase

justifies

Future-ProofSoftware

QualityProperties

definedby

Structure

enables

Architectureforms

guide

control

DevelopmentProcess

builds

ArchitecturePrinciples

enforce

Future-ProofSoftwareEngineer

leads

appliesMetrics

quantify

uses

Conceptual Context:(Lecture Map)

WorkingEnvironment

is embedded in

Page 13: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

13 Prof. Dr. Frank J. Furrer - WS 2016/17

Part 1: IntroductionPart 1: Introduction

Start

Page 14: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

14 Prof. Dr. Frank J. Furrer - WS 2016/17

http

://blo

g.w

estin

tera

ctiv

e.c

om

… Now the Lecture starts !

Page 15: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

15 Prof. Dr. Frank J. Furrer - WS 2016/17

Why do we need future-proof software?

The software for many products and services is:

• mission-critical

• business-essential

• long-lived

Mission-critical means thata malfunction orunavailability of thesoftware inhibits the use ofthe product or service andmay cause damage,accidents or loss

http

://w

ww

.20m

inu

tes.fr

Page 16: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

16 Prof. Dr. Frank J. Furrer - WS 2016/17

Business-essential impliesthat the software is key to thesuccess and development of acompany or organization

htt

p:/

/n

ew

s.s

oft

pedia

.com

Long-lived signifies that thesoftware-system must bemaintained, extended and evolvedover many years, possibly decades

http

://w

ww

.123rf.c

om

Page 17: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

17 Prof. Dr. Frank J. Furrer - WS 2016/17

Mission-critical Business-essential Long-lived

Page 18: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

18 Prof. Dr. Frank J. Furrer - WS 2016/17

Part 1: IntroductionPart 1: Introduction

«Software everywhere»

6 Software Successes

6 Software Failures

Page 19: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

19 Prof. Dr. Frank J. Furrer - WS 2016/17

Software Success Story: Example 1Mercedes GLE 500e (Hybrid)

htt

p:/

/w

ww

.moto

r-ta

lk.d

e/bilder

Software-implemented functionality:

• Hybrid-Optimization (Electrical motor/Gasoline V6)

• Elektronic Stabilityprogram

• Various assistent systems (Line keeping, Dead angle, Distance, …)

• …

Page 20: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

20 Prof. Dr. Frank J. Furrer - WS 2016/17

Software Success Story: Example 22016 European Truck Platooning Challenge

htt

p:/

/w

ww

.its

inte

rnati

on

al.com

Truck platooning, where trucks travel in convoy very close to eachother, provides many benefits. The first truck does the driving whilethe ones following are connected by a wireless electroniccommunications system, like the carriages of a train

Page 21: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

21 Prof. Dr. Frank J. Furrer - WS 2016/17

Participants: 20 mechanically identical e-cars with more than 300km/h top speed race on Formula-1 tracks

Decisive: Software (Algorithms, artificial intelligence,ability to learn, …)

http

://w

ww

.tele

gra

ph

.co.u

k

Software Success Story: Example 3Driverless e-car racing 2016 (Roborace)

Page 22: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

22 Prof. Dr. Frank J. Furrer - WS 2016/17

Software Success Story: Example 4Artificial Intelligence plays GO

htt

ps:/

/fr

.wik

ipedia

.org

«GO» is a strategic board game which was invented

in China 2’500 years before.

Board: 19 x 19 Lines, unlimited number of white

and black stones.

http

://w

ww

.bre

ttspie

lnetz.d

e

Goal: Occupy as muchterritory as possible

Number of possible positions on theGO-board: 4,63 x 10170

Chess: 1043

Atoms in the universe: 1080

Page 23: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

23 Prof. Dr. Frank J. Furrer - WS 2016/17

Software Success Story: Example 4Artificial Intelligence plays GO

Impressive/Worrying:

«AlphaGO» has NOT been

programmed: It is a self-learning

program [Deep Learning]

http

://w

ww

.dig

italtre

nds.c

om

March 2016: The AI-program

«AlphaGO» wins in a

tournament against the

multiple world champion Lee

Sedol 4:1htt

p:/

/w

ww

.wats

on

.ch

Page 24: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

24 Prof. Dr. Frank J. Furrer - WS 2016/17

Software Success Story: Example 4Artificial Intelligence plays GO

htt

p:/

/w

ww

.an

dre

asku

ndert

.ch A hurdle has been

overcome – whichwill have unknownand tremendousconsequences

Impressive/Worrying:

«AlphaGO» has NOT been programmed: It is a self-learning program

[Deep Learning]

Page 25: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

25 Prof. Dr. Frank J. Furrer - WS 2016/17

Have humans lost out in all (intellectual) games?

htt

p:/

/kon

an

galfilm

socie

ty.b

logspot.

ch

NO:

CardPoker

Game:IncompleteInformation

Game:Complete

Information

Page 26: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

26 Prof. Dr. Frank J. Furrer - WS 2016/17

htt

p:/

/de.s

lidesh

are

.net

Software expert system for diagnosis and therapy of cancer

Knows and «understands» the complete oncological knowledge

Software Success Story: Example 5Medical Oncological Advisor “Watson”

Page 27: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

27 Prof. Dr. Frank J. Furrer - WS 2016/17

htt

p:/

/data

-in

form

ed.c

om

Software functionality:

• Enormous knowledge-base

• Interactive therapy-, diagnosis advice

• Personalized medicine

Software Success Story: Example 5Medical Oncological Advisor “Watson”

Page 28: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

28 Prof. Dr. Frank J. Furrer - WS 2016/17

ww

w.m

eta

lwork

ingw

orl

dm

agazi

ne.c

om

Welding-/montage-robots

Software Success Story: Example 6Fully automated production facilities

Page 29: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

29 Prof. Dr. Frank J. Furrer - WS 2016/17

htt

p:/

/w

eboft

hin

gs.o

rg

Human-less production line«Dark Factory»

Software Success Story: Example 6Fully automated production facilities

Page 30: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

30 Prof. Dr. Frank J. Furrer - WS 2016/17

htt

p:/

/w

ww

.reu

ters

.com

Software Catastrophe: Example 1Crash Airbus A400M (9. Mai 2015)

A400M: Military Transport PlaneCapacity: 37’000 kg, Range: > 3’000 km

Page 31: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

31 Prof. Dr. Frank J. Furrer - WS 2016/17

Software Catastrophe: Example 1Crash Airbus A400M (9. Mai 2015)

htt

p:/

/w

ww

.ou

est-

fran

ce.fr

Reason: Incomplete engine data after software-update

Software must never start up without a check of its data

Failure of the thrustcontrol of 3 engines

shortly after the start Crash

Page 32: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

32 Prof. Dr. Frank J. Furrer - WS 2016/17

Software Catastrophe: Example 2US$ 951 million cyber-theft

In February 2016, instructions tosteal US$ 951 million from thecentral bank of Bangladesh, wereissued via the SWIFT network

Five transactions issued byhackers, worth $101 million,succeeded

The Federal Reserve Bank ofNY blocked the remainingthirty transactions, amountingto $850 million

Page 33: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

33 Prof. Dr. Frank J. Furrer - WS 2016/17

Software Catastrophe: Example 2US$ 951 million cyber-theft

SWIFT has acknowledged thatthe scheme involved wasaltering SWIFT software on thebank’s computers to hideevidence of fraudulenttransfers

http

://m

ybro

adban

d.c

o.za

A typographical error hadprevented hackers from stealingthe US$ 1 billion they were after

At least 14 additional banks wereattacked with the same scheme

Page 34: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

34 Prof. Dr. Frank J. Furrer - WS 2016/17

The unwanted acceleration of Toyota and Lexus cars caused

89 traffic deaths and 52 injured from 2000 to 2010

htt

p:/

/bu

sin

esseth

icscases.b

logspot.

ch

Software Catastrophe: Example 3Unwanted acceleration of Toyota cars

Page 35: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

35 Prof. Dr. Frank J. Furrer - WS 2016/17

Software Catastrophe: Example 3Unwanted acceleration of Toyota cars

htt

p:/

/w

ww

.au

toevolu

tion

.com

Toyota claimed in thebeginning that thedoormat was the sourceof the acceleration

Independent researchdemonstrated asoftware-problem in thethrottle control

19. March 2014: Toyota pays a US-fine of 1.2 Billion US$

Page 36: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

36 Prof. Dr. Frank J. Furrer - WS 2016/17

htt

p:/

/bilder1

.n-t

v.d

e

Trading Loss on 1.8.2012 (NYSE): 440 Millionen US$

Knight Capital:

Computer-Trader= high-frequencyautomatedcomputer-trading

[10’000 Trades/secHolding: Milliseconds]

Software Catastrophe: Example 4Automated Trading Big Loss

Page 37: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

37 Prof. Dr. Frank J. Furrer - WS 2016/17

Reason: Programming mistake in the high-frequency automated

trading algorithm after a software-update

htt

p:/

/w

ww

.nj.com

On 1.8.2012 at 9:30the computers generated(without human activity)millions of faulty trades

At 9:58 Knight Capital hadlost 440 Millionen US$

Software Catastrophe: Example 4Automated Trading Big Loss

Page 38: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

38 Prof. Dr. Frank J. Furrer - WS 2016/17

Software Catastrophe: Example 5Blockchain Code Exploit

htt

p:/

/w

ww

.coin

desk.c

om

Anyone who invested Ether into the DAO

fund received a particular number of

DAO tokens, which enabled them to vote

on the projects that the DAO will fund.

By the end of May, the DAO had raised

more than US$150 million worth of

Ether from investors.http://www.bitcoinisle.com

17.6.2016: The DAO operating through

a decentralized blockchain (inspired by

Bitcoin), has been robbed of more than

US$ 60 million worth of Ether digital

currency through a code exploit

htt

p:/

/fo

rtu

ne.c

om

http

://w

ww

.extre

mete

ch

.com

Page 39: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

39 Prof. Dr. Frank J. Furrer - WS 2016/17

Software Catastrophe: Example 6Airbus A380 Cable/Connector Mismatch

htt

p:/

/w

an

ari

efim

ran

.tu

mblr

.com On June 7th 2011, the first

A380 for Malaysia Airlines

entered the Airbus Final

Assembly Line in Toulouse for

the final production phase

http

s:/

/w

ww

.fligh

tglo

bal.c

om

When Airbus was bringing togethertwo halves of the aircraft, the wiringon one did not match the wiring inthe other. The cables could not meetup without being changed

Page 40: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

40 Prof. Dr. Frank J. Furrer - WS 2016/17

Software Catastrophe: Example 6Airbus A380 Cable/Connector Mismatch

For the design of the wiring in the

plane AIRBUS uses CATIA (Computer

Aided Three-Dimensional Interactive

Application)

htt

p:/

/w

ww

.bu

ildit

soft

ware

.com

The partners “French Dassault Aviation”

and a “Hamburg factory” were usingdifferent versions of CATIA.Put simply, the German system used an

out-of-date version of CATIA and theFrench system used the latest version

http

://corg

en

tum

.com

Page 41: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

41 Prof. Dr. Frank J. Furrer - WS 2016/17

Part 1: IntroductionPart 1: Introduction

… and some more

Page 42: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

42 Prof. Dr. Frank J. Furrer - WS 2016/17

18.9.2015:

Carmaker used software that circumvents

emissions testing for certain air pollutants

As described in the US notice of violation of the Clean Air Act, asophisticated software algorithm on certain Volkswagen vehiclesdetects when the car is undergoing official emissions testing, andturns full emissions controls on only during the test

htt

p:/

/w

ww

.au

togu

ide.c

om

Page 43: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

43 Prof. Dr. Frank J. Furrer - WS 2016/17

htt

p:/

/w

ww

.lare

vu

eau

tom

obile.c

om

«Road»Motor Control

Software

htt

ps:/

/w

ww

.adac.d

e

«Test»Motor Control

Software

Page 44: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

44 Prof. Dr. Frank J. Furrer - WS 2016/17

htt

p:/

/w

ww

.gm

x.c

h

Volkswagen can face civilpenalties of $37,500 for eachvehicle not in compliance withfederal clean air rules

There are 482,000 four-cylinder VW and Audi dieselcars sold since 2008 involvedin the allegations. If each carinvolved is found to be innoncompliance, the penaltycould be $18 billion

htt

p:/

/w

ww

.ch

ron

.com

/n

ew

s

VW chief "sorry" afterEPA says firm skirted cleanair law – and resigned

Page 45: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

45 Prof. Dr. Frank J. Furrer - WS 2016/17

htt

p:/

/w

ww

.tech

spot.

com

Stuxnet… the first digital weapon[June 2010]

Objective: Physical

Destruction of Uranium-

Enrichment Centrifuges

Target: Iranian Uranium-Enrichment Plant in Natanz

http

s:/

/en

.wik

ipedia

.org

/w

iki/

Nu

cle

ar_

facilitie

s_in

_Iran

Example 2

Page 46: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

46 Prof. Dr. Frank J. Furrer - WS 2016/17

htt

p:/

/w

ww

.tim

esofisra

el.com

Natur-Uran Isotop U235

http

://yalib

nan

.com

Large Scale Natanz Centrifuges

Page 47: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

47 Prof. Dr. Frank J. Furrer - WS 2016/17

Spin at 1’500revolutions per second

(90,000 RPM)

http

s:/

/en

.wik

ipedia

.org

https://de.wikipedia.org

SIEMENS PLC(Programmable Logic Controller)

http://www.russelectric.com

Control System(PC-based)

htt

p:/

/w

ww

.dow

nlo

adclipart

.net

STUXNET

Page 48: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

48 Prof. Dr. Frank J. Furrer - WS 2016/17

Part 1: IntroductionPart 1: Introduction

What’s the Problem ?

Page 49: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

49 Prof. Dr. Frank J. Furrer - WS 2016/17

What’s the problem ?

… our dependence from software is almost total!

htt

p:/

/codeverg

e.c

om

Software

Page 50: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

50 Prof. Dr. Frank J. Furrer - WS 2016/17

What’s the problem ?

DisruptiveEnvironment

http

://w

ww

.infin

iteu

nkn

ow

n.n

et

http

://w

ww

.cio

.com

Business/Market-Pressure

htt

p:/

/w

ww

.sm

allbu

sin

essdocto

rs.c

om

/h

ttp:/

/w

ww

.expert

bu

sin

essadvic

e.c

om

Page 51: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

51 Prof. Dr. Frank J. Furrer - WS 2016/17

Mission-critical Business-essential Long-lived

Market Pressure Disruptive Environment

What’s the problem ?

Dependence

Page 52: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

52 Prof. Dr. Frank J. Furrer - WS 2016/17

Mission-critical Business-essential Long-lived

Disruptive Environment

What’s the problem ?

Dependence

We mustbuildfuture-proofsoftware

We mustevolvefuture-proofsoftware

Market Pressure

Page 53: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

53 Prof. Dr. Frank J. Furrer - WS 2016/17

We mustbuildfuture-proofsoftware

We mustevolvefuture-proofsoftware

This requires:

Principles for building and evolving future-proof software

Engineers for building and evolving future-proof software

Processes for building and evolving future-proof software

Font-size = Weight in the lecture

What’s the solution ?

Page 54: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

54 Prof. Dr. Frank J. Furrer - WS 2016/17

What’s the solution ?

Principles for building and evolving future-proof software

Engineers for building and evolving future-proof software

Processes for building and evolving future-proof software

System at time tn

System at time tn+y

Pro

ject

Page 55: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

55 Prof. Dr. Frank J. Furrer - WS 2016/17

Part 1: Introduction

Part 2: Managed Evolution Strategy for Software Systems

Part 3: Architecting for Agility

Part 4: Architecting for Resilience

Part 5: Skills of a Future-Proof Software Engineer

Lecture Structure:

Process

Engineers

Principles

Principles

Page 56: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

56 Prof. Dr. Frank J. Furrer - WS 2016/17

Part 1: IntroductionPart 1: Introduction

System-Engineering

Software-Engineering

Page 57: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Program, Module

Future-Proof Software

57 Prof. Dr. Frank J. Furrer - WS 2016/17

Software engineering is the application of engineeringto the design, development, implementation, testingand maintenance of software using systematic methods

Software Hierarchy:

Component

Application

Application Landscape

Page 58: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

58 Prof. Dr. Frank J. Furrer - WS 2016/17

Definition: Application

Application (software) =Software designed to fulfill specific needs of a user: for

example, software for navigation, payroll, or process control(IEEE Std 610.12-1990)

Application

Page 59: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

59 Prof. Dr. Frank J. Furrer - WS 2016/17

Definition: Application Landscape

Application Landscape =Set of interacting applications and data cooperating to achievea common objective: for example operate a bank, drive a car, orcontrol a manufacturing process

Application Landscape

Page 60: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

60 Prof. Dr. Frank J. Furrer - WS 2016/17

Example: CREDIT SUISSE Application Landscape

ZURICH4’000 Applications LONDON

6’000 Applications

SINGAPORE3’000 Applications

HONG KONG3’000 Applications

Page 61: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

61 Prof. Dr. Frank J. Furrer - WS 2016/17

Software Development & Integration

NewReqs

Specification Development Integration

ProgramModule

Application Landscape

Component

Application

Page 62: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

62 Prof. Dr. Frank J. Furrer - WS 2016/17

Definition: Project

time

System at time tn

tn

System at time tn+y

tn+y

Project

Functionalityat tn

Properties(Quality

Attributes) attn

Functionalityat tn+y

Properties(Quality

Attributes) attn+y

Properties transformation(following quality

requirements)

Functionality transformation(following business

requirements)

Page 63: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

63 Prof. Dr. Frank J. Furrer - WS 2016/17

Definition: Project

Project =Planned set of interrelated tasks to be executed over afixed period and within certain cost and other limitationshttp://www.businessdictionary.com/definition/project.html

htt

p:/

/w

olc

ott

wh

isper.

com

Objective Result

Page 64: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

64 Prof. Dr. Frank J. Furrer - WS 2016/17

ProgramModule

Application Landscape

Component Application

Page 65: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

65 Prof. Dr. Frank J. Furrer - WS 2016/17

ProgramModule

Application Landscape

Component Application

«Quality» ofApplication Landscape

# of changes

+

- Impact

Page 66: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

66 Prof. Dr. Frank J. Furrer - WS 2016/17

ProgramModule

Application Landscape

Component Application

«Quality» ofApplication Landscape

# of changes

-Design Decision

+

Design Decision

Design Decision

+

-

Design Decision

+ Design Decision+

Design Decision

Page 67: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

67 Prof. Dr. Frank J. Furrer - WS 2016/17

«Quality» ofApplication Landscape

# of changes

-

++

-

++

htt

p:/

/searc

hen

gin

ela

nd.c

om

http

://explo

ringth

em

ind.c

om

The «quality» of the application

landscape is a consequence of:

• Architecture choices

• Design decisions

• Implementation options

… defined later

Page 68: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

68 Prof. Dr. Frank J. Furrer - WS 2016/17

Good design decision

Bad design decision

«Quality» ofApplication Landscape

# of changes

++

+ ---

• Missing overall architecture

• Sufficient resources

• Quality process

• Good people

• Proven principles

• Technical debt accumulation

• Time & resource shortage

• Lack of principles enforcement

• Careless people

Page 69: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

69 Prof. Dr. Frank J. Furrer - WS 2016/17

Good design decision

Bad design decision

«Quality» ofApplication Landscape

# of changes

++

+ ---

htt

ps:/

/w

ww

.em

aze

.com

Even the best designed systemwill be killed by a sequence ofbad design decisions

htt

ps:/

/w

ww

.en

trepre

neu

r.com

• Principles• People• Processes

Page 70: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

70 Prof. Dr. Frank J. Furrer - WS 2016/17

«Quality» ofApplication Landscape

# of changes

++

+ ---

Functional:

Non-Functional:

• free of defects• match specifications

• … «-illities»• Security, agility, safety, …

Page 71: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

71 Prof. Dr. Frank J. Furrer - WS 2016/17

Non-functional properties [= Quality Attributes]

• Safety

• Security

• Availability

• Integrity

• Performance

• Maintainability

• Recoverability

• Resource consumption (power, memory, …)

• Diagnosability

• …

Which qualityattributes are

most important?

Depends onthe application!

• … «-illities»

Page 72: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

72 Prof. Dr. Frank J. Furrer - WS 2016/17

«Fit for Purpose»Quality Attributes:

• Resources

• Security

• Safety

• Availability

• Performance

• Integrity

• Maintainability

• Standards conformance

• …

QualityAttributesScorecard

Application

Resilience

• … «-illities»

Page 73: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

73 Prof. Dr. Frank J. Furrer - WS 2016/17

Systems-Engineering

„The three devils of systems engineering are:

Complexity,

Change,

Uncertainty”Anonymous

What do they do to our software?

How can we fight them?

Page 74: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

74 Prof. Dr. Frank J. Furrer - WS 2016/17

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 75: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

75 Prof. Dr. Frank J. Furrer - WS 2016/17

Change

“Continuous – sometimes disruptive – change forces relentless

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

environment and to technological progress“

Page 76: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

76 Prof. Dr. Frank J. Furrer - WS 2016/17

Uncertainty

“Uncertainty – both during development and during operation –

forces weakly founded decisions with possibly far-reaching

consequences“

?

?

?

?? ?

? ?

? ?

Page 77: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

77 Prof. Dr. Frank J. Furrer - WS 2016/17

Complexity

Change

Uncertainty

How can we successfully fight them?

… by using principles, methods,

metrics, strategies and processes for

future-proof software

Page 78: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

78 Prof. Dr. Frank J. Furrer - WS 2016/17

Part 1: IntroductionPart 1: Introduction

Future-ProofSoftware

Page 79: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

79 Prof. Dr. Frank J. Furrer - WS 2016/17

Future-proof software 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

://w

ww

.icon

sh

ut.c

om

Page 80: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

80 Prof. Dr. Frank J. Furrer - WS 2016/17

Part 1: IntroductionPart 1: Introduction

Future-Proof Software:Definition

Page 81: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

81 Prof. Dr. Frank J. Furrer - WS 2016/17

Definition:

Future-proof software 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 82: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

82 Prof. Dr. Frank J. Furrer - WS 2016/17

Definition:

Future-proof software 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 83: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

83 Prof. Dr. Frank J. Furrer - WS 2016/17

Primary Characteristics:

Business Value

Agility

Resilience

Secondary Characteristics (Domain-specific):

Non-functional properties:

o Performance, Real-time, …

o Hardware Resource Consumption

o Adherence to industry-standards

o etc.

Page 84: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

84 Prof. Dr. Frank J. Furrer - WS 2016/17

Primary Characteristics:

Business Value

Agility

Resilience

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

Definition

Metric

Example

Importance

Page 85: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

85 Prof. Dr. Frank J. Furrer - WS 2016/17

If it can’t be expressed in figures,it is not science; it is opinion

Robert Heinlein (1973)

Page 86: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

86 Prof. Dr. Frank J. Furrer - WS 2016/17

Part 1: IntroductionPart 1: Introduction

Business Value

Page 87: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

87 Prof. Dr. Frank J. Furrer - WS 2016/17

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 88: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

88 Prof. Dr. Frank J. Furrer - WS 2016/17

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 89: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

89 Prof. Dr. Frank J. Furrer - WS 2016/17

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 90: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

90 Prof. Dr. Frank J. Furrer - WS 2016/17

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 91: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

91 Prof. Dr. Frank J. Furrer - WS 2016/17

Part 1: IntroductionPart 1: Introduction

Agility

Page 92: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

92 Prof. Dr. Frank J. Furrer - WS 2016/17

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

Page 93: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

93 Prof. Dr. Frank J. Furrer - WS 2016/17

Agility: Metric

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

Functionality with:

• short time-to-market

• reasonable development cost

Size

TtM

DevC

Page 94: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

94 Prof. Dr. Frank J. Furrer - WS 2016/17

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 95: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

95 Prof. Dr. Frank J. Furrer - WS 2016/17

Clarification: Software Size

Functional Size

ImplementationSize

RequirementsSpecification

FPFunctionPoints

UCPUse CasePoints

SLOCSourceLines ofCode

Page 96: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

96 Prof. Dr. Frank J. Furrer - WS 2016/17

• David Garmus, David Herron: Function Point Analysis – Measurement Practices for SuccessfulSoftware Projects. Addison-Wesley, Boston, USA, 2001. ISBN 978-0-201-69944-3

• IFPUG: International Function Point Users Group (http://www.ifpug.org)

Clarification: Function Points (FP)

FP Definition:A function point is a unit of measurement to express theamount of business functionality an information systemprovides to its users (https://en.wikipedia.org/wiki/Function_point)

• Function A• Function B• Function C• …

Requirements

Function PointAnalysis Method

# of Function Points

Cost Estimation Agility Metric

Page 97: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

97 Prof. Dr. Frank J. Furrer - WS 2016/17

Clarification: Function Points (FP)

• Function A• Function B• Function C• …

• Input data• Queries• Output data• Data bases• Reference data• Interfaces

Complexity:o lowo mediumo high

(IFPUG-Factors) DevelopmentProcess

ImpactFactors

(IFPUG-Factors)

# FPsFunctional Size

Page 98: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

98 Prof. Dr. Frank J. Furrer - WS 2016/17

Clarification: Use Case Points (UCP)

UCP Definition:Use Case Points (UCP) is an estimation method thatprovides the ability to estimate an application’s size andeffort from its use cases (http://www.codeproject.com/Articles/9913/Project-

Estimation-with-Use-Case-Points)

UseCases

UCP = TCF * ECF * UUCP * PF

1. Technical Complexity Factor (TCF).2. Environment Complexity Factor (ECF).3. Unadjusted Use Case Points (UUCP).4. Productivity Factor (PF).

Roy Clem: Project Estimation with Use Case Points. Code Project, 22 March 2005http://www.codeproject.com/Articles/9913/Project-Estimation-with-Use-Case-Points

Page 99: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

99 Prof. Dr. Frank J. Furrer - WS 2016/17

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 100: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

100 Prof. Dr. Frank J. Furrer - WS 2016/17

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 101: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

101 Prof. Dr. Frank J. Furrer - WS 2016/17

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 102: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

102 Prof. Dr. Frank J. Furrer - WS 2016/17

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

Agility: Importance

Why is agility so important?

Page 103: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

103 Prof. Dr. Frank J. Furrer - WS 2016/17

Part 1: IntroductionPart 1: Introduction

Resilience

Page 104: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

104 Prof. Dr. Frank J. Furrer - WS 2016/17

Why is resilience very important for future-proof software?

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

Page 105: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

105 Prof. Dr. Frank J. Furrer - WS 2016/17

Incident System& Environment

Impact

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

http

s:/

/w

ww

.berita

tekn

olo

gi.c

om

Dis

rupti

on

Page 106: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

106 Prof. Dr. Frank J. Furrer - WS 2016/17

Marc Elsberg:

BLACKOUT - Morgen ist es zu spät

Blanvalet Taschenbuch Verlag17. Juni 2013

ISBN-13: 978-3-4423-8029-9

Black Swan Publishing9. February 2017

ISBN-13: 978-1-78416-188-0

Marc Elsberg:

BLACKOUT – Tomorrow will be too late

Resilience (Security)

Strongly recommended reading:

• Technically sound

• Thriller storyline

Page 107: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

107 Prof. Dr. Frank J. Furrer - WS 2016/17

Resilience: Definition

Resilience is the capability of a system

• to absorb the disruption,

• to recover to an acceptable level ofperformance,

• to sustain that level for an acceptableperiod of time

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

Engineering Tasks:

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

http

://botte

ga.a

valo

nceltic

.com

Page 108: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

108 Prof. Dr. Frank J. Furrer - WS 2016/17

Example: Nucelar Power Plant

Terrorist

Hacker

Earthquake

Impact: None

Impact: Shutdown

Impact:TemporaryShutdown

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

DisruptiveIncident

Result (Impact)

Page 109: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

109 Prof. Dr. Frank J. Furrer - WS 2016/17

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 110: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

110 Prof. Dr. Frank J. Furrer - WS 2016/17

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 111: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

111 Prof. Dr. Frank J. Furrer - WS 2016/17

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 112: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

112 Prof. Dr. Frank J. Furrer - WS 2016/17

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 113: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

113 Prof. Dr. Frank J. Furrer - WS 2016/17

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

ent

Impact

Response ofthe system

Resilience against 1 incident: 1 = [Potential – Impact]

Weight:

• Predicted (= before

the incident)

• Actual (= after the

incident)

Example 1: [Potential (= 2) – Impact (= 3)] = -1

Example 2: [Potential (= 4) – Impact (= 2)] = +2

Amplification

Resilience

Page 114: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

114 Prof. Dr. Frank J. Furrer - WS 2016/17

Resilience: Metric

System resilience over a time period :

=1n [Potentiali - Impacti]; i = 1 … n

n incidents in a time period

Page 115: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

115 Prof. Dr. Frank J. Furrer - WS 2016/17

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 4 – 2 = 2 Save & recovery procedures

worked well

6.1.13 Semnager Virus

Infection

3 Small number of customers

affected

2 3 – 2 = 1 Payment check procedures

worked well

21.2.13 Crash of

authentication

servers

3 Employees could not access

the IT system for 1 hour

1 3 – 1= 2 Backup/recovery mechanisms

worked well

4.5.13 Fibre trunk cable

damaged (by

construction work)

4 No external communications

for 5 hours

3 4 – 3 = 1 Emergency repair in time

9.12.13 Illegal financial

transaction

executed (fault in

sanction filter)

3 Legal & compliance

consequences

3 3 – 3 = 0 Sanction filter update process

improved

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

Page 116: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

116 Prof. Dr. Frank J. Furrer - WS 2016/17

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 & risks

• etc.

Software failures may have grave consequences:• Accidents in safety-critical systems (death, injury)

• Financial or reputation loss

• Legal & regulatory consequences

• Product liability cases

• etc.

Page 117: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

117 Prof. Dr. Frank J. Furrer - WS 2016/17

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 118: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

118 Prof. Dr. Frank J. Furrer - WS 2016/17

2020 2010

t

Complexity

t

Tractability

System

Safety Case

Disruptive Incidents1. Xxx2. Yyy3. Zzz

predictpredict adjustadjust

System

Incid

ent

?

ResilientSystem

Page 119: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

119 Prof. Dr. Frank J. Furrer - WS 2016/17

Resilience must be planned and built-in

- Not added as an afterthought!

htt

ps:/

/w

ww

.in

tivix

.com

Page 120: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

120 Prof. Dr. Frank J. Furrer - WS 2016/17

If we continue to develop our technology withoutwisdom or prudence, our servant may prove to be

our executionerOmar N. Bradley (U.S. Army General, Chairman of the Joint Chiefs of Staff [1949])

htt

p:/

/w

ww

.1zo

om

.me/en

/w

allpaper

Page 121: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

121 Prof. Dr. Frank J. Furrer - WS 2016/17

Part 1: IntroductionPart 1: Introduction

Summary

Page 122: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

122 Prof. Dr. Frank J. Furrer - WS 2016/17

… our dependence from

software is almost total!

htt

p:/

/codeverg

e.c

om

Software

Responsibility: We must build and maintain software

which not only serves us, but also protects us

• Business Value

• Agility

• Resilience

Safety Security Availability …

• Quality Properties

Performance Energy-efficiency Resource optimization …

Page 123: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

123 Prof. Dr. Frank J. Furrer - WS 2016/17

• Business Value

• Agility

• Resilience

Safety Security Availability …

• Quality Properties

Performance Energy-efficiency Resource optimization …

ProgramModule

ApplicationLandscape

Component Application

«Quality»

Page 124: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

124 Prof. Dr. Frank J. Furrer - WS 2016/17

improvement

deterioration

technicaldebt

architectureerosion

goodarchitects

evolution strategy

«Quality» ofApplicationLandscape

# of changes

complexity

change

uncertainty

Page 125: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

125 Prof. Dr. Frank J. Furrer - WS 2016/17

technicaldebt

architectureerosion

complexity

change

uncertainty

Part 2(nextlecture)

deterioration

«Quality» ofApplicationLandscape

# of changes

Page 126: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

126 Prof. Dr. Frank J. Furrer - WS 2016/17

goodarchitects

Evolutionstrategy

improvement

«Quality» ofApplicationLandscape

# of changes

Part 2(nextlecture)

Part 5

Page 127: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

127 Prof. Dr. Frank J. Furrer - WS 2016/17

Part 1: IntroductionPart 1: Introduction

Literature

Page 128: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

128 Prof. Dr. Frank J. Furrer - WS 2016/17

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 129: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

129 Prof. Dr. Frank J. Furrer - WS 2016/17

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 130: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

130 Prof. Dr. Frank J. Furrer - WS 2016/17

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 131: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

131 Prof. Dr. Frank J. Furrer - WS 2016/17

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 132: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

132 Prof. Dr. Frank J. Furrer - WS 2016/17

Date Topic

Wk 41: Wed, 12. Oct. 16 Introduction

Wk 43: Wed, 26. Oct. 16 Managed Evolution for Software

Wk 45: Wed, 9. Nov. 16 Architecting for Agility (1)

Wk 47: Wed, 23. Nov. 16 Architecting for Agility (2)

Wk 49: Wed, 7. Dez. 16 Architecting for Agility (3)

Wk 51: Wed, 21. Dez. 16 Architecting for Resilience (1)

Wk 3: Wed, 18. Jan. 17 Architecting for Resilience (2)

Wk 5: Wed, 1. Feb. 17 Skills and Personality of the Future-Proof Software-Engineer

Lecture: 3.+4. DS (11:10 – 12:40 und 13:00 – 14:30) in room APB/E010

Page 133: Part1 V10 20161008 - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws16/fps/Part1_V10_20161008.pdf · Crash Airbus A400M (9. Mai 2015) h t t p: / / w w w. o u e s t-f r a n c e. f

Future-Proof Software

133 Prof. Dr. Frank J. Furrer - WS 2016/17

Part 1: IntroductionPart 1: Introduction