  Software architecture decision-making is critical to the success of a
software system as software architecture sets the structure of the system,
determines its qualities, and has far-reaching consequences throughout the
system life cycle. The complex nature of the software development context and
the importance of the problem has led the research community to develop several
techniques, tools, and processes to assist software architects in making better
decisions. Despite these effort, the adoption of such systematic approaches
appears to be quite limited in practice. In addition, the practitioners are
also facing new challenges as different software development methods suggest
different approaches for architecture design. In this paper, we study the
current software architecture decision-making practices in the industry using a
case study conducted among professional software architects in three different
companies in Europe. As a result, we identified different software architecture
decision-making practices followed by the software teams as well as their
reasons for following them, the challenges associated with them, and the
possible improvements from the software architects' point of view. Based on
that, we recognized that improving software architecture knowledge management
can address most of the identified challenges and would result in better
software architecture decision-making.
