university of groningen understanding and supporting ... · architectural decisions in practice and...

23
University of Groningen Understanding and Supporting Software Architectural Decisions Tofan, Dan IMPORTANT NOTE: You are advised to consult the publisher's version (publisher's PDF) if you wish to cite from it. Please check the document version below. Document Version Publisher's PDF, also known as Version of record Publication date: 2015 Link to publication in University of Groningen/UMCG research database Citation for published version (APA): Tofan, D. (2015). Understanding and Supporting Software Architectural Decisions: for Reducing Architectural Knowledge Vaporization. [Groningen]: University of Groningen. Copyright Other than for strictly personal use, it is not permitted to download or to forward/distribute the text or part of it without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license (like Creative Commons). Take-down policy If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim. Downloaded from the University of Groningen/UMCG research database (Pure): http://www.rug.nl/research/portal. For technical reasons the number of authors shown on this cover page is limited to 10 maximum. Download date: 23-04-2020

Upload: others

Post on 20-Apr-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

University of Groningen

Understanding and Supporting Software Architectural DecisionsTofan, Dan

IMPORTANT NOTE: You are advised to consult the publisher's version (publisher's PDF) if you wish to cite fromit. Please check the document version below.

Document VersionPublisher's PDF, also known as Version of record

Publication date:2015

Link to publication in University of Groningen/UMCG research database

Citation for published version (APA):Tofan, D. (2015). Understanding and Supporting Software Architectural Decisions: for ReducingArchitectural Knowledge Vaporization. [Groningen]: University of Groningen.

CopyrightOther than for strictly personal use, it is not permitted to download or to forward/distribute the text or part of it without the consent of theauthor(s) and/or copyright holder(s), unless the work is under an open content license (like Creative Commons).

Take-down policyIf you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediatelyand investigate your claim.

Downloaded from the University of Groningen/UMCG research database (Pure): http://www.rug.nl/research/portal. For technical reasons thenumber of authors shown on this cover page is limited to 10 maximum.

Download date: 23-04-2020

Page 2: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

Chapter 3

Architectural Decisions in Practice

Based on: Tofan, D., Galster, M., and Avgeriou, P., Difficulty of Architectural

Decisions – a Survey with Professional Architects. In Proceedings of the 7th

European Conference on Software Architecture . 2013.

In this chapter, we investigate characteristics of architectural decisions, as

well as factors that contribute to the difficulty of decisions. We compared

characteristics of decisions and difficulty factors for junior and senior

architects. Furthermore, we studied if decisions with good outcomes (as

perceived by the architects) have different characteristics and different

difficulty factors than decisions with bad outcomes (i.e. bad outcomes, as

perceived by the architects). We performed a survey with 43 architects who

described 43 good and 43 bad decisions from their industrial practice .

Characteristics of decisions include the time taken to make a decision and the

number of decision makers. Also, we learnt that dependencies between

decisions and the effort required to analyze decisions are major factors that

contribute to the difficulty of architectural decisions. We found that good

decisions tend to consider more alternatives than bad decisions.

Page 3: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

34 3. Architectural Decisions in Practice

3.1 Introduction

Increased understanding of architectural decisions in practice enables

researchers to propose approaches that help practitioners improve architectural

decision making and therefore reduce overall architectural knowledge

vaporization. Although there is much interest in the community on

architectural decisions, little work has been done towards a deeper

understanding of architectural decisions in practice. This chapter offers a step

in this direction, by focusing on understanding two aspects: characteristics of

architectural decisions in practice and factors that contribute to the difficulty of

making decisions. As presented in Chapter 1, architectural decisions are

particularly difficult decisions.

Using GQM (Basili and Caldiera, 1994), the goal of this study is to analyze

architectural decisions, for the purpose of understanding architectural

decisions in practice, from the perspective of software architects, in the context

of real-world projects.

We refine this goal into four research questions.

RQ1. What are the characteristics of architectural decisions?

By defining measurable characteristics of architectural decisions, we can

perform comparisons between decisions. Based on literature (Kruchten, 2008),

our experience and discussions with practitioners, we define the following

basic characteristics of decisions as metrics for RQ1.

1. Actual (i.e. while making the decision) and elapsed (i.e. actual plus

various interruptions) time spent making a decision. For example, an

architect spent five hours (actual time) over three days (elapsed time)

to make a decision.

2. Number of people directly (i.e. decision makers) and indirectly (i.e.

influenced the decision, but did not make the decision) involved in

decision making.

3. Number of alternatives considered in the beginning and later over an

