Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Forces on architecture decisions (WICSA 2012)
1. Forces on architecture
decisions
Uwe van Heesch
Paris Avgeriou
Rich Hilliard
Dienstag, 14. August 2012 1
2. Creating software architecture
is making decisions
Architect
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 2
3. Creating software architecture
is making decisions
M a k e o r b u y? r n s t o us e?
h ich a rch i t e c t u r a l p a t te
W
ame wo r k f o r p e rs i s te n c e?
Wh ich f r e p l at f o r m?
Wh ic h m idd le wa r t s o r de s ig n?
S h o u ld we re u s e c om p o ne n
we us e o p e n s o u rc e SW?
Sh o u ld
h e re t o p u t c om p o ne n t C?
W
Architect
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 2
4. Each decision implies a choice between 2 or more
alternatives
?
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 3
5. These choices are driven by forces.
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 4
6. These choices are driven by forces.
prefer
OSS
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 4
7. These choices are driven by forces.
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 4
8. Decisions are driven by forces.
Reliability
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 5
9. Decisions are driven by forces.
Reliability
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 6
10. Decisions are driven by forces.
Experience
Reliability
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 6
11. Decisions are driven by forces.
Experience Reliability
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 7
12. Decisions are driven by forces.
Strateg. development
Experience Reliability
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 7
13. Decisions are driven by forces.
Experience Reliability
Strateg. development
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 8
14. Decisions are driven by forces.
Scalability
Experience Reliability
Strateg. development
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 8
15. Decisions are driven by forces.
Experience Reliability
Scalability Strateg. development
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 9
16. Decisions are driven by forces.
prefer
OSS Reliability
Experience
Scalability Strateg. development
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 9
17. Decisions are driven by forces.
Experience Reliability
Scalability Strateg. development
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 9
18. Decisions are driven by forces.
Resulting force
Experience Reliability
Scalability Strateg. development
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 9
19. A force is any aspect of an architectural problem
arising in the system or its environment ( operational,
development, business, organizational, political,
economic, legal, regulatory, ecological, social, etc.), to be
considered when choosing among the available decision
alternatives.
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 10
20. Typical forces
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
21. Typical forces
requirements
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
22. Typical forces
requirements business goals
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
23. Typical forces
requirements business goals
constraints
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
24. Typical forces
requirements business goals
regulations
constraints
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
25. Typical forces
requirements business goals
laws
regulations
constraints
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
26. Typical forces
requirements business goals
laws
standards
regulations
constraints
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
27. Typical forces
requirements business goals
laws
principles
standards
regulations
constraints
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
28. Typical forces
requirements business goals
laws
hw/sw interfaces
principles
standards
regulations
constraints
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
29. Typical forces
requirements business goals
laws
hw/sw interfaces
principles
standards
previously made ADs
regulations
constraints
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
30. requirements
constraints business goals
laws standards principles
previously made ADs hw/sw interfaces
regulations
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 12
31. forces
requirements
constraints business goals
laws standards principles
previously made ADs hw/sw interfaces
regulations
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 12
32. How to model and document forces?
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 13
33. A framework for architecture decisions
Decision Decision
Relationship Chronology
Viewpoint Viewpoint
Decision
Detail VP
Decision
Stakeholder
Involvement VP
using the conventions from ISO/IEC/IEEE 42010
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 14
34. Decision
Relationship
Viewpoint
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 15
35. Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 16
36. Decision
Chronology
Viewpoint
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 17
37. Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 18
38. Decision
Chronology
Viewpoint
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 19
39. A framework for architecture decisions
Decision Decision
Relationship Chronology
Viewpoint Viewpoint
Decision
Detail VP
Decision
Stakeholder
Involvement VP
using the conventions from ISO/IEC/IEEE 42010
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 20
40. A framework for architecture decisions
Decision Decision
Relationship Chronology
Viewpoint Viewpoint
Decision
Detail VP
Decision Decision
Stakeholder Forces
Involvement VP Viewpoint
using the conventions from ISO/IEC/IEEE 42010
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 20
48. holder
cost, w
Concerns framed by the forces viewpoint be “not
related concerns, the stakeholders were identified in our pre-
vious work. hardwa
licenses
Table I
C ONCERNS OF THE DECISION FORCES VIEWPOINT
classifie
distribu
Code Concern
C3 What is the rationale for decision D? Apar
C4 What concerns Ci does decision D pertain to? betwee
C5 What forces Fj impact/influence decision D? of the
C6 What decisions Dk are influenced by force F ?
C7 What forces Fl have conflicting influences on decision D?
system:
C23 What decisions Dp or decision sub-graphs SGq can be
reused in other projects? ++:
Table II
T YPICAL STAKEHOLDERS OF THE DECISION FORCES VIEWPOINT AND
THEIR CONCERNS
+:
Stakeholder Concerns blank
Architect C3, C4, C5, C6, C7 Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 Reviewer C3, C4, C5, C6, C7 22
49. C ONCERNS OF THE DECISION FORCES VIEWPOINT
classified by a legal concern (e.g
distributed).
Code Concern
C3 What is the rationale for decision D? Apart from a textual qualificatio
C4 What concerns Ci does decision D pertain to? between decision force and archite
C5 What forces Fj impact/influence decision D? of the following values, estimated
C6 What decisions Dk are influenced by force F ?
C7 What forces Fl have conflicting influences on decision D?
system:
C23 What decisions Dp or decision sub-graphs SGq can be
reused in other projects? ++: A force strongly suppor
)*+,'-+./012134
M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N
native to be !"#$
!5-5'6-1753+ #*882+,57+
chosen. An
M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N
:7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6
*'+')!,-.( &/& *!0 1#.$2'3)4!
the operability&;I$(2#!9: wh
5*6 78!9:
force,
1;<# 4#IG2-J$-;.
=% Q+(L)2#IJ;.I#)$-E#)MR)SL%ITable II
1;.G#2.OIP
T-E#)U#"'+-;2 %% % &' & choice of Swing/Java, be
& % %
T YPICAL => H.$#(2'$#)EF3$L)J'8E#.$)J2;+-<#2I 5V$#.<'U-3-$8
STAKEHOLDERS OF THE DECISION FORCES
=? =#3-'U-3-$8);W)<'$')I$;2'(# =#3-'U-3-$8
%
VIEWPOINT AND
%
%% develop rich graphical us
%
% % %%
THEIR CONCERNS
=@ Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8
=A !FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-3-$8
%%
%%
%
%
%
& +:% & A force moderately supp
%
& %
&
%
(
=%B !#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P !#GF2-$8 % ( % ( (
Stakeholder Concerns
=%? 13-#.$)J3'$W;2E)-.<#J#.<#.G# &;2$'U-3-$8 % %% %% blank: A force has a neutral in
=CB YJ#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8 %% % %
Architect C3, C4, C5, C6, C7 native, or % is not applic
it
'''''!+.*6*10'917.+6
=CD 1;EEF.-G'$-;.)+-')H.$#2.#$ [#$,;2)G;EEL %% %% % % %
=C? /61H)IFJJ;2$ 6'.-.()J2;$;G;3I % ( % %
Reviewer C3, C4, C5, C6, C7
=CK [;)J'-<)B2<)J'2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I % % % -: A force moderately oppo
%% %%
Requirements Engineer
?-/+7'<17.+6 C4, C6, C7
New project member
0% H.";FI#)#VJ#2-#.G#
C3
4#+#3;JE#.$)$-E# - -: A force strongly opposes
0%L% !,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E# %%
Domain expert 0%LC &/&)O<#G#.$P
C23 4#+#3;JE#.$)$-E# % For instance, if the progra
0%LB *&Q)O(;;<P 4#+#3;JE#.$)$-E#
0%LD 78!9:)O+#28)(;;<P
0%L> *!0)O+#28)(;;<P
4#+#3;JE#.$)$-E#
4#+#3;JE#.$)$-E# %
% ence in functional progra
%%
0C !$2'$#(-G).;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II
0CL% :#'2.)&;I$(2#I 1;EJ#$-$-+#.#II %
a strong argument again %%
%%
The decision forces viewpoint consists of a single% model%
0CLC HEJ2;+#)*'+'IG2-J$)I-33I
0CLB :#'2.)*]F#28
&&
&& % %
1;EJ#$-$-+#.#II
1;EJ#$-$-+#.#II
as a programming langu
kind. Figure 3 depicts its metamodel, which presents the%
0D :-.FV)I#2+#2)'+'-3'U3#
0> [;.)UFI-.#II)G2-$-G'3-$8
% 4#+#3;JE#.$)G;I$I
6FI-.#II)G2-$-G'3-$8
X:% A% decision alternative is
%
%
conceptual elements for architecture models %%that adhere to&&
0K =#I;F2G#)FI'(#);.)I#2+#2 & =#I;F2G#)F$-3-^'$-;. &&
instance, a force (could
&& %
it. This model is part of a shared metamodel, which is used tributed under an open s
by all viewpoints of the decision documentation framework. would for instance preven
Together with well-defined correspondence rules, the shared as a search library. Neve
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 23
50. Validation of the forces viewpoint
• multiple case study
• 3 groups of graduating students
• working in non-academic SW projects
(2 industrial, 1 open source)
• used our decision framework to model ADs
• observed over a period of seven weeks
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 24
51. Research questions
RQ1: How does the forces viewpoint support
the decision making process?
RQ2: Which decision-related concerns does the
forces viewpoint support?
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 25
52. Data collection and analysis
• work artifacts
• weekly focus groups
• participant observation
• grounded theory for data analysis
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 26
53. Results
Table IV
R ESULT OF THE QUALITATIVE ANALYSIS
Code Category PrjA PrjB PrjC Concerns Res. Qu.
Cat1 Required students to think more carefully about decisions. X X X RQ1
Cat2 Triggered students to consider quality attribute requirements. X X X RQ1
Cat3 Prevents ad-hoc decisions. X X X RQ1
Cat4 Forces viewpoint will be used in other projects. X X X RQ1
Cat5 Triggered students to identify more alternatives. X X RQ1
Cat6 Good way to document decisions. X X RQ1
Cat7 Creating the forces view took a lot of time. X RQ1
Cat8 Prevents inefficient discussions about decisions. X RQ1
Cat9 Created with reasonable effort. X RQ1
Cat10 Saved time in the end. X RQ1
Cat11 Support for rational decisions. X RQ1
Cat12 Forces view complements relationship view. X RQ1
Cat13 Useful for architects, designers, programmers, and new project members. X RQ1
Cat14 Support for weighing forces is missing. X RQ1
Cat15 Identifying all forces is a matter of experience. X RQ1
Cat16 Forces view and relationship view are simultaneously refined. X RQ1
Cat17 Proper tool support needed. X RQ1
Cat18 Maintain overview over architectural decisions, concerns, and forces. X X X C4,C5,C6 RQ1,RQ2
Cat19 Helpful to systematically compare decision alternatives in the context of X X X C5,C6 RQ1,RQ2
forces.
Cat20 Help for estimating requirements coverage. X X C6 RQ1,RQ2
Cat21 Support for systematic trade-offs between forces. X C7 RQ1,RQ2
Cat22 Supports sharing architecture rationale. X X X C3, C23 RQ2
e important than other forces causing them to select an The students described that one column in the forces v
itecture decision alternative that had a lower rating (i.e. (see Figure 1) shows which concerns (Cat18, concern C4),
s of pluses and minuses) than the other alternatives. Al- which forces (Cat18, concern C5) are related to a decis
Uwe van Heesch - uwe@vanheesch.net
gh we had considered this aspect during the design of the
Dienstag, 14. August 2012
They also understood that a row in the view shows decis 27
54. Results
+ supports decision making process of
(inexperienced) designers
+ provides a structure for making systematic
decisions
+ documents rationale that went into decisions
+ satisfies the stakeholder concerns assigned to the
viewpoint
- different weights for forces needed
- identifying forces requires experience
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 28
55. Ongoing work
• decision-centric architecture evaluation based
on forces
• lists of domain specific forces
• different approaches to weighing forces
• different approaches to force impact ratings
• improved tool support for decision framework
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 29
56. Thank you for your
attention
uwe@vanheesch.net
paris@cs.rug.nl
r.hilliard@computer.org
Dienstag, 14. August 2012 30