architektur = kommunikation

28
Architektur = Kommunikation Warum Architekten im Software- projekt so viel reden müssen… Matthias Bohlen unabhängiger Software-Architekt und Berater für Methoden und Verfahren der modernen Software-Entwicklung [email protected] http://www.mbohlen.de

Upload: matthias-bohlen

Post on 26-Jul-2015

86 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Architektur = Kommunikation

Architektur = Kommunikation

Warum Architekten im Software-

projekt so viel reden müssen…

Matthias Bohlen

unabhängiger Software-Architekt und

Berater für Methoden und Verfahren

der modernen Software-Entwicklung

[email protected]

http://www.mbohlen.de

Page 2: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 2

Agenda

Architektur und Architekten

Entwurfs-Entscheidungen

Warum Kommunikation so unendlich

wichtig ist!

Gesprächspartner und Lieblingsthemen

Skills eines guten Architekten

Fragen und Antworten

Page 3: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 3

Matthias Bohlen - Profil

Freiberuflicher Berater

Architektur

Modellgetriebene Softwareentwicklung

Objekt- und Komponententechnologien

Dienstleistungsangebot

Consulting: Architektur, Methoden

Training: Analyse, Design, Programmierung

Schulungen / Seminare / Workshops

Page 4: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 4

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: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 5

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: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 6

Zwei Führungskräfte im Projekt

Der Software-Architekt wird manchmal auch

"technischer Projektleiter" genannt

Abgrenzung zum "klassischen" Projektleiter

Architekt: Technik, Systemstruktur, Regeln zum Bauen

Projektleiter: Kosten, Termine, Ressourcen

Beide machen Vorgaben, doch keiner redet dem

anderen hinein!

"Der Architekt verhält sich zum Projektleiter wie die

Kirche zum Staat." (zitiert nach Philippe Kruchten)

Page 7: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 7

Der Job des Architekten

Req.

Docs

Projektbeteiligte

Einfluss-

faktoren

Architekt

Lösungs-

strategie

Risiken

und

Vorgehen

Architektur-

Entwurf

Page 8: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 8

Input für Architekten

Der Architekt muss

mit vielen Projekt-

beteiligten sprechen,

um die Systemidee

zu entwickeln und

Einflussfaktoren auf

die Architektur zu

ermitteln

Aus diesen heraus

fällt er Entwurfs-

entscheidungen

Architekt

Projektleiter Geldgeber

Implementierer

QM

Fachbereich

Betreiber

Page 9: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 9

Entwurfsentscheidung – was ist das?

Ausgangslage

Wirksame Kräfte

Zur Verfügung stehende Alternativen

für die Systemstruktur

für das Systemverhalten

für eingesetzte Fertigprodukte, usw.

Bewertung und Entschluss

Konsequenzen

Page 10: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 10

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 11: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 11

Beispiel: 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 12: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 12

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 13: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 13

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 14: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 14

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 15: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 15

Entwurfsprozess des Architekten

kreativ, kommunizierend, koordinierend

das System aus verschiedenen

Blickwinkeln betrachten

aus Einflussfaktoren Entscheidungen

herleiten, deren Konsequenzen ermitteln

und übersetzen

Aufteilung, Struktur, Aussehen und

Verhalten des Systems definieren

Page 16: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 16

Gesprächspartner und deren Ziele

Manager / Geldgeber Projektleiter Fachbereich /

Analytiker

schnell

kostengünstig

pünktlich

im Kostenrahmen

praktisch

vollständig

performant

Implementierungs-

team

Qualitäts-

Management-Team

Betreiber

anspruchsvoll

aufregend

cool

schön

ordentlich

korrekt

standard-konform

beobachtbar

problemlos

Page 17: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 17

Manager / Geldgeber

Gesprächsthemen

Kosten

strategische Vorteile

Sprachen

Businessdeutsch

Powerpoint

Architekt fragt:

Welche Features bieten

für den Kunden den

größten geschäftlichen

Vorteil?

Was sind die großen

Ziele bzw. die großen

Events, zu denen wir

etwas zeigen müssen

(Messe, Produkt-

offensive o.ä.)?

Page 18: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 18

Fachbereich / Analytiker

Gesprächsthemen

Geschäftsprozesse

Anforderungen bzw.

Features der Anwendung

Daten existierender

Systeme

Rechtsvorschriften

Sprachen

Fachchinesisch

Dokumente

Modelle

Architekt spricht über:

Glossar der Fachbegriffe

Anforderungen und deren

Absicherung durch

fachliche Testfälle

Datentransformationen

Prozessintegration

Benutzeroberflächen

Unnötig teure

Anforderungen

Page 19: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 19

Projektleiter

Gesprächsthemen

Kosten

Termine

Risiken

Fortschritt

Sprachen

Managerdeutsch

Project

Powerpoint

Architekt spricht über:

Zeit- bzw. Releaseplan

Features

Iterationen

Teambesetzung bzw. Skills

Produktstruktur

Komponenten

Schnittstellen

Hardware-Ausstattung

Risiken am Horizont

Fallbackstrategien

Page 20: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 20

Implementierungsteam

Gesprächsthemen

Komponenten

Klassen

Abläufe

Fremdsysteme

Sprachen

"Geek speak"

Code

Design-Modelle

Powerpoint

Architekt spricht über:

Zeit- bzw. Releaseplan

Features

Iterationen

Design-Entscheidungen

Coding-Konventionen

das "große Ziel"

(immer wieder!)

Systemstruktur

Komponenten

Schnittstellen

Dynamische Abläufe

Page 21: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 21

QM-Abteilung

Gesprächsthemen

Reviews

Vorgehensmodelle und

Normen

Ergebnistypen und

Prozesse

Sprachen

ISO-Deutsch

Modelle

Dokumente

Architekt spricht über:

Ablagestrukturen

Testfälle

Testabdeckung

Metriken

Entwicklungsprozess

Produktstruktur

Dokumentationsstruktur

Page 22: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 22

Betreiber

Gesprächsthemen Maschinen und Netze

Installation

Administration

Wartung

Sprachen Technikdeutsch

Herstellerenglisch

Dokumente

Powerpoint

Architekt spricht über: Anwendungsbausteine

Deployment

Logging

Security

Backup

Failover und Restart

Maschinenanzahl und -ausstattung

Umgebungen für Test, Integration, Produktion

Page 23: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 23

Tool- und Framework-Anbieter

Gesprächsthemen

Produkte

Module

Lizenzen

Sprachen

Kaufmannsdeutsch

Herstellerenglisch

Powerpoint

Architekt spricht über:

Tatsächlichen Nutzen

im Projekt

Kostenbewertung

Evaluationsversionen

Testergebnisse

Change Requests an

den Anbieter

Synchronisation von

Releaseterminen

Page 24: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 24

Andere Architekten

Gesprächsthemen

System

Struktur

Verhalten

Stil

Sprachen

Patterndeutsch

Geek speak

Modelle

Dokumente

Powerpoint

Architekt spricht über:

Anforderungen

Konsequenzen

Vor- / Nachteile

Entscheidungen

Design

Schönheit / Coolness

Angemessenheit

Einfachheit

Guten/schlechten Stil

die anderen Leute im Projekt, die einen nicht in Ruhe lassen…

Page 25: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 25

Ein guter Architekt…

hat folgende

"Soft Skills"

Abstraktionsvermögen

Überzeugungskraft

Charisma

Qualitätsbewusstsein

Entscheidungsfreude

Verhandlungsgeschick

Übersetzertalent für

"Fremdsprachen"

und noch softer…

Fähigkeit zum

Selbstmanagement

äußerst geringe

"Ladezeiten" des

Kurzzeitgedächtnisses

Einfühlungsvermögen

Intuition und Humor

Fähigkeit zum Rückzug

in die Ruhe, wenn nötig

Page 26: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 26

Zusammenfassung

Architektur lebt vom Input aller Beteiligten

Eine Architektur zu entwickeln ist nur mit

intensiver Kommunikation untereinander

möglich

Architekt muss ein Kommunikator

"par excellence" sein!

Page 27: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 27

Diskussion

Ihre Fragen und Anregungen:

Ihren Projekterfolg unterstütze ich gerne als Architekt und Coach Sie erreichen mich unter:

[email protected]

oder Tel. 0170 / 772 8545

? !

Page 28: Architektur = Kommunikation

Matthias Bohlen <[email protected]> 28

Einladung

openArchitecture 2005

15. – 17. November 2005

Hilton Hotel, Bonn

Peter Friese, Matthias Bohlen:

"MDA im Jetstream"

Wir fertigen live auf der Bühne, vor Ihren Augen,

eine Anwendung nach Ihren Anforderungen!

http://www.openarchitecture.de/