Die Softwareentwicklung im Allgemeinen ist alles andere als ein abgeschlossenes Handwerk, welches sich mit dem sturen Befolgen festgelegter Strukturen und Vorgehensweisen beschäftigt. Das Gegenteil ist der Fall. Mit der zunehmenden Globalisierung und dem damit einhergehenden Druck in Sachen Qualität und Effizienzsteigerung gewinnt die Entwicklung neuer Technologien, Methoden und Werkzeugen mehr denn je an Bedeutung. Hinzu kommt, dass unternehmens- und branchenübergreifende Wertschöpfungsketten zunehmend komplexer werden, was es ebenfalls zu bewerkstelligen gilt. Die Unternehmen jeglicher Branche sind damit angewiesen, die Effizienz ihrer Geschäftsprozesse kontinuierlich zu steigern und an dynamischen Gegebenheiten anzupassen.
In diesem Zusammenhang bekommt die Informationstechnik eine tragende Rolle, da sie maßgeblich zur Gestaltung und Umsetzung dieser Anforderungen beiträgt, insbesondere durch softwaretechnische Unterstützung. Innerhalb der Softwaretechnik existiert eine Vielzahl unterschiedlicher Teilgebiete, die allesamt auf die erfolgreiche Planung, Entwicklung und Wartung von Software abzielen. Neben den Kernprozessen der Spezifikation, Planung, Entwurf, Implementierung, Validierung und Wartung existieren weitere, begleitende Themen. Als Beispiel seien die Aspekte des Projekt- und Qualitätsmanagements sowie die Dokumentation in allen Phasen genannt. Letzteres stellt im Zusammenhang mit Softwarearchitekturen den Kernaspekt der Arbeit dar.
Auf die Bedeutung von Software-Architekturen, insbesondere ihrer Dokumentation, wird im Verlauf der Arbeit noch präzise eingegangen. Vorab kann jedoch vermittelt werden, dass es sich um ein Thema handelt, welches einerseits häufig als unbequeme Nebensache „unter den Tisch fällt“, andererseits jedoch weitreichende oder gar fatale Konsequenzen mit sich bringt, sofern dem Thema nicht genügend Beachtung geschenkt wird. Um dies zu verhindern, ist ein strukturierter und methodisch geprägter Umgang mit der Dokumentation von elementarer Wichtigkeit. Insbesondere unter der Prämisse eines agilen Vorgehensmodells, welches durch kurze, iterative Entwicklungszyklen geprägt ist und damit zusätzliche Anforderungen mit sich bringt. Mit der Dokumentation sollte zudem ein bestimmter Zweck verfolgt werden. Im Idealfall ist dieser bereits vor Projektbeginn definiert und entsprechend unter den Projektbeteiligten kommuniziert, was in der Praxis jedoch nur selten Beachtung findet.
Inhaltsverzeichnis
1 Einleitung
1.1 Problemstellung und Motivation
1.2 Aufbau der Arbeit
2 Unternehmen und Projektumfeld
2.1 Die Daimler AG
2.2 Die Abteilung ITS/GR
2.3 Die Abteilung GSP/ORP
2.4 Technische Pakete: Projekt „TecPac“
3 Grundlagen
3.1 Klassische Softwareentwicklung
3.1.1 Wasserfallmodell
3.1.2 V-Modell
3.2 Agile Software-Entwicklung
3.2.1 Allgemeines zum agilen Vorgehen
3.2.2 Scrum
3.2.3 Anpassungen im Projekt „Technische Pakete“
3.3 Software-Architektur
3.3.1 Begriff der Architektur
3.3.2 Der Software-Architekt
3.3.3 Enterprise Architecture (Management)
3.4 Grundlagen zur Dokumentation
3.4.1 Anforderungen an die Dokumentation
3.4.2 Sichten
3.4.3 Einheitliche Notation mit UML 2.0
3.5 Bewertung von Architekturen
3.5.1 Allgemeines zu Bewertungsmodellen
3.5.2 Architecture Tradeoff Analysis Method
3.6 Architekturframework und -Standards
3.6.1 Zachmann-Framework
3.6.2 IEEE Std 1471-2000
3.6.3 TOGAF
3.6.4 Arc42
3.7 Standards der Daimler AG
3.7.1 HoustonIT und das HBSG+B
3.7.2 Daimler Architektur-Standard: PAI
4 Dokumentation der Architektur im Projekt „TecPac“
4.1 Eine Roadmap über die Vorgehensschritte der Arbeit
4.2 Die Tools und Plattformen der Architekturdokumentation
4.2.1 Rational DOORS als Standardtool für die Dokumentation
4.2.2 Microsoft SharePoint 2010 als Projektplattform
4.3 Anforderungen an die Architekturdokumentation in „TecPac“
4.4 Erstellung einer Matrix für die Stakeholder der Architektur
4.4.1 Identifizierung der Stakeholder
4.4.2 Bereiche der Architektur
4.4.3 Nutzen und Verwendung der Architektur-Dokumentation
4.4.4 Unterscheidung von Detaillierungsstufen
4.4.5 Bestimmung des Dokumentationsangebots
4.4.6 Ableiten der spezifischen Dokumente
4.5 Integration von HoustonIT in das arc42-Template
4.6 Der Umgang mit redundanten oder fehlenden Informationen
4.7 Architekturdokumentation anhand eines Beispiels in DOORS
4.7.1 Erstellung eines Print-Moduls
4.7.2 Anlegen von speziellen Views durch Attribute und Filter
4.7.3 Konfiguration des Druck-Moduls
4.8 Die Prozesssicht der Architekturdokumentation
5 Fazit und Schlussbetrachtung
Zielsetzung & Themen
Die vorliegende Arbeit untersucht die Herausforderungen und Lösungsansätze für eine strukturierte und zielgerichtete Dokumentation von Softwarearchitekturen innerhalb agiler Projekte. Ziel ist es, Handlungsempfehlungen für das Projekt „Technische Pakete“ (TecPac) bei der Daimler AG zu entwickeln, indem bestehende Frameworks und Werkzeuge analysiert und auf ihre praktische Anwendbarkeit geprüft werden.
- Analyse agiler Vorgehensmodelle und deren Einfluss auf die Architekturdokumentation.
- Etablierung eines stakeholder- und zweckorientierten Dokumentationsansatzes mittels Stakeholder-Matrix.
- Evaluierung von Architekturframeworks (insbes. arc42) und deren Integration in bestehende Unternehmensstandards.
- Konzeption eines prozessualen Rahmens zur Erstellung von Architekturdokumentation in iterativen Zyklen.
- Praktische Erprobung und Demonstration der Dokumentationsmethodik anhand des Werkzeugs Rational DOORS.
Auszug aus dem Buch
3.3.2 Der Software-Architekt
Im Gegensatz zur weitverbreiteten Meinung der Praxis sind Software-Architekten keine Übermenschen oder Alleskönner. Dennoch kommt ihnen eine besondere Rolle zu. Nach Gernot Starke bilden sie „(…) die Schnittstelle zwischen Analyse, Entwurf, Implementierung, Management und Betrieb von Software.“ Jedoch können auch Softwarearchitekten nicht alle Probleme selbstständig lösen. Sie sind zudem abhängig von einem sauber durchgeführten Projektmanagement, fachkundigem Entwicklerteam sowie den Vorstellungen der Auftraggeber. Weiterhin müssen Softwarearchitekten die Umsetzbarkeit der Anforderungen überprüfen, gewährleisten und im Folgenden auch überwachen. Die Aufgaben dieser Rolle ist so unterschiedlich wie komplex und verlangt eine Vielzahl unterschiedlicher Kompetenzen, die im Nachfolgenden kurz erläutert werden.
Softwarearchitekten konstruieren sämtliche Bestandteile wie Komponenten, Schnittstellen und Strukturen, die für Entwicklung, Betrieb und Wartung anfallen. Dabei legen sie Verantwortlichkeiten fest, beschreiben Schnittstellen und entwerfen statische und dynamische Strukturen. Sie haben zudem die Aufgabe, die Machbarkeit der Anforderungen z.B. anhand von Prototypen zu belegen und dies stets unter Berücksichtigung der Wirtschaftlichkeit eines Systems.
Die Dokumentation der Architekturarbeit ist ebenfalls ein Schwerpunkt des Architekten. Eine angemessene Dokumentation ist ein kritischer Faktor, den es vom Architekten festzulegen und zu bewältigen gilt. Dabei muss er sowohl Umfang und Granularität, als auch Interessen der einzelnen Adressaten beachten (Siehe Kapitel 3.4). Softwarearchitekten besitzen zudem eine Beratungsfunktion und stehen für nahezu alle architektonischen Fragestellungen sämtlicher Projektbeteiligten Rede und Antwort. Dies beinhaltet u.a. die Projektplanung, Organisation, Anforderungsanalyse, Einteilung und Steuerung der Teams, Kritikalitätsbewertung, Risikomanagement und Qualitätssicherung. Dabei haben sie stets den Anspruch Komplexität zu vereinfachen, Zielkonflikte zu umgehen und Alternativen bereitzustellen.
Zusammenfassung der Kapitel
1 Einleitung: Beschreibt die Problemstellung der Architekturdokumentation in agilen Projekten und skizziert den Aufbau der Bachelorthesis.
2 Unternehmen und Projektumfeld: Stellt die Daimler AG, die relevante Abteilung ITS/GR sowie das Projekt „Technische Pakete“ (TecPac) vor.
3 Grundlagen: Erläutert theoretische Konzepte von Vorgehensmodellen, Softwarearchitektur, Dokumentationsgrundlagen, Bewertungsmodellen und einschlägigen Frameworks.
4 Dokumentation der Architektur im Projekt „TecPac“: Analysiert und erarbeitet Methoden zur zielgruppengerechten Dokumentation unter Verwendung der Tools DOORS und SharePoint im Projektkontext.
5 Fazit und Schlussbetrachtung: Reflektiert die erzielten Ergebnisse und bewertet das gewählte methodische Vorgehen innerhalb des agilen Projekts.
Schlüsselwörter
Softwarearchitektur, Architekturdokumentation, Agile Softwareentwicklung, Projekt Technische Pakete, TecPac, Daimler AG, Rational DOORS, SharePoint 2010, Stakeholderanalyse, Architekturframework, arc42, Qualitätssicherung, Prozessmodellierung, Anforderungsmanagement, Systemdokumentation.
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit befasst sich mit der Herausforderung, eine effiziente und zielgruppengerechte Architekturdokumentation in agilen Softwareprojekten zu etablieren, wobei das Projekt „Technische Pakete“ bei der Daimler AG als Fallstudie dient.
Was sind die zentralen Themenfelder der Arbeit?
Die zentralen Felder umfassen Methoden zur strukturierten Architekturbeschreibung, die Anwendung von Architekturframeworks wie arc42, die Stakeholder-Analyse sowie die prozessuale Integration in das agile Projektmanagement.
Was ist das primäre Ziel der Arbeit?
Das primäre Ziel ist es, eine methodische Grundlage zu schaffen, um Architekturwissen im Projektkontext transparent, aktuell und nutzbringend zu dokumentieren, ohne dabei den agilen Entwicklungsprozess zu behindern.
Welche wissenschaftliche Methode wird verwendet?
Die Arbeit nutzt eine Kombination aus Literaturanalyse zu theoretischen Grundlagen und einer praxisorientierten Untersuchung (Fallstudie) im Projekt „TecPac“, inklusive der Erstellung einer Stakeholder-Matrix und der Evaluierung von Tool-Plattformen.
Was wird im Hauptteil der Arbeit behandelt?
Im Hauptteil wird analysiert, wie Anforderungen an eine Dokumentation abgeleitet werden, wie Architektur-Frameworks an betriebliche Vorgaben angepasst werden und wie mithilfe von Tools wie DOORS eine konsistente Dokumentation erzeugt und gepflegt werden kann.
Welche Schlüsselwörter charakterisieren die Arbeit am besten?
Softwarearchitektur, Architekturdokumentation, Agilität, Daimler AG, TecPac, Rational DOORS, Stakeholder-Analyse und arc42.
Wie spielt das Rational DOORS Tool eine Rolle in diesem Projekt?
Rational DOORS dient als zentrale Plattform, um Anforderungen und Architekturinhalte hierarchisch zu verwalten, Sichten für unterschiedliche Stakeholder zu filtern und daraus automatisiert Dokumentationen in verschiedenen Formaten zu generieren.
Warum wird das arc42-Framework für dieses Projekt als geeignet erachtet?
Das arc42-Template bietet eine ausgereifte Ablagestruktur, ist frei verfügbar und deckt alle wesentlichen Architekturbereiche ab, was eine flexible und zielgruppengerechte Anpassung an die spezifischen Anforderungen des agilen Projekts „TecPac“ ermöglicht.
- Citar trabajo
- Manuel Kreuz (Autor), 2013, Dokumentation, Methoden und Prozesse von Softwarearchitekturen in agilen Projekten, Múnich, GRIN Verlag, https://www.grin.com/document/353480