medizin und marketing – die rolle des softwarearchitekten heute

24
© 2005-2006 andromda.com Medizin und Marketing Die Rolle des Architekten in heutigen Softwareprojekten Copyright © 2006: Matthias Bohlen, <[email protected]> all rights reserved

Upload: matthias-bohlen

Post on 26-Jul-2015

57 views

Category:

Software


0 download

TRANSCRIPT

Page 1: 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

Page 2: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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

Page 3: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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"

Page 4: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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.

Page 5: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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

Page 6: Medizin und Marketing – die Rolle des Softwarearchitekten heute

6

© 2005-2006andromda.com

Der Job des Architekten

Req. Docs

Architekt

Lösungs-strategie

Einfluss-faktoren

Architektur-Metamodell

Stakeholder

Risikenund

Vorgehen

Page 7: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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"

Page 8: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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!

Page 9: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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

Page 10: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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

Page 11: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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.

Page 12: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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!"

Page 13: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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!"

Page 14: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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

Page 15: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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

Page 16: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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!

Page 17: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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

Page 18: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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

Page 19: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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)

Page 20: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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

Page 21: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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

Page 22: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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

Page 23: Medizin und Marketing – die Rolle des Softwarearchitekten heute

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

Page 24: Medizin und Marketing – die Rolle des Softwarearchitekten heute

24

© 2005-2006andromda.com

Fragen?

• Nur zu!

Matthias Bohlen <[email protected]>Fon: +49 (170) 772 8545