+ All Categories
Home > Documents > PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·...

PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·...

Date post: 18-Mar-2018
Category:
Upload: phamnhi
View: 213 times
Download: 1 times
Share this document with a friend
125
Future-Proof Software-Systems (Zukunftsfähige Software-Systeme) Frank J. Furrer Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1 Part 1
Transcript
Page 1: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

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

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

TU Dresden WS 2013/2014

Part 1Part 1

Page 2: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

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

Future-Proof Software-Systems: Preferred Interaction Style

My Preferred Interaction Style

Copyright Frank J. Furrer 2013 2

ask questions at any time

I am available for additional questions or discussionsafter each lecture

Page 3: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

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

Future-Proof Software-Systems: Lecture Summary

Copyright Frank J. Furrer 2013 3

services

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

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

Page 4: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Lecture Summary

Future-Proof Software-Systems: Lecture Objectives

Objectives:

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

2. Learn the principles, concepts and methods to design,

Copyright Frank J. Furrer 2013 4

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: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems:

Copyright Frank J. Furrer 2013 5

Motivation

Page 6: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Motivation

Software powers most of our products and services weuse everyday.

Mobile phones, personal computers, traffic control,energy distribution, production lines, medical

equipment, aeroplanes, trains (and many, many more)have most of their functionality implemented in software.

Copyright Frank J. Furrer 2013 6

have most of their functionality implemented in software.

Our society has become completely dependent onsoftware!

– therefore we need future-proof software-systems

Page 7: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Motivation

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

CRAY Titan (2013)

http

://ww

w.ew

eek.com

/servers/slidesh

ow

s

Data storage: 710 Terabytes RAM30 Petabytes Disk+ 60 years

Copyright Frank J. Furrer 2013 7

htt

p:/

/web

.kyo

toh

ttp

://w

ww

.mo

torb

ase.

com

/pic

ture

/by-

id/4

37

94

16

11

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

Computing Power: 17,59 Petaflops

Mercedes S-Class 2013: SLOCs 100 Million

http

://myau

to2

4.b

logsp

ot.ch

/20

13

/

Page 8: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Motivation

Example: VW Phaeton(Automotive Software)

Electrical/Electronic Architecture

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

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

Copyright Frank J. Furrer 2013 8

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

A modern luxury car contains 70 … 100electronic control units (= ECU‘s) in theform of networked microprocessors

The modern luxury car is controlled byapprox. 100 Million source lines of code(SLOC‘s)

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

Page 9: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Motivation

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

http

://ww

w.ch

ange-m

anagem

ent.co

m

Copyright Frank J. Furrer 2013 9

Functionality

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

Competitiveness

Revenue generation

Innovation capacity

Intellectual Property Rights ( IPR protection)

Page 10: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Motivation

“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)

Which software do we need and how do we produce it?

Copyright Frank J. Furrer 2013 10

What must we do to make our software-systems „most adaptable to change“ andthus future-proof ?

Page 11: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Lessons learned for FPSS

Lessons learned for future-proof software-systems:

„Good“ software is the key success factor for many productsand services

We – as software engineers – have a high responsibility toproduce „good“ software

Copyright Frank J. Furrer 2013 11

Software production has mutated from an art to an industrialactivity

Today we have the knowledge, the concepts, the methods andthe tools to produce „good“ software

This „Future-Proof Software-Systems (FPSS)“ lecture willprovide you with the knowledge, the concepts and the methods

Page 12: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: References

References:

ReferencesBrynjolfsson11 Erik Brynjolfsson, Andrew McAfee:

Race Against the Machine – How the Digital Revolution is Accelarting Innovation, Driving Productivity, andIrreversibly Transforming Employment and the Economy

Digital Frontier Press, Lexington, MA, USA, 2011. ISBN 978-0-9844725-11-3

Kurzweil99 Ray Kurzweil:

The Age of Spiritual Machines – When Computers Exceed Human Intelligence

Penguin Group Publishing, N.Y., USA, 1999. ISBN 978-0-14-028202-3

vanSanten10 Rutger van Santen, Djan Khoe, Bram Vermeer:

2030 – Technology that will Change the World

Oxford University Press, N.Y. USA, 2010. ISBN 978-0-19-537717-0

Copyright Frank J. Furrer 2013 12

Harris11 Robert Harris:

The Fear Index

Hutchinson Publishing, UK, 2011. ISBN 978-0-09-193697-6

Suarez09 Daniel Suarez:

Daemon

Penguin Books (Signet), London, UK, 2009. ISBN 978-0-451-22873-4

Levy06 David Levy:

Robots Unlimited – Life in a Virtual Age

A.K. Peters, Ltd., Wellesley MA, USA, 2006. ISBN 978-1-56881-239-6

Ribbens12 William B. Ribbens:

Understanding Automotive Electronics – An Engineering Perspective

Butterworth & Heinemann Publishers (Elsevier), Waltham MA, USA, 7th printing 2012. ISBN 978-0-0809-7097-4Collinson11 R.P.G. Collinson:

Introduction to Avionics Systems

Springer Science+Business, Dordrecht, NL, 3rd edition 2012. ISBN 978-94-007-0707-8

Page 13: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems:

Copyright Frank J. Furrer 2013 13

Contents

Page 14: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Contents

Contents

Part 1:Introduction & Motivation

Context & Definitions System Properties & Quality Standards The WAY to Future-Proof Software-Systems Industrial Architecture Architecture Metrics

Copyright Frank J. Furrer 2013 14

Part 2:Architecture Principles

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

Page 15: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems:

Copyright Frank J. Furrer 2013 15

Context & Definitions

Page 16: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Context & Definitions

What is a future-proof software-system?

„The three devils of systems engineering are:

Complexity,

Change,

Uncertainty”Anonymous

Copyright Frank J. Furrer 2013 16

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

Page 17: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Context & Definitions

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

Activity: Steering thedevelopment & evolution

Copyright Frank J. Furrer 2013 17

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

Providing the best valuefor the resources ‘money‘

and ‘time-to-market‘

Having an adequate probability forundesired effects and consequences

Assuring the desired properties(„Fit for Purpose“)

Page 18: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Context & Definitions

Thus:

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

Copyright Frank J. Furrer 2013 18

1. We need principles, concepts, methods and metricsto design, implement and evolve future-proofsoftware-systems

2. We need „future-proof software-systems engineers“who have the necessary skills to architect, design,engineer, build, maintain and evolve such systems

Page 19: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Context & Definitions

Programs Functionality

Historical Context:

1960

1950

Object Technology Systems Partitioning, Encapsulation

Re-Use

Copyright Frank J. Furrer 2013 19

2010

2000

1990 Component Systems Re-Use

Service-Oriented Systems Sustainability

Systems-of-Systems Interoperability

Page 20: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Context & Definitions

Technical Context:

ApplicationSoftware

ApplicationSoftware

Copyright Frank J. Furrer 2013 20

1960

TechnicalInfrastructure

ApplicationSoftware

1980

TechnicalInfrastructure

ApplicationSoftware

InfrastructureServices

2000

TechnicalInfrastructure

InfrastructureServices

CommoditiesSourcing

2020

TechnicalInfrastructure

InfrastructureServices

