13 research outputs found

    Entwicklung eines rationalen Entscheidungsprozesses für Architekturentscheidungen

    Get PDF
    AbstractIt is one of the critical tasks to make the right design- and architectural-decisions in huge and complex developing or reengineering projects. Such decisions have different types. On the one hand there are decisions with minimal effects on the architecture and the software system. On the other hand there are more strategic decisions which effect the architecture widely and change the central characteristics of the software system. Particularly the strategic decisions are very complex, risky and include many uncertain facts about hidden dependencies. The complexity and risks rise if such decisions have to be made in huge projects with 50 or more developers. The decisionmaker, mostly the project manager or the client, is confronted with various factors, assumptions and constraints. Typical examples are competing objectives, alternative solutions and incomplete information about external third-party systems. If such complex decisions have to be made in an unsystematic way, they will lead to uncalculatable risks with enormous bad consequences for the software system and the development project. Examples are changed or missed deadlines, risen development costs or monetary losses due to an outage of a business critical system.However, the specific characteristics of architectural decisions are not considered by existing methods and concepts to support decision making. They are too detailed, focussed on source code and require information in a formal quality and completeness. These information can not be gathered within such huge projects because of the high effort, time pressure and lacking resources. Therefore an architectural decision process is missing to structure the various information, assumptions and subjective estimations and so you can make such complex and risky decisions in a systematic and focussed way.The main objective of the following dissertation is to reduce the complexity, uncertainty and risks of architectural decisions in order to avoid additional changes and adjustments as well as to achieve the desired objectives. An architectural decision process with four phases is developed on the basis of the generic proceeding of the decision theory. This process includes methods and concepts in order to establish alternative solutions on the basis of the objectives, conditions and the model of the existing architecture. The various alternative solutions are evaluated through a systematic proceeding in order to identify and select the best solution. The developed process includes the specific characteristics of software architectures:Besides incomplete information and uncertainties, it is possible to observe hidden dependencies through scenario-based analysis methods, establishted by the concepts of the Architecture-Level-Modifiability-Analysis (ALMA).Due to the complexity and risks, huge architectural changes have to be separated into smaller tasks. This is supported by a stepped planning, from abtract analysis to more detailed planning.To achieve a reasonable relation between the analysis effort and the benefis from the analysis in terms of reduced risks, complexity and uncertainty, the depths of the analysis can be adjusted flexibly by clear objectives. Two practical applications show, how to make architectural decisions in a systematic way by using the decision process. Afterwards, the assumptions and expectations, which have been used for the decision making, are evaluated by comparing with the consequences of the real implementation. Due to the results of the comparison it can be described clearly, which advantages and disadvantages the application of the decision process has.In Softwareentwicklungsprozessen müssen permanent die richtigen Design- und Architekturentscheidungen getroffen werden, damit die mit dem Entwicklungs- oder Reengineeringprojekt verbundenen Ziele in vollem Umfang erfüllt werden können. Diese Entscheidungen können dabei von unterschiedlicher Natur sein. So werden einerseits Entscheidungen getroffen, die nur geringe Auswirkungen auf das Softwaresystem haben. Auf der anderen Seite existieren Entscheidungen mit strategischem Charakter, die sich auf große Teile der Architektur und auf zentrale Systemeigenschaften auswirken. Gerade die strategischen Architekturentscheidungen sind in Großprojekten mit 50 oder mehr Entwicklern von hoher kombinatorischer Komplexität und beinhalten große Unsicherheiten über versteckte Abhängigkeiten. Der Entscheidungsträger, meist der Architekt oder der Projektleiter, ist mit einer Vielzahl unterschiedlicher Faktoren und Bedingungen konfrontiert. Hierzu zählen konkurrierende Ziele oder alternative Lösungsansätze, für die meist nur unvollständige Informationen vorliegen. Unter diesen Voraussetzungen führen unsystematische Entscheidungen zu unkalkulierbaren Risiken mit gravierenden Folgen für das Softwaresystem und das Entwicklungsprojekt, wie z. B. eine deutliche Erhöhung der Entwicklungskosten oder zeitliche Verzögerungen. Die bereits existierenden Methoden zur Entscheidungsunterstützung berücksichtigen die spezifischen Eigenschaften von Softwarearchitekturen zu wenig. Sie sind zu feingranular, codeorientiert und benötigen Informationen in einer formalen Genauigkeit und Vollständigkeit, die bei Architekturentscheidungen in Großprojekten aus Aufwandsgründen nicht erhoben werden können. Somit fehlt eine Unterstützung des Entscheidungsträgers, um die Vielzahl an Einzelinformationen und subjektiven Einschätzungen zu strukturieren sowie die Entscheidungsfindung systematisch und fokussiert durchzuführen. Mit der vorliegenden Dissertation wird das Ziel verfolgt, die Komplexität, Unsicherheiten und Risiken bei Architekturentscheidungen zu reduzieren, um aufwandsintensive Korrekturen zu vermeiden und die Architekturziele in vollem Umfang zu erfüllen. Auf der Grundlage des in der Entscheidungstheorie beschriebenen generischen Vorgehens zur Entscheidungsfindung wird ein Vier-Phasen-Entscheidungsprozess entwickelt. Dieser Prozess beinhaltet Methoden und Konzepte, um ausgehend von den Zielen, Rahmenbedingungen und der existierenden Architektur systematisch alternative Lösungsansätze zu entwickeln. Im Anschluss werden die Lösungsansätze nach rationalen Gesichtspunkten im Hinblick auf die Zielerreichung bewertet, um eine ausgewogene Entscheidung zu treffen. Der entwickelte Entscheidungsprozess berücksichtigt dabei die speziellen Eigenschaften von Softwarearchitekturen: Trotz unvollständiger Informationen und Unsicherheiten können versteckte Abhängigkeiten mit einem szenariobasierten Analyse- und Bewertungsansatz, auf der Grundlage der Architecture-Level-Modifiability-Analysis (ALMA), sichtbar gemacht werden. Die systematische Aufteilung komplexer Entscheidungen in handhabbare Einzelentscheidungen wird durch die Anwendung eines gestuften Verfahrens mit Grob- und Feinplanung erreicht.Um ein ökonomisch sinnvolles Verhältnis zwischen dem Aufwand zur Entscheidungsfindung und dem Nutzen in Form von reduzierten Risiken, Unsicherheiten und einer geringeren Komplexität zu ermöglichen, kann die Detailtiefe der Analysen anhand eindeutiger Kriterien flexibel angepasst werden.Zwei praktische prototypische Anwendungen des Entscheidungsprozesses zeigen auf, wie eine Architekturentscheidung systematisch und nach rationalen Gesichtspunkten durchgeführt werden kann. Die während der Entscheidungsfindung getroffenen Annahmen und Erwartungen werden im Anschluss mit den Ergebnissen der realen Implementierung verglichen. Anhand des Vergleichs wird klar erkennbar, welche versteckten Abhängigkeiten durch den Einsatz des Entscheidungsprozesses bereits frühzeitig erkannt wurden sowie welche Vorteile die richtige Entscheidungsfindung für das Softwaresystem und das Entwicklungsprojekt hat

    Synchronisation eingebetteter Architekturentscheidungen mit Architekturentscheidungsprogrammen

    Get PDF
    Diese Arbeit behandelt das Thema der Synchronisation von quellcode-intern und quellcodeextern dokumentierten Softwarearchitekturentscheidungen. Einerseits gibt eine Java-Annotation, welche es erlaubt Architekturentscheidungen im Java-Quellcode zu hinterlegen, andererseits können Architekturentscheidungen auch mit dem Modellierungswerkzeug AD-Mentor modelliert und in einem Versionierungsrepository hinterlegt werden. Da Architekturentscheidungen somit an verschiedenen Stellen dokumentiert werden können, ist es sinnvoll diese zu synchronisieren. In dieser Arbeit wird ein Konzept zur Synchronisation von eingebettete Architekturentscheidungen mit modellierten Architekturentscheidungen anhand eines Versionierungsrepository vorgestellt und implementiert. Zur Verifikation des erstellten Konzepts wurde eine Fallstudie anhand des implementierten Synchronisationsprogramms durchgeführt und ausgewertet

    Nachvollziehbare Entscheidungsprozesse in der industriellen Softwareentwicklung durch Rationale Management - Ansätze zur Umsetzung bei der SAP AG

    Get PDF
    Das Software Engineering ist heute geprägt von schnelllebigen Technologien und Trends, verteilten, arbeitsteiligen Projekten mit vielen Interessenvertretern (Stakeholdern) und einem umkämpften globalen Markt. In diesem Umfeld wird es zur Herausforderung, gewonnene Erkenntnisse festzuhalten und daraus als gesamte Organisation zu lernen, um Fehler nicht zu wiederholen oder gar ganz zu vermeiden. Information und Wissen sowie Kommunikation und Wissenstransfer zusammen mit wohl reflektierten Entscheidungen werden daher immer mehr zum kritischen Erfolgsfaktor einer Organisation. Rationale Management (RM) (engl. Begründungsmanagement) ist ein Ansatz, um diese Erfolgsfaktoren auf allen Ebenen einer Organisation einzubeziehen. Durch das Aufzeigen der Gestaltungsalternativen (design space analysis) sollen die Entscheidungsträger (gegebenenfalls in einem kollaborativen Prozess) anhand von adäquaten Kriterien zu konsistenten und argumentativ begründeten Entscheidungen gelangen. Über eine geeignete Erfassung, Aufbereitung und Nutzung des Rationale soll eine Verbesserung der Entscheidungskommunikation, des Wissenstransfers und der Informationsgewinnung über individuelle, organisatorische und funktionale Grenzen der Organisation hinweg erreicht werden. In der vorliegenden Arbeit werden die im Kontext des Software Engineering diskutierten Ansätze für Rationale Management zusammengetragen. Sie werden strukturiert nach verschiedenen Wissensbereichen des Software Engineering aufbereitet und gegenübergestellt. Basierend darauf und am Beispiel der SAP AG wird untersucht wie Rationale Management in unterschiedlichen Bereichen eines Vorgehensmodells gewinnbringend integriert werden könnte. Hierzu werden konkrete Vorschläge im Umfeld der Kommunikation von Projektlenkungsentscheidungen oder der Erfassung von Rationale im Kontext von Anforderungspriorisierungen erarbeitet. Die dabei gewonnenen Erkenntnisse bei der Integration von Rationale Management in die Prozesse – auch in Bezug auf die Projektpolitik – werden abschließend festgehalten

    Formelle Designentscheidungen

    Get PDF
    Das klassische Arbeiten in Unternehmen unterliegt einer Transformation – dies ist seit der im Frühjahr 2020 in Deutschland angekommenen Corona-Pandemie für die breite Bevölkerung spürbar. Aus einer oftmals vorhandenen Möglichkeit des Arbeitens von Zuhause wird plötzlich eine verbindliche Phase des Rückzugs ins Homeoffice. Aus dieser Situation heraus stellt sich vermehrt die Frage, wie sich diese Lage während und nach der Pandemie weiter entwickeln wird. Um die Innovationskraft in Unternehmen zu erhalten und zu steigern, ist eine effiziente Zusammenarbeit unterschiedlicher Disziplinen essentiell. Das im folgenden Artikel vorgestellte Forschungsvorhaben entsteht im Rahmen des globalen Innovationsmanagements der Robert Bosch GmbH am Campus für Forschung und Vorausentwicklung in Renningen. Ziel ist die Übersetzung eines regulären Coworking Space in einen sogenannten Corporate Coworking Space innerhalb eines Unternehmens. Durch eine ganzheitliche Gestaltung und Bewertung soll aufgezeigt werden, ob ein solches Vorhaben die disziplinübergreifende Zusammenarbeit unterstützen kann

    Das Spannungsfeld zwischen EAM und agilen Teams im Kontext von agilen Skalierungsframeworks

    Get PDF
    Die Einführung von agilen Skalierungsframeworks birgt Herausforderungen bezüglich der Integration in ein bestehendes Enterprise Architecture Management (EAM). Das EAM behält in der Regel Elemente seiner Wasserfallnatur, während den agilen Teams durch die Einführung der agilen Arbeitsweise mehr Autonomie gewährt wird. Entsprechend wird die Steuerung der agilen Teams im Vergleich zum Wasserfallvorgehen schwieriger. Die agilen Teams streben die schnelle Wertlieferung an, während das EAM die Erreichung der strategischen Ziele durch das Verwirklichen der Soll-Architektur anstrebt. Die Prinzipien der agilen Arbeitsweise, die durch die agilen Teams ausgelebt werden, resultieren in Abweichungen von bewilligter Architektur und den EAM-Vorgaben, was die Erreichung des Soll-Zustands der IT-Landschaft hindert. Die verschiedenen Ziele und Prioritäten der zwei Parteien führen zu einem Spannungsfeld, das die Zusammenarbeit beeinträchtigt. Mit dieser Problemstellung befasst sich auch die Zürich Versicherungs- Gesellschaft AG (Zurich), die das agile Skalierungsframework ‹SAFe› (Scaled Agile Framework) im Einsatz hat und wo das Spannungsfeld zwischen der EAM-Einheit ‹CrEAM› (Collaborative EAM) und agilen Teams beobachtet werden kann. In dieser Masterarbeit wird untersucht, wie das Spannungsfeld zwischen EAM und agilen Teams im Kontext von agilen Skalierungsframeworks aufgelöst oder verbessert werden könnte. Dafür wurden aus der Literatur Aspekte des Spannungsfeldes abgeleitet: 1) unzufriedenstellende Kommunikation, 2) Mangel an Einbindung der agilen Teams in die Architekturprozesse, 3) unpassende Ebene der Steuerung durch EAM, 4) Konflikt zwischen EAM-Governance und Team-Autonomie, 5) Mangel an technischen Kenntnissen der Enterprise Architekten und 6) Mangel an Bewusstsein und Akzeptanz von EAM seitens der agilen Teams. Diese Aspekte wurden im Rahmen der Einzelfallstudie bei der Zurich angewendet, um durch Interviews mit Enterprise Architekten und Product Ownern aus den agilen Teams Daten zu den jeweiligen Aspekten zu erheben. Durch die qualitative Analyse der Interviews wurden drei Ausprägungen des Spannungsfeldes identifiziert, die bei Zurich am stärksten das Spannungsfeld bilden. Die Abweichungen der agilen Teams von der bewilligten Architektur sind zentrale Auslöser des Spannungsfeldes. Um die Lage zu verbessern, werden Veränderungen bezüglich der Zuständigkeiten der Rollen der Product Owner und der Enterprise Architekten empfohlen. Die Product Owner sollten sicherstellen, dass die agilen Teams sich an die bewilligte Architektur halten. Ebenfalls sollten die Product Owner den Enterprise Architekten transparent melden, wenn die agilen Teams von der bewilligten Architektur abweichen möchten. Die Enterprise Architekten sollten zusammen mit den agilen Teams die Abweichung entwerfen und dabei sicherstellen, dass diese den EAM-Vorgaben entspricht. Ein weiterer Auslöser des Spannungsfeldes ist der Mangel an Bewusstsein bezüglich der Rolle von CrEAM und über die EAM-Prozesse seitens der agilen Teams. Hier wird empfohlen, dass die Enterprise Architekten sich regelmässig mit den Product Ownern austauschen, sie transparent informieren, sie in EAM-Prozessen begleiten und ihr Feedback einholen. Der dritte Auslöser des Spannungsfeldes ist der Mangel an Einbeziehung der agilen Teams in die Definition von Standards und die Bestimmung von strategischen Tools. Um das Spannungsfeld diesbezüglich aufzulösen, sollen die Enterprise Architekten aktiv die Vorschläge der agilen Teams entgegennehmen und deren Expertise in den Prozess einfliessen lassen. Durch die Erweiterung der Rollen um die vorgeschlagenen Zuständigkeiten kann die Spannung zwischen EAM und agilen Teams reduziert oder sogar aufgelöst werden, da die aktuellen Rollenprofile der Enterprise Architekten und Product Owner nicht auf die effektive Zusammenarbeit der zwei Parteien ausgerichtet sind

    Parametrisierung der Spezifikation von Qualitätsannotationen in Software-Architekturmodellen

    Get PDF
    Um qualitativ hochwertige Softwaresysteme zu entwickeln, muss in einem Softwareentwicklungsprozess eine Vielzahl von Qualitätsattributen berücksichtigt werden. Je höher die Komplexität von Softwaresystemen wird, desto wichtiger wird es, die zu erwartende Qualität im Vorfeld zu beurteilen. Jedoch existiert eine Reihe von Qualitätsattributen für Softwaresysteme, welche erst aus den strukturellen Eigenschaften der Softwarekomponenten in diesem Softwaresystem bestimmt werden können. Diese Qualitätsattribute werden in strukturierten und formalisierten Entscheidungsunterstützungsprozessen zur Optimierung der Softwarearchitektur oft nicht genutzt. Einer der Gründe dafür ist, dass dieses Wissen um die Qualitätsattribute einer Softwarekomponente in der Regel nur mit diesen Softwarekomponenten verknüpft ist und nicht mit den strukturellen Eigenschaften eines komponentenbasierten Softwaresystems. So bleibt ein Großteil dieses Wissens unberücksichtigt und kann daher nicht für Kompromissentscheidungen in automatisierten Softwarearchitektur-Optimierungsansätzen genutzt werden. In dieser Masterarbeit wird ein Rahmenwerk definiert, um Regeln zu spezifizieren zum Transformieren der Qualitätsattribute einer Softwarekomponente in Relation zu ihren strukturellen Eigenschaften in ihrem komponentenbasierten Softwaresystem. Mit diesem Ansatz kann architekturdefiniertes Wissen in Abhängigkeit der Systemarchitektur parametrisiert werden. Hierdurch können die Qualitätsattribute einer Softwarekomponente, welche erst aus den spezifischen Eigenschaften einer konkreten Softwarearchitektur abgeleitet werden können, spezifiziert und so auch ausgewertet werden. Durch diese verbesserten Auswertungen von strukturellen Eigenschaften sollen die Werkzeuge für Softwarearchitekten verbessert werden, sodass diese bessere Entscheidungen in einem Softwareentwicklungsprozess treffen können. Für die Validierung des Ansatzes werden zwei voneinander unabhängige Fallstudien durchgeführt, um dessen Anwendbarkeit und Nutzen zu zeigen. Zu diesem Zweck wird der Ansatz dieser Masterarbeit sowohl auf eine wissenschaftliche Fallstudie angewandt wie auch auf ein Beispiel, welches sich auf ein reales Industriesystem bezieht. Hiermit wird gezeigt, wie der Ansatz helfen kann, Kompromissentscheidungen über die Softwarearchitektur zwischen mehreren Qualitätsmerkmalen unter der Berücksichtigung der strukturellen Eigenschaften des Softwaresystems zu treffen

    Optimierung von Verfahren zur Lösung rechtsrelevanter Wissensprobleme in kritischen Infrastrukturen : Befunde im Smart Grid und technikrechtliche Empfehlungen

    Get PDF
    Die Arbeit befasst sich mit dem vielschichtigen Interessenausgleich sowie der technikrechtlichen Regulierung an der Schnittstelle von Energiewirtschaftsrecht und Datenschutzrecht. Im Smart Grid wird für die Optimierung von Regulierungswissen ein Verfahren der Bundesnetzagentur vorgeschlagen. Durch dessen Anreicherung um Aspekte der datenschutzkonformen Technikgestaltung kann eine Komplexitätsreduzierung auch durch Visualisierung - angelehnt an das Bau- und Planungsrecht - erreicht werden

    Design Research 2020: Kolloquium Technisches Design: Technische Universität Dresden

    Get PDF
    Der vorliegend Band 14 der Reihe Technisches Design schlägt nach Tagungsbänden und Dissertationsschriften – dem Charakter nach eher abgeschlossene Werke – eine Brücke in die Zukunft der Forschung im Technischen Design, indem es die Textfassungen von acht Beiträgen des ersten öffentlichen Kolloquiums Technisches Design vom September 2020 beinhaltet, die allesamt aus dem Prozess laufender Promotionsvorhaben verfasst wurden. Diese acht Arbeiten stehen damit auch stellvertretend für ganz individuelle Forschungsperspektiven und Schwerpunktsetzungen innerhalb des weiten Möglichkeitsraums aktueller Designforschung. Die Design-Promovierenden stellen ihre jeweiligen aktuellen Stände und besonderen Aspekte ihrer Forschungsarbeiten zur Diskussion und erlauben damit einen Einblick in verschiedenste Phasen ebenso wie sichere und noch offene Passagen ihrer Auseinandersetzung. Die Bandbreite reicht von ausgearbeiteten Exposees der Promotionsvorhaben über die Ergebnisse systematischer Literaturanalysen bis hin zur Darstellung konkreter Untersuchungsplanungen. Alle Beiträge eint die Auseinandersetzung mit dem menschlichen Erleben und Interagieren mit gestalteten Artefakten. Innerhalb dieses Felds decken die Artefakte ein sehr breites Spektrum von nachhaltigen Materialien oder Fertigungsverfahren über vorwettbewerbliche Technologiedemonstratoren bis hin zu kollaborativen Arbeitsplätzen ab. Innerhalb der Arbeiten werden Bezüge und Fragestellungen zu Menschen und Umgebungen in interdisziplinären Entwicklungsprozessen sowie zur Beurteilung und Kommunikation von Neuem durch Expert:innen und Laien entwickelt. Mit der Bandbreite dieser acht Beiträge wird das thematische Spektrum von Promotionsvorhaben an der Professur für Technisches Design gut ausgeleuchtet und entsprechend stolz sind wir auf diesen ersten Band, der ausschließlich Arbeiten unserer Promovend:innen zeigt. Band 14 der Reihe Technisches Design gibt einen aktuellen Einblick in die Forschung an einer der größeren Designforschungseinrichtungen im deutschsprachigen Raum und lässt Sie teilhaben an empirischer Forschung zur erlebenszentrierten Entwicklung vielfältiger Mensch-Technik-Interaktion

    Architekturbasierte Bewertung und Planung von Änderungsanfragen

    Get PDF
    Die Software-Architektur umfasst die technische Organisation eines Software-Systems und die Prinzipien, die den Entwurf und die Evolution des Systems bestimmen. Die Problemstellung ergibt sich aus der Software-Evolution, wenn das System angepasst werden muss. Der Beitrag dieser Arbeit ist ein Verfahren zur Änderungsanfragenanalyse im Architekturmodell, welches die Ableitung von Tätigkeiten in nachgelagerten Tätigkeitsfeldern und Lebenszyklusphasen ermöglicht
    corecore