Forces on architecture
                          decisions


                                      Uwe van Heesch
                                      Paris Avgeriou
                                      Rich Hilliard
Dienstag, 14. August 2012                          1
Creating software architecture
            is making decisions




                                                     Architect
                                             Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                     2
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
Each decision implies a choice between 2 or more
     alternatives


                            ?


                                             Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                     3
These choices are driven by forces.




                                               Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                       4
These choices are driven by forces.




                               prefer
                               OSS




                                               Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                       4
These choices are driven by forces.




                                               Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                       4
Decisions are driven by forces.




                            Reliability




                                             Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                     5
Decisions are driven by forces.




                                             Reliability




                                           Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                   6
Decisions are driven by forces.




                            Experience
                                              Reliability




                                            Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                    6
Decisions are driven by forces.




                      Experience                    Reliability




                                                  Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                          7
Decisions are driven by forces.




                                   Strateg. development
                      Experience                            Reliability




                                                          Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                  7
Decisions are driven by forces.




                      Experience                     Reliability



                                                 Strateg. development




                                                   Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                           8
Decisions are driven by forces.




                                   Scalability
                      Experience                       Reliability



                                                   Strateg. development




                                                     Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                             8
Decisions are driven by forces.




                      Experience                     Reliability



                     Scalability                 Strateg. development




                                                   Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                           9
Decisions are driven by forces.




                                   prefer
                                   OSS               Reliability
                      Experience



                     Scalability                 Strateg. development




                                                   Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                           9
Decisions are driven by forces.




                      Experience                     Reliability



                     Scalability                 Strateg. development




                                                   Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                           9
Decisions are driven by forces.




                                   Resulting force
                      Experience                         Reliability



                     Scalability                     Strateg. development




                                                       Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                               9
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
Typical forces




                            Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                   11
Typical forces

                            requirements




                                           Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                  11
Typical forces

                            requirements   business goals




                                                  Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                         11
Typical forces

                            requirements             business goals




                                           constraints

                                                            Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                   11
Typical forces

                            requirements             business goals




                                                            regulations
                                           constraints

                                                            Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                   11
Typical forces

                            requirements               business goals


                                                laws




                                                              regulations
                                           constraints

                                                              Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                     11
Typical forces

                            requirements               business goals


                                                laws


                                           standards


                                                              regulations
                                           constraints

                                                              Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                     11
Typical forces

                            requirements               business goals


                                                laws
                                                                  principles

                                           standards


                                                              regulations
                                           constraints

                                                              Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                     11
