team situational awareness and architectural decision making with the software architecture...

50
Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse Marcin Nowak and Cesare Pautasso [email protected], [email protected] Faculty of Informatics, University of Lugano, Switzerland

Upload: cesare-pautasso

Post on 11-May-2015

486 views

Category:

Technology


0 download

DESCRIPTION

European Conference on Software Architecture (ECSA 2013) presentation on 4 July 2013 by Marcin Nowak

TRANSCRIPT

Page 1: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Team Situational Awareness andArchitectural Decision Making with the

Software Architecture Warehouse

Marcin Nowak and Cesare [email protected], [email protected]

Faculty of Informatics, University of Lugano, Switzerland

Page 2: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Team Situational Awareness andArchitectural Decision Making with the

Software Architecture Warehouse

Marcin Nowak and Cesare [email protected], [email protected]

Faculty of Informatics, University of Lugano, Switzerland

Page 3: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

“The life of a software architect is a long and rapid succession of suboptimal design decisions

taken partly in the dark”*

3Philippe Kruchten

Page 4: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Good decisions

InformedSmart

4Panel discussion on Architecture Decisions, SATURN 2013 Mineapollis, Minesota

Page 5: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Good decisions

InformedSmart

5

Page 6: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Situational Awareness

“The perception of elements in the environment within a volume of time and space, the

comprehension of their meaning, and the projection of their status in the near future”*

6* Endsley, M.R. (1995b). Toward a theory of situation awareness in dynamic systems. Human Factors 37(1), 32–64

Page 7: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Situational Awareness

“The perception of elements in the environment within a volume of time and space, the

comprehension of their meaning, and the projection of their status in the near future”*

7* Endsley, M.R. (1995b). Toward a theory of situation awareness in dynamic systems. Human Factors 37(1), 32–64

Page 8: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Situational Awareness

8

Perception recognizemonitor

Comprehension make sense

Projection predict future

* Endsley, M.R. (1995b). Toward a theory of situation awareness in dynamic systems. Human Factors 37(1), 32–64

Page 9: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Assumption #1

Situational Awareness => good decisions

9

Page 10: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

“[…] 86% of architectural decisions are group decisions.”

10* Difficulty of Architectural Decisions – A Survey with Professional Architects Dan Tofan, Matthias Galster, Paris Avgeriou, ECSA 2013

Page 11: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Assumption #2

No single architect has complete SA

11

Page 12: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Good decisions

InformedSmart

Consensual

12

Page 13: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Good decisions

InformedSmart

Consensual

13

Page 14: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Team Situational Awareness

“The degree to which every team member possesses the SA required for his or her

responsibilities”*

14* Endsley, M.R. (1995b). Toward a theory of situation awareness in dynamic systems. Human Factors 37(1), 32–64

Page 15: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Team Situational Awareness

“The degree to which every team member possesses the SA required for his or her

responsibilities”*

15* Endsley, M.R. (1995b). Toward a theory of situation awareness in dynamic systems. Human Factors 37(1), 32–64

Page 16: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Motivation

Team Situational Awareness => good collaborative decisions

16

Page 17: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Team Situational Awareness for Architecture Decisions

17

distributed decision space

decision metrics

decision process guidance

Perception

Comprehension

Projection

Page 18: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Reactive design document

18

Decision Space

Architect

Architect

Architect

Architect

Other stakeholders

Real-time sharing, collaborative decision making

Page 19: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Decision Space Comprehension

19

Page 20: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Decision Space Comprehension

20

QuestionableComplex

ObsoletePromising

Positive

Risky

Negative

Page 21: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

ISO 42010 decision meta-model

21

ArchitectureElement

affectsArchitecture Decision

RationaleConcern

depends upon

pertains

raises

justifies

Page 22: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

ISO 42010 decision meta-model

22

Issue

addressesAlternative

addresses

solvesArchitecture Decision

RationaleConcern

depends upon

pertains

raises

justifies

Page 23: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Argumentation viewpoint meta-model

23

Issue

addressesAlternative

addresses

solvesArchitecture Decision

RationaleConcern

depends upon

pertains

raises

justifies

Position

Action

StakeholderDecision Force

recommends

pertains states

Page 24: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Argumentation view example

24

AccountAccess

Security

Web Services Security

Mechanism

Design Issue

WS-Security

HTTPS

Plain text

Architecture Decision Design Alternatives

Compatibility issues

Heavyweight

Unsecure!

Simple

Practice proven

Stakeholder Positions

Page 25: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

WS-Security

Argumentation view example

25

WS-Security

Design Issue Architecture Decision Design Alternatives

Compatibility issues

Heavyweight

Stakeholder Positions

AccountAccess

Security

Web Services Security

Mechanism

HTTPS

Plain text

Unsecure!

Simple

Practice provenHTTPS

Page 26: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Argumentation view example

26

Design Issue Architecture Decision Design Alternatives

HTTPS

WS-Security

Compatibility issues

Heavyweight

AccountAccess

Security

Web Services Security

Mechanism

Plain text

Unsecure!

Simple

Practice proven

Stakeholder Positions

HTTPS

Page 27: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Argumentation view example

27

Design Issue Architecture Decision Design Alternatives

Plain text

Unsecure!

Simple

Stakeholder Positions

HTTPS

WS-Security

Compatibility issues

Heavyweight

AccountAccess

Security

Web Services Security

Mechanism

Practice proven

Plain text

Page 28: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Position and alternative life cycle

28

No positions

Page 29: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Position and alternative life cycle

29

No positions Aligned Positions

Page 30: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Position and alternative life cycle

30

No positions Aligned Positions

Colliding Positions

Page 31: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Position and alternative life cycle

31

No positions

Sealed

Aligned Positions

Colliding Positions

Page 32: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Position and alternative life cycle

32

No positions

Sealed

Inconclusive positions Conclusive positions

Aligned Positions

Colliding Positions

Page 33: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Design Issue life-cycle

33

No Alternatives

Inconclusive Choice

Incomplete Choice

Conclusive Choice

Warring Choice

No Decisions

Page 34: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Design Issue life-cycle

34

No Alternatives

Inconclusive Choice

Complete choice

Incomplete Choice

Conclusive Choice

Warring Choice

No Decisions

Page 35: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Design Issue life-cycle

35

No Alternatives

Inconclusive Choice

Complete choice

Incomplete Choice

Conclusive Choice

Warring Choice

No Decisions

Plain text

HTTPS

WS-Security

AccountAccess

Security

Web Services Security

MechanismHTTPS

Page 36: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Design Issue life-cycle

Plain text

HTTPS

WS-Security

AccountAccess

Security

Web Services Security

MechanismHTTPS

No Alternatives

Inconclusive Choice

Complete choice

Incomplete Choice

Conclusive Choice

Warring Choice

No Decisions

36

Page 37: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Design Issue life-cycle

Plain text

HTTPS

WS-Security

AccountAccess

Security

Web Services Security

MechanismHTTPS

No Alternatives

Inconclusive Choice

Complete choice

Incomplete Choice

Conclusive Choice

Warring Choice

No Decisions

37

Page 38: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Design Issue life-cycle

38

Plain text

HTTPS

WS-Security

AccountAccess

Security

Web Services Security

MechanismHTTPS

No Alternatives

Inconclusive Choice

Complete choice

Incomplete Choice

Conclusive Choice

Warring Choice

No Decisions

38

Page 39: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Design Issue life-cycle

Plain text

HTTPS

WS-Security

AccountAccess

Security

Web Services Security

MechanismHTTPS

No Alternatives

Inconclusive Choice

Complete choice

Incomplete Choice

Conclusive Choice

Warring Choice

No Decisions

39

Page 40: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Software Architecture Warehouse

40

Page 41: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Formative Evaluation

41

• User-centric design• 2 yearly iterations (with students of “Software

Architecture and Design” master course)• 50+ co-located design workshops• 5-10 participants• 146 issues• 401 alternatives• 694 positions

41

Page 42: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Formative Evaluation Findings

42

• Connectivity• Position volatility• Decision space dynamics vary greatly• Need for decision process framing

(sealing, time-boxing)• Lack of collective attention focus• Multimodality of the decision discussion

42

Page 43: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Position revoking

43

43

Page 44: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Team re-focusing

44

44

Page 45: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Team re-focusing

45

45

Page 46: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Constraining decision-process

46

46

Page 47: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Constraining decision-process

47

47

Page 48: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Summary

48

• Documenting decision making process is as important as documenting decisions itself

• There is a lot to learn about how software architects make decisions (as a group)

48

Page 49: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Road ahead

49

• Decision metrics (in particular complex, graph metrics)

• Detection strategies (patterns and anti-patterns)

• Decision guidance models

49Perception

Comprehension

Projection

Page 50: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse

Team Situational Awareness andArchitectural Decision Making with the

Software Architecture Warehouse

Marcin Nowak and Cesare [email protected], [email protected]

Faculty of Informatics, University of Lugano, Switzerland

Public software architecture warehouse demo:http://demo.saw.sonyx.net

http://saw.inf.unisi.ch