CommoditiesSourcing

Page 21: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Context & Definitions

very high

Size/Complexity

Criticalityvery strong

Range Context:

Copyright Frank J. Furrer 2013 21

low

weak

Rate of Change

slow

very fast

Page 22: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Context & Definitions

very high

Size/Complexity

Criticalityvery strong

Example:Mobile Phone Software

Copyright Frank J. Furrer 2013 22

low

weak

Rate of Change

slow

very fast

Page 23: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Context & Definitions

very high

Size/Complexity

Criticalityvery strong

Example:Aeroplane ControlSoftware

Copyright Frank J. Furrer 2013 23

low

weak

Rate of Change

slow

very fast

Page 24: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Context & Definitions

very high

Size/Complexity

Criticalityvery strong

Example:Global BankingSoftware

Copyright Frank J. Furrer 2013 24

low

weak

Rate of Change

slow

very fast

Page 25: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Replacement& Extension

Future-Proof Software-Systems: Context & Definitions

Environment Context:

Greenfield

Specs

Extension& Integration

Specs

Copyright Frank J. Furrer 2013 25

Specs

• Clean architecture

• New technology

Specs

• Improved architecture

• New technology• Coherence

• Integration• Extension• Refactoring

Page 26: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Context & Definitions

BusinessCase

justifies

Future-ProofSoftware-System

QualityProperties

definedby

Structure

enables

Architectureforms

guide

control

DevelopmentProcess

builds

ArchitecturePrinciples

enforce

Copyright Frank J. Furrer 2013 26

Future-ProofSoftware-Systems

Engineer

leads

appliesMetrics

quantify

uses

Conceptual Context:(Lecture Map)

WorkingEnvironment

is embedded in

Page 27: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Context & Definitions

Summary:

The 3 devils of systems engineering are: (a) complexity, (b)change, and (c) uncertainty

A future-proof software-system is a structure thatenables the management of complexity, change anduncertainty with the least effort, with acceptable risk andwith specified quality properties

Copyright Frank J. Furrer 2013 27

with specified quality properties

We need principles, concepts, methods and metrics todesign, implement and evolve future-proof software-systems

We need „future-proof software-systems engineers“ whohave the necessary skills to engineer, build, maintain andevolve such systems

Page 28: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Research Topics

Research Questions Master Thesis Level:• Research and describe how future-proof software-systems have emerged from1960 to today – Which were the drivers, consequences and successes?

• Apply the definition of a future-proof software system, including the necessarymetrics to a few typical application domains (such as automotive or telcom)

• Research the impact of complexity, change and uncertainty, including suitablemetrics to a few typical application domains (such as aerospace or railway)

Research Questions Ph.D. Thesis Level:

Copyright Frank J. Furrer 2013 28

• Develop a methodology to formulate business cases for future-proof software-systems, especially demonstrating the business value of agility and other qualityproperties

• Assess the impact (qualitative and quantitative) of architecture principles on thestructure of the future-proof software-system

Research Questions (Full Research Projects):• How many and which architecture principles are needed (complete set) to fullydefine and enforce the architecture of a future-proof software-system? Are theprinciples different for different application domains?

Page 29: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: References

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-5Greefhorst11 David Greefhorst, Erik Proper:

Architecture Principles – The Cornerstones of Enterprise Architecture

Springer Verlag, Heidelberg, Berlin, 2011. ISBN 978-3-642-20278-0

DeWeck11 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

Copyright Frank J. Furrer 2013 29

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

deNeufville11 Richard de Neufville, Stefan Scholtes:

Flexibility in Engineering Design

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

ISTAG12 ISTAG – Information Society Technologies Advisory Group (Working Group on Software Technologies), July 2012:

Software Technologies – The missing Key Enabling Technology (Toward a Strategic Agenda for SoftwareTechnologies in Europe)

Downloadable from: http://cordis.europa.eu/fp7/ict/docs/istag-soft-tech-wgreport2012.pdf [last accessed:14.3.2013]

Monson09 Richard Monson-Haefel (Editor):

97 Things Every Software Architect Should Know – Collective Wisdom from the Experts

O’Reilly Media, Sebastopol CA, USA, 2009. ISBN978-0-596-52269-8

Denning97 Peter J. Denning, Robert M. Metcalfe (Editors):

Beyond Calculation – The Next Fifty Years of Computing

Springer Verlag, Nex York, USA, 1997. ISBN 978-0-387-94932-1

Page 30: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems:

Copyright Frank J. Furrer 2013 30

System Properties & QualityStandards

Page 31: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Properties & Quality Standards

Parts of the System

Dependencies in the System

Copyright Frank J. Furrer 2013 31

System: A collection ofparts organized toaccomplish a specificfunction or set of functions[IEEE Std 610.12-1990]

System Boundary(System Scope)

Page 32: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Properties & Quality Standards

System: A collection ofparts organized toaccomplish a specificfunction or set of functions[IEEE Std 610.12-1990]

Functionality:• Reason for the system• Business value in products or processes

… however: Functionality alone is not enough!

Copyright Frank J. Furrer 2013 32

System quality properties required

Quality properties qualify a system for a certain use

Quality properties must carefully be defined for each specific system

Quality properties must consequently be enforced

Quality properties must be measurable

Page 33: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Properties & Quality Standards

System Quality Property

Business Value

Agility

Availability

Security

Safety

Performance

Usability

Robustness

Definition:

Statement of the exact meaning in thecontext of the application domain

Metric:

Definition of measurable attributes, of ameasurement process, and a quantified

value for the attribute(s)

Copyright Frank J. Furrer 2013 33

Operating Cost

Production Cost

Compliance to laws and regulations

Compliance to industry-standards

Memory Size

Power consumption

Testability

etc.Target Values:

Desired value or range for theattribute(s)

Page 34: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Properties & Quality Standards

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

Copyright Frank J. Furrer 2013 34

Metric:E[Uptime]

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

Example:

Uptime = 23.8 hrs/day

Downtime = 0.2 hrs/day

A = 0.9917

Page 35: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Properties & Quality Standards

Quality Properties Tradeoffs: Financial On-Line Transaction System

Usability

very user-friendly

Quality Properties Tradeoff

Copyright Frank J. Furrer 2013 35

Securityhigh

annoying

low

Page 36: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Properties & Quality Standards

# System Quality Property Weight

(0 … 10)

Metric ValueYear1

ValueYear2

ValueYear3

1 Business Value 10 NPV VY1 VY2 VY3

2 Agility 10 1/ V V V

Quality Properties Scorecard:Base for Architectural Tradeoffs

Example: Automotive Domain

Copyright Frank J. Furrer 2013 36

2 Agility 10 1/ VY1 VY2 VY3

3 Safety 9

4 Compliance to laws &regulations

9

5 Compliance to industry-standards

8

6 Resources (Memory, CPU,…)

8

7 Security 7

8

9

etc.

Page 37: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

time

System at time tn

tn

System at time tn+y

tn+y

Systemdevelopment cycle

Future-Proof Software-Systems: Properties & Quality Standards

Incremental System Development Cycle

Copyright Frank J. Furrer 2013 37

Properties at tn

• Functionality• Agility• Safety

• Security• Resource utilization

• etc.

