© 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
© 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
© 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
© 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
© 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
6
© 2005-2006
andromda.com
Der Job des Architekten
Req.
Docs
Architekt
Lösungs-
strategie
Einfluss-
faktoren
Architektur-
Metamodell
Stakeholder
Risiken
und
Vorgehen
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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
15
© 2005-2006
andromda.com
Architektur hochhalten
• Architektur ist erst fertig, wenn das
System selbst fertig ist
• Problem: Sie verfällt mit der Zeit,
wenn man nichts dagegen tut!
• Medizin und Marketing sind Mittel
gegen den Verfall von Architektur
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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
24
© 2005-2006
andromda.com
Fragen?
• Nur zu!
Matthias Bohlen
<mbohlen@andromda.com>
Fon: +49 (170) 772 8545

Medizin und Marketing – die Rolle des Softwarearchitekten heute

  • 1.
    © 2005-2006 andromda.com Medizin undMarketing Die Rolle des Architekten in heutigen Softwareprojekten Copyright © 2006: Matthias Bohlen, <mbohlen@andromda.com> all rights reserved
  • 2.
    2 © 2005-2006 andromda.com Agenda • Architekturund 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 • bestehtaus 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… • garantierenErfü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.
    6 © 2005-2006 andromda.com Der Jobdes Architekten Req. Docs Architekt Lösungs- strategie Einfluss- faktoren Architektur- Metamodell Stakeholder Risiken und Vorgehen
  • 7.
    7 © 2005-2006 andromda.com Architektur undDesign (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 undDesign (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: Mutzur 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 Menschensprechen • 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 undMarketing • 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
  • 15.
    15 © 2005-2006 andromda.com Architektur hochhalten •Architektur ist erst fertig, wenn das System selbst fertig ist • Problem: Sie verfällt mit der Zeit, wenn man nichts dagegen tut! • Medizin und Marketing sind Mittel gegen den Verfall von Architektur
  • 16.
    16 © 2005-2006 andromda.com Proaktiv undreaktiv • 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: einBeispiel 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 zuBabel? 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 undderen 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 undSprachen • 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 Skillsdes 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
  • 24.
    24 © 2005-2006 andromda.com Fragen? • Nurzu! Matthias Bohlen <mbohlen@andromda.com> Fon: +49 (170) 772 8545