Typical forces

                            requirements               business goals


                                                laws
          hw/sw interfaces
                                                                  principles

                                           standards


                                                              regulations
                                           constraints

                                                              Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                     11
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
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
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
How to model and document forces?




                                           Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                  13
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
Decision
                            Relationship
                             Viewpoint




                                           Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                  15
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                   16
Decision
                            Chronology
                             Viewpoint




                                         Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                17
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                   18
Decision
                            Chronology
                             Viewpoint




                                         Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                19
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
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
Example of a forces view

                                                                                                    )*+,'-+./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
                                                                                          *'+')!,-.(     &/&        *!0      1#.$2'3)4!     5*6     78!9:     &;I$(2#!9:
                         :7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6
                         1;<#             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               %%          %          %           %          &           %           %
                         =A !FJJ;2$)(2;,-.().;);W)FI#2I            !G'3'U-3-$8               %%          %          &           &          %           &          (
                         =%B !#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P   !#GF2-$8                   %                    (            %                      (          (
                         =%? 13-#.$)J3'$W;2E)-.<#J#.<#.G#          &;2$'U-3-$8                %         %%         %%
                         =CB YJ#2'U-3-$8);W)FI#2)-.$#2W'G#         ZI'U-3-$8                 %%          %          %
  '''''!+.*6*10'917.+6




                         =CD 1;EEF.-G'$-;.)+-')H.$#2.#$            [#$,;2)G;EEL                        %%         %%           %          %           %          %
                         =C? /61H)IFJJ;2$                          6'.-.()J2;$;G;3I          %         (           %                      %
                         =CK [;)J'-<)B2<)J'2$8)3-G#.G#I            4#+#3;JE#.$)G;I$I          %          %          %                                 %%          %%
                         ?-/+7'<17.+6
                         0% H.";FI#)#VJ#2-#.G#                     4#+#3;JE#.$)$-E#
                         0%L% !,-.()O+#28)(;;<P                    4#+#3;JE#.$)$-E#          %%
                         0%LC &/&)O<#G#.$P                         4#+#3;JE#.$)$-E#                      %
                         0%LB *&Q)O(;;<P                           4#+#3;JE#.$)$-E#
                         0%LD 78!9:)O+#28)(;;<P                    4#+#3;JE#.$)$-E#                                             %                     %%
                         0%L> *!0)O+#28)(;;<P                      4#+#3;JE#.$)$-E#                                 %
                         0C !$2'$#(-G).;,3#<(#)<#+#3;JE#.$        1;EJ#$-$-+#.#II                                                                                %%
                         0CL% :#'2.)&;I$(2#I                       1;EJ#$-$-+#.#II                                              %                                 %%
                         0CLC HEJ2;+#)*'+'IG2-J$)I-33I            1;EJ#$-$-+#.#II            &&         %          %
                         0CLB :#'2.)*]F#28                         1;EJ#$-$-+#.#II            &&         %          %
                         0D :-.FV)I#2+#2)'+'-3'U3#                 4#+#3;JE#.$)G;I$I                     %          %           %          %                      %
                         0> [;.)UFI-.#II)G2-$-G'3-$8               6FI-.#II)G2-$-G'3-$8                                                                           %
                         0K =#I;F2G#)FI'(#);.)I#2+#2               =#I;F2G#)F$-3-^'$-;.      %%          &          &&          &&         &&          %          (




                                                                                                                                      Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                                                                                              21
)*+,'-+./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
                                                                                          *'+')!,-.(     &/&        *!0      1#.$2'3)4!     5*6     78!9:     &;I$(2#!9:
                         :7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6
                         1;<#             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               %%          %          %           %          &           %           %
                         =A !FJJ;2$)(2;,-.().;);W)FI#2I            !G'3'U-3-$8               %%          %          &           &          %           &          (
                         =%B !#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P   !#GF2-$8                   %                    (            %                      (          (
                         =%? 13-#.$)J3'$W;2E)-.<#J#.<#.G#          &;2$'U-3-$8                %         %%         %%
                         =CB YJ#2'U-3-$8);W)FI#2)-.$#2W'G#         ZI'U-3-$8                 %%          %          %
  '''''!+.*6*10'917.+6




                         =CD 1;EEF.-G'$-;.)+-')H.$#2.#$            [#$,;2)G;EEL                        %%         %%           %          %           %          %
                         =C? /61H)IFJJ;2$                          6'.-.()J2;$;G;3I          %         (           %                      %
                         =CK [;)J'-<)B2<)J'2$8)3-G#.G#I            4#+#3;JE#.$)G;I$I          %          %          %                                 %%          %%
                         ?-/+7'<17.+6
                         0% H.";FI#)#VJ#2-#.G#                     4#+#3;JE#.$)$-E#
                         0%L% !,-.()O+#28)(;;<P                    4#+#3;JE#.$)$-E#          %%
                         0%LC &/&)O<#G#.$P                         4#+#3;JE#.$)$-E#                      %
                         0%LB *&Q)O(;;<P                           4#+#3;JE#.$)$-E#
                         0%LD 78!9:)O+#28)(;;<P                    4#+#3;JE#.$)$-E#                                             %                     %%
                         0%L> *!0)O+#28)(;;<P                      4#+#3;JE#.$)$-E#                                 %
                         0C !$2'$#(-G).;,3#<(#)<#+#3;JE#.$        1;EJ#$-$-+#.#II                                                                                %%
                         0CL% :#'2.)&;I$(2#I                       1;EJ#$-$-+#.#II                                              %                                 %%
                         0CLC HEJ2;+#)*'+'IG2-J$)I-33I            1;EJ#$-$-+#.#II            &&         %          %
                         0CLB :#'2.)*]F#28                         1;EJ#$-$-+#.#II            &&         %          %
                         0D :-.FV)I#2+#2)'+'-3'U3#                 4#+#3;JE#.$)G;I$I                     %          %           %          %                      %
                         0> [;.)UFI-.#II)G2-$-G'3-$8               6FI-.#II)G2-$-G'3-$8                                                                           %
                         0K =#I;F2G#)FI'(#);.)I#2+#2               =#I;F2G#)F$-3-^'$-;.      %%          &          &&          &&         &&          %          (




                                                                                                                                      Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                                                                                              21