System propertiestransformations

(following requirements)

Properties at tn+y

• Functionality• Agility• Safety

• Security• Resource utilization

etc.

ChangeRequirements

QualityStandards

Page 38: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Properties & Quality Standards

Quality Standards:

a) Process-Standards: „how“b) Product-Standards: „what“

Internal Company Standards:

• Company-internal regulations and procedures• Company-specific architecture principles

Company-specific procedures and review processes

Copyright Frank J. Furrer 2013 38

• Company-specific procedures and review processes

Industry Standards:

• Standards by international standards organizations, such as ISO• Standards by industry-associations, such as AUTOSAR

Page 39: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Lessons learned for FPSS

Lessons learned for future-proof software-systems:

Any system development cycle transforms the properties ofthe system at time tn into a new system with required propertiesat time tn+y: The development process must measurably improvethe system quality properties

Both the systems and the development cycle are continuously

Copyright Frank J. Furrer 2013 39

impacted by effects of complexity, by unexpected change, andplagued by uncertainty: We must professionally cope with thissituation

We must have an accepted quality properties scorecard forany system we build or extend (used for architecture trade-offs)

Functionality and architecture are (nearly) orthogonal: Do notlet functionality force architectural decisions

Page 40: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Research Topics

Research Questions Master Thesis Level:• Elaborate a general list of system quality properties. Investigate which qualityproperties are important for different applications domains (automotive, medical,etc.). Justify the choices with the use of adequate metrics

• Define a method and a process for resolving quality properties conflicts, i.e. formaking justified and comprehensive architecture tradeoff decisions

• Take an industrial example and demonstrate, how the architecture of the systemis impacted by a specific quality attribute (e.g. security in a banking system, safetyin an automotive system, or reliability in a space system)

Copyright Frank J. Furrer 2013 40

Research Questions Ph.D. Thesis Level:• Today‘s design and development processes are functionality-centered. Qualityattributes are in many cases an afterthought. Identify and assess the existingdesign and development processes and propose a new one which focusses in equalparts on functionality and on quality properties. Cover the full process-chain, i.e.from requirements management to modeling, design, development, testing andmaintenance

Page 41: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: References

References:

ReferencesClements02 Paul Clements, Rick Kazman, Mark Klein:

Evaluating Software Architectures – Methods and Case Studies

Addison-Wesley, Boston, USA, 2002. ISBN 978-0-201-70482-XFairbanks10 George Fairbanks:

Just Enough Software Architecture – A Risk-Driven Approach

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

Bass13 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-6

Copyright Frank J. Furrer 2013 41

SEI-Series (Pearson Education), Addison-Wesley, N.J., USA, 3rd edition, 2013. ISBN 978-0-321-81573-6

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)

Rozanski12 Nick Rozanski, Eoin Woods:

Software Systems Architecture

(Pearson Education), Addison-Wesley, N.J., USA, 2nd edition, 2012. ISBN 978-0-321-71833-4

deNeufville11 Richard de Neufville, Stefan Scholtes:

Flexibility in Engineering Design

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

Kossiakoff11 Alexander Kossiakoff, William N. Sweet, Samuel J. Seymour, Steven M. Biemer:

Systems Engineering – Principles and Practice

John Wiley & Sons, Inc., Hoboken, N.J., USA, 2nd edition 2001. ISBN 978-0-470-40548-2

Page 42: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems:

Copyright Frank J. Furrer 2013 42

The Way to Future-ProofSoftware-Systems

Page 43: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

“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.”

Copyright Frank J. Furrer 2013 43

Charles Darwin: The Origin of Species (1859)

How can we produce and evolve adaptable– and thus future-proof – software-systems ?

Page 44: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

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

Copyright Frank J. Furrer 2013 44

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 45: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

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 Th

eto

wer

of

bab

elby

Pieter

Copyright Frank J. Furrer 2013 45

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

Pieter

Bru

egelthe

Elder

(15

63

)

Architecture! Architecture! Architecture!

Page 46: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

Example: Access Control(Applications Security)

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

DigitalCertificate

DigitalCertificate

UID,PW

Structure 1: Distributed Access Control Structure 2: Central Access Control

Copyright Frank J. Furrer 2013 46

Access Control

Application

Access Control

Application

Access Control

Application

Access Control

Application

Access Control

Application

Access Control

Application

UID,PW

Application

Application

ApplicationApplication

ApplicationApplication

UID,PW

Access Control

Page 47: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

System Boundary• Governance

• Legal• Technical

• etc. ( SoS)

Existing

Existing(Legacy)

Application

Existing(Legacy)

Application

Existing(Legacy)

Application

Existing(Legacy)

Application

Existing(Legacy)

Application

Existing(Legacy)

Application

Existing(Legacy)

Application

Existing(Legacy) Change

Change

Copyright Frank J. Furrer 2013 47

(Legacy)ApplicationExisting

(Legacy)Application

Existing(Legacy)

Application

Existing(Legacy)

Application

Existing(Legacy)

Application

Existing(Legacy)

Application

Existing(Legacy)

Application

Existing(Legacy)

Application

Existing(Legacy)

Application

(Legacy)Application

Change

ChangeIn most cases thechanges to thesystem areincremental[ size, rate of change]

Page 48: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

time

System at time tn

tn

Functional

System at time tn+y

tn+y

System developmentcycle

Future-Proof Software-Systems: The Way

BusinessRequirements

Functional systemproperties Functional

Copyright Frank J. Furrer 2013 48

FunctionalProperties at tn

StructuralProperties at tn

ArchitectureRequirements

propertiestransformations(following business

requirements)

FunctionalProperties at tn+y

StructuralProperties at tn+y

Structural systemproperties

transformations(following architectural

requirements)

Page 49: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

The eternal dilemma of (industrial) software-development:

Business requirements Architectural requirements

Business wants:• (Very) short time to market

• Low cost

• Only essential functionality

• Newest technology

Architecture wants:• Good fit into the existing system

• Refactoring to improvearchitectural quality

• Limit growth in complexity

• Use proven technologies

Copyright Frank J. Furrer 2013 49

htt

p:/

/wo

hle

ran

zeig

er.c

h/s

eilz

ieh

en/i

nd

ex.h

tml

• Use proven technologies

Page 50: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

Agility

Future-Proof Software-Systems Coordinates:

“… It is the one that is themost adaptable to change”

Copyright Frank J. Furrer 2013 50

Business Value

Business Functionality

Page 51: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

Why is agility so important?

Business Value

Agility

Time to market

Reqs

Time to market

Time to market

we

Competitor A

Competitor B

Copyright Frank J. Furrer 2013 51

time

Time to market Competitor B

time

Development Cost

Reqs

Development Cost

Development Cost

we

Competitor A

Competitor B

Page 52: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

# System Quality Property Weight

(0 … 10)

Metric ValueYear1

ValueYear2

ValueYear3

1 Business Value 10 NPV VY1 VY2 VY3

2 Agility 10 1/ VY1 VY2 VY3

Reminder: Quality Properties Scorecard

Business Value

Agility

FPSS

Copyright Frank J. Furrer 2013 52

1/ Y1 Y2 Y3

3 Safety 9

4 Compliance to laws &regulations

9

