Using Social Choice Theory to Finalize Architectural Decisions
This addresses the challenge of ensuring unbiased architectural decisions in software development, though it is incremental in applying existing social choice theory to a new domain.
The paper tackles the problem of biased stakeholder behavior in software architecture decision-making by framing it as a collective decision-making problem in social choice theory, showing that existing methods are vulnerable to gaming and proposing the use of VCG mechanisms with incentives to protect against strategic manipulations.
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.