decision topic
                                                                                                    )*+,'-+./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
                                                                                          *'+')!,-.(     &/&        *!0      1#.$2'3)4!     5*6     78!9:     &;I$(2#!9:
                         :7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6
                         1;<#             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               %%          %          %           %          &           %           %
                         =A !FJJ;2$)(2;,-.().;);W)FI#2I            !G'3'U-3-$8               %%          %          &           &          %           &          (
                         =%B !#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P   !#GF2-$8                   %                    (            %                      (          (
                         =%? 13-#.$)J3'$W;2E)-.<#J#.<#.G#          &;2$'U-3-$8                %         %%         %%
                         =CB YJ#2'U-3-$8);W)FI#2)-.$#2W'G#         ZI'U-3-$8                 %%          %          %
  '''''!+.*6*10'917.+6




                         =CD 1;EEF.-G'$-;.)+-')H.$#2.#$            [#$,;2)G;EEL                        %%         %%           %          %           %          %
                         =C? /61H)IFJJ;2$                          6'.-.()J2;$;G;3I          %         (           %                      %
                         =CK [;)J'-<)B2<)J'2$8)3-G#.G#I            4#+#3;JE#.$)G;I$I          %          %          %                                 %%          %%
                         ?-/+7'<17.+6
                         0% H.";FI#)#VJ#2-#.G#                     4#+#3;JE#.$)$-E#
                         0%L% !,-.()O+#28)(;;<P                    4#+#3;JE#.$)$-E#          %%
                         0%LC &/&)O<#G#.$P                         4#+#3;JE#.$)$-E#                      %
                         0%LB *&Q)O(;;<P                           4#+#3;JE#.$)$-E#
                         0%LD 78!9:)O+#28)(;;<P                    4#+#3;JE#.$)$-E#                                             %                     %%
                         0%L> *!0)O+#28)(;;<P                      4#+#3;JE#.$)$-E#                                 %
                         0C !$2'$#(-G).;,3#<(#)<#+#3;JE#.$        1;EJ#$-$-+#.#II                                                                                %%
                         0CL% :#'2.)&;I$(2#I                       1;EJ#$-$-+#.#II                                              %                                 %%
                         0CLC HEJ2;+#)*'+'IG2-J$)I-33I            1;EJ#$-$-+#.#II            &&         %          %
                         0CLB :#'2.)*]F#28                         1;EJ#$-$-+#.#II            &&         %          %
                         0D :-.FV)I#2+#2)'+'-3'U3#                 4#+#3;JE#.$)G;I$I                     %          %           %          %                      %
                         0> [;.)UFI-.#II)G2-$-G'3-$8               6FI-.#II)G2-$-G'3-$8                                                                           %
                         0K =#I;F2G#)FI'(#);.)I#2+#2               =#I;F2G#)F$-3-^'$-;.      %%          &          &&          &&         &&          %          (




                                                                                                                                      Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                                                                                              21
decision topic                            decision
                                                                                                    )*+,'-+./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
                                                                                          *'+')!,-.(     &/&        *!0      1#.$2'3)4!     5*6     78!9:     &;I$(2#!9:
                         :7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6
                         1;<#             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               %%          %          %           %          &           %           %
                         =A !FJJ;2$)(2;,-.().;);W)FI#2I            !G'3'U-3-$8               %%          %          &           &          %           &          (
                         =%B !#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P   !#GF2-$8                   %                    (            %                      (          (
                         =%? 13-#.$)J3'$W;2E)-.<#J#.<#.G#          &;2$'U-3-$8                %         %%         %%
                         =CB YJ#2'U-3-$8);W)FI#2)-.$#2W'G#         ZI'U-3-$8                 %%          %          %
  '''''!+.*6*10'917.+6




                         =CD 1;EEF.-G'$-;.)+-')H.$#2.#$            [#$,;2)G;EEL                        %%         %%           %          %           %          %
                         =C? /61H)IFJJ;2$                          6'.-.()J2;$;G;3I          %         (           %                      %
                         =CK [;)J'-<)B2<)J'2$8)3-G#.G#I            4#+#3;JE#.$)G;I$I          %          %          %                                 %%          %%
                         ?-/+7'<17.+6
                         0% H.";FI#)#VJ#2-#.G#                     4#+#3;JE#.$)$-E#
                         0%L% !,-.()O+#28)(;;<P                    4#+#3;JE#.$)$-E#          %%
                         0%LC &/&)O<#G#.$P                         4#+#3;JE#.$)$-E#                      %
                         0%LB *&Q)O(;;<P                           4#+#3;JE#.$)$-E#
                         0%LD 78!9:)O+#28)(;;<P                    4#+#3;JE#.$)$-E#                                             %                     %%
                         0%L> *!0)O+#28)(;;<P                      4#+#3;JE#.$)$-E#                                 %
                         0C !$2'$#(-G).;,3#<(#)<#+#3;JE#.$        1;EJ#$-$-+#.#II                                                                                %%
                         0CL% :#'2.)&;I$(2#I                       1;EJ#$-$-+#.#II                                              %                                 %%
                         0CLC HEJ2;+#)*'+'IG2-J$)I-33I            1;EJ#$-$-+#.#II            &&         %          %
                         0CLB :#'2.)*]F#28                         1;EJ#$-$-+#.#II            &&         %          %
                         0D :-.FV)I#2+#2)'+'-3'U3#                 4#+#3;JE#.$)G;I$I                     %          %           %          %                      %
                         0> [;.)UFI-.#II)G2-$-G'3-$8               6FI-.#II)G2-$-G'3-$8                                                                           %
                         0K =#I;F2G#)FI'(#);.)I#2+#2               =#I;F2G#)F$-3-^'$-;.      %%          &          &&          &&         &&          %          (




                                                                                                                                      Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                                                                                              21
