“Softwarearchitektur besteht aus Struktur, Verhalten und Stil” – das lernen wir aus der Literatur. Richtig! Nur: Ist das alles? Im Projektalltag ist der Architekt auch der große Kommunikator und Dolmetscher, der erklärt, vermittelt, Händchen hält, zuweilen auch “die Peitsche schwingt”. Lernen Sie heute, warum Architektur und Kommunikation in einem Softwareprojekt fast ein und dasselbe sind.
1. Architektur = Kommunikation
Warum Architekten im Software-
projekt so viel reden müssen…
Matthias Bohlen
unabhängiger Software-Architekt und
Berater für Methoden und Verfahren
der modernen Software-Entwicklung
mbohlen@mbohlen.de
http://www.mbohlen.de
2. Matthias Bohlen <mbohlen@mbohlen.de> 2
Agenda
Architektur und Architekten
Entwurfs-Entscheidungen
Warum Kommunikation so unendlich
wichtig ist!
Gesprächspartner und Lieblingsthemen
Skills eines guten Architekten
Fragen und Antworten
4. Matthias Bohlen <mbohlen@mbohlen.de> 4
Software-Architektur
besteht aus Struktur, Verhalten und
Entwurfsstil eines DV-Systems
Conrad Whittaker (Ingenieur, SPAWAR SSC-SD, San Diego)
Was ist der Unterschied, wenn ein Architekt oder ein Ingenieur ein Haus bauen?
Das Haus des Architekten wird einstürzen
versus
Die Öffentlichkeit wird verlangen, dass man das Haus des Ingenieurs abreißt.
Prof. Philippe Kruchten (University of British Columbia, Vancouver):
Das Leben von Software-Architekten besteht aus einer
langen und schnellen Abfolge von Entwurfsentscheidungen,
die meist im Dunkel getroffen werden.
5. Matthias Bohlen <mbohlen@mbohlen.de> 5
Architekten…
garantieren Erfüllung der
Anforderungen
klären Einflussfaktoren
beweisen Konzepte
entwerfen Strukturen
entscheiden Alternativen
bewerten und
balancieren
Anforderungen
kommunizieren
Entwurfsideen
beraten in
architekturrelevanten
technischen Fragen
dokumentieren
implementieren
bewerten und
vereinfachen
Architekturen
nach Gernot Starke:
http://www.arc42.de/ArchitekturundArchit.html
6. Matthias Bohlen <mbohlen@mbohlen.de> 6
Zwei Führungskräfte im Projekt
Der Software-Architekt wird manchmal auch
"technischer Projektleiter" genannt
Abgrenzung zum "klassischen" Projektleiter
Architekt: Technik, Systemstruktur, Regeln zum Bauen
Projektleiter: Kosten, Termine, Ressourcen
Beide machen Vorgaben, doch keiner redet dem
anderen hinein!
"Der Architekt verhält sich zum Projektleiter wie die
Kirche zum Staat." (zitiert nach Philippe Kruchten)
7. Matthias Bohlen <mbohlen@mbohlen.de> 7
Der Job des Architekten
Req.
Docs
Projektbeteiligte
Einfluss-
faktoren
Architekt
Lösungs-
strategie
Risiken
und
Vorgehen
Architektur-
Entwurf
8. Matthias Bohlen <mbohlen@mbohlen.de> 8
Input für Architekten
Der Architekt muss
mit vielen Projekt-
beteiligten sprechen,
um die Systemidee
zu entwickeln und
Einflussfaktoren auf
die Architektur zu
ermitteln
Aus diesen heraus
fällt er Entwurfs-
entscheidungen
Architekt
ProjektleiterGeldgeber
Implementierer
QM
Fachbereich
Betreiber
9. Matthias Bohlen <mbohlen@mbohlen.de> 9
Entwurfsentscheidung – was ist das?
Ausgangslage
Wirksame Kräfte
Zur Verfügung stehende Alternativen
für die Systemstruktur
für das Systemverhalten
für eingesetzte Fertigprodukte, usw.
Bewertung und Entschluss
Konsequenzen
10. Matthias Bohlen <mbohlen@mbohlen.de> 10
Beispiel: Mut zur Korrektur
Kunde möchte für die neue Anwendung selbst Reports
entwerfen und ausführen können
Es wird daher ein relativ teures Reportingwerkzeug
beschafft und eingesetzt
Praxis zeigt: Es ist komplex und funktioniert nicht wie erwartet
Integrationsaufwand für das Werkzeug steigt ständig
(Kunde und Projektleiter werden nervös)
Betreiber ist ungehalten, weil das Tool nicht richtig in seine
Serverlandschaft passt
Kunde ignoriert beständig das Werkzeug, weil er es nicht
versteht
Kunde "bestellt" seine Reports nun doch bei den Entwicklern
11. Matthias Bohlen <mbohlen@mbohlen.de> 11
Beispiel: Architekt entscheidet
Architekt trifft folgende Entwurfs-
entscheidung:
"Lasst uns das Werkzeug weglassen und durch
eine einfache Java/Open Source-Komponente
ohne Layout-Tool ersetzen!"
Er stellt nun die Folgen der Entscheidung
allen betroffenen Projektbeteiligten dar
PL, Kunde, Entwickler
12. Matthias Bohlen <mbohlen@mbohlen.de> 12
Konsequenzen darstellen
Architekt zum Projektleiter:
"Das Werkzeug hat EUR 30.000 gekostet. Die
werden wir verlieren. Wenn unsere Entwickler
durch die einfachere Java-/Open Source-
Lösung jedoch nur 10 Tage einsparen, haben
wir die 30.000 wieder drin!"
Außerdem: "Der Kunde macht seine Reports
(wie sich in der Praxis zeigt) eben doch nicht
selbst! Verhandle doch bitte mit ihm über
Change Requests zur Reporterstellung."
Projektleiter schluckt heftig, doch er akzeptiert.
13. Matthias Bohlen <mbohlen@mbohlen.de> 13
Mit Menschen sprechen
Architekt zum Kunden:
"Du willst doch die Reports in Wirklichkeit gar
nicht selbst machen sondern beauftragst sie
ohnehin bei uns. Daher wird es Dir egal sein, ob
wir sie mit einem Werkzeug oder von Hand
layouten, richtig?"
Kunde:
"Stimmt. Wenn Ihr dadurch die Kosten wieder in
den Griff bekommt, soll mir das recht sein!"
14. Matthias Bohlen <mbohlen@mbohlen.de> 14
Entscheidungen kommunizieren
Architekt zu den Entwicklern:
"Hört bitte auf, um das Reportingwerkzeug
herumzuprogrammieren und macht bitte einen
Prototyp als proof of concept für Reporting auf
Basis von Jasper."
"Werft dann bitte die seltsame Komponente
wieder weg, die Ihr gebraucht habt, um die
Engine des Reportingwerkzeuges in die Java-
Webanwendung zu integrieren."
Entwickler: "Hurra, der Klotz am Bein ist weg!"
15. Matthias Bohlen <mbohlen@mbohlen.de> 15
Entwurfsprozess des Architekten
kreativ, kommunizierend, koordinierend
das System aus verschiedenen
Blickwinkeln betrachten
aus Einflussfaktoren Entscheidungen
herleiten, deren Konsequenzen ermitteln
und übersetzen
Aufteilung, Struktur, Aussehen und
Verhalten des Systems definieren
17. Matthias Bohlen <mbohlen@mbohlen.de> 17
Manager / Geldgeber
Gesprächsthemen
Kosten
strategische Vorteile
Sprachen
Businessdeutsch
Powerpoint
Architekt fragt:
Welche Features bieten
für den Kunden den
größten geschäftlichen
Vorteil?
Was sind die großen
Ziele bzw. die großen
Events, zu denen wir
etwas zeigen müssen
(Messe, Produkt-
offensive o.ä.)?
18. Matthias Bohlen <mbohlen@mbohlen.de> 18
Fachbereich / Analytiker
Gesprächsthemen
Geschäftsprozesse
Anforderungen bzw.
Features der Anwendung
Daten existierender
Systeme
Rechtsvorschriften
Sprachen
Fachchinesisch
Dokumente
Modelle
Architekt spricht über:
Glossar der Fachbegriffe
Anforderungen und deren
Absicherung durch
fachliche Testfälle
Datentransformationen
Prozessintegration
Benutzeroberflächen
Unnötig teure
Anforderungen
19. Matthias Bohlen <mbohlen@mbohlen.de> 19
Projektleiter
Gesprächsthemen
Kosten
Termine
Risiken
Fortschritt
Sprachen
Managerdeutsch
Project
Powerpoint
Architekt spricht über:
Zeit- bzw. Releaseplan
Features
Iterationen
Teambesetzung bzw.
Skills
Produktstruktur
Komponenten
Schnittstellen
Hardware-Ausstattung
Risiken am Horizont
Fallbackstrategien
23. Matthias Bohlen <mbohlen@mbohlen.de> 23
Tool- und Framework-Anbieter
Gesprächsthemen
Produkte
Module
Lizenzen
Sprachen
Kaufmannsdeutsch
Herstellerenglisch
Powerpoint
Architekt spricht über:
Tatsächlichen Nutzen
im Projekt
Kostenbewertung
Evaluationsversionen
Testergebnisse
Change Requests an
den Anbieter
Synchronisation von
Releaseterminen
24. Matthias Bohlen <mbohlen@mbohlen.de> 24
Andere Architekten
Gesprächsthemen
System
Struktur
Verhalten
Stil
Sprachen
Patterndeutsch
Geek speak
Modelle
Dokumente
Powerpoint
Architekt spricht über:
Anforderungen
Konsequenzen
Vor- / Nachteile
Entscheidungen
Design
Schönheit / Coolness
Angemessenheit
Einfachheit
Guten/schlechten Stil
die anderen Leute im
Projekt, die einen nicht in
Ruhe lassen…
25. Matthias Bohlen <mbohlen@mbohlen.de> 25
Ein guter Architekt…
hat folgende
"Soft Skills"
Abstraktionsvermögen
Überzeugungskraft
Charisma
Qualitätsbewusstsein
Entscheidungsfreude
Verhandlungsgeschick
Übersetzertalent für
"Fremdsprachen"
und noch softer…
Fähigkeit zum
Selbstmanagement
äußerst geringe
"Ladezeiten" des
Kurzzeitgedächtnisses
Einfühlungsvermögen
Intuition und Humor
Fähigkeit zum Rückzug
in die Ruhe, wenn nötig
26. Matthias Bohlen <mbohlen@mbohlen.de> 26
Zusammenfassung
Architektur lebt vom Input aller Beteiligten
Eine Architektur zu entwickeln ist nur mit
intensiver Kommunikation untereinander
möglich
Architekt muss ein Kommunikator
"par excellence" sein!
27. Matthias Bohlen <mbohlen@mbohlen.de> 27
Diskussion
Ihre Fragen und Anregungen:
Ihren Projekterfolg unterstütze ich gerne
als Architekt und Coach
Sie erreichen mich unter:
mbohlen@mbohlen.de
oder Tel. 0170 / 772 8545
? !
28. Matthias Bohlen <mbohlen@mbohlen.de> 28
Einladung
openArchitecture 2005
15. – 17. November 2005
Hilton Hotel, Bonn
Peter Friese, Matthias Bohlen:
"MDA im Jetstream"
Wir fertigen live auf der Bühne, vor Ihren Augen,
eine Anwendung nach Ihren Anforderungen!
http://www.openarchitecture.de/