5 Compliance to industry-standards

8

6 Resources (Memory, CPU,…)

8

7 Security 7

8

9

etc.

Page 53: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

Agility

Future-Proof Software-Systems Coordinates: Project Impact

System Stateat time tn+T

Copyright Frank J. Furrer 2013 53

Business Value

System Stateat time tn

Page 54: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

Agility

System Stateat time tn+T

Future-Proof Software-Systems Coordinates: Project Impact

Copyright Frank J. Furrer 2013 54

Business Value

System Stateat time tn+kT

Page 55: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

http

://articles.econ

om

ictimes.in

diatim

es.com

/20

13

-02

-06

/new

s/36

94

96

15

_1_b

oein

g

Example: Boeing 787(787 Dreamliner Grounding)

On January 17, the fleet of 50 dreamliner787 aircraft was grounded due toproblems with its lithium-ion batteries

Copyright Frank J. Furrer 2013 55

06

/new

s/36

94

96

15

_1_b

oein

g-s-dream

liner-fligh

ts-nip

po

n-airw

ays

Reason: The pressure to meet tight deadlines

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

Highly dangerous:

Business requirementsmassively overruledengineering requirements

Page 56: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Agility

Future-Proof Software-Systems: The Way

The project funding battle:

Business requirements Architectural requirements

Copyright Frank J. Furrer 2013 56

Business Value

Page 57: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

Case 1: Opportunistic ApproachAgility

Loss ofAgility

Copyright Frank J. Furrer 2013 57

BusinessValue

Gain of BusinessValue

Page 58: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

Case 2: Managed Evolution

Agility

htt

p:/

/lu

nat

un

es.d

evia

nta

rt.c

om

/art

Copyright Frank J. Furrer 2013 58

BusinessValue

Gain ofAgility

Page 59: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

Case 2: Managed Evolution

AgilityManagedEvolutionChannel

Copyright Frank J. Furrer 2013 59

BusinessValue

Manifesto of Future-Proof Software-Systems:

1. „Fit-for-Future“ of an IT-systemdepends on ist structure and isdetermined by ist architecture

2. The agility must continuously beimproved

3. Future-proof software-systems needstrong architects and an farsighted

management

Page 60: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Agility

Future-Proof Software-Systems: The Way

The project funding battle:

Gain of

Copyright Frank J. Furrer 2013 60

Business Value

• Business Requirements• Development Budget

• Time-to-market• Resource constraints

• Architecture Requirements• Structure• Properties

• Consistency

Gain ofAgility

Page 61: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

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 by

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)

Copyright Frank J. Furrer 2013 61

(4;12;Balance at x.y.z)……

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……

programs(4;12;Balance at x.y.z)(5;12;Saldo x.y.z)

PROGRAMM N+1…… PROGRAMM N+2

…… PROGRAMM N+3

……

Page 62: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

Agility

Future-Proof Software-Systems Coordinates: Metrics

Metric Idea:

„How much effort do you need to produce a certain amount offunctionality“

Amount of functionality: Use Case Points or Function PointsEffort: Development Cost and Development Time

Method: Agility = Functionality/(DevC*DevT)

Metric Idea:

Copyright Frank J. Furrer 2013 62

BusinessValue

Metric Idea:

„How much monetary return do you get if you invest a certainamount of money“

Investment: €Return: €

Method: Business Value = NPV (Net Present Value)

Page 63: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

Future-Proof Software-Systems Coordinates:

Business Value = Net Present Value (NPV)

Earnings: Year1 Year2 Year3 Year5 Year6

htt

p:/

/w

ww

.eco-w

ay.c

h/?p=10846

Investment:

- 860‘000.- €

NPV = +165‘000 €

Copyright Frank J. Furrer 2013 63

Earnings: Year1 Year2 Year3 Year5 Year6240‘000 € 270‘000 € 230‘000 € 280‘000 € 300‘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:

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

Page 64: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

Future-Proof Software-Systems Coordinates:

Agility

Measurement of Time-to-Marketfor all relevant projects

1Project Start Project End

TtM (Time-to-Market)

Measurement of Implementation-cost for all relevant projects

2Project Start Project End

DevC (Development Cost)

WarrantyPeriod

Copyright Frank J. Furrer 2013 64

Determination of functional project-size (Use Case Points or Function Points)

3Amount of functionality:Functional Size(#UCP or #FP )

Size

Project Start Project End

i = 1 … n / Sample Sets:All projects in a time interval

All projects with certain characteristics

Subset of projects with defined characteristics

Agility =TtMi DevCi

(Sizei)2

Page 65: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

The Value of Agility:

High agility favours all projects:

Every project is done with reasonable cost and adequate time-to-market

Low agility punishes all projects:

Every project suffers excessive cost and delayed time-to-market

Project Start Project End

myth

olo

gy

Copyright Frank J. Furrer 2013 65

TtM (Time-to-Market)

Gain in TtM

DevC (Development Cost)

Gain in DevC

htt

p:/

/m

ark

sre

cru

itm

en

tblo

g.w

ord

pre

ss.c

om

/ta

g/gre

ek-m

yth

olo

gy

low agility

Page 66: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

Agility

Future-Proof Software-Systems Coordinates: Metrics

Agility

t

Copyright Frank J. Furrer 2013 66

BusinessValue

BusinessValue

t

Page 67: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

Agility Agile Development

Agility = Important property of a future-proof software-system

Agile Development = Software development process to increase productivity

Agility and Agile Development are not the same !

Copyright Frank J. Furrer 2013 67

Manifesto for Agile Software Development:

• Individuals and interactions over processes and tools

• Working software over comprehensive documentation

• Customer collaboration over contract negotiation

• Responding to change over following a plan

Page 68: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

The Importance of Architecture

Future-ProofSoftware System

(FPSS))Structure Architecture

An adequate, continuously improving system architectureis the key to a future-proof software-system

Copyright Frank J. Furrer 2013 68

is the key to a future-proof software-system

Architecture

ArchitecturePrinciples

QualityStandards

Page 69: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

Agility

The Importance of Architecture

ArchitecturePrinciples

QualityStandards

Copyright Frank J. Furrer 2013 69

Business Value

Page 70: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

Architecture Erosion and Technical Debt Accumulation

Agility

ArchitectureErosion

Copyright Frank J. Furrer 2013 70

BusinessValue

TechnicalDebt

Page 71: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

Safety

Security

Agility

Availability

etc.

Functionality and architecture are (nearly) orthogonal

syste

mor

an

exte

nsio

n Fm

Copyright Frank J. Furrer 2013 71

Safety

Security

Agility

Availability

etc.

Fu

ncti

on

ality

of

asyste

m

F1

F2

F5F4F3

A1

System & software architecture

AnA4 A5A3A2 A9

Page 72: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

Future-ProofSoftware-System

Copyright Frank J. Furrer 2013 72http://famouswonders.com/matterhorn-in-between-switzerland-and-italy

• Business Requirements• Functional Reqs• Non-functional Reqs• Resource constraints

# System Quality Property Weight

(0 … 10)

Metric ValueYear1

ValueYear2

ValueYear3

1 Business Value 10 NPV VY1 VY2 VY3

2 Agility 10 1/ VY1 VY2 VY3

