kulturen der software entwicklung 2008 04 08
DESCRIPTION
Vortrag von Elmar Borgmeier von Syngenio (www.syngenio.de) über die Zukunft der Software-Entwicklung.TRANSCRIPT
„The Clash of Cultures“:Quo vadis Software Entwicklung?Elmar Borgmeier, syngenio AG
Vortrag auf dem BuildMe Fachseminar der arago AG, 04/2008
2www.syngenio.de arago Fachseminar 04/2008
Agenda
Software Entwicklung und Kultur
Typologie der Software-Entwicklungs-Kulturen Die Typen einzeln betrachtet
Quo vadis Software Entwicklung: Trend
Eine Prognose
3www.syngenio.de arago Fachseminar 04/2008
syngenio – We make IT work!
unabhängiges IT-Beratungs- und -Servicehaus
Niederlassungen: München, Stuttgart, Wiesbaden, Bonn, Region Nord im Aufbau
Branchenschwerpunkte Finanzdienstleister, Telekommunikation und Industrie
IT-Beratung, Realisierung von Lösungen, Application Management
Software-Entwicklung: Individualentwicklung, Systemintegration (SOA) Methodenberatung: Projektmanagement Prince2, Agile Software-
Entwicklung, Agiles QM, IT Service Management nach ITIL Beispiele: Webportale, Middleware (Java EE), BPM/Workflow
4www.syngenio.de arago Fachseminar 04/2008
Referenzen - Unsere Kunden (Auszug)
5www.syngenio.de arago Fachseminar 04/2008
Software-Entwicklung und Kultur
Was ist Kultur? The deposit of knowledge, experience, beliefs, values, attitudes,
meanings, hierarchies, religion, notions of time, roles, spatial relations,
concepts of the universe, and material objects and possessions acquired
by a group of people […] through individual and group striving.
Culture is acquired. It helps people categorize and predict their world by
teaching them habits, rules, and expectations from the behavior of
others. It helps people "read" the world's signals - the meaning of
symbols, of artifacts, gestures, and accoutrements of others. Culture also
molds the way people think: what their motivations are, how they
categorize things, what inference and decision procedures they use, and
the basis on which they evaluate themselves. It sets the gestures, space,
and timing of interactions.
Definition nach: Larry Samovar and Richard Porter
?!
6www.syngenio.de arago Fachseminar 04/2008
Elemente einer Kultur
Werte Erfahrung, Einstellungen, Glaubenssätze und Tabus
Art zu denken Welche Strukturen wahrgenommen werden
Wie wir uns selbst bewerten
Soziale Organisation Rollen und Entscheidungs-Verfahren
Erwartung an das Verhalten anderer
Formen der Interaktion
Werkzeuge
7www.syngenio.de arago Fachseminar 04/2008
Ethnologie
Fraunhofer-FIT Untersuchung zum Werkzeugeinsatz bei Software-Entwicklungs-
organisationen und Teams
University of California, Irvine Untersuchung des Einfluss von Werten auf die Arbeitsweisen und
Werkzeuge in Open Source Projekten
Eigene Erfahrung Jeder hat eine Vorstellung von Software-Entwicklung
„Intuitive Kulturerwartung“: Prägt Bewertung in „Gut“ und „Schlecht“
8www.syngenio.de arago Fachseminar 04/2008
Typologie
Interaktion mit dem
Auftraggeber
Entwicklungs-Werkzeuge
Software-Entwicklungsprozess
Charakteristik der Ergebnisse
Software-& System-Architektur
9www.syngenio.de arago Fachseminar 04/2008
Archäologie
Software-& System-
Architektur:
entsprechend Zielsystem
• Lastenheft / Pflichtenheft
• Fachkonzept / DV-Konzept
Design
Implementierung
Test
Editor
Spezifikation
Compiler Linker Debugger
10www.syngenio.de arago Fachseminar 04/2008
Die Software Kulturen
Die Prozess-Integrations-Kultur
Die Modell- und Generator-Kultur
Die interaktiv Kultur
Spezialkulturen als Sonderfälle
11www.syngenio.de arago Fachseminar 04/2008
Generatoren-Ansatz mal plakativ:Die Programmiermaschine
Beispiel (Werbegrafik):
12www.syngenio.de arago Fachseminar 04/2008
Modell und Generator-Kultur
Model Driven Architecture (MDA) CIM: Computational Independant Model
PIM: Platform Independant Model
PSM: Platform Specific Model
Fokus auf Erstellung des (fachlichen) Modells statt des Programmcodes
Im UML oder Domain Specific Languages
Generieren des eigentlichen Programmcodes Durch Modelltransformationen
Hoher Abstraktionsgrad, sehr formales Arbeiten
Generator für Zielarchitektur muss existieren
13www.syngenio.de arago Fachseminar 04/2008
Typologie Modell- und Generator-Kultur
Auftraggeber-Interaktion:
Modell-Entwicklung:muss alle semantischen Vorgaben
enthalten
Software-Entwicklungs-Prozess:
Hauptaufwand: ModellierungGenerierung automatisiertNachbearbeitung manuell
Charakteristik der Ergebnisse:
Zweckmäßig, Fachlich Korrekt
Software-& System-Architektur:
Eine der möglichen Zielarchitekturen des Generators
Modeler GeneratorModell
14www.syngenio.de arago Fachseminar 04/2008
Prozessintegrations-Kultur
Fokus auf Betrachtung des Software Engineering Prozesses
Unterstützung der unterschiedlichen Rollen und auch Nicht-Programmier-Aktivitäten durch integrierte Umgebungen
Beispiele: Application Life Cycle Management
RUP
CMMI, SPICE, V-Modell XT
zum Teil nur Prozess- / Projektmanagement,zum Teil auch Gesamtverständnis der Software-Entwicklung
15www.syngenio.de arago Fachseminar 04/2008
Unified Process
Gesamtdefinition eines Software Engineering Process (framework)
4 Phasen
6 Kernprozesse
Merkmale: Requirements über Use Cases
UML-Modelle
Architektur-zentrierter Entwurf
Prototypen
Iterative Entwicklung
16www.syngenio.de arago Fachseminar 04/2008
IBM Rational Method Composer
Integrierte Produkt-Suite mit wieder verwendbaren Prozess-Komponenten
IBM Rational Method Composer: Werkzeug zur Definition von Projekt-Prozesses aus einer
Prozess-Bibliothek mit Prozess-Komponenten
Enthält RUP, aber nicht mehr ausschließlich RUP
„Extensive Guidelines for all Team members and all phases of the lifecycle“
Templates für Work Products
17www.syngenio.de arago Fachseminar 04/2008
Typologie Prozessintegrations-Kultur
Auftraggeber-Interaktion:
Im Rahmen des Prozesses zu definieren: Requirements (Use Cases), Iterations-Ergebnisse
Software-Entwicklungs-Prozess:
Komplexe Entwicklungsprojektebesser beherrschen
Charakteristik der Ergebnisse:
Werden auch unter schwierigen Bedingungen geliefert –
mit ggf. beachtlichem Aufwand
Software-& System-Architektur:
Architektur wird im Projekt definiert, keine Abhängigkeit
von einer spezifischen Architektur.
Integrierte Umgebungen: mit z.B. Prozess- und UML-Modellierer,
Aufgaben der Nicht-Programmierer integriert
18www.syngenio.de arago Fachseminar 04/2008
Die interaktiv-Kultur
Arbeitsweisen wie aus Werbeagenturen
Charakteristiken: Dynamic Languages
User Centric Design
Mündliche Abstimmungen
Viele Iterationen
Schnell mal was programmieren
Sich die richtigen Tools nach Bedarf zusammensuchen
19www.syngenio.de arago Fachseminar 04/2008
Dynamic Languages / Tools
Sprachen / Frameworks: Groovy / Grails, Ruby,JRuby / Rails, Scala, Jython, …
AJAX-Toolkits und Interactive Web development Kits: JSF, Google Web Toolkit, Microsoft Silverlight, …
Adobe Flex bzw. AIR
Open Source Basis-Komponenten JPA, Hibernate, AspectJ, JBoss Seam …
Eclipse: die unendlich erweiterbare Entwicklungsumgebung Codechecker, Bugtracker, Installer, DB-Zugriffe, Entwicklungs-
umgebung für alles, Build- und Versionsmanagement, …
20www.syngenio.de arago Fachseminar 04/2008
Typologie Interaktiv-Kultur
Auftraggeber-Interaktion:
Interaktiv in Form von häufigenAbstimmungen
Software-Entwicklungs-Prozess:
Agile Software-Entwicklungoder echtes „Hacken“
Charakteristik der Ergebnisse:
Schnell und/oder
cool
Software-& System-Architektur:
Architektur-Risiko:Vielfalt an Architektur-Variantenz.T. direkt mit Tools verknüpft
OS Tool x
OS Tool y
Editor
OS Tool z
GUI Tool A
21www.syngenio.de arago Fachseminar 04/2008
Spezialkulturen
Spezielle Bedingungen bringen Software-Kulturen hervor, die sich kaum übertragen lassen.
Beispiel „Guru-Kultur“: Basiert auf der Fokussierung auf einen anerkannten Vordenker
Wirkt durch persönliche Überzeugung.
Beispiel Google: Extreme Inkubations-Kultur im Großen
Unabhängig von Fachabteilung und Business Case
Fördert Selbstverantwortung, lenkt durch Incentives (Geld und
Aufmerksamkeit)
22www.syngenio.de arago Fachseminar 04/2008
Quo Vadis Software-Entwicklung?
Die Prozess-Integrations-Kultur
Die Modell- und Generator-Kultur
Die interaktiv Kultur
Spezialkulturen als Sonderfälle
23www.syngenio.de arago Fachseminar 04/2008
Clash of Cultures:Mulitkulturelle Ratlosigkeit
Die Prozess-Integrations-Kultur
Die Modell- und Generator-Kultur
Die interaktiv Kultur
24www.syngenio.de arago Fachseminar 04/2008
Patchwork-Kulturen und Evolution
Kommender Trend: der Aufweichung von Kultur-Merkmalen Bildung von Cross Overs: Patchwork-Kulturen Technisches Indiz: Trend zu Plattformen statt Systemen (Eclipse,
Java)
Systemtheoretisch gesehen Die Kulturen werden aus ihren stabilen Zuständen herausgerissen
und befinden sich in einem instabilen Übergangszustand Sie werden die Instabilität in den kommenden Jahren verstärkt
erkennen Es werden sich neue stabile Zustände entwickeln
Evolutionäre Auswahl
25www.syngenio.de arago Fachseminar 04/2008
Prognose: Beyond Patchwork
Werkzeuge, Prozesse und Ergebnis-Charakteristik verlieren ihre Bedeutung als Fixpunkte einer Kultur
„Plattformen“ als allgemeines Prinzip ermöglichen höhere Flexibilität
Kultur wird definiert durch wenige feste Prinzipien
Häufige Merkmale zukünftiger Kulturen (subjektive Einschätzung): „No Nonsense“: KISS statt Fancy. (Usability wird Commodity)
Retro: Informatik-Klassiker wie Algorithmen, Modularisierung und
sauberer Code werden wichtige Werte werden / bleiben
Ergebnisorientiert: Prototypen und Testdatenmanagement werden
wichtiger und besser werden (Modelle sind auch Prototypen)
Explorativer: Umgang mit Altsystemen als Herausforderung
26www.syngenio.de arago Fachseminar 04/2008
Vielen Dank für Ihre Aufmerksamkeit
Welche Kulturen erkennen Sie?
Was ist Ihre Prognose?
Kontakt:
Elmar Borgmeier
CIO syngenio AG
Elmar(.)Borgmeier(at)syngenio.de
0711 / 4903 - 401