forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfuwe van...

56
Forces on architecture decisions Uwe van Heesch Paris Avgeriou Rich Hilliard 1 Dienstag, 14. August 2012

Upload: others

Post on 14-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Forces on architecture decisions

Uwe van HeeschParis AvgeriouRich Hilliard

1Dienstag, 14. August 2012

Page 2: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Creating software architecture is making decisions

Architect

2Dienstag, 14. August 2012

Page 3: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Creating software architecture is making decisions

Make or buy?Which architectural patterns to use?

Which framework for persistence?

Which middleware platform?

Should we reuse components or design?

Should we use open source SW?

Where to put component C?

Architect

2Dienstag, 14. August 2012

Page 4: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Each decision implies a choice between 2 or more alternatives

?

3Dienstag, 14. August 2012

Page 5: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

These choices are driven by forces.

4Dienstag, 14. August 2012

Page 6: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

These choices are driven by forces.

prefer OSS

4Dienstag, 14. August 2012

Page 7: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

These choices are driven by forces.

4Dienstag, 14. August 2012

Page 8: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Decisions are driven by forces.

Reliability

5Dienstag, 14. August 2012

Page 9: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Decisions are driven by forces.

Reliability

6Dienstag, 14. August 2012

Page 10: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Decisions are driven by forces.

ReliabilityExperience

6Dienstag, 14. August 2012

Page 11: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Decisions are driven by forces.

ReliabilityExperience

7Dienstag, 14. August 2012

Page 12: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Decisions are driven by forces.

ReliabilityExperience

Strateg. development

7Dienstag, 14. August 2012

Page 13: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Decisions are driven by forces.

ReliabilityExperience

Strateg. development

8Dienstag, 14. August 2012

Page 14: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Decisions are driven by forces.

ReliabilityExperience

Strateg. development

Scalability

8Dienstag, 14. August 2012

Page 15: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Decisions are driven by forces.

ReliabilityExperience

Strateg. developmentScalability

9Dienstag, 14. August 2012

Page 16: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Decisions are driven by forces.

ReliabilityExperience

Strateg. developmentScalability

prefer OSS

9Dienstag, 14. August 2012

Page 17: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Decisions are driven by forces.

ReliabilityExperience

Strateg. developmentScalability

9Dienstag, 14. August 2012

Page 18: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Decisions are driven by forces.

ReliabilityExperience

Strateg. developmentScalability

Resulting force

9Dienstag, 14. August 2012

Page 19: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

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.

10Dienstag, 14. August 2012

Page 20: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Typical forces

11Dienstag, 14. August 2012

Page 21: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

requirements

Typical forces

11Dienstag, 14. August 2012

Page 22: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

requirements

Typical forces

business goals

11Dienstag, 14. August 2012

Page 23: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

requirements

Typical forces

business goals

constraints

11Dienstag, 14. August 2012

Page 24: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

requirements

Typical forces

business goals

constraints

regulations

11Dienstag, 14. August 2012

Page 25: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

requirements

Typical forces

business goals

constraints

regulations

laws

11Dienstag, 14. August 2012

Page 26: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

requirements

Typical forces

business goals

constraints

regulations

laws

standards

11Dienstag, 14. August 2012

Page 27: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

requirements

Typical forces

business goals

constraints

regulations

laws

standards

principles

11Dienstag, 14. August 2012

Page 28: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

requirements

Typical forces

business goals

constraints

regulations

laws

standards

principleshw/sw interfaces

11Dienstag, 14. August 2012

Page 29: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

requirements

Typical forces

business goals

constraints

regulations

laws

standards

principleshw/sw interfaces

previously made ADs

11Dienstag, 14. August 2012

Page 30: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

requirements

business goalsconstraints

regulations

laws standards principles

hw/sw interfacespreviously made ADs

12Dienstag, 14. August 2012

Page 31: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

requirements

forces

business goalsconstraints

regulations

laws standards principles

hw/sw interfacespreviously made ADs

12Dienstag, 14. August 2012

Page 32: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

How to model and document forces?

13Dienstag, 14. August 2012

Page 33: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

A framework for architecture decisions

using the conventions from ISO/IEC/IEEE 42010

DecisionRelationshipViewpoint

DecisionChronologyViewpoint

DecisionStakeholder

Involvement VP

DecisionChronologyViewpoint

DecisionDetail VP

14Dienstag, 14. August 2012

Page 34: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

DecisionRelationshipViewpoint

DecisionChronologyViewpoint

15Dienstag, 14. August 2012

Page 35: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Uwe van Heesch - [email protected], 14. August 2012

Page 36: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

DecisionChronologyViewpoint

DecisionChronologyViewpoint

17Dienstag, 14. August 2012

