  Unbiased and objective architectural design decisions are crucial for the
success of a software development project. Stakeholder inputs play an important
role in arriving at such design decisions. However, the stakeholders may act in
a biased manner in order to ensure that their requirements and concerns are
addressed in a specific way in the software. Most of the existing methods of
architectural decision-making do not adequately account for such biased
behaviour of stakeholders. We view the software architecture design as a
collective decision making (CDM) problem in social choice theory, and introduce
the central ideas of mechanism design to our field. Our contributions are
twofold: i) Using the impossibility results from social choice theory, we show
that a rational stakeholder can game, to her advantage, almost every known
method of software architecture decision making. ii) We also show that if the
architect is willing to bear the extra cost of giving suitable incentives to
stakeholders, then architectural decision making can be protected from
strategic (biased) manipulations. For achieving this objective, we introduce
the Vickrey-Clarke-Groves (VCG) mechanism from social choice theory to the
software architecture domain. We illustrate our contributions by comparing and
using the examples drawn from the well-known CBAM method of architectural
decision making.