extended period of time during the decision making process.

4. Number of quality attributes considered for a decision.

Page 4: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

3.2. Related Work 35

Since the difficulty of a decision is a major aspect of decision quality (Yates et

al., 2003), we propose RQ2. Answering RQ2 will help researchers and

architects understand the factors that increase difficulty of decisions.

RQ2. What factors make architectural decisions difficult?

To answer RQ2, we defined a list of factors using literature and discussions

with experts (Section 3.3.1). The resulting metrics were 22 factors (Table 3.4).

These were used as input for our survey and survey participants rated them on

a Likert scale.

The level of experience of architects influences their decision making (van

Heesch and Avgeriou, 2010; van Heesch and Avgeriou, 2011). We propose

RQ3 to investigate how difficulty and characteristics of decisions vary with the

level of experience. This helps researchers propose targeted solutions to

address the difficulties perceived by either junior architects or experienced

architects.

RQ3. What are the differences (on difficulty and characteristics of decisions)

between junior and senior software architects?

Besides difficulty, decision outcome is the other major aspect of decision

quality (Yates et al., 2003). We investigate the differences between decisions

with a more preferable outcome (i.e. good decisions) and decisions with a less

preferable outcome (i.e. bad decisions). Answering RQ4 highlights

characteristics and difficulty factors linked to good and bad outcome of

architectural decisions.

RQ4. What are the differences between good and bad architectural decisions?

To answer the research questions, we conducted a survey with software

architects in industry. Section 3.2 presents related work. Section 3.3 presents

survey design. Section 3.4 contains the analysis of results which are further

discussed in Section 3.5. Section 3.6 presents conclusions.

3.2 Related Work

Work related to this chapter is discussed for each research question. We start

with the research question on characteristics of architectural decisions (RQ1).

We could not find any study that focuses on identifying or describing

characteristics of architectural decisions. Based on observations of various

architecture teams, Kruchten recommends roles, responsibilities and time

Page 5: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

36 3. Architectural Decisions in Practice

allocation for architects (Kruchten, 2008). Based on (Kruchten, 2008), we

consider that involved roles, involved responsibilities (e.g. involved directly or

indirectly in the decision making) and the time allocated (e.g. actual, elapsed)

for making decisions are characteristics of architectural decisions.

Some surveys with practitioners provides insights on architectural decision

making (Clerc et al., 2007), and knowledge sharing for architectural decisions

(Farenhorst et al., 2009). However, we could not find any study that

investigates the characteristics of architectural decisions in RQ1.

Our research question on difficulty of architectural decisions (RQ2) draws

inspiration from work on the quality of decision making (Yates et al., 2003).

Yates et al. (Yates et al., 2003) consider that the difficulty of decisions is

similar to a cost of making decisions, so reducing cost increases the quality of

decision making. We consider this also applies to architectural decisions

because they are a subcategory of decisions. Unfortunately, we could not find

related work that focuses on the difficulty of architectural decisions.

Related work on junior architects versus senior architects (RQ3) includes two

surveys and a case study on the reasoning processes of naïve and professional

architects (van Heesch and Avgeriou, 2010; van Heesch and Avgeriou, 2011;

van Heesch et al., 2013).

- Results of the first survey indicate that naïve architects (i.e.

undergraduate students) do not make trade-off between requirements,

fail to validate dependencies between decisions, and do not evaluate

critically their decisions (e.g. insufficient risk assessment) (van

Heesch and Avgeriou, 2010).

- Results of the case study indicate that naïve architects who use decision

viewpoints are more systematic in the exploration and evaluation of

decision alternatives (van Heesch et al., 2013).

- Results of the second survey (van Heesch and Avgeriou, 2011) indicate

that professional architects very often search for many design

alternatives in their decision making, unless they already have a

solution in mind. Also, professional architects prefer familiar

alternatives, because unfamiliar alternatives need more analysis effort

(van Heesch and Avgeriou, 2011). Additionally, professional

Page 6: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

3.3. Survey Design 37

architects do not consider risk assessment as very important (van

Heesch and Avgeriou, 2011).

In our survey, we ask participants about risks, trade-offs as difficulty factors

for their architectural decisions. No related work compares characteristics and

difficulty of architectural decisions for professionals with different levels of

experience.

For our research question on good versus bad decisions (RQ4), we found much

research to avoid bad decisions. For example, ATAM and CBAM help

discover potentially bad architectural decisions (Kazman and Klein, 2001).

They do this by documenting costs, benefits, and uncertainty. Other authors