decision state
                                                                      decision topic                            decision
                                                                                                    )*+,'-+./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
                                                                                          *'+')!,-.(     &/&        *!0      1#.$2'3)4!     5*6     78!9:     &;I$(2#!9:
                         :7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6
                         1;<#             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               %%          %          %           %          &           %           %
                         =A !FJJ;2$)(2;,-.().;);W)FI#2I            !G'3'U-3-$8               %%          %          &           &          %           &          (
                         =%B !#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P   !#GF2-$8                   %                    (            %                      (          (
                         =%? 13-#.$)J3'$W;2E)-.<#J#.<#.G#          &;2$'U-3-$8                %         %%         %%
                         =CB YJ#2'U-3-$8);W)FI#2)-.$#2W'G#         ZI'U-3-$8                 %%          %          %
  '''''!+.*6*10'917.+6




                         =CD 1;EEF.-G'$-;.)+-')H.$#2.#$            [#$,;2)G;EEL                        %%         %%           %          %           %          %
                         =C? /61H)IFJJ;2$                          6'.-.()J2;$;G;3I          %         (           %                      %
                         =CK [;)J'-<)B2<)J'2$8)3-G#.G#I            4#+#3;JE#.$)G;I$I          %          %          %                                 %%          %%
                         ?-/+7'<17.+6
                         0% H.";FI#)#VJ#2-#.G#                     4#+#3;JE#.$)$-E#
                         0%L% !,-.()O+#28)(;;<P                    4#+#3;JE#.$)$-E#          %%
                         0%LC &/&)O<#G#.$P                         4#+#3;JE#.$)$-E#                      %
                         0%LB *&Q)O(;;<P                           4#+#3;JE#.$)$-E#
                         0%LD 78!9:)O+#28)(;;<P                    4#+#3;JE#.$)$-E#                                             %                     %%
                         0%L> *!0)O+#28)(;;<P                      4#+#3;JE#.$)$-E#                                 %
                         0C !$2'$#(-G).;,3#<(#)<#+#3;JE#.$        1;EJ#$-$-+#.#II                                                                                %%
                         0CL% :#'2.)&;I$(2#I                       1;EJ#$-$-+#.#II                                              %                                 %%
                         0CLC HEJ2;+#)*'+'IG2-J$)I-33I            1;EJ#$-$-+#.#II            &&         %          %
                         0CLB :#'2.)*]F#28                         1;EJ#$-$-+#.#II            &&         %          %
                         0D :-.FV)I#2+#2)'+'-3'U3#                 4#+#3;JE#.$)G;I$I                     %          %           %          %                      %
                         0> [;.)UFI-.#II)G2-$-G'3-$8               6FI-.#II)G2-$-G'3-$8                                                                           %
                         0K =#I;F2G#)FI'(#);.)I#2+#2               =#I;F2G#)F$-3-^'$-;.      %%          &          &&          &&         &&          %          (




                                                                                                                                      Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                                                                                              21
decision state
                                                                      decision topic                            decision
                                             forces                                                 )*+,'-+./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
                                                                                          *'+')!,-.(     &/&        *!0      1#.$2'3)4!     5*6     78!9:     &;I$(2#!9:
                         :7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6
                         1;<#             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               %%          %          %           %          &           %           %
                         =A !FJJ;2$)(2;,-.().;);W)FI#2I            !G'3'U-3-$8               %%          %          &           &          %           &          (
                         =%B !#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P   !#GF2-$8                   %                    (            %                      (          (
                         =%? 13-#.$)J3'$W;2E)-.<#J#.<#.G#          &;2$'U-3-$8                %         %%         %%
                         =CB YJ#2'U-3-$8);W)FI#2)-.$#2W'G#         ZI'U-3-$8                 %%          %          %
  '''''!+.*6*10'917.+6




                         =CD 1;EEF.-G'$-;.)+-')H.$#2.#$            [#$,;2)G;EEL                        %%         %%           %          %           %          %
                         =C? /61H)IFJJ;2$                          6'.-.()J2;$;G;3I          %         (           %                      %
                         =CK [;)J'-<)B2<)J'2$8)3-G#.G#I            4#+#3;JE#.$)G;I$I          %          %          %                                 %%          %%
                         ?-/+7'<17.+6
                         0% H.";FI#)#VJ#2-#.G#                     4#+#3;JE#.$)$-E#
                         0%L% !,-.()O+#28)(;;<P                    4#+#3;JE#.$)$-E#          %%
                         0%LC &/&)O<#G#.$P                         4#+#3;JE#.$)$-E#                      %
                         0%LB *&Q)O(;;<P                           4#+#3;JE#.$)$-E#
                         0%LD 78!9:)O+#28)(;;<P                    4#+#3;JE#.$)$-E#                                             %                     %%
                         0%L> *!0)O+#28)(;;<P                      4#+#3;JE#.$)$-E#                                 %
                         0C !$2'$#(-G).;,3#<(#)<#+#3;JE#.$        1;EJ#$-$-+#.#II                                                                                %%
                         0CL% :#'2.)&;I$(2#I                       1;EJ#$-$-+#.#II                                              %                                 %%
                         0CLC HEJ2;+#)*'+'IG2-J$)I-33I            1;EJ#$-$-+#.#II            &&         %          %
                         0CLB :#'2.)*]F#28                         1;EJ#$-$-+#.#II            &&         %          %
                         0D :-.FV)I#2+#2)'+'-3'U3#                 4#+#3;JE#.$)G;I$I                     %          %           %          %                      %
                         0> [;.)UFI-.#II)G2-$-G'3-$8               6FI-.#II)G2-$-G'3-$8                                                                           %
                         0K =#I;F2G#)FI'(#);.)I#2+#2               =#I;F2G#)F$-3-^'$-;.      %%          &          &&          &&         &&          %          (




                                                                                                                                      Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                                                                                              21
