Understanding Architecture Decisions in Context - An Industry Case Study of Architects' Decision-Making Context

Many organizations struggle with efficient architecture decision-making approaches. Often, the decision-making approaches are not articulated or understood. This problem is particularly evident in large, globally distributed organizations with multiple large products and systems. The significant architecture decisions of a system are a critical organization knowledge asset, as well as a determinant of success. However, the environment in which decisions get made, recorded, and followed-up on often confounds rather than helps articulation and execution of architecture decisions. This paper looks at aspects of architecture decision-making, drawing from an industry-based case study. The data represents findings from a qualitative case study involving a survey and three focus groups across multiple organizations in a global technology company. Architects in this organization are responsible for multiple products and systems, where individual products can include up to 50+ teams. The impact is not just on others in the system; architecture decisions also impact other decisions and other architects. The findings suggest recommendations for organizations to improve how they make and manage architecture decisions. In particular, this paper notes the relevance of group decision-making, decision scope, and social factors such as trust in effective architecture decision-making.

[1]  Jeff Tyree,et al.  Architecture decisions: demystifying architecture , 2005, IEEE Software.

[2]  Philippe Kruchten Documentation of Software Architecture from a Knowledge Management Perspective - Design Representation , 2009, Software Architecture Knowledge Management.

[3]  Eoin Woods,et al.  Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives , 2005 .

[4]  Jan Bosch,et al.  Software Architecture as a Set of Architectural Design Decisions , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[5]  Austen Rainer,et al.  Case Study Research in Software Engineering - Guidelines and Examples , 2012 .

[6]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[7]  D. Hantula Sources of Power: How People Make Decisions , 2001 .

[8]  Paul Clements,et al.  Documenting Software Architectures in an Agile World , 2003 .

[9]  Rainer Weinreich,et al.  Classification of Design Decisions - An Expert Survey in Practice , 2013, ECSA.

[10]  Sandun Dasanayake,et al.  Software Architecture Decision-Making Practices and Challenges: An Industrial Case Study , 2015, 2015 24th Australasian Software Engineering Conference.

[11]  Linda T. Kohn,et al.  Methods in Case Study Analysis , 1997 .

[12]  A. Huberman,et al.  Qualitative Data Analysis: A Methods Sourcebook , 1994 .

[13]  Paris Avgeriou,et al.  Difficulty of Architectural Decisions - A Survey with Professional Architects , 2013, ECSA.

[14]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[15]  Philippe Kruchten,et al.  Building Up and Reasoning About Architectural Knowledge , 2006, QoSA.

[16]  Joseph A. Maxwell,et al.  Qualitative Research Design: An Interactive Approach , 1996 .

[17]  Philippe Kruchten,et al.  The Decision View's Role in Software Architecture Practice , 2009, IEEE Software.

[18]  Henry Muccini,et al.  Suitability of Software Architecture Decision Making Methods for Group Decisions , 2014, ECSA.

[19]  Robert K. Yin,et al.  Qualitative Research from Start to Finish , 2010 .