describe architectural smells as bad architectural decisions, which harm quality

attributes (Garcia et al., 2009). However, we could not find any work which

compares characteristics and difficulty of good and bad architectural decisions.

3.3 Survey Design

To design this survey, we used the recommendations and guidelines from

(Ciolkowski et al., 2003; Kitchenham and Pfleeger, 2008). Data was collected

using an online questionnaire. In this section, we present questionnaire

development, evaluation, and data collection.

3.3.1 Questionnaire Development and Evaluation

To develop the questionnaire, we took the following steps, based on

(Kitchenham and Pfleeger, 2008):

1. Review literature 2. Discuss with experts 3. Pilot questionnaire 4. Publish questionnaire

In the first step, we reviewed existing literature on architectural decisions (e.g.

(van Heesch and Avgeriou, 2010; van Heesch and Avgeriou, 2011;

Zimmermann, 2011)) and decision research (e.g. (Yates et al., 2003)). From

the literature, we identified a list of factors that contribute to the difficulty of

architectural decisions. Based on these factors, we prepared a first version of

the questionnaire that we used as a starting point for interviewing practitioners.

Page 7: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

38 3. Architectural Decisions in Practice

For the second step, we interviewed four senior architects, each with at least

ten years of experience as an architect. We asked each architect to identify two

architectural decisions they had been involved in, and discussed the

questionnaire items for both decisions. Afterwards, we asked the architects to

propose other items that contribute to the difficulty of a decision to be included

in the questionnaire. The architects also provided thoughtful feedback on the

structure of the questionnaire.

For the third step, we piloted the questionnaire with six other persons that

included researchers and practitioners. We used their feedback to further

improve the questionnaire. For example, we eliminated some items so that the

survey would take less than 15 minutes to complete (practitioners are unlikely

to finish long surveys (Kitchenham and Pfleeger, 2008)). Additionally, we

rephrased some questions to increase their clarity.

In the final step, we published the questionnaire online. The final version of

the questionnaire showed the following to participants. The full questionnaire

is available in the Appendix.

1. Welcome message 2. Control question 3. Background questions 4. Describe good decision 5. Rate 22 factors for the good decision 6. Describe bad decision 7. Rate 22 factors for the bad decision 8. Add other factors 9. Thank you message

The first page had a welcome message with an overview of the survey,

including targeted audience, required effort and incentive. The next page

checked that participants had been involved directly in making architectural

decisions during the last two years. The survey continued only after a positive

confirmation from the participant.

The survey continued with a few questions about the background of the

participant. Next, participants were asked to indicate a good architectural

decision (‘good’ according to their judgment), and describe its characteristics,

in terms of the metrics for RQ1 (e.g. number of alternatives). Next,

participants were asked to rate the 22 statements in Table 3.4 about the

difficulty of their good architectural decision on a Likert scale. Afterwards,

Page 8: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

3.3. Survey Design 39

participants were asked to indicate a bad architectural decision, and describe

its characteristics. We asked participants to judge themselves what bad

architectural decisions were. Participants were asked to rate the same 22

statements about the difficulty of their bad decision.

Finally, participants could optionally add other items that contribute to the

difficulty of architectural decisions. Also, participants could send me a short e-

mail, to receive a copy of survey results or to offer other feedback.

3.3.2 Data Collection

Our target population was software architects who were directly involved in

making software architectural decisions during the last two years. This ensured

that survey participants could answer reliably to the questions about their

architectural decisions. We dropped the requirement of having the job title

‘architect’ because it might be over-used in the industry, without indicating

architecting activities. Also, people often make architectural decisions without

having a formal role as architects (e.g. senior software developers).

Members of our target population have busy schedules, so they are unlikely to

participate in surveys. Thus, we tried to limit the time to complete the survey

to around 15 minutes. To reach our target population, we used several

approaches. First, we sent invitations to architects in our personal networks,

asking them to participate in the survey and to further distribute it. Second, we

posted invitations to the survey on the website of a social networking site for

professionals. Third, we ran paid ad campaigns on LinkedIn (as detailed in

(Galster and Tofan, 2014)). In the advertisement we targeted professionals

working for companies in the ‘Computer Software’, Internet, or ‘Information

Technology and Services’ industries, from any part of the world, with job

functions in ‘Information Technology’ or Engineering. Also, we selected the

following job seniority: CXO, Director, Manager, Owner, Partner, Senior, or

VP, with skills in software architecture. These filters resulted in around 91,000

professionals and that could potentially see our ad. Finally, we run an ad