decision state
                                                                      decision topic                            decision
                                             forces                                                 )*+,'-+./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
                                                                                          *'+')!,-.(     &/&        *!0      1#.$2'3)4!     5*6     78!9:     &;I$(2#!9:
                         :7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6
                         1;<#             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               %%          %          %           %          &           %           %
                         =A !FJJ;2$)(2;,-.().;);W)FI#2I            !G'3'U-3-$8               %%          %          &           &          %           &          (
                         =%B !#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P   !#GF2-$8                   %                    (            %                      (          (
                         =%? 13-#.$)J3'$W;2E)-.<#J#.<#.G#          &;2$'U-3-$8                %         %%         %%
                         =CB YJ#2'U-3-$8);W)FI#2)-.$#2W'G#         ZI'U-3-$8                 %%          %          %
  '''''!+.*6*10'917.+6




                         =CD 1;EEF.-G'$-;.)+-')H.$#2.#$            [#$,;2)G;EEL                        %%         %%           %          %           %          %
                         =C? /61H)IFJJ;2$                          6'.-.()J2;$;G;3I          %         (           %                      %
                         =CK [;)J'-<)B2<)J'2$8)3-G#.G#I            4#+#3;JE#.$)G;I$I          %          %          %                                 %%          %%
                         ?-/+7'<17.+6
                         0% H.";FI#)#VJ#2-#.G#                     4#+#3;JE#.$)$-E#
                         0%L% !,-.()O+#28)(;;<P                    4#+#3;JE#.$)$-E#          %%
                         0%LC &/&)O<#G#.$P                         4#+#3;JE#.$)$-E#                      %
                         0%LB *&Q)O(;;<P                           4#+#3;JE#.$)$-E#
                         0%LD 78!9:)O+#28)(;;<P                    4#+#3;JE#.$)$-E#                                             %                     %%
                         0%L> *!0)O+#28)(;;<P                      4#+#3;JE#.$)$-E#                                 %
                         0C !$2'$#(-G).;,3#<(#)<#+#3;JE#.$        1;EJ#$-$-+#.#II                                                                                %%
                         0CL% :#'2.)&;I$(2#I                       1;EJ#$-$-+#.#II                                              %                                 %%
                         0CLC HEJ2;+#)*'+'IG2-J$)I-33I            1;EJ#$-$-+#.#II            &&         %          %
                         0CLB :#'2.)*]F#28                         1;EJ#$-$-+#.#II            &&         %          %
                         0D :-.FV)I#2+#2)'+'-3'U3#                 4#+#3;JE#.$)G;I$I                     %          %           %          %                      %
                         0> [;.)UFI-.#II)G2-$-G'3-$8               6FI-.#II)G2-$-G'3-$8                                                                           %
                         0K =#I;F2G#)FI'(#);.)I#2+#2               =#I;F2G#)F$-3-^'$-;.      %%          &          &&          &&         &&          %          (



                                                                                                                                     impact rating

                                                                                                                                      Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                                                                                              21
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
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
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
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
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
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
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
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
Thank you for your
                                attention
                                     uwe@vanheesch.net
                                    paris@cs.rug.nl
                                r.hilliard@computer.org




Dienstag, 14. August 2012                                 30

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 impliesa choice between 2 or more alternatives ? Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 3
  • 5.
    These choices aredriven by forces. Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 4
  • 6.
    These choices aredriven by forces. prefer OSS Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 4
  • 7.
    These choices aredriven by forces. Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 4
  • 8.
    Decisions are drivenby forces. Reliability Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 5
  • 9.
    Decisions are drivenby forces. Reliability Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 6
  • 10.
    Decisions are drivenby forces. Experience Reliability Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 6
  • 11.
    Decisions are drivenby forces. Experience Reliability Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 7
  • 12.
    Decisions are drivenby forces. Strateg. development Experience Reliability Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 7
  • 13.
    Decisions are drivenby forces. Experience Reliability Strateg. development Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 8
  • 14.
    Decisions are drivenby forces. Scalability Experience Reliability Strateg. development Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 8
  • 15.
    Decisions are drivenby forces. Experience Reliability Scalability Strateg. development Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 9
  • 16.
    Decisions are drivenby forces. prefer OSS Reliability Experience Scalability Strateg. development Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 9
  • 17.
    Decisions are drivenby forces. Experience Reliability Scalability Strateg. development Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 9
  • 18.
    Decisions are drivenby forces. Resulting force Experience Reliability Scalability Strateg. development Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 9
  • 19.
    A force isany 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 modeland document forces? Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 13
  • 33.
    A framework forarchitecture 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 forarchitecture 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 forarchitecture 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
  • 41.
    Example of aforces view )*+,'-+./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 *'+')!,-.( &/& *!0 1#.$2'3)4! 5*6 78!9: &;I$(2#!9: :7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6 1;<# 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 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-3-$8 %% % & & % & ( =%B !#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P !#GF2-$8 % ( % ( ( =%? 13-#.$)J3'$W;2E)-.<#J#.<#.G# &;2$'U-3-$8 % %% %% =CB YJ#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8 %% % % '''''!+.*6*10'917.+6 =CD 1;EEF.-G'$-;.)+-')H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6'.-.()J2;$;G;3I % ( % % =CK [;)J'-<)B2<)J'2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I % % % %% %% ?-/+7'<17.+6 0% H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E# 0%L% !,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E# %% 0%LC &/&)O<#G#.$P 4#+#3;JE#.$)$-E# % 0%LB *&Q)O(;;<P 4#+#3;JE#.$)$-E# 0%LD 78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E# % %% 0%L> *!0)O+#28)(;;<P 4#+#3;JE#.$)$-E# % 0C !$2'$#(-G).;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II %% 0CL% :#'2.)&;I$(2#I 1;EJ#$-$-+#.#II % %% 0CLC HEJ2;+#)*'+'IG2-J$)I-33I 1;EJ#$-$-+#.#II && % % 0CLB :#'2.)*]F#28 1;EJ#$-$-+#.#II && % % 0D :-.FV)I#2+#2)'+'-3'U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8 % 0K =#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;. %% & && && && % ( Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 21
  • 42.
    )*+,'-+./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 *'+')!,-.( &/& *!0 1#.$2'3)4! 5*6 78!9: &;I$(2#!9: :7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6 1;<# 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 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-3-$8 %% % & & % & ( =%B !#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P !#GF2-$8 % ( % ( ( =%? 13-#.$)J3'$W;2E)-.<#J#.<#.G# &;2$'U-3-$8 % %% %% =CB YJ#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8 %% % % '''''!+.*6*10'917.+6 =CD 1;EEF.-G'$-;.)+-')H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6'.-.()J2;$;G;3I % ( % % =CK [;)J'-<)B2<)J'2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I % % % %% %% ?-/+7'<17.+6 0% H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E# 0%L% !,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E# %% 0%LC &/&)O<#G#.$P 4#+#3;JE#.$)$-E# % 0%LB *&Q)O(;;<P 4#+#3;JE#.$)$-E# 0%LD 78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E# % %% 0%L> *!0)O+#28)(;;<P 4#+#3;JE#.$)$-E# % 0C !$2'$#(-G).;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II %% 0CL% :#'2.)&;I$(2#I 1;EJ#$-$-+#.#II % %% 0CLC HEJ2;+#)*'+'IG2-J$)I-33I 1;EJ#$-$-+#.#II && % % 0CLB :#'2.)*]F#28 1;EJ#$-$-+#.#II && % % 0D :-.FV)I#2+#2)'+'-3'U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8 % 0K =#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;. %% & && && && % ( Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 21
  • 43.
    decision topic )*+,'-+./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 *'+')!,-.( &/& *!0 1#.$2'3)4! 5*6 78!9: &;I$(2#!9: :7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6 1;<# 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 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-3-$8 %% % & & % & ( =%B !#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P !#GF2-$8 % ( % ( ( =%? 13-#.$)J3'$W;2E)-.<#J#.<#.G# &;2$'U-3-$8 % %% %% =CB YJ#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8 %% % % '''''!+.*6*10'917.+6 =CD 1;EEF.-G'$-;.)+-')H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6'.-.()J2;$;G;3I % ( % % =CK [;)J'-<)B2<)J'2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I % % % %% %% ?-/+7'<17.+6 0% H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E# 0%L% !,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E# %% 0%LC &/&)O<#G#.$P 4#+#3;JE#.$)$-E# % 0%LB *&Q)O(;;<P 4#+#3;JE#.$)$-E# 0%LD 78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E# % %% 0%L> *!0)O+#28)(;;<P 4#+#3;JE#.$)$-E# % 0C !$2'$#(-G).;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II %% 0CL% :#'2.)&;I$(2#I 1;EJ#$-$-+#.#II % %% 0CLC HEJ2;+#)*'+'IG2-J$)I-33I 1;EJ#$-$-+#.#II && % % 0CLB :#'2.)*]F#28 1;EJ#$-$-+#.#II && % % 0D :-.FV)I#2+#2)'+'-3'U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8 % 0K =#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;. %% & && && && % ( Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 21
  • 44.
    decision topic decision )*+,'-+./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 *'+')!,-.( &/& *!0 1#.$2'3)4! 5*6 78!9: &;I$(2#!9: :7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6 1;<# 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 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-3-$8 %% % & & % & ( =%B !#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P !#GF2-$8 % ( % ( ( =%? 13-#.$)J3'$W;2E)-.<#J#.<#.G# &;2$'U-3-$8 % %% %% =CB YJ#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8 %% % % '''''!+.*6*10'917.+6 =CD 1;EEF.-G'$-;.)+-')H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6'.-.()J2;$;G;3I % ( % % =CK [;)J'-<)B2<)J'2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I % % % %% %% ?-/+7'<17.+6 0% H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E# 0%L% !,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E# %% 0%LC &/&)O<#G#.$P 4#+#3;JE#.$)$-E# % 0%LB *&Q)O(;;<P 4#+#3;JE#.$)$-E# 0%LD 78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E# % %% 0%L> *!0)O+#28)(;;<P 4#+#3;JE#.$)$-E# % 0C !$2'$#(-G).;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II %% 0CL% :#'2.)&;I$(2#I 1;EJ#$-$-+#.#II % %% 0CLC HEJ2;+#)*'+'IG2-J$)I-33I 1;EJ#$-$-+#.#II && % % 0CLB :#'2.)*]F#28 1;EJ#$-$-+#.#II && % % 0D :-.FV)I#2+#2)'+'-3'U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8 % 0K =#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;. %% & && && && % ( Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 21
  • 45.
    decision state decision topic decision )*+,'-+./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 *'+')!,-.( &/& *!0 1#.$2'3)4! 5*6 78!9: &;I$(2#!9: :7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6 1;<# 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 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-3-$8 %% % & & % & ( =%B !#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P !#GF2-$8 % ( % ( ( =%? 13-#.$)J3'$W;2E)-.<#J#.<#.G# &;2$'U-3-$8 % %% %% =CB YJ#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8 %% % % '''''!+.*6*10'917.+6 =CD 1;EEF.-G'$-;.)+-')H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6'.-.()J2;$;G;3I % ( % % =CK [;)J'-<)B2<)J'2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I % % % %% %% ?-/+7'<17.+6 0% H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E# 0%L% !,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E# %% 0%LC &/&)O<#G#.$P 4#+#3;JE#.$)$-E# % 0%LB *&Q)O(;;<P 4#+#3;JE#.$)$-E# 0%LD 78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E# % %% 0%L> *!0)O+#28)(;;<P 4#+#3;JE#.$)$-E# % 0C !$2'$#(-G).;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II %% 0CL% :#'2.)&;I$(2#I 1;EJ#$-$-+#.#II % %% 0CLC HEJ2;+#)*'+'IG2-J$)I-33I 1;EJ#$-$-+#.#II && % % 0CLB :#'2.)*]F#28 1;EJ#$-$-+#.#II && % % 0D :-.FV)I#2+#2)'+'-3'U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8 % 0K =#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;. %% & && && && % ( Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 21
  • 46.
    decision state decision topic decision forces )*+,'-+./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 *'+')!,-.( &/& *!0 1#.$2'3)4! 5*6 78!9: &;I$(2#!9: :7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6 1;<# 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 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-3-$8 %% % & & % & ( =%B !#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P !#GF2-$8 % ( % ( ( =%? 13-#.$)J3'$W;2E)-.<#J#.<#.G# &;2$'U-3-$8 % %% %% =CB YJ#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8 %% % % '''''!+.*6*10'917.+6 =CD 1;EEF.-G'$-;.)+-')H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6'.-.()J2;$;G;3I % ( % % =CK [;)J'-<)B2<)J'2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I % % % %% %% ?-/+7'<17.+6 0% H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E# 0%L% !,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E# %% 0%LC &/&)O<#G#.$P 4#+#3;JE#.$)$-E# % 0%LB *&Q)O(;;<P 4#+#3;JE#.$)$-E# 0%LD 78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E# % %% 0%L> *!0)O+#28)(;;<P 4#+#3;JE#.$)$-E# % 0C !$2'$#(-G).;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II %% 0CL% :#'2.)&;I$(2#I 1;EJ#$-$-+#.#II % %% 0CLC HEJ2;+#)*'+'IG2-J$)I-33I 1;EJ#$-$-+#.#II && % % 0CLB :#'2.)*]F#28 1;EJ#$-$-+#.#II && % % 0D :-.FV)I#2+#2)'+'-3'U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8 % 0K =#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;. %% & && && && % ( Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 21
  • 47.
    decision state decision topic decision forces )*+,'-+./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 *'+')!,-.( &/& *!0 1#.$2'3)4! 5*6 78!9: &;I$(2#!9: :7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6 1;<# 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 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-3-$8 %% % & & % & ( =%B !#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P !#GF2-$8 % ( % ( ( =%? 13-#.$)J3'$W;2E)-.<#J#.<#.G# &;2$'U-3-$8 % %% %% =CB YJ#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8 %% % % '''''!+.*6*10'917.+6 =CD 1;EEF.-G'$-;.)+-')H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6'.-.()J2;$;G;3I % ( % % =CK [;)J'-<)B2<)J'2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I % % % %% %% ?-/+7'<17.+6 0% H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E# 0%L% !,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E# %% 0%LC &/&)O<#G#.$P 4#+#3;JE#.$)$-E# % 0%LB *&Q)O(;;<P 4#+#3;JE#.$)$-E# 0%LD 78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E# % %% 0%L> *!0)O+#28)(;;<P 4#+#3;JE#.$)$-E# % 0C !$2'$#(-G).;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II %% 0CL% :#'2.)&;I$(2#I 1;EJ#$-$-+#.#II % %% 0CLC HEJ2;+#)*'+'IG2-J$)I-33I 1;EJ#$-$-+#.#II && % % 0CLB :#'2.)*]F#28 1;EJ#$-$-+#.#II && % % 0D :-.FV)I#2+#2)'+'-3'U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8 % 0K =#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;. %% & && && && % ( impact rating Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 21
  • 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 OFTHE 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 theforces 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 andanalysis • 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 foryour attention uwe@vanheesch.net paris@cs.rug.nl r.hilliard@computer.org Dienstag, 14. August 2012 30