Mais conteúdo relacionado Semelhante a Medizin und Marketing – die Rolle des Softwarearchitekten heute (20) Mais de Matthias Bohlen (20) Medizin und Marketing – die Rolle des Softwarearchitekten heute1. © 2005-2006
andromda.com
Medizin und Marketing
Die Rolle des Architekten
in heutigen Softwareprojekten
Copyright © 2006: Matthias Bohlen,
<mbohlen@andromda.com>
all rights reserved
2. 2
© 2005-2006
andromda.com
Agenda
• Architektur und Architekten
• Architektur-Metamodelle
• Therapieren und Verkaufen
• Proaktiv und reaktiv vorgehen
• Gesprächspartner und Sprachen
• Benötigte Skills und Werkzeuge
• Fragen und Antworten
3. 3
© 2005-2006
andromda.com
Matthias Bohlen - Profil
• Freiberuflicher Berater
– Architektur
– Modellgetriebene Softwareentwicklung, MDA
– Objekt- und Komponententechnologien
• Dienstleistungsangebot
Beratung
Schulung
Training
Coaching
Analyse, Design, Architektur
Technische Projektleitung
Katalyse bei "Stau im Projekt"
4. 4
© 2005-2006
andromda.com
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. 5
© 2005-2006
andromda.com
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
7. 7
© 2005-2006
andromda.com
Architektur und Design (1)
• Architektur
– definiert Arten von Bausteinen, die der
Anwendungsprogrammierer zur Verfügung
hat, um eine Anwendung zu bauen
• Beispiel: Komponente, Interface
• Anwendungsdesign
– definiert die konkreten Ausprägungen
obiger Bausteine
• Beispiel: Komponente Bestellannahme spricht
mit Komponente Kundenverwaltung per
Interface Kundenabfrage
Markus Völter und Arno Haase: "Architektur ohne Hype"
8. 8
© 2005-2006
andromda.com
Architektur und Design (2)
• Für die Modellierer unter uns:
– Architektur definiert das Metamodell
– Anwendungsdesign definiert das Modell
• Der Architekt muss das Metamodell
der Architektur…
– entwerfen
– pflegen
– durchsetzen
– verteidigen
Das ist das Entscheidende
in diesem Vortrag!
9. 9
© 2005-2006
andromda.com
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
10. 10
© 2005-2006
andromda.com
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
11. 11
© 2005-2006
andromda.com
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.
12. 12
© 2005-2006
andromda.com
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!"
13. 13
© 2005-2006
andromda.com
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!"
14. 14
© 2005-2006
andromda.com
Medizin und Marketing
• Architekt = Arzt + Verkäufer
• Arzt *
– Diagnose: Symptome und Ursachen erkennen
– Medikamente aussuchen
– Therapie erarbeiten und einleiten
• Verkäufer
– Kundenbedürfnis/-dilemma erkennen
– Standpunkte verstehen
– Verkaufsgespräch führen
– Unterschrift unter Vertrag bekommen
* Medizin-Metapher nach Klaus Marquardt, Draeger Medical
16. 16
© 2005-2006
andromda.com
Proaktiv und reaktiv
• Vorgehen gegen den Verfall
– proaktiv: im Vorhinein
– reaktiv: beim Auftreten eines Symptoms
• Sowohl Medizin als auch Marketing
kann auf beide Arten und Weisen
erfolgen
– und wird besonders durch die Kombination
erfolgreich!
17. 17
© 2005-2006
andromda.com
Marketing: Beispiele
• proaktives Verkaufen der Architektur
– im Lenkungskreis des Projektes
– im Entwicklerteam-Meeting
– auf der Führungsebene
– in einer Schulung für den künftigen
Betreiber des Systems
• reaktiv immer wieder "nachlegen"
– Ausbilden neuer Dienstleister, die Reklame
für ein anderes Metamodell machen
– Feedback für die Entwickler in der
Rückbetrachtung am Ende einer Iteration
18. 18
© 2005-2006
andromda.com
Medizin: Beispiele
• proaktiv der Krankheit vorbeugen
– das Metamodell der Architektur in Regeln gießen
– die Regeln den Stakeholdern implantieren
• Checkstyle für die Entwickler
• OCL Constraints für die Analysten/Designer
• reaktiv therapierend eingreifen
– Diagnose mittels Code Review oder automatischen
Werkzeugen wie Sotograph
– Refactoring verordnen und/oder durchführen
– Metamodell im Fall größeren Krankheitspotenzials
anpassen
– Therapien dem Lebensalter und der Größe des
Patienten anpassen
19. 19
© 2005-2006
andromda.com
Metamodell: ein Beispiel
OptimierungsBibliothek
MathematischerKernObjektschale
«metaclass»
RemoteFassade
«metaclass»
Transformer
«metaclass»
Service
«metaclass»
ThematischerController
«metaclass»
Collector
Ausschnitt des
Optimierungsteils
eines Logistiksystems
(Details weggelassen)
20. 20
© 2005-2006
andromda.com
Turmbau zu Babel?
Geldgeber Projektleiter
• Jeder Stake-
holder hat sein
eigenes Ver-
ständnis des
Architektur-
Metamodells
– manche wissen
nicht, was ein
Modell ist!
– Architekt muss
transformieren!
Architektur-
Metamodell
Fachbereich Implementierer
Betreiber QM
21. 21
© 2005-2006
andromda.com
Gesprächspartner und deren Ziele
•beobachtbar
•problemlos
•ordentlich
•korrekt
•standardkonform
•anspruchsvoll
•aufregend
•cool
•schön
BetreiberQualitäts-
Management-Team
Implementierungs-
team
•praktisch
•vollständig
•performant
•pünktlich
•im Kostenrahmen
•schnell
•kostengünstig
Fachbereich /
Analytiker
ProjektleiterManager /
Geldgeber
22. 22
© 2005-2006
andromda.com
Gesprächspartner und Sprachen
• Technikdeutsch
• Herstellerenglisch
• Dokumente
• Powerpoint
• ISO-Deutsch
• Modelle
• Dokumente
• "Geek speak"
• Code
• Design-Modelle
• Powerpoint
BetreiberQualitäts-
Management-Team
Implementierungs-
team
• Fach-Chinesisch
• Dokumente
• Modelle
• Managerdeutsch
• Project
• Powerpoint
• Businessdeutsch
• Powerpoint
Fachbereich /
Analytiker
ProjektleiterManager /
Geldgeber
23. 23
© 2005-2006
andromda.com
Notwendige Skills des Architekten
• Als Arzt und Verkäufer auftreten
• Abstraktionsvermögen zum Erklären
• Sprach- und Übersetzertalent
• Charisma zum Überzeugen
• Kenntnis der typischen "Arzneimittel"
• Geduld für Dauertherapien
• Fähigkeit zum Rückzug in die Ruhe