campaign with Google AdWords. Here, we did not find options for defining

our target audience. Instead, we defined a set of keywords (e.g. ‘software

architecture’). People searching for such keywords could see our ad for the

survey.

Page 9: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

40 3. Architectural Decisions in Practice

We ran the survey from the 1st of October 2012, until 7

th of January 2013,

using a third-party, web-based tool. In total, 219 persons started the survey.

163 persons provided partial answers (i.e. respondents answered a few

questions, and then abandoned the survey). Twelve participants did not pass

the control question about involvement in architectural decisions. Finally, 43

persons provided answers to all questions in the survey. We analyze the 43

answers in the next section.

3.4 Results Analysis

We use descriptive statistics to present the background of the survey

participants, answers to RQ1 and RQ2. Also, we use statistical tests to answer

RQ3 and RQ4.

3.4.1 Participants Background

Answers were provided from 23 countries on five continents. Regarding their

job title, most respondents described themselves as software architects

(twenty), senior software engineers (seven), or enterprise architects (five). The

other respondents described themselves as managers, business analysts, system

architects, and other roles. Table 3.1 summarizes the years of experience that

participants had in their current role and as architects. We notice that most

respondents had three to five years of experience in their current roles. Most

participants had six to ten years of experience as software developers. The

ranges for years of experience for architects and developers were normally

distributed.

Page 10: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

3.4. Results Analysis 41

Table 3.1. Number of participants with corresponding years of experience and

roles.

Years of experience In current role As architect As developer

0-2 years 5 12 3

3-5 years 19 10 11

6-10 years 10 13 12

11-15 years 3 7 8

>15 years 6 1 9

The 43 survey participants answered questions about 86 architectural decisions

(43 good and 43 bad decisions). Architectural decisions were from domains

shown in Figure 3.1. Most decisions (31) belonged to other domains, such as

financial trading, insurance, or advertising.

Other, 31

E-commerce, 12Telecommunication, 10

E-government, 10

Embedded systems, 8

Banking, 6

Healthcare, 6

Transportation, 3

Figure 3.1. Domains of decisions.

3.4.2 RQ1 - Characteristics of Architectural Decisions

Participants indicated the actual and the elapsed time they spent for making the

86 architectural decisions. For example, an architect can spend three working

days over ten working days for a decision, resulting in a ratio of actual versus

elapsed time of 30%. In the survey, participants could indicate time in minutes,

hours, days, weeks, or months, based on their preference. We converted their

responses into working days, by considering that one working day has eight

hours, one working week has five days, and that one working months has 22

working days.

Outlier values bring a negative influence on the interpretation of averages and

standard deviations. To avoid that, we eliminate outliers. We obtain the results

Page 11: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

42 3. Architectural Decisions in Practice

in Table 3.2. On average, architectural decisions took about eight working

days, elapsed over around 35 working days. The average ratio indicates that,

overall, a third of the elapsed time is spent on the actual decision making.

Table 3.2. Metrics for actual time, elapsed time (in working days), ratio of actual

versus elapsed time, and number of directly and indirectly involved persons in

the architectural decisions.

Metric Actual Elapsed Ratio Direct Indirect

Average 7.85 34.74 0.34 3.12 7.05

Standard deviation 9.22 70.59 0.22 1.54 8.91

Minimum 0.50 0.63 0.02 1 0

Maximum 44 600 1 8 50

Mode 1 5 0.5 3 3

Participants indicated how many people were involved directly and indirectly

in making the architectural decisions. The number of indirectly involved

persons does not include the directly involved persons. We collected this

metric because we could not find any related work that describes how many

decision makers are usually involved directly in architectural decisions in

practice. For example, if most architectural decisions are made in groups, then

more work is needed for group decision making, rather than individual

decision making. We eliminated outliers for the number of people both for

direct and indirect involvement, and we obtain the results in Table 3.3.

Table 3.3. Metrics for the number of alternatives considered in the beginning,

and for an extended period of time. Last column has the number of quality

attributes.

Metric Beginning Extended time # Quality attributes

Average 2.91 1.96 4.74

Standard deviation 1.43 0.84 4.19

Minimum 1 0 0

Maximum 8 4 30

Mode 3 2 3

When making an architectural decision, more alternatives can be considered.

Since little is known about how many alternatives architects usually consider

Page 12: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

3.4. Results Analysis 43

in their decision making, we asked participants to indicate the number of

alternatives they considered at the beginning of their decision making process,

and the number of alternatives they studied for an extended period of time.

