Medizin und Marketing – die Rolle des Softwarearchitekten heute

Post on 26-Jul-2015

57 views 0 download

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,<mbohlen@andromda.com>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 <mbohlen@andromda.com>Fon: +49 (170) 772 8545