Page 38: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

DecisionChronologyViewpoint

DecisionChronologyViewpoint

19Dienstag, 14. August 2012

Page 39: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

DecisionChronologyViewpoint

DecisionChronologyViewpoint

A framework for architecture decisions

using the conventions from ISO/IEC/IEEE 42010

DecisionRelationshipViewpoint

DecisionStakeholder

Involvement VP

DecisionDetail VP

20Dienstag, 14. August 2012

Page 40: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

DecisionChronologyViewpoint

DecisionChronologyViewpoint

A framework for architecture decisions

using the conventions from ISO/IEC/IEEE 42010

DecisionRelationshipViewpoint

DecisionStakeholder

Involvement VP

DecisionForces

Viewpoint

DecisionDetail VP

20Dienstag, 14. August 2012

Page 41: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

!"##$%

&'(#)%

!"#$

*'+')!,-.( &/& *!0 1#.$2'3)4! 5*6 78!9:

1;<#

=% %% % &' & & % %

=> % % %

=? %% % % %%

=@ %% % % % & % %

=A %% % & & % & (

=%B % ( % ( (

=%? % %% %%

=CB %% % %

=CD 1;EEF.-G'$-;.)+-')H.$#2.#$ %% %% % % % %

=C? /61H)IFJJ;2$ % ( % %

=CK % % % %% %%

0%

0%L% %%

0%LC %

0%LB

0%LD % %%

0%L> %

0C %%

0CL% % %%

0CLC && % %

0CLB && % %

0D % % % % %

0> %

0K %% & && && && % (

)*+,'-+./012134 !5-5'6-1753+ #*882+,57+

M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N

&;I$(2#!9:

'''''!+.*6*10'917.+6

:7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6

4#IG2-J$-;. 1;.G#2.OIP

Q+(L)2#IJ;.I#)$-E#)MR)SL%I T-E#)U#"'+-;2

H.$#(2'$#)EF3$L)J'8E#.$)J2;+-<#2I 5V$#.<'U-3-$8

=#3-'U-3-$8);W)<'$')I$;2'(# =#3-'U-3-$8

Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8

!FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-3-$8

!#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P !#GF2-$8

13-#.$)J3'$W;2E)-.<#J#.<#.G# &;2$'U-3-$8

YJ#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8

[#$,;2\)G;EEL

6'.\-.()J2;$;G;3I

[;)J'-<)B2<)J'2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I

?-/+7'<17.+6

H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E#

!,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E#

&/&)O<#G#.$P 4#+#3;JE#.$)$-E#

*&Q)O(;;<P 4#+#3;JE#.$)$-E#

78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E#

*!0)O+#28)(;;<P 4#+#3;JE#.$)$-E#

!$2'$#(-G)\.;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II

:#'2.)&;I$(2#I 1;EJ#$-$-+#.#II

HEJ2;+#)*'+'IG2-J$)I\-33I 1;EJ#$-$-+#.#II

:#'2.)*]F#28 1;EJ#$-$-+#.#II

:-.FV)I#2+#2)'+'-3'U3# 4#+#3;JE#.$)G;I$I

[;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8

=#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;.

Example of a forces view

21Dienstag, 14. August 2012

Page 42: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

!"##$%

&'(#)%

!"#$

*'+')!,-.( &/& *!0 1#.$2'3)4! 5*6 78!9:

1;<#

=% %% % &' & & % %

=> % % %

=? %% % % %%

=@ %% % % % & % %

=A %% % & & % & (

=%B % ( % ( (

=%? % %% %%

=CB %% % %

=CD 1;EEF.-G'$-;.)+-')H.$#2.#$ %% %% % % % %

=C? /61H)IFJJ;2$ % ( % %

=CK % % % %% %%

0%

0%L% %%

0%LC %

0%LB

0%LD % %%

0%L> %

0C %%

0CL% % %%

0CLC && % %

0CLB && % %

0D % % % % %

0> %

0K %% & && && && % (

)*+,'-+./012134 !5-5'6-1753+ #*882+,57+

M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N

&;I$(2#!9:

'''''!+.*6*10'917.+6

:7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6

4#IG2-J$-;. 1;.G#2.OIP

Q+(L)2#IJ;.I#)$-E#)MR)SL%I T-E#)U#"'+-;2

H.$#(2'$#)EF3$L)J'8E#.$)J2;+-<#2I 5V$#.<'U-3-$8

=#3-'U-3-$8);W)<'$')I$;2'(# =#3-'U-3-$8

Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8

!FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-3-$8

!#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P !#GF2-$8

13-#.$)J3'$W;2E)-.<#J#.<#.G# &;2$'U-3-$8

YJ#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8

[#$,;2\)G;EEL

6'.\-.()J2;$;G;3I

[;)J'-<)B2<)J'2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I

?-/+7'<17.+6

H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E#

!,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E#

&/&)O<#G#.$P 4#+#3;JE#.$)$-E#

*&Q)O(;;<P 4#+#3;JE#.$)$-E#

78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E#

*!0)O+#28)(;;<P 4#+#3;JE#.$)$-E#

!$2'$#(-G)\.;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II

:#'2.)&;I$(2#I 1;EJ#$-$-+#.#II

HEJ2;+#)*'+'IG2-J$)I\-33I 1;EJ#$-$-+#.#II

:#'2.)*]F#28 1;EJ#$-$-+#.#II

:-.FV)I#2+#2)'+'-3'U3# 4#+#3;JE#.$)G;I$I

[;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8

=#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;.

21Dienstag, 14. August 2012

Page 43: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

!"##$%

&'(#)%

!"#$

*'+')!,-.( &/& *!0 1#.$2'3)4! 5*6 78!9:

1;<#

=% %% % &' & & % %

=> % % %

=? %% % % %%

=@ %% % % % & % %

=A %% % & & % & (

=%B % ( % ( (

=%? % %% %%

=CB %% % %

=CD 1;EEF.-G'$-;.)+-')H.$#2.#$ %% %% % % % %

=C? /61H)IFJJ;2$ % ( % %

=CK % % % %% %%

0%

0%L% %%

0%LC %

0%LB

0%LD % %%

0%L> %

0C %%

0CL% % %%

0CLC && % %

0CLB && % %

0D % % % % %

0> %

0K %% & && && && % (

)*+,'-+./012134 !5-5'6-1753+ #*882+,57+

M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N

&;I$(2#!9:

'''''!+.*6*10'917.+6

:7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6

4#IG2-J$-;. 1;.G#2.OIP

Q+(L)2#IJ;.I#)$-E#)MR)SL%I T-E#)U#"'+-;2

H.$#(2'$#)EF3$L)J'8E#.$)J2;+-<#2I 5V$#.<'U-3-$8

=#3-'U-3-$8);W)<'$')I$;2'(# =#3-'U-3-$8

Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8

!FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-3-$8

!#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P !#GF2-$8

13-#.$)J3'$W;2E)-.<#J#.<#.G# &;2$'U-3-$8

YJ#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8

[#$,;2\)G;EEL

6'.\-.()J2;$;G;3I

[;)J'-<)B2<)J'2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I

?-/+7'<17.+6

H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E#

!,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E#

&/&)O<#G#.$P 4#+#3;JE#.$)$-E#

*&Q)O(;;<P 4#+#3;JE#.$)$-E#

78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E#

*!0)O+#28)(;;<P 4#+#3;JE#.$)$-E#

!$2'$#(-G)\.;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II

:#'2.)&;I$(2#I 1;EJ#$-$-+#.#II

HEJ2;+#)*'+'IG2-J$)I\-33I 1;EJ#$-$-+#.#II

:#'2.)*]F#28 1;EJ#$-$-+#.#II

:-.FV)I#2+#2)'+'-3'U3# 4#+#3;JE#.$)G;I$I

[;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8

=#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;.

decision topic

21Dienstag, 14. August 2012

Page 44: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

!"##$%

&'(#)%

!"#$

*'+')!,-.( &/& *!0 1#.$2'3)4! 5*6 78!9:

1;<#

=% %% % &' & & % %

=> % % %

=? %% % % %%

=@ %% % % % & % %

=A %% % & & % & (

=%B % ( % ( (

=%? % %% %%

=CB %% % %

=CD 1;EEF.-G'$-;.)+-')H.$#2.#$ %% %% % % % %

=C? /61H)IFJJ;2$ % ( % %

=CK % % % %% %%

0%

0%L% %%

0%LC %

0%LB

0%LD % %%

0%L> %

0C %%

0CL% % %%

0CLC && % %

0CLB && % %

0D % % % % %

0> %

0K %% & && && && % (

)*+,'-+./012134 !5-5'6-1753+ #*882+,57+

M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N

&;I$(2#!9:

'''''!+.*6*10'917.+6

:7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6

4#IG2-J$-;. 1;.G#2.OIP

Q+(L)2#IJ;.I#)$-E#)MR)SL%I T-E#)U#"'+-;2

H.$#(2'$#)EF3$L)J'8E#.$)J2;+-<#2I 5V$#.<'U-3-$8

=#3-'U-3-$8);W)<'$')I$;2'(# =#3-'U-3-$8

Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8

!FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-3-$8

!#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P !#GF2-$8

13-#.$)J3'$W;2E)-.<#J#.<#.G# &;2$'U-3-$8

YJ#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8

[#$,;2\)G;EEL

6'.\-.()J2;$;G;3I

[;)J'-<)B2<)J'2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I

?-/+7'<17.+6

H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E#

!,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E#

&/&)O<#G#.$P 4#+#3;JE#.$)$-E#

*&Q)O(;;<P 4#+#3;JE#.$)$-E#

78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E#

*!0)O+#28)(;;<P 4#+#3;JE#.$)$-E#

!$2'$#(-G)\.;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II

:#'2.)&;I$(2#I 1;EJ#$-$-+#.#II

HEJ2;+#)*'+'IG2-J$)I\-33I 1;EJ#$-$-+#.#II

:#'2.)*]F#28 1;EJ#$-$-+#.#II

:-.FV)I#2+#2)'+'-3'U3# 4#+#3;JE#.$)G;I$I

[;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8

=#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;.

decision topic decision

21Dienstag, 14. August 2012

Page 45: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

!"##$%

&'(#)%

!"#$

*'+')!,-.( &/& *!0 1#.$2'3)4! 5*6 78!9:

1;<#

=% %% % &' & & % %

=> % % %

=? %% % % %%

=@ %% % % % & % %

=A %% % & & % & (

=%B % ( % ( (

=%? % %% %%

=CB %% % %

=CD 1;EEF.-G'$-;.)+-')H.$#2.#$ %% %% % % % %

=C? /61H)IFJJ;2$ % ( % %

=CK % % % %% %%

0%

0%L% %%

0%LC %

0%LB

0%LD % %%

0%L> %

0C %%

0CL% % %%

0CLC && % %

0CLB && % %

0D % % % % %

0> %

0K %% & && && && % (

)*+,'-+./012134 !5-5'6-1753+ #*882+,57+

M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N

&;I$(2#!9:

'''''!+.*6*10'917.+6

:7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6

4#IG2-J$-;. 1;.G#2.OIP

Q+(L)2#IJ;.I#)$-E#)MR)SL%I T-E#)U#"'+-;2

H.$#(2'$#)EF3$L)J'8E#.$)J2;+-<#2I 5V$#.<'U-3-$8

=#3-'U-3-$8);W)<'$')I$;2'(# =#3-'U-3-$8

Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8

!FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-3-$8

!#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P !#GF2-$8

13-#.$)J3'$W;2E)-.<#J#.<#.G# &;2$'U-3-$8

YJ#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8

[#$,;2\)G;EEL

6'.\-.()J2;$;G;3I

[;)J'-<)B2<)J'2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I

?-/+7'<17.+6

H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E#

!,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E#

&/&)O<#G#.$P 4#+#3;JE#.$)$-E#

*&Q)O(;;<P 4#+#3;JE#.$)$-E#

78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E#

*!0)O+#28)(;;<P 4#+#3;JE#.$)$-E#

!$2'$#(-G)\.;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II

:#'2.)&;I$(2#I 1;EJ#$-$-+#.#II

HEJ2;+#)*'+'IG2-J$)I\-33I 1;EJ#$-$-+#.#II

:#'2.)*]F#28 1;EJ#$-$-+#.#II

:-.FV)I#2+#2)'+'-3'U3# 4#+#3;JE#.$)G;I$I

[;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8

=#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;.

decision topicdecision state

decision

21Dienstag, 14. August 2012

Page 46: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

!"##$%

&'(#)%

!"#$

*'+')!,-.( &/& *!0 1#.$2'3)4! 5*6 78!9:

1;<#

=% %% % &' & & % %

=> % % %

=? %% % % %%

=@ %% % % % & % %

=A %% % & & % & (

=%B % ( % ( (

=%? % %% %%

=CB %% % %

=CD 1;EEF.-G'$-;.)+-')H.$#2.#$ %% %% % % % %

=C? /61H)IFJJ;2$ % ( % %

=CK % % % %% %%

0%

0%L% %%

0%LC %

0%LB

0%LD % %%

0%L> %

0C %%

0CL% % %%

0CLC && % %

0CLB && % %

0D % % % % %

0> %

0K %% & && && && % (

)*+,'-+./012134 !5-5'6-1753+ #*882+,57+

M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N

&;I$(2#!9:

'''''!+.*6*10'917.+6

:7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6

4#IG2-J$-;. 1;.G#2.OIP

Q+(L)2#IJ;.I#)$-E#)MR)SL%I T-E#)U#"'+-;2

H.$#(2'$#)EF3$L)J'8E#.$)J2;+-<#2I 5V$#.<'U-3-$8

=#3-'U-3-$8);W)<'$')I$;2'(# =#3-'U-3-$8

Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8

!FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-3-$8

!#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P !#GF2-$8

13-#.$)J3'$W;2E)-.<#J#.<#.G# &;2$'U-3-$8

YJ#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8

[#$,;2\)G;EEL

6'.\-.()J2;$;G;3I

[;)J'-<)B2<)J'2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I

?-/+7'<17.+6

H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E#

!,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E#

&/&)O<#G#.$P 4#+#3;JE#.$)$-E#

*&Q)O(;;<P 4#+#3;JE#.$)$-E#

78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E#

*!0)O+#28)(;;<P 4#+#3;JE#.$)$-E#

!$2'$#(-G)\.;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II

:#'2.)&;I$(2#I 1;EJ#$-$-+#.#II

HEJ2;+#)*'+'IG2-J$)I\-33I 1;EJ#$-$-+#.#II

:#'2.)*]F#28 1;EJ#$-$-+#.#II

:-.FV)I#2+#2)'+'-3'U3# 4#+#3;JE#.$)G;I$I

[;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8

=#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;.

forces

decision topicdecision state

decision

21Dienstag, 14. August 2012

Page 47: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

!"##$%

&'(#)%

!"#$

*'+')!,-.( &/& *!0 1#.$2'3)4! 5*6 78!9:

1;<#

=% %% % &' & & % %

=> % % %

=? %% % % %%

=@ %% % % % & % %

=A %% % & & % & (

=%B % ( % ( (

=%? % %% %%

=CB %% % %

=CD 1;EEF.-G'$-;.)+-')H.$#2.#$ %% %% % % % %

=C? /61H)IFJJ;2$ % ( % %

=CK % % % %% %%

0%

0%L% %%

0%LC %

0%LB

0%LD % %%

0%L> %

0C %%

0CL% % %%

0CLC && % %

0CLB && % %

0D % % % % %

0> %

0K %% & && && && % (

)*+,'-+./012134 !5-5'6-1753+ #*882+,57+

M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N

&;I$(2#!9:

'''''!+.*6*10'917.+6

:7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6

4#IG2-J$-;. 1;.G#2.OIP

Q+(L)2#IJ;.I#)$-E#)MR)SL%I T-E#)U#"'+-;2

H.$#(2'$#)EF3$L)J'8E#.$)J2;+-<#2I 5V$#.<'U-3-$8

=#3-'U-3-$8);W)<'$')I$;2'(# =#3-'U-3-$8

Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8

!FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-3-$8

!#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P !#GF2-$8

13-#.$)J3'$W;2E)-.<#J#.<#.G# &;2$'U-3-$8

YJ#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8

[#$,;2\)G;EEL

6'.\-.()J2;$;G;3I

[;)J'-<)B2<)J'2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I

?-/+7'<17.+6

H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E#

!,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E#

&/&)O<#G#.$P 4#+#3;JE#.$)$-E#

*&Q)O(;;<P 4#+#3;JE#.$)$-E#

78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E#

*!0)O+#28)(;;<P 4#+#3;JE#.$)$-E#

!$2'$#(-G)\.;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II

:#'2.)&;I$(2#I 1;EJ#$-$-+#.#II

HEJ2;+#)*'+'IG2-J$)I\-33I 1;EJ#$-$-+#.#II

:#'2.)*]F#28 1;EJ#$-$-+#.#II

:-.FV)I#2+#2)'+'-3'U3# 4#+#3;JE#.$)G;I$I

[;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8

=#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;.

forces

decision topicdecision state

decision

impact rating

21Dienstag, 14. August 2012

Page 48: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Concerns framed by the forces viewpoint

Figure 3. Metamodel of decision forces viewpoint

related concerns, the stakeholders were identified in our pre-vious work.

Table ICONCERNS OF THE DECISION FORCES VIEWPOINT

Code ConcernC3 What is the rationale for decision D?C4 What concerns Ci does decision D pertain to?C5 What forces Fj impact/influence decision D?C6 What decisions Dk are influenced by force F ?C7 What forces Fl have conflicting influences on decision D?C23 What decisions Dp or decision sub-graphs SGq can be

reused in other projects?

Table IITYPICAL STAKEHOLDERS OF THE DECISION FORCES VIEWPOINT AND

THEIR CONCERNS

Stakeholder ConcernsArchitect C3, C4, C5, C6, C7Reviewer C3, C4, C5, C6, C7Requirements Engineer C4, C6, C7New project member C3Domain expert C23

The decision forces viewpoint consists of a single modelkind. Figure 3 depicts its metamodel, which presents theconceptual elements for architecture models that adhere toit. This model is part of a shared metamodel, which is usedby all viewpoints of the decision documentation framework.Together with well-defined correspondence rules, the sharedmetamodel ensures consistency among the views of differentviewpoints.

The elements in Figure 3 with a gray background mapto the corresponding elements in Figures 2 and 4 ofISO/IEC/IEEE 42010. In the following, each of the elementsused in Figure 3 is briefly described.

An architecture decision pertains to one or more concerns.Forces views show only the current state of each decision(e.g. decided, or discarded [3]). While decisions can generallyhave different types of relationships with each other, the forcesviewpoint only regards the is alternative for-relationship togroup multiple decision alternatives into a decision topic.

According to ISO/IEC/IEEE 42010, “Architecture rationalecaptures explanation, justification or reasoning about archi-tecture decisions that have been made.” [4]. In terms of theforces viewpoint, the architecture rationale should balance allrelevant forces that influence a decision. Note that architecturerationale is not described in forces views; it is documentedexplicitly in decision detail views, which are part of thedecision framework. In the forces viewpoint’s model kind,the association between Architecture Rationale and Influenceimplies that the rationale description should consider therelevant forces.

All forces are classified by one or more concerns. A stake-holder could for instance be concerned about developmentcost, while concrete forces classified by this concern couldbe “not to use paid 3rd-party licenses”, or to “use availablehardware where possible”. The force not to use 3rd-partylicenses could, besides the development cost concern, beclassified by a legal concern (e.g how the software can bedistributed).

Apart from a textual qualification, the influences relationshipbetween decision force and architecture decision can take oneof the following values, estimated by the architect(s) of thesystem:

++: A force strongly supports a specific decision alter-native to be chosen. An example from Figure 1 isthe operability force, which strongly advocates thechoice of Swing/Java, because Swing can be used todevelop rich graphical user interfaces.

+: A force moderately supports an alternative.blank: A force has a neutral influence on a decision alter-

native, or it is not applicable.-: A force moderately opposes an alternative.- -: A force strongly opposes an alternative to be chosen.

For instance, if the programming team has no experi-ence in functional programming, then this would bea strong argument against choosing Lisp or Haskellas a programming language.

X: A decision alternative is prevented by a force. Forinstance, a force could be not to use libraries dis-tributed under an open source license. Such a forcewould for instance prevent the use of Apache Luceneas a search library. Nevertheless, it can make senseto document such a decision alternative, because theforces view could be used to negotiate constraintsor requirements with the customer, if its advantagesclearly outweigh the opposing forces.

?: It is currently unclear how the decision alternative isimpacted by a force. This rating should be temporary,indicating that prototyping, or more research has tobe done to understand the impact better.

For space limitations, constraints and cross-viewpoint cor-respondence rules relevant to this viewpoint were omitted inthis article.

22Dienstag, 14. August 2012

Page 49: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Figure 3. Metamodel of decision forces viewpoint

related concerns, the stakeholders were identified in our pre-vious work.

Table ICONCERNS OF THE DECISION FORCES VIEWPOINT

Code ConcernC3 What is the rationale for decision D?C4 What concerns Ci does decision D pertain to?C5 What forces Fj impact/influence decision D?C6 What decisions Dk are influenced by force F ?C7 What forces Fl have conflicting influences on decision D?C23 What decisions Dp or decision sub-graphs SGq can be

reused in other projects?

Table IITYPICAL STAKEHOLDERS OF THE DECISION FORCES VIEWPOINT AND

THEIR CONCERNS

Stakeholder ConcernsArchitect C3, C4, C5, C6, C7Reviewer C3, C4, C5, C6, C7Requirements Engineer C4, C6, C7New project member C3Domain expert C23

The decision forces viewpoint consists of a single modelkind. Figure 3 depicts its metamodel, which presents theconceptual elements for architecture models that adhere toit. This model is part of a shared metamodel, which is usedby all viewpoints of the decision documentation framework.Together with well-defined correspondence rules, the sharedmetamodel ensures consistency among the views of differentviewpoints.

The elements in Figure 3 with a gray background mapto the corresponding elements in Figures 2 and 4 ofISO/IEC/IEEE 42010. In the following, each of the elementsused in Figure 3 is briefly described.

An architecture decision pertains to one or more concerns.Forces views show only the current state of each decision(e.g. decided, or discarded [3]). While decisions can generallyhave different types of relationships with each other, the forcesviewpoint only regards the is alternative for-relationship togroup multiple decision alternatives into a decision topic.

According to ISO/IEC/IEEE 42010, “Architecture rationalecaptures explanation, justification or reasoning about archi-tecture decisions that have been made.” [4]. In terms of theforces viewpoint, the architecture rationale should balance allrelevant forces that influence a decision. Note that architecturerationale is not described in forces views; it is documentedexplicitly in decision detail views, which are part of thedecision framework. In the forces viewpoint’s model kind,the association between Architecture Rationale and Influenceimplies that the rationale description should consider therelevant forces.

All forces are classified by one or more concerns. A stake-holder could for instance be concerned about developmentcost, while concrete forces classified by this concern couldbe “not to use paid 3rd-party licenses”, or to “use availablehardware where possible”. The force not to use 3rd-partylicenses could, besides the development cost concern, beclassified by a legal concern (e.g how the software can bedistributed).

Apart from a textual qualification, the influences relationshipbetween decision force and architecture decision can take oneof the following values, estimated by the architect(s) of thesystem:

++: A force strongly supports a specific decision alter-native to be chosen. An example from Figure 1 isthe operability force, which strongly advocates thechoice of Swing/Java, because Swing can be used todevelop rich graphical user interfaces.

+: A force moderately supports an alternative.blank: A force has a neutral influence on a decision alter-

native, or it is not applicable.-: A force moderately opposes an alternative.- -: A force strongly opposes an alternative to be chosen.

For instance, if the programming team has no experi-ence in functional programming, then this would bea strong argument against choosing Lisp or Haskellas a programming language.

X: A decision alternative is prevented by a force. Forinstance, a force could be not to use libraries dis-tributed under an open source license. Such a forcewould for instance prevent the use of Apache Luceneas a search library. Nevertheless, it can make senseto document such a decision alternative, because theforces view could be used to negotiate constraintsor requirements with the customer, if its advantagesclearly outweigh the opposing forces.

?: It is currently unclear how the decision alternative isimpacted by a force. This rating should be temporary,indicating that prototyping, or more research has tobe done to understand the impact better.

For space limitations, constraints and cross-viewpoint cor-respondence rules relevant to this viewpoint were omitted inthis article.

!"##$%

&'(#)%

!"#$

*'+')!,-.( &/& *!0 1#.$2'3)4! 5*6 78!9:

1;<#

=% %% % &' & & % %

=> % % %

=? %% % % %%

=@ %% % % % & % %

=A %% % & & % & (

=%B % ( % ( (

=%? % %% %%

=CB %% % %

=CD 1;EEF.-G'$-;.)+-')H.$#2.#$ %% %% % % % %

=C? /61H)IFJJ;2$ % ( % %

=CK % % % %% %%

0%

0%L% %%

0%LC %

0%LB

0%LD % %%

0%L> %

0C %%

0CL% % %%

0CLC && % %

0CLB && % %

0D % % % % %

0> %

0K %% & && && && % (

)*+,'-+./012134 !5-5'6-1753+ #*882+,57+

M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N

&;I$(2#!9:

'''''!+.*6*10'917.+6

:7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6

4#IG2-J$-;. 1;.G#2.OIP

Q+(L)2#IJ;.I#)$-E#)MR)SL%I T-E#)U#"'+-;2

H.$#(2'$#)EF3$L)J'8E#.$)J2;+-<#2I 5V$#.<'U-3-$8

=#3-'U-3-$8);W)<'$')I$;2'(# =#3-'U-3-$8

Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8

!FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-3-$8

!#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P !#GF2-$8

13-#.$)J3'$W;2E)-.<#J#.<#.G# &;2$'U-3-$8

YJ#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8

[#$,;2\)G;EEL

6'.\-.()J2;$;G;3I

[;)J'-<)B2<)J'2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I

?-/+7'<17.+6

H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E#

!,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E#

&/&)O<#G#.$P 4#+#3;JE#.$)$-E#

*&Q)O(;;<P 4#+#3;JE#.$)$-E#

78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E#

*!0)O+#28)(;;<P 4#+#3;JE#.$)$-E#

!$2'$#(-G)\.;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II

:#'2.)&;I$(2#I 1;EJ#$-$-+#.#II

HEJ2;+#)*'+'IG2-J$)I\-33I 1;EJ#$-$-+#.#II

:#'2.)*]F#28 1;EJ#$-$-+#.#II

:-.FV)I#2+#2)'+'-3'U3# 4#+#3;JE#.$)G;I$I

[;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8

=#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;.

23Dienstag, 14. August 2012

Page 50: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

•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

Validation of the forces viewpoint

24Dienstag, 14. August 2012

Page 51: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Research questions

RQ1: How does the forces viewpoint supportthe decision making process?

RQ2: Which decision-related concerns does the forces viewpoint support?

25Dienstag, 14. August 2012

Page 52: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

•work artifacts•weekly focus groups• participant observation• grounded theory for data analysis

Data collection and analysis

26Dienstag, 14. August 2012

Page 53: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

Table IVRESULT OF THE QUALITATIVE ANALYSIS

Code Category PrjA PrjB PrjC Concerns Res. Qu.Cat1 Required students to think more carefully about decisions. X X X RQ1Cat2 Triggered students to consider quality attribute requirements. X X X RQ1Cat3 Prevents ad-hoc decisions. X X X RQ1Cat4 Forces viewpoint will be used in other projects. X X X RQ1Cat5 Triggered students to identify more alternatives. X X RQ1Cat6 Good way to document decisions. X X RQ1Cat7 Creating the forces view took a lot of time. X RQ1Cat8 Prevents inefficient discussions about decisions. X RQ1Cat9 Created with reasonable effort. X RQ1Cat10 Saved time in the end. X RQ1Cat11 Support for rational decisions. X RQ1Cat12 Forces view complements relationship view. X RQ1Cat13 Useful for architects, designers, programmers, and new project members. X RQ1Cat14 Support for weighing forces is missing. X RQ1Cat15 Identifying all forces is a matter of experience. X RQ1Cat16 Forces view and relationship view are simultaneously refined. X RQ1Cat17 Proper tool support needed. X RQ1Cat18 Maintain overview over architectural decisions, concerns, and forces. X X X C4,C5,C6 RQ1,RQ2Cat19 Helpful to systematically compare decision alternatives in the context of

forces.X X X C5,C6 RQ1,RQ2

Cat20 Help for estimating requirements coverage. X X C6 RQ1,RQ2Cat21 Support for systematic trade-offs between forces. X C7 RQ1,RQ2Cat22 Supports sharing architecture rationale. X X X C3, C23 RQ2

more important than other forces causing them to select anarchitecture decision alternative that had a lower rating (i.e.sums of pluses and minuses) than the other alternatives. Al-though we had considered this aspect during the design of theforces viewpoint, we chose not to include it in the viewpointspecification to keep it simple. Systematically weighing forceswould have introduced additional complexity, which couldhave deterred students from using the view properly. However,the forces viewpoint can easily be customized by stakeholdersin order to introduce such weights in their projects. Apartfrom this, it became evident that identifying all relevant forcesis a matter of experience (Cat15). Therefore, especially fordomain-specific forces, it can be helpful to collect typicalforces from different projects that can be used as a checklistto ensure that no important forces are forgotten. Tool supportwould also be appreciated, especially to ensure consistencyand to save work when creating the forces view in addition toother views from the framework (Cat17).

RQ2: Which decision-related concerns does the forcesviewpoint support? To find out for which decision-relatedconcerns the students used the forces views, we analyzedthe concepts and categories and compared them to the listof concerns in Table I. The results are shown in Table IV(categories 18 to 22). Because the categories are conceptuallymore abstract than single concerns, sometimes multiple con-cerns are mapped to a single category. Note that the studentswere not knowledgable about the concerns we had assignedto the forces viewpoint in the specification. This would haveintroduced a threat to the validity of our findings.

The concepts classified under category Cat18 have shownthat all three groups used the forces views to maintain anoverview over architectural decisions, concerns, and forces.

The students described that one column in the forces view(see Figure 1) shows which concerns (Cat18, concern C4), andwhich forces (Cat18, concern C5) are related to a decision.They also understood that a row in the view shows decisionsinfluenced by a specific force (Cat18, concern C6). Thisinformation was actively used by the students to make thechoice between multiple alternatives more systematic (Cat19,concerns C5, C6).

All three groups saw value in the forces viewpoint withrespect to sharing architecture rationale (Cat22, concern C3).In particular, they mentioned that usually individual membersof the groups were more knowledgeable about specific ar-chitectural decision alternatives and their relation to forcesthan others. The forces views helped them to spread thisknowledge better among the group members. Using their ownwords, the student groups stated that studying the forces viewhelped everybody to understand the why behind architecturedecisions, including the decisions primarily made by others.Category Cat22 was also assigned to concern C23, becausethe students saw the potential of the forces views to facilitatethe reusability of decisions in other projects: by providing therationale in terms of decisions addressing specific forces, thedecisions can be reused in cases where similar rationale wouldmake sense.

Two groups used the forces views to estimate the coverageof some important requirements (Cat20). During the analysisof the work artifacts, we could see that all groups had usedrequirements as forces; only two of the groups, however,had also actively used the forces view to check in howfar the decisions made were suitable to actually satisfy therequirements. They understood that a row in the view showsall decisions that need to be regarded when estimating the

Results

27Dienstag, 14. August 2012

Page 54: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

+ 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

Results

28Dienstag, 14. August 2012

Page 55: Forces on architecture decisionsweb.mit.edu/richh/www/writings/slides/forces-wicsa-2012.pdfUwe van Heesch - uwe@vanheesch.net Decisions are driven by forces. Experience Reliability

Uwe van Heesch - [email protected]

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

29Dienstag, 14. August 2012