Architects consider quality attributes in their decisions. However, it is not clear

how many quality attributes they consider in practice, so we asked them to

indicate this number for their decisions. After eliminating outliers, we obtain

the metrics for the number of alternatives and quality attributes in Table 3.3.

3.4.3 RQ2 - Difficulty of Decisions

Participants rated 22 statements (Table 3.4) with factors on the difficulty of

their decisions, indicating their level of agreement with the statements, using a

five-point Likert scale with the following values: strongly disagree, disagree,

neutral, agree, strongly agree, and not applicable.

Table 3.4. Factors to describe the difficulty of a decision.

ID The decision was difficult because…

F1 you received conflicting recommendations from various sources about

which decision alternative to choose

F2 there were no previous similar decisions to compare this decision

against

F3 it was hard to identify a superior decision alternative from the

alternatives under consideration

F4 the decision required a lot of thinking from you

F5 it was hard to convince stakeholders to accept a certain decision

alternative

F6 stakeholders had strongly diverging perspectives about the decision

F7 you needed to influence some stakeholders without having formal

authority over them

F8 the decision had too many alternatives

F9 the decision had too few alternatives

F10 analyzing alternatives for this decision took a lot of effort

F11 some quality attributes were considered too late in the decision making

Page 13: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

44 3. Architectural Decisions in Practice

process

F12 too many people were involved in making the decision

F13 dependencies with other decisions had to be taken into account

F14 the decision had a major business impact

F15 you had to respect existing architectural principles

F16 serious negative consequences could result from the decision

F17 too little time was available to make the decision

F18 you had a lot of peer pressure

F19 of the trade-offs between quality attributes

F20 you lacked experience as an architect

F21 you lacked domain-specific knowledge (e.g. new customer)

F22 more information was needed to reduce uncertainty when making the

decision

Results for each factor are summarized in Figure 3.2 (left). From the bar

charts, we notice the following. First, participants indicated most agreements

(including strong agreements) with statements on dependencies with other

decisions (F13 for 69 decisions), major business impact (F14 for 60 decisions)

and serious negative consequences (F16 for 59 decisions).

Second, participants indicated most disagreements (including strong

disagreements) with statements on having too many alternatives (F8 for 57

decisions), too many people involved in decision making (F12 for 49

decisions), lack of domain-specific knowledge (F21 for 46 decisions), and

having too few alternatives (F9 for 45 decisions).

Third, participants indicated most neutral standpoint with statements on

respecting existing architectural principles (F15 for 24 decisions), needing lot

of effort for analyzing decision alternatives (F10 for 21 decisions), and having

much peer pressure (F18 for 21 decisions).

Fourth, participants indicated very few statements were ‘not applicable’ to

their decisions. Most ‘not applicable’ answers were obtained for influencing

some stakeholders without formal authority (F7 for six decisions).

Page 14: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

3.4. Results Analysis 45

Figure 3.2 (right) shows average values for all factors, calculated as follows.

We assign numerical values to the Likert scale: strongly disagree (1), disagree

(2), neutral (3), agree (4), and strongly agree (5). Not applicable values are

ignored. We acknowledge the ongoing discussions on treating a Likert scale as

either an interval or categorical type of data (e.g. (Jamieson, 2004)). Still, we

use averages because they are intuitive and easy to understand for a large

audience.

From Figure 3.2 (right), we notice that dependencies with other decisions

(F13) and major business impact (F14) have highest average agreements

across participants. Negative consequences (F16) received second highest

average. Effort for analyzing alternatives (F10), lack of similar decisions (F2)

and requiring a lot of thinking (F4) received high agreements from

participants.

We notice that some factors have averages that suggest disagreement that they

contribute to the difficulty of architectural decisions, i.e. have averages smaller

than three (neutral). For example, we notice that either too many (F8) or too

few (F9) alternatives contribute little to difficulty. The same goes for lack of

experience (F20) and domain-specific knowledge (F21). However, these two

factors need to be considered in the context that many participants were senior

architects, who might already have enough experience and knowledge.

Page 15: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

46 3. Architectural Decisions in Practice

4 5 2 4 7 7 4 7 50

9 10

2 1 3 1 3 2 0

125 3

20 1719 14

2116 20

50

40

14

26

39

9 10

20

16

3429

21

28 41

21

17

1016

17

17

17

5

9

17

21

11

12

6

14

24

10

19

21

20

20 8

9

28

27

2828

17 25

30

15 21

34

29

15

49 33

25

36

2225

37

23

26

35

1226 17 23

20 17

21