3 Safety 9

4 Compliance to laws &regulations

9

5 Compliance to industry-standards

8

6 Resources (Memory, CPU,…)

8

7 Security 7

8

9

etc.

ArchitectureFu

ncti

on

ality

Usability

Security

Page 73: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

# System Quality Property Weight

(0 … 10)

Metric ValueYear1

ValueYear2

ValueYear3

1 Business Value 10 NPV VY1 VY2 VY3

2 Agility 10 1/ VY1 VY2 VY3

Reminder: Quality Properties Scorecard

Business Value

Agility

FPSS

Copyright Frank J. Furrer 2013 73

1/ Y1 Y2 Y3

3 Safety 9

4 Compliance to laws &regulations

9

5 Compliance to industry-standards

8

6 Resources (Memory, CPU,…)

8

7 Security 7

8

9

etc.

Page 74: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Lessons learned for FPSS

Lessons learned for future-proof software-systems:

The structure of a future-proof software-system is determined by thequality of its architecture

Good architecture = „fit-for-future“ ( agile, cost-efficient, adequatequality properties)

Bad architecture = „stuck in the past“ ( rigid, resistant-to-change,

Copyright Frank J. Furrer 2013 74

Bad architecture = „stuck in the past“ ( rigid, resistant-to-change,hard to understand systems with possibly unpredictable behaviour)

Functionality and architecture are (nearly) orthogonal

Each project which modifies the system must create business valueand improve the system architecture at the same time

Developing and maintaining the architecture of a system is acontinuous, incremental process – which needs strong architecturalgovernance, sufficient funding and a farsighted management

Page 75: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Research Topics

Research Questions Master Thesis Level:• Much work has been reported on architectural quality (especially on softwarequality). However, this work remains fragmented. There is no complete, consistentand quantifiable definition of the architectural quality of a system. Such adefinition – and the associated metric – would have to include all knownarchitecture principles – and possibly discovering new ones

Research Questions Ph.D. Thesis Level:

Copyright Frank J. Furrer 2013 75

• Future-proof software-systems require continuous, incremental investment bothinto creating business value and into improving system architecture (during eachproject modifying the system). Which is the required, adequate, justifiable ratio ofinvestment into architecture improvement in relation to business value creation?

• Future-proof software-systems require continuous, incremental investment bothinto creating business value and into improving system architecture, especiallyagility (during each project modifying the system). Which is the required,adequate, justifiable ratio of investment into architecture improvement in relationto business value creation?

Page 76: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Motivation

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-5Gutbrod12 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)

Copyright Frank J. Furrer 2013 76

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 77: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems:

Copyright Frank J. Furrer 2013 77

Industrial Architecture

Page 78: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

Future-ProofSoftware System

(FPSS))Structure Architecture

An adequate, continuously improved system architectureis the key to a future-proof software-system

Copyright Frank J. Furrer 2013 78

(FPSS))

?Industrial IT Architecture

Page 79: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

EngineeringDiscipline

ArchitectureProcess

GovernanceInstrument

Structure

IT Architecture Definition:

“The fundamental organization of a system embodied in its elements, their relationships toeach other and to the environment, and the principles guiding its design and evolution”

[adapted from IEEE00]

Industrial Architecture … but industrial IT architecture is more:

Copyright Frank J. Furrer 2013 79

Discipline Process Instrument

ArchitecturePrinciples

ArchitectureGuidelines &Best Practices

ArchitectureMetrics

ArchitectureStandards

BusinessArchitecture

ApplicationsArchitecture

Safety & SecurityArchitecture

IntegrationArchitecture

TechnicalArchitecture

IT StandardsEnforcement

TechnologyPortfolio

Management

ApplicationsPortfolio

Management

ServicePortfolio

Management

IT StandardsDevelopment

ComplexityManagement

Architect‘sTraining

Business – ITAlignment

ArchitectureCommunication

Page 80: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

EngineeringDiscipline

ArchitectureProcess

GovernanceInstrument

Structure

ArchitecturePrinciples

ArchitectureGuidelines &Best Practices

Architecture

BusinessArchitecture

ApplicationsArchitecture

Integration

IT StandardsEnforcement

TechnologyPortfolio

Management

Service

IT StandardsDevelopment

Complexity

Business – ITAlignment

Industrial Architecture

Copyright Frank J. Furrer 2013 80

ArchitectureMetrics

ArchitectureStandards

Safety & SecurityArchitecture

IntegrationArchitecture

TechnicalArchitecture

ApplicationsPortfolio

Management

ServicePortfolio

Management

ComplexityManagement

Architect‘sTraining

ArchitectureCommunication

Architecture Development

Architecture Enforcement

Result: Structure („Architecture“)

Page 81: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

Arc

hite

ctu

reD

evelo

pm

en

t

Existingsystem

architecture

Requirements• functional

• non-functional

RequirementsEngineering

stakeholderscompleteness,consistency

Copyright Frank J. Furrer 2013 81

Architecture options

Arc

hite

ctu

reE

valu

atio

n

Target architecture

weightingtrade-offs Architecture

Top-LevelProcess

Page 82: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

Example: Sanction Filter(Financial embargo enforcement)

SIC XYZSWIFT SWIFT SWIFT SWIFT SWIFT SWIFT SIC XYZ

hundreds of clearing hubs worldwide

world

wid

e

New legal requirement:„Strictly enforce embargo lists

worldwide“

filt

er

Copyright Frank J. Furrer 2013 82

Application

ApplicationApplication

Application

ApplicationApplication

ApplicationApplication

Application

ApplicationApplication

Application

ApplicationApplication

ApplicationApplication

ApplicationApplication

Application

Application

several 1‘000 applicationsin >40 countries

world

wid

econ

nectiv

ity

several 1‘000connections toclearing hubs

San

cti

on

filt

er

Page 83: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

Example: Sanction Filter(Financial embargo enforcement)

SIC XYZSWIFT SWIFT SWIFT SWIFT SWIFT SWIFT SIC XYZ

hundreds of clearing hubs worldwide

filt

er

Architecture option 1:Fully decentralized installation

Copyright Frank J. Furrer 2013 83

Application

ApplicationApplication

Application

ApplicationApplication

ApplicationApplication

Application

ApplicationApplication

Application

ApplicationApplication

ApplicationApplication

ApplicationApplication

Application

Application

several 1‘000 applicationsin >40 countries

several 1‘000connections toclearing hubs

San

cti

on

filt

er

Page 84: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

Example: Sanction Filter(Financial embargo enforcement)

SIC XYZSWIFT SWIFT SWIFT SWIFT SWIFT SWIFT SIC XYZ

hundreds of clearing hubs worldwide

Architecture option 2:Fully centralized installation

Copyright Frank J. Furrer 2013 84

Application

ApplicationApplication

Application

ApplicationApplication

ApplicationApplication

Application

ApplicationApplication

Application

ApplicationApplication

ApplicationApplication

ApplicationApplication

Application

Application

several 1‘000 applicationsin >40 countries

centralized, high-performancesanction filter

Page 85: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

Example: Sanction Filter(Financial embargo enforcement)

SIC XYZSWIFT SWIFT SWIFT SWIFT SWIFT SWIFT SIC XYZ

