Medizin und Marketing – die Rolle des Softwarearchitekten heute
-
Upload
matthias-bohlen -
Category
Software
-
view
57 -
download
0
Transcript of Medizin und Marketing – die Rolle des Softwarearchitekten heute
© 2005-2006andromda.com
Medizin und Marketing
Die Rolle des Architekten in heutigen Softwareprojekten
Copyright © 2006: Matthias Bohlen,<[email protected]>all rights reserved
2
© 2005-2006andromda.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-2006andromda.com
Matthias Bohlen - Profil
• Freiberuflicher Berater– Architektur– Modellgetriebene Softwareentwicklung, MDA– Objekt- und Komponententechnologien
• DienstleistungsangebotBeratung
Schulung
Training
Coaching
Analyse, Design, Architektur
Technische Projektleitung
Katalyse bei "Stau im Projekt"
4
© 2005-2006andromda.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-2006andromda.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-2006andromda.com
Der Job des Architekten
Req. Docs
Architekt
Lösungs-strategie
Einfluss-faktoren
Architektur-Metamodell
Stakeholder
Risikenund
Vorgehen
7
© 2005-2006andromda.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-2006andromda.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-2006andromda.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-2006andromda.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-2006andromda.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-2006andromda.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-2006andromda.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-2006andromda.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-2006andromda.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-2006andromda.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-2006andromda.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-2006andromda.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-2006andromda.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-2006andromda.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-2006andromda.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-2006andromda.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-2006andromda.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-2006andromda.com
Fragen?
• Nur zu!
Matthias Bohlen <[email protected]>Fon: +49 (170) 772 8545