4 2

17 8 9

20

27

1223

6 6 63

5

17

51 4

04 4 6

1 1 0 3 1 0 1 2 0 2 3 20

1 1

F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22

Strongly disagree Disagree Neutral Agree Strongly agree Not applicable ID Avg.

F13 3.88

F14 3.88

F16 3.74

F10 3.63

F2 3.61

F4 3.6

F7 3.55

F22 3.49

F3 3.48

F6 3.35

F19 3.33

F1 3.3

F5 3.27

F15 3.27

F18 3.05

F11 3.01

F17 2.93

F21 2.82

F20 2.73

F9 2.71

F12 2.69

F8 2.52

Figure 3.2. Survey results for each factor (left), and sorted average values for

factors (right) - a higher average indicates stronger agreement with the difficulty

of a factor.

Participants could indicate optionally other factors that contribute to the

difficulty of architectural decisions. We identified three other difficulty

factors: technology evolution (mentioned by six participants), insufficient

knowledge (four participants), and organizational politics (two participants).

First, technology places unpredictable constraints on decisions, such as

uncertain backwards incompatibility of future versions of a platform. Second,

insufficient knowledge refers to lack of professional knowledge, lack of peers

to discuss non-standard issues, and lack of documentation. Third, participants

indicated that organizational politics contribute to the difficulty of decisions,

and require awareness from architects.

3.4.4 RQ3 - Differences between Junior and Senior Architects

We divide survey participants in junior and senior architects, in an arbitrary

manner. We consider that junior architects have up to five years of experience

as architects. Senior architects have six or more years of experience as

Page 16: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

3.4. Results Analysis 47

architects. Based on this separation, 22 junior and 21 senior architects

answered the survey.

To compare the answers from junior and senior architects, we use a statistical

test. We compare two independent groups and cannot assume that the data is

normally distributed. Thus, we use the Mann-Whitney U test (Field, 2009), a

non-parametric test. We investigate the differences between junior and senior

architects on the answers offered to the 22 factors in Table 3.4, and the eight

metrics in Table 3.2 and Table 3.3.

We use SPSS 20 to apply the Mann-Whitney U test on the survey data. ‘Not

applicable’ answers are treated as missing values. We obtain significant

statistical differences (p-value less than 0.05) between junior and senior

architects for five difficulty factors and two characteristics. Table 3.5 presents

the Mann-Whitney U test results (U, Z, and p), median and average values for

junior and senior architects. Results for difficulty factors without statistical

significance are omitted.

We notice that junior architects found conflicting recommendations on what to

consider for a decision (F1) as more significant to making a decision difficult.

Also, in contrast to senior architects, junior architects found that if lots of

thinking is required (F4), decisions become more difficult. In turn, senior

architects found that decisions become more difficult if they have a major

business impact (F14). Finally there are differences between junior and senior

architects on experience (F20) and domain-specific knowledge (F21); these

differences can be expected to some extent, because senior architects have

more experience and domain-specific knowledge.

Page 17: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

48 3. Architectural Decisions in Practice

Table 3.5. Results of the Mann-Whitney U test are displayed on the first four

columns. Median and average values for junior (J) and senior (S) architects are

displayed on the last four columns. Lines with p-value > 0.05 have gray

background.

ID U Z p Mdn.

J

Mdn.

S

Avg.

J

Avg.

S

F1 565 -2.49 .006 4 3 3.61 2.97

F4 722 -1.80 .036 4 3 3.82 3.38

F14 716 -1.71 .044 4 4 3.73 4.05

F20 429 -4.42 .000 3 2 3.25 2.19

F21 699 -1.93 .027 3 2 3.74 2.59

Actual time 553 -3.21 .001 2.75 9 4.87 19.67

Elapsed time 742 -1.57 .058 15 21.5 22.87 62.32

Ratio time 621 -2.62 .004 0.25 0.35 0.29 0.42

Direct people 883 -.36 .361 3 3 3.28 3.78

Indirect

people

901 -.20 .422 4 4 8.79 24.12

Alternatives

beginning

780 -1.28 .100 2.5 3 2.77 3.62

Alternatives

extended

916 -.07 .474 2 2 2 2.08

No. QAs 764 -1.40 .081 3 4.5 4.23 5.07

We notice that senior architects spend significantly more actual time on their

decisions than junior architects (four times on average). The ratio of actual on

elapsed time is higher for senior architects, with a clear statistical significance.

We also notice a tendency of senior architects to consider more alternatives in

the beginning of the decision making. Also, senior architects tend to consider