hundreds of clearing hubs worldwide

Architecture option 3:Sub-clustering

Copyright Frank J. Furrer 2013 85

Application

ApplicationApplication

Application

ApplicationApplication

ApplicationApplication

Application

ApplicationApplication

Application

ApplicationApplication

ApplicationApplication

ApplicationApplication

Application

Application

several 1‘000 applicationsin >40 countries

Sanctionlist

centrallymaintained

Page 86: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

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

Copyright Frank J. Furrer 2013 86

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 87: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Information (Data)

Future-Proof Software-Systems: Architecture

ApplicationsArchitecture(Functionality)

BusinessArchitecture(Business Processes)

Arc

hit

ectu

reLayers

Arc

hit

ectu

res

SecurityArchitecture

(Defense)

SafetyArchitecture

(Accidents)

PerformanceArchitecture

(Real-Time)

SystemManagementArchitecture

(Control)

… etc.X-Architectures

Vertical Architectures

Information (Data)Architecture(Information & Data)

Copyright Frank J. Furrer 2013 87

TechnicalArchitecture(TechnicalInfrastructure)

IntegrationArchitecture(CooperationMechanisms)

Str

uctu

ralA

rch

itectu

reH

ori

zon

talA

rch

itectu

res

Page 88: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

Example: Automotive Controlh

ttp

://w

ww

.ve

hic

le-l

ab.n

et

Business Architecture:• Definition of Functionality & Interactions

Copyright Frank J. Furrer 2013 88

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

Page 89: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

Why is architecture layering important ?

InformationArchitecture

Integration

ApplicationsArchitecture

BusinessArchitecture

Security Safety Perfor-mance

SystemManage-

ment

www.123rf.com

Copyright Frank J. Furrer 2013 89

TechnicalArchitecture

IntegrationArchitecture

Future-ProofSoftware-SystemEngineer

Page 90: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

EngineeringDiscipline

ArchitectureProcess

GovernanceInstrument

Structure

ArchitecturePrinciples

ArchitectureGuidelines &

Best Practices

Architecture

BusinessArchitecture

ApplicationsArchitecture

Integration

IT StandardsEnforcement

TechnologyPortfolio

Management

Service

IT StandardsDevelopment

Complexity

Business – ITAlignment

Industrial Architecture

Copyright Frank J. Furrer 2013 90

ArchitectureMetrics

ArchitectureStandards

Safety & SecurityArchitecture

IntegrationArchitecture

TechnicalArchitecture

ApplicationsPortfolio

Management

ServicePortfolio

Management

ComplexityManagement

Architect‘sTraining

ArchitectureCommunication

Architecture Development

Architecture Enforcement

Result: Structure („Architecture“)

Page 91: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

ArchitecturePrinciples

Architecture

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

Copyright Frank J. Furrer 2013 91

ArchitectureGuidelines &

Best Practices

ArchitectureStandards

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

Binding, enforcableregulation for buildingan IT-system

Page 92: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

BusinessCase

justifies

Future-ProofSoftware-System

QualityProperties

definedby

Structure

enables

Architectureforms

guide

control

DevelopmentProcess

builds

ArchitecturePrinciples

enforce

Copyright Frank J. Furrer 2013 92

Future-ProofSoftware-Systems

Engineer

leads

appliesMetrics

quantify

uses

Conceptual Context:(Lecture Map)

WorkingEnvironment

is embedded in

Page 93: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

… the birth of architecture principles (1972):

htt

p:/

/dat

apea

k.n

et/c

om

pu

ters

cien

tist

s.h

tm

Copyright Frank J. Furrer 2013 93

htt

p:/

/dat

apea

k.n

et/c

om

pu

ters

cien

tist

s.h

tm

David L. Parnas* February 10, 1941 in Pittsburgh, USA

Communications of the ACM, Volume 15, Number 12, December 1972Available at: http://www.cs.umd.edu/class/spring2003/cmsc838p/Design/criteria.pdf

Page 94: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

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

Problem: Different applications work with inconsistent data

Information(Content)

InformationSource

InformationSource

Multiple, uncoordinatedacquisition of the sameinformation

Copyright Frank J. Furrer 2013 94

DataSource

DataSource

Snap-shot

ApplicationUserApplication

UserApplicationUser

ApplicationUserApplication

User

ApplicationUser

Redundant, ofteninconsistent data

Applications or userswork with different,inconsistent data

Page 95: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

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

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

managed data redundancy derives solelyfrom this master source

Information(Content)

InformationSource

InformationSource

Master Data

Synchronization/Consistency

Copyright Frank J. Furrer 2013 95

The data is generatedand propagated in aconsistent way

Applications or userswork with consistent data

Master DataSource

Snap-shot

DataSource

DataSource

ApplicationUserApplication

UserApplicationUser

ApplicationUserApplication

User

ApplicationUser

Page 96: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

Example: Access Control(Security Architecture)

UserNameIDCredentials

Protection Object

NameIDConfidentiality LevelConstraints

Role

Role NameID

1…*1…*

MemberOf

1…*1…*

isAuthorizedfor

RightAccessTypeCredentials

Copyright Frank J. Furrer 2013 96

InformationArchitecture

TechnicalArchitecture

IntegrationArchitecture

ApplicationsArchitecture

BusinessArchitecture

Security Safety Perfor-mance

SystemManage-

ment

Credentials

checkRights

http://www.techwench.com

Rights DB

Access Control

APPLICATION

Rights

Page 97: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

Future-ProofSoftware-System

Structure

enables

Architectureforms

ArchitecturePrinciples

enforce

ArchitecturePrincipleArchitecture

PrincipleArchitecturePrincipleArchitecture

ArchitectureFuture-Proof

Copyright Frank J. Furrer 2013 97

PrinciplesPrinciplePrincipleArchitecture

Principle

http://berxblog.blogspot.ch

Future-ProofSoftware-Systems

Engineer

Page 98: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

Architecture Erosion:

Any IT-architecture is continuously degeneratingdue to many factors:

• technological change

• progress in software-engineering

• new laws & regulations

• accumulation of mistakes + shortcuts

• sloppy system extensions

… and some more

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

Copyright Frank J. Furrer 2013 98

… and some more

Quality Properties:• Business Value

•Agility• Security

• Availability• etc.

Time

Page 99: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

EngineeringDiscipline

ArchitectureProcess

GovernanceInstrument

Structure

ArchitecturePrinciples

ArchitectureGuidelines &Best Practices

Architecture

BusinessArchitecture

ApplicationsArchitecture

Integration

IT StandardsEnforcement

TechnologyPortfolio

Management

Service

IT StandardsDevelopment

Complexity

Business – ITAlignment

Industrial Architecture

Copyright Frank J. Furrer 2013 99

ArchitectureMetrics

ArchitectureStandards

Safety & SecurityArchitecture

IntegrationArchitecture

TechnicalArchitecture

ApplicationsPortfolio

Management

ServicePortfolio

Management

ComplexityManagement

Architect‘sTraining

ArchitectureCommunication

http://berxblog.blogspot.ch

goodarchitecture

Page 100: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

Architecture Views

Parts of the System

Internal Dependencies(Relationships)

External Dependencies(Relationships)

Properties

