21.01.2014 Views

A Rationale-based Model for Architecture Design Reasoning

A Rationale-based Model for Architecture Design Reasoning

A Rationale-based Model for Architecture Design Reasoning

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

8.2. The architecture rationalisation method<br />

a decision.<br />

This approach allows architects and designers to justify a decision <strong>based</strong> on the explicit<br />

representation of motivational reasons and design rationale. It provides a structure to<br />

support an objective decision making process. However, the assessment could still be<br />

biased if the architect is subjective and opinionated towards one solution. The qualitative<br />

reasoning mandated by ARM would encourage an architect to consider the options and<br />

their relative benefits. Additionally, the recording of such reasoning could be used <strong>for</strong><br />

architecture verification. As such, it will reduce the chance of undesired biases.<br />

8.2.2 Quantitative rationale<br />

There are a number of methods to support quantitative analysis <strong>for</strong> decision making.<br />

Notable examples are CBAM [4] and AHP [2]. These methods commonly use priority, costs<br />

and benefits <strong>for</strong> assessing different options to make a decision. This may be justifiable <strong>for</strong><br />

some of the key architecture decisions where a group of stakeholders are gathered together<br />

in the assessment process. It would be quite a costly process to always make decisions<br />

with a group of stakeholders. For most typical architecture decisions, however, only one<br />

architect or a small group of architects would be responsible after consultation with the<br />

stakeholders concerned.<br />

In ARM, decision making requires the evaluation of the costs, benefits and risks of<br />

design options, and such evaluations are the quantitative rationale QNR <strong>for</strong> comparing<br />

and selecting design options. For instance, when two options are considered in a decision,<br />

their relative costs, benefits and risks can be compared in an explicit way to justify a<br />

decision. In a survey, we have asked practising software architects if they think these<br />

design rationale are useful. Their responses suggested that such design rationale are<br />

indeed very useful in justifying the design options (see Section 5.3.4). Furthermore, A<br />

quantitative approach could be more effective in characterising the decision, costing the<br />

design and improving the design process [42].<br />

Expected costs and benefits<br />

If there are different ways to design a system to achieve a set of goals, we can assume<br />

that an experienced and logical designer would attempt to select a viable design. To<br />

achieve this, an architect would first eliminate those options that would not work. Then<br />

the architect would find a design which maximises the benefits of the outcomes whilst<br />

minimises its cost. If more than one option is available, this exercise can be quite complex<br />

138

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!