more quality attributes than junior architects; however the statistical

significance is not sufficient.

Page 18: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

3.4. Results Analysis 49

3.4.5 RQ4 - Differences between Good and Bad Decisions

Each survey participant answered questions about a good and a bad

architectural decision. Comparing participants’ answers on the two types of

decisions increases our understanding on the quality of architectural decisions,

by analyzing the link between the two aspects of quality: difficulty (the 22

factors in Table 3.4) and outcome (good and bad decisions). Furthermore, we

analyze the link between the characteristics of architectural decisions and their

outcome (e.g. are there differences between the time spent on good or bad

decisions).

We compare differences between the 43 good and 43 bad decisions using the

Wilcoxon signed ranks test (Field, 2009), a non-parametric statistical test for

comparing groups of two related samples. We treat ‘not applicable’ answers as

missing values. Similar to the analysis in Section 3.4.4, we investigate the

differences between good and bad decisions related to the data in Table 3.2

and Table 3.3. The results of the Wilcoxon signed rank test are presented in

Table 3.6. Results on difficulty factors with statistically insignificant values

are not included.

Page 19: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

50 3. Architectural Decisions in Practice

Table 3.6. Results of the Wilcoxon signed rank test, medians and averages for

variables and metrics that correspnd to good (G) and bad (B) decisions. Lines

with p-values > 0.05 have gray background.

ID Z p-

value

Mdn.

G

Mdn.

B

Avg.

G

Avg.

B

F9 -2.48 0.006 2 3 2.47 2.95

F11 -3.07 0.001 2 4 2.61 3.4

F13 -2.12 0.018 4 4 4.07 3.7

F17 -2.63 0.004 2 3 2.67 3.19

F18 -2.03 0.022 2.5 3 2.81 3.29

F20 -1.85 0.04 3 3 2.6 2.86

Actual time -0.51 .308 4 5 14.44 9.76

Elapsed time -0.73 .235 20 20 38.02 46.25

Ratio time -0.09 .463 0.33 0.33 0.37 0.34

Direct

people

-0.55 .294 3 3 3.37 3.63

Indirect

people

-1.40 .082 4 4 17.14 15.42

Alternatives

beginning

-2.41 .007 3 2 3.65 2.72

Alternatives

extended

-1.92 .029 2 2 2.21 1.84

No. QAs -2.68 .003 4 3 5.02 4.26

We notice differences on having too few alternatives (F9), with a tendency for

disagreement with F9 on good decisions, and for neutral with F9 on bad

decisions. For bad decisions, participants indicated that some quality attributes

were considered too late (F11), in contrast with good decisions. Also,

dependencies with other decisions (F13) are more difficult for good than bad

decisions. Participants disagreed on too little available time (F17), much peer

Page 20: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

3.5. Discussion 51

pressure (F18), and lack of experience (F20) for the good decisions, in contrast

with the bad decisions.

Regarding the metrics for decisions characteristics, we notice statistically

significant differences between the number of alternatives considered at the

beginning of the decision making process, number of alternatives studied for

an extended period of time, and the number of quality attributes. For all these

three parameters, the good decisions had higher numbers. The results for the

parameters about time and number of involved people have insufficient

statistical significance.

3.5 Discussion

Little is known in the literature about the duration of real-world architectural

decisions. We found that the time needed for architectural decisions varies

much. An architectural decision takes an average actual time of around eight

working days, over an average elapsed time of 35 working days. Also,

architects spend around one third of the elapsed time on the actual decision

making (Table 3.5). The survey results indicate no significant differences

between good and bad decisions regarding actual and elapsed time (Table 3.6).

However, participants considered they had enough time for the good decisions,

and not enough time for the bad decisions.

Another insight from this study is that the actual time junior architects spend

on making a decision is one quarter of that spent by senior architects (Table

3.5). We expected senior architects to spend less or similar amounts of time to

junior architects, because of their extra experience. A possible explanation is

that senior architects might deal with higher impact decisions than juniors, so

they need the extra time. A future, more precise comparison should use a ratio

of time per decision impact, which can be quantified as the estimated cost of

reversing the decision.

Another insight from this survey concerns the number of people involved in

architectural decisions. The importance of stakeholders in architectural

decisions is widely recognized in the literature. Stakeholders are always

involved indirectly in decision making. However, we could not find any

literature on the direct involvement of stakeholders in architectural decisions,

as actual decision makers, rather than decision influencers. To improve

Page 21: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

52 3. Architectural Decisions in Practice

decision support, researchers need to know if architectural decisions are

typically made by one person (i.e. the architect) or by groups of persons (i.e.

one or more architects, and other stakeholders). For example, researchers can

propose group decision making approaches, if a relevant proportion of

architectural decisions are made in groups. A surprising result is that only 14%

of the decisions in the survey were made by individuals. The typical

architectural decision has three decision makers (Table 3.2). Consequently,

group architectural decision making is a much needed research direction.

Regarding difficulty of decisions, we notice that dependencies with other

decisions are a very important factor for the perceived difficulty of decisions.

Results from a related survey (van Heesch and Avgeriou, 2011) indicate that

architects often come across such dependencies. Moreover, researchers

proposed various approaches for handling decisions dependencies (e.g. (Jansen

et al., 2009)). Our survey confirms the relevance of the topic, and the need for

disseminating research results to practitioners. We also found that analysis

effort and lack of similar (or previously made) decisions increase difficulty of

decision making. This suggests that practitioners welcome approaches that

help them analyze decisions, and appreciate examples of similar decisions as

opportunities to reuse architectural knowledge.

Regarding differences between junior and senior architects we found that

junior architects need help to address the difficulties of analyzing decisions,

such as handling conflicting recommendations. This is not relevant for senior

architects. We consider that existing documentation approaches help junior

architects. However, documentation could be improved by adding capabilities

for analyzing decisions (e.g. what-if analysis).

Regarding differences between good and bad decisions, the survey results

indicate that good decisions have more alternatives than bad decisions.

Therefore, as a rule of thumb, we recommend practitioners to identify three or

more alternatives. Also, this study confirms that practitioners should pay

attention to quality attributes and decisions dependencies while making

architectural decisions.

Page 22: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

3.6. Conclusions 53

3.5.1 Validity Threats

We present potential study limitations, in terms of internal, construct, and

external validity (Ciolkowski et al., 2003; Kitchenham and Pfleeger, 2008). To

increase internal validity, we piloted the questionnaire and refined it to ensure

that participants could understand it. Also, we added explanatory text with

small examples to the questions, so that participants could easily interpret the

questions. Another threat to internal validity is that our findings were derived

from polarized instances of architectural decisions (i.e. good and bad), rather

than typical decisions. Not adding typical decisions to the questionnaire was a

necessary trade-off for keeping the survey duration within 15 minutes.

To make sure we measure the difficulty of decisions, we used existing work

(Yates et al., 2003) as a starting point for characterizing decisions and to

conceptualize difficulty, as suggested by (Ciolkowski et al., 2003). Moreover,

we discussed our conceptualization with experienced architects, who helped us

refine it. Furthermore, participants could answer with ‘not applicable’ to the

survey items on difficulty of their decisions. The very low numbers of ‘not

applicable’ answers indicates that the survey items indeed measure difficulty

of decisions.

We increased the external validity of this survey by recruiting participants

through posting survey invitations in venues for professionals, and by using

paid ad campaigns. These efforts resulted in a high diversity of respondents,

compared to only using respondents from personal networks or only answers

from a specific region or company.

3.6 Conclusions

In this chapter, 43 participants provided information about 86 architectural

decisions. We found that dependencies among decisions, analysis effort and

lack of similar and previously made decisions make architectural decisions

difficult. Moreover, junior architects need decision analysis support more than

senior architects. Also, we found that considering more alternatives may lead

to better decisions. Additionally, this survey confirmed the impact of quality

attributes and decisions dependencies on the quality of architectural decisions.

In addition, this survey confirms the importance of reducing architectural

Page 23: University of Groningen Understanding and Supporting ... · architectural decisions in practice and factors that contribute to the difficulty of ... a Likert scale. The level of experience

500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan500438-L-sub01-bw-Tofan

54 3. Architectural Decisions in Practice

knowledge vaporization (a challenge also identified in the previous chapter),

so that architects can access similar and previously made decisions.

This survey provided insights on the duration and number of people,

alternatives and quality attributes in architectural decision making, which

suggests the need of further research on group architectural decision making.

To offer decision analysis support, Chapters 6 and 7 present approaches for

making architectural decisions (including group decisions). Chapter 8 presents

an open-source tool that includes support for group decision making, analyzing

alternatives and dependencies with other decisions.

After studying practical architectural knowledge management and architectural

decisions in Chapter 2 and Chapter 3, the next chapter presents a systematic

mapping study of literature on architectural decisions, in which we identify

and synthesize existing research on architectural decisions.

Acknowledgment

We thank the study participants for their help.