Behaviour

Properties

Behaviour

Copyright Frank J. Furrer 2013 100

System Boundary

(Relationships)

Properties

Behaviour

Page 101: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

Architecture View: Security – a selective view

Security Properties:• Protocol: Secure ESB

• Encryption: RSA-1024• Encryption: Link

• Authentication: none

Security Properties:• Authentication: # Certificates

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

• Monitoring: continuous• Databases: encrypted

Copyright Frank J. Furrer 2013 101

System Boundary

• Authentication: none

Security Properties:• Protocol: SSL

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

• Authentication: PKI

Page 102: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

Use and Importance of Architecture Views www.123rf.com

Sys Mgmt

Security

Safety

etc.

Copyright Frank J. Furrer 2013 102

Stakeholders

Architecture documentation:

Documentation Framework

Views:

Overarching documentation

Page 103: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

How much Architecture is enough?

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

Cost, delay, constraintsProject effort (€)

100 %

??

Copyright Frank J. Furrer 2013 103

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

Architecture work

10 %

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 104: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

How much Architecture is enough?h

ttp:/

/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

Copyright Frank J. Furrer 2013 104

Architecture work

Project effort (€)

10 %

100 %

htt

p:/

/w

ww

.dim

en

sio

nsin

fo.c

om

/dim

en

sio

ns

Page 105: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

Where do Architecture Principles come from? Which are the good ones?

IT ArchitecturePrincipleIT Architecture

PrincipleIT ArchitecturePrincipleIT Architecture

Principle

Copyright Frank J. Furrer 2013 105

Page 106: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture

Legacy Softwareh

ttp:/

/w

ww

.nzz.c

h/aktu

ell/

sta

rtseite

/h

inte

rtuerc

hen

htt

p:/

/w

ww

.123rf

.com

/ph

oto

_4985178_o

ld-r

usti

ng-s

cra

pped-c

ars

-in

-a-j

un

k-y

ard

.htm

l

Copyright Frank J. Furrer 2013 106

http

://w

ww

.nzz.c

h/aktu

ell/

sta

rtseite

/h

inte

rtuerc

hen

-der-b

an

ken

-bei-d

en

-gold

-etf-1

.5956390

htt

p:/

/w

ww

.123rf

.com

/ph

oto

_4985178_o

ld

Liability Asset

good:

• invaluable implicit knowledge of thedomain and the business processes

• stable operation (mature)

• good solutions/algorithms

• often: suprisingly good code

bad:• eroded architecture• badly or not documented• obsolete technology (HW & SW)• lost knowledge (people left)• difficult integration context

Page 107: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Lessons learned for FPSS

Lessons learned for future-proof software-systems:

Good architecture (structure) is the result of the consequent andcontinuous application of architecture principles

A number of architecture principles have proven their great valueover time and in many successful systems

Copyright Frank J. Furrer 2013 107

The architecture principles form the toolbox of the future-proofsoftware-systems engineer: He is responsible for consistently applyingthe principles during system development

Architecture is always under risk of deteriorating: From architectureerosion, from business pressure, from implementations short-cuts etc.

Architecture thus needs constant care and attention

Page 108: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Research Topics

Research Questions Master Thesis Level:• Choose one architecture principle from this lecture. Investigate, formalize andquantify the impact of the architecture principle on the specific quality propertiesof a system

• Investigate the reasons for IT architecture erosion. Describe their impact on thearchitecture. Research methods to combat architecture erosion (such asrefactoring, reengineering or rebuild)

• Research existing IT architecture standards (such as ISO, IEEE, OMG, Autosar,IMA, etc.) and describe their positive impacts on their respective applicationsdomains

Copyright Frank J. Furrer 2013 108

domains

• Investigate the available architecture description languages (such as UML,SysML, XML, domain-specific languages etc.). Compare their relative strengthsand weaknesses and assess their usefulness for embedded software development

Research Questions Ph.D. Thesis Level:• Research the literature and assemble all known architecture principles. Organizeand structure them. Assess their value in the form of impact on quality properties.Distill a necessary and sufficient set of architecture principles for a number ofspecific application domains, such as automotive, aerospace and medicalequipment. Provide a taxonomy which is useful for the working future-proofsoftware-systems engineer in his daily work

Page 109: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Research Topics

Research Questions Ph.D. Thesis Level:• George Fairbanks (ISBN 978-0-9846181-0-1, 2010) introduces the interestingand fruitful link between the risk of a system creation/extension and the amountof front-end architecture work required to mitigate the risk. However, he gives onlylittle causal evidence and metrics, and no practical methodology to make practicaluse of this valuable idea. Develop the link between risk and architecture, proposea methodology for use in the future-proof systems-software engineers‘ daily workand introduce some useful metrics

Copyright Frank J. Furrer 2013 109

Page 110: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Motivation

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-6

Copyright Frank J. Furrer 2013 110

SEI-Series (Pearson Education), Addison-Wesley, N.J., USA, 3 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 111: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems:

Architecture Metrics

Industrial Architecture

Copyright Frank J. Furrer 2013 111

EngineeringDiscipline

ArchitectureProcess

GovernanceInstrument

Structure

ArchitecturePrinciples

ArchitectureGuidelines &Best Practices

ArchitectureMetrics

ArchitectureStandards

BusinessArchitecture

ApplicationsArchitecture

Safety &Security

Architecture

IntegrationArchitecture

TechnicalArchitecture

StandardsEnforcement

TechnologyPortfolio

Management

ApplicationsPortfolio

Management

ServicePortfolio

Management

IT StandardsDevelopment

ComplexityManagement

Architect‘sTraining

Business-to-ITAlignment

ArchitectureCommunication

Page 112: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture Metrics

Metric: Quantitative measurement of a product or a process attribute

Metric Definition

Future-ProofSoftware-System

defined

1) Metrics are indispensable for the

management of future-proof software-

systems („you cannot control what you

Copyright Frank J. Furrer 2013 112

QualityProperties

definedby

Metrics

quantify

systems („you cannot control what you

cannot measure“)

2) Metrics are expensive. You need a very

clear purpose and great staying power

Page 113: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture Metrics

Which metrics are necessary?

BusinessValue

Agility

a) FPSS key metrics:

Project Start Project End

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

Amount of functionality:Functional Size

Size Unit: #UCP or #FP

Copyright Frank J. Furrer 2013 113

Project Start Project End

DevC (Development Cost)

WarrantyPeriod

Unit: k€

Agility =TtMi DevCi

(Sizei)2

Unit: #UCP/(days*k€)

CREDIT SUISSE values:

~ 4.2 k€/UCP

~ 0.8 days/UCP

Page 114: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture Metrics

Which metrics are necessary?

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

availability data

Copyright Frank J. Furrer 2013 114

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. … … … …

Agility =TtMi DevCi

(Sizei)2

Unit: #UCP/(days*k€)

measurementperiod

Page 115: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture Metrics

Which metrics are necessary?

BusinessValue

Agility

a) FPSS key metrics:

NPV = Net Present Value(€)I = Investment(€)i = Interest rate (%)

(1 + i)n

Benefityear-nNPV = - I

n

Copyright Frank J. Furrer 2013 115

i = Interest rate (%)n = year (n=0: Project start)

Types of benefits:

• Earnings (new business)

• Cost avoidance (Rationalization, automation)

• Safety & security enhancements (NPV = indirect, enabling)

• Legal & compliance conformance (NPV = indirect, enabling)

Page 116: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture Metrics

Future-Proof Software-Systems Coordinates:

Business Value = Net Present Value (NPV)

Earnings: Year1 Year2 Year3 Year5 Year6

htt

p:/

/w

ww

.eco-w

ay.c

h/?p=10846

Investment:

- 860‘000.- €

NPV = +165‘000 €

Copyright Frank J. Furrer 2013 116

Earnings: Year1 Year2 Year3 Year5 Year6240‘000 € 270‘000 € 230‘000 € 280‘000 € 300‘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:

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

Page 117: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture Metrics

Domain-specific metrics:

Domain-specific

definedby

Future-ProofSoftware-System

Future-Proof Software-Systems:agility & business value

Financial Information Systems:integrity, security, availability, legal&compliance conformance,usability, user response time, SoS-interoperability, …

Automotive domain:safety, reuse, modularity, resource-consumption,

Copyright Frank J. Furrer 2013 117

specificQuality

Properties

Metrics

quantify

safety, reuse, modularity, resource-consumption,maintainability, availability, usability, cost, certifiability, …

Medical domain:safety, usability, performance, certifiability, maintainability,operating cost, …

Mobile robots:safety, SoS-interoperability, performance, certifiability,dependability, versatility, …

Page 118: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Architecture Metrics

Example:ServiceReuse

(CREDITSUISSECorbaServicesReuse2005-2009)

408

317315

343

308

283

258

354

252

287

411

350

376

% reused CORBA services

100Number of CORBA services

Copyright Frank J. Furrer 2013 118

2005-2009)

06/05

113

03/0909/0703/0703/05

92

03/0806/0712/0609/06 12/0706/0603/0612/05

226

09/05

107

12/0806/08 09/08

50

Page 119: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

# System Quality Property Weight

(0 … 10)

Metric ValueYear1

ValueYear2

ValueYear3

Tendency

Future-Proof Software-Systems:

1 Business Value 10 NPV VY1 VY2 VY3

2 Agility 10 1/ VY1 VY2 VY3

Domain-Specific Quality Properties:

3 Safety 9

Domain-Specific Quality Properties Scorecard:

Copyright Frank J. Furrer 2013 119

4 Compliance to laws &regulations

9

5 Compliance to industry-standards

8

6 Resources (Memory, CPU, …) 8

7 Security 7

8

9

etc.

Page 120: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: The Way

# System Quality Property Weight

(0 … 10)

Metric ValueYear1

ValueYear2

ValueYear3

1 Business Value 10 NPV VY1 VY2 VY3

2 Agility 10 1/ VY1 VY2 VY3

Reminder: Quality Properties Scorecard

Business Value

Agility

FPSS

Copyright Frank J. Furrer 2013 120

1/ Y1 Y2 Y3

3 Safety 9

4 Compliance to laws &regulations

9

5 Compliance to industry-standards

8

6 Resources (Memory, CPU,…)

8

7 Security 7

8

9

etc.

Page 121: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Lessons learned for FPSS

Lessons learned for future-proof software-systems:

The key metrics proposed in this lecture for future-proof softwaresystems are „Agility“ and „Business Value“. Due to the background of thelecturer, these metrics are very well suited to very large informationsystems in the financial industry (Are they also as powerful in otherapplications domains, such as automotive, aerospace etc.?)

Copyright Frank J. Furrer 2013 121

Reliable metrics are indispensable for the successful management offuture-proof software-systems (in fact: for any technical system)

Metric programs are (very) expensive. The purpose and benefit of ametric must therefore be very clear before starting a measurementprogram. Measurement programs must be strongly supported bymanagement

The scorecard is a valuable tool to visualize the progress of metrics

Page 122: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Research Topics

Research Questions Master Thesis Level:• Define and justify an optimal set of metrics for a (small) number of differentapplications domains (financial systems, automotive applications, medicalapplications, …). Is there a common set of cross-domain metrics (apart from theFPSS metrics)?

• Software quality is a wide research field and many metrics exist to expressparticular aspects of software quality. Software quality is a cross-property concernwhich impacts many of the quality properties of a system. Demonstrate the impactof a number of software quality metrics on the system quality properties in aspecific applications domain

Copyright Frank J. Furrer 2013 122

Research Questions Ph.D. Thesis Level:• Quality properties – quantitatively expressed by their metrics – are impacted by anumber of factors, such as architecture, people skills, quality of requirements,maturity of development processes, etc. Detect the causal relationship betweenthe factors and the quality properties (possibly using statistical factor analysis)

• Strong empirical evidence shows that the structure/architecture of a system hasthe strongest influence on its agility. This can be easily demonstrated for thenegative effects of architecture. It is more difficult – but would be of high value tothe field – to show quantitatively the impact of good architecture, specifically achoosen architecture principle on the agility of a system

Page 123: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: References

References:

ReferencesKan95 Stephen H. Kan:

Metrics and Models in Software Quality Engineering

Addison Wesley Longman Inc., Reading, USA,1995. ISBN 978-0-201-63339-6Garmus01 David Garmus, David Herron:

Function Point Analysis – Measurement Practices for Successful Software Projects

Addison-Wesely, Boston, USA, 2001. ISBN 978-0-201-69944-3Ebert07 Christof Ebert, Reiner Dunke:

Software Measurement: Establish - Extract - Evaluate – Execute

Springer Verlag, Berlin, 2007. ISBN 978-3-540-71648-8Fenton97 Norman E. Fenton, Shari Lawrence Pfleeger:

Software Metrics – A Rigorous & Practical Approach

Copyright Frank J. Furrer 2013 123

PWS Publishing company, Boston, MA, USA, 2nd edition, revised printing, 1997. ISBN 798-0-534-95425-1McGary02 John McGary, David Card, Cheryl Jones, Beth Layman, Elizabeth Clark, Joseph Dean, Fred Hall:

Practical Software Measurement – Objective Information for decision makers

Addison-Wesley, Boston, USA, 2002. ISBN 978-0-201-71516-3Remenyi00 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-6Renkema00 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-0Remenyi00 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-6Murer11 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

Page 124: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems: Context & Definitions

BusinessCase

justifies

Future-ProofSoftware-System

QualityProperties

definedby

Structure

enables

Architectureforms

guide

control

DevelopmentProcess

builds

ArchitecturePrinciples

enforce

Copyright Frank J. Furrer 2013 124

Future-ProofSoftware-Systems

Engineer

leads

appliesMetrics

quantify

uses

WorkingEnvironment

is embedded in

Part 2

Part 3

Page 125: PART1-WS13-14 V10 20130819 - TU Dresdenst.inf.tu-dresden.de/.../ws13/fps13/PART1-WS13-14_V1… ·  · 2013-08-19Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 1. ... s-o

Future-Proof Software-Systems

Copyright Frank J. Furrer 2013 125

This is the end of Part 1:

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

Part 2:

explains the important architecture principles

Part 3:

describes the „future-proof software-systems engineer“ and his working context


Recommended