Heinisch, M. S. (2009). A replicated experiment on the effect of team size and individual experience in software architecture evaluation [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-33110
Das Design einer Softwarearchitektur ist ein erfolgskritischer Faktor. Änderungen von nichtfunktionalen Anforderungen (etwa Wartungsfreundlichkeit, Modifizierbarkeit) bzw. von Qualitätsattributen können sich stark auf die Projektdauer, etwaigen (späteren) Reparationsaufwand sowie auf die gesamten Projektkosten auswirken.<br />Entstehen solche Änderungen erst gegen Ende des Entwicklungsprozesses, so sind deren Auswirkungen mitunter fatal.<br />Eines der Hauptziele von Softwaretechnik ist es daher, mögliche notwendige Änderungen betreffend die Architektur schon früh in der Softwareentwicklung zu identifizieren. Durch die Identifizierung von zukünftigen Zielen und Szenarios ist es leichter, den Fokus auf die wahrscheinlichsten Änderungen in einer bestimmten Zeitspanne zu legen.<br />Softwarearchitekturreviews - eingebettet in den Evaluierungsprozess (zB ATAM) - sind effektive und effiziente Ansätze um verschiedene Designs zu durchleuchten und um Defekte und Schwächen früh zu erkennen. Beides, die Durchführung von Architekturreviews als auch die Identifizierung von gewichtigen Szenarios hängt stark von der Qualifikation der einzelnen Personen des Reviews ab. Um die Einzelresultate zu verbessern - i.e. Fokussierung auf kritische und wahrscheinliche Szenarien - können Kategorien für die Szenarios im Voraus definiert und während der Evaluierung verwendet werden. Teams können Synergieeffekte durch Diskussion und Interaktion nutzen. Eine große Herausforderung ist, den Effekt der Teamgröße auf die Qualität der Szenarien umzulegen. Basierend auf früheren Studien im Bereich Softwarearchitekturen scheinen nominelle Teams bessere Resultate zu erzielen als reale Teams.<br />Replikation ist eine bewährte Methode in empirischer Softwaretechnik um vorangegangene Resultate zu überprüfen. Die Vergleichbarkeit aller Parameter mit der Originalstudie ist dabei ein wichtiger Faktor. Das Ergebnis dieser Thesis kann (a) helfen, Aktivitäten wie Scenario Brainstorming zu verbessern; (b) Qualitäts- und Projektmanagern helfen, zukünftige Veränderungen in die Softwarequalität besser einzubeziehen; (c) helfen ein tieferes Verständnis für Softwareevaluation zu gewinnen um die empirische Beweislast zu erhöhen.<br />Der erste Abschnitt dieser Thesis untersucht, ob die Ergebnisse beide Studien vergleichbar bzw. replizierbar sind. Zu diesem Zweck wurden alle Analysen und Berechnungen mit den neuen Datensätzen wiederholt. Der zweite Teil beschäftigt sich damit, ob sich beide Studien auch wissenschaftlich vergleichen lassen. Drei Hauptproblempunkte werden hierfür diskutiert, um eine aussagekräftige Antwort zu erhalten:<br /> * Die Vergleichbarkeit der Fokusgruppen (Gleichheitsgrad / Vergleichbarkeitsgrad) * Die Analyse der Replikation als solche inklusive möglicher Fehler während der Durchführung * Bekannte Probleme von Replikationen von Softwarestudien Der dritte Teil dieser Arbeit fasst die Resultate zusammen, auch im Bezug auf die Originalstudie. Der Aspekt dieser Replikation, die empirische Beweiskraft in Sachen Architekturevaluierung und Scenario-Brainstorming, zu erhöhen, wird ebenfalls diskutiert. Im Endeffekt stellte sich heraus, dass die Vorgehensweise (top-down oder bottom-up) keinen Einfluss auf die einzelnen Personen oder Teams hat. Zudem verlieren Teams Szenarien, eliminieren dafür Unwichtige. Zudem ist Erfahrung hilfreich und Teams mit drei Mitgliedern sind höchst ökonomisch.<br />
de
The design of the software architecture is a success-critical issue in software engineering.<br /> Changes of non-functional requirements (or quality attributes), for example maintainability and modifiability, can have a major impact on repair efforts, project duration and the total project costs. If changes occur late in the development process their impact can be fatal.<br />Thus, a major goal is to identify possible changes affecting the architecture in the early stages of software development. The identification of future goals and scenarios can support software architects in focusing on most likely changes within a defined time period. Software architecture reviews - embedded within evaluation processes, e.g., the architecture trade-off analysis method (ATAM) - are effective and efficient approaches to explore various software design options and to identify defects and weaknesses early.<br />Typically, conducting architecture reviews and identifying valuable scenarios depends strongly on the qualification of individual reviewers. To strengthen individual review results, i.e., focus on critical and most likely scenarios, teams can gain benefits through synergy effects during team meetings through discussion and interaction. A major challenge is to identify the effect of team sizes on the quality of scenarios. Based on previous studies in the area of architecture evaluation, the application of nominal teams, i.e., non-communicating teams, seems to achieve better results, i.e., find more valuable scenarios, than real team meetings. One important goal of this thesis is to replicate the previous study with respect to the impact of experience and team size in scenario brainstorming processes.<br />Replication is a common technique in empirical software engineering to strengthen previous findings with respect to a body of knowledge in architecture evaluation and scenario brainstorming. An important factor is that all parameters must be comparable in the original and replicated study. The results of this thesis (a) can support reviewers in conducting better scenario brainstorming activities, (b) help project and quality managers in assessing better the quality of software architecture according to future changes, and (c) provide a deeper insight in architecture evaluation processes to increase empirical evidence.<br />The first part of this thesis aims to explore whether the results of both studies are comparable with each other by considering them as a replication. Therefore, all analysis results are repeated using the data collection of the original study. The second, and more extensive part, discusses whether the two studies can be compared on a scientific level, or not. In order to get sufficient answers, three main problem areas are considered:<br /> * The comparability of the focus groups (degree of equality) * Analyzing the kind of replication used including error finding with the procedure * Known problems with replication of software studies The third part of this thesis summarizes the results according to both studies including aspects of replication with respect to gaining empirical evidence on architecture evaluation and scenario brainstorming processes. Regardless whether individuals or teams are considered it turned out that the approach (top-down or bottom-up) of an evaluation process has no impact.<br /> Teams lose scenarios but eliminate less-important scenarios. But experience of the individuals does help and teams with the size of three team members are most economic in terms o efficiency.<br />