team situational awareness and architectural decision making with the software architecture...
DESCRIPTION
European Conference on Software Architecture (ECSA 2013) presentation on 4 July 2013 by Marcin NowakTRANSCRIPT
![Page 1: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/3.jpg)
“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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/5.jpg)
Good decisions
InformedSmart
5
![Page 6: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/9.jpg)
Assumption #1
Situational Awareness => good decisions
9
![Page 10: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/10.jpg)
“[…] 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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/11.jpg)
Assumption #2
No single architect has complete SA
11
![Page 12: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/12.jpg)
Good decisions
InformedSmart
Consensual
12
![Page 13: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/13.jpg)
Good decisions
InformedSmart
Consensual
13
![Page 14: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/16.jpg)
Motivation
Team Situational Awareness => good collaborative decisions
16
![Page 17: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/19.jpg)
Decision Space Comprehension
19
![Page 20: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/20.jpg)
Decision Space Comprehension
20
QuestionableComplex
ObsoletePromising
Positive
Risky
Negative
![Page 21: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/28.jpg)
Position and alternative life cycle
28
No positions
![Page 29: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/29.jpg)
Position and alternative life cycle
29
No positions Aligned Positions
![Page 30: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/40.jpg)
Software Architecture Warehouse
40
![Page 41: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/43.jpg)
Position revoking
43
43
![Page 44: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/44.jpg)
Team re-focusing
44
44
![Page 45: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/45.jpg)
Team re-focusing
45
45
![Page 46: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/46.jpg)
Constraining decision-process
46
46
![Page 47: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/47.jpg)
Constraining decision-process
47
47
![Page 48: Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/48.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/49.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051015/5550b398b4c905ff618b49b8/html5/thumbnails/50.jpg)
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