  Quantum computing provides a new dimension in computation, utilizing the
principles of quantum mechanics to potentially solve complex problems that are
currently intractable for classical computers. However, little research has
been conducted about the architecture decisions made in quantum software
development, which have a significant influence on the functionality,
performance, scalability, and reliability of these systems. The study aims to
empirically investigate and analyze architecture decisions made during the
development of quantum software systems, identifying prevalent challenges and
limitations by using the posts and issues from Stack Exchange and GitHub. We
used a qualitative approach to analyze the obtained data from Stack Exchange
Sites and GitHub projects. Specifically, we collected data from 385 issues
(from 87 GitHub projects) and 70 posts (from three Stack Exchange sites)
related to architecture decisions in quantum software development. The results
show that in quantum software development (1) architecture decisions are
articulated in six linguistic patterns, the most common of which are Solution
Proposal and Information Giving, (2) the two major categories of architectural
decisions are Implementation Decision and Technology Decision, (3) Softwar
Development Tools are the most common application domain among the twenty
application domains identified, (4) Maintainability is the most frequently
considered quality attribute, and (5) Design Issues and High Error Rates are
the major limitations and challenges that practitioners face when making
architecture decisions in quantum software development. Our results show that
the limitations and challenges encountered in architecture decision-making
during the development of quantum software systems are strongly linked to the
particular features (e.g., quantum entanglement, superposition, and
decoherence) of those systems.
