„ The Clash of Cultures“: Quo vadis Software Entwicklung? Elmar Borgmeier, syngenio AG Vortrag auf dem BuildMe Fachseminar...
Agenda <ul><li>Software Entwicklung und Kultur </li></ul><ul><li>Typologie der Software-Entwicklungs-Kulturen </li></ul><u...
syngenio – We make IT work! <ul><li>unabhängiges IT-Beratungs- und -Servicehaus </li></ul><ul><li>Niederlassungen: </li></...
Referenzen - Unsere Kunden (Auszug)
Software-Entwicklung und Kultur <ul><li>Was ist Kultur? </li></ul><ul><ul><li>The deposit of  knowledge, experience, belie...
Elemente einer Kultur <ul><li>Werte </li></ul><ul><ul><li>Erfahrung, Einstellungen, Glaubenssätze und Tabus </li></ul></ul...
Ethnologie <ul><li>Fraunhofer-FIT </li></ul><ul><ul><li>Untersuchung zum Werkzeugeinsatz bei Software-Entwicklungs-organis...
Typologie Interaktion  mit dem Auftraggeber Entwicklungs- Werkzeuge Software- Entwicklungsprozess Charakteristik  der Erge...
Archäologie Software- & System- Architektur:  entsprechend Zielsystem <ul><li>Lastenheft /  Pflichtenheft </li></ul><ul><l...
Die Software Kulturen Die Prozess-Integrations-Kultur Die Modell- und Generator-Kultur Die interaktiv Kultur Spezialkultur...
Generatoren-Ansatz mal plakativ: Die Programmiermaschine <ul><li>Beispiel (Werbegrafik): </li></ul>
Modell und Generator-Kultur <ul><li>Model Driven Architecture (MDA) </li></ul><ul><ul><li>CIM: Computational Independant M...
Typologie Modell- und Generator-Kultur Auftraggeber-Interaktion: Modell-Entwicklung: muss alle semantischen Vorgaben  enth...
Prozessintegrations-Kultur <ul><li>Fokus auf Betrachtung des  Software Engineering Prozesses </li></ul><ul><li>Unterstützu...
Unified Process <ul><li>Gesamtdefinition eines Software Engineering Process (framework) </li></ul><ul><li>4 Phasen </li></...
IBM Rational Method Composer <ul><li>Integrierte Produkt-Suite mit wieder verwendbaren Prozess-Komponenten </li></ul><ul><...
Typologie Prozessintegrations-Kultur Auftraggeber-Interaktion: Im Rahmen des Prozesses zu  definieren: Requirements (Use  ...
Die interaktiv-Kultur <ul><li>Arbeitsweisen wie aus Werbeagenturen </li></ul><ul><li>Charakteristiken: </li></ul><ul><ul><...
Dynamic Languages / Tools <ul><li>Sprachen / Frameworks: </li></ul><ul><ul><li>Groovy / Grails, Ruby,JRuby / Rails, Scala,...
Typologie Interaktiv-Kultur Auftraggeber-Interaktion: Interaktiv in Form von häufigen Abstimmungen Software-Entwicklungs-P...
Spezialkulturen <ul><li>Spezielle Bedingungen bringen Software-Kulturen hervor, die sich kaum übertragen lassen. </li></ul...
Quo Vadis Software-Entwicklung? Die Prozess-Integrations-Kultur Die Modell- und Generator-Kultur Die interaktiv Kultur Spe...
Clash of Cultures: Mulitkulturelle Ratlosigkeit Die Prozess-Integrations-Kultur Die Modell- und Generator-Kultur Die inter...
Patchwork-Kulturen und Evolution <ul><li>Kommender Trend:  </li></ul><ul><ul><li>der Aufweichung von Kultur-Merkmalen  </l...
Prognose: Beyond Patchwork <ul><li>Werkzeuge, Prozesse und Ergebnis-Charakteristik verlieren ihre Bedeutung als Fixpunkte ...
Vielen Dank für Ihre Aufmerksamkeit <ul><li>Welche Kulturen erkennen Sie? </li></ul><ul><li>Was ist Ihre Prognose? </li></...
Nächste SlideShare
Wird geladen in …5
×

Kulturen der Software Entwicklung 2008 04 08

1.008 Aufrufe

Veröffentlicht am

Vortrag von Elmar Borgmeier von Syngenio (www.syngenio.de) über die Zukunft der Software-Entwicklung.

0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.008
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
10
Aktionen
Geteilt
0
Downloads
8
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • Kulturen der Software Entwicklung 2008 04 08

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

    ×