Software-Architektur: Die vergessene Dimension?

Wenn über Software-Architektur gesprochen wird, werden ihr die solche Funktionen zugeschrieben – sowohl bei klassischer Betrachtung wie auch aus dem Blickwinkel agiler Methoden:

  • Rahmen für die Realisierung der funktionalen Anforderungen setzen
  • Nicht-funktionale Anforderungen wie Wartbarkeit, Robustheit, Sicherheit etc. sichern

Dabei wird aus meiner Sicht ein ganz wichtiger Faktor übersehen oder ignoriert. Die Software-Architektur beeinflusst ganz wesentlich die weitere Ausgestaltung des Entwicklungsprozesses und der Projektorganisation. Wie aufwändig die Koordination verschiedenen Entwicklungsteams in einem großen Projekt wird, ist ganz wesentlich von der gewählten Architektur bestimmt.

Ich habe inzwischen eine ganze Reihe von Projekten erlebt, in denen die Architektur gewählt wurde, ohne auf den Entwicklungsprozess und die Projektorganisation zu achten. Die Konsequenz war immer eine sehr unangenehme Beschränkung der Möglichkeiten im Projektverlauf. In einem Fall hätte man ein schlecht laufendes Projekt retten können, wenn man die Entwicklermannschaft von 8 auf 20 Entwickler hätte erhöhen können. Die Architektur hat das aber verhindert. In einem anderen Fall hat die gewählte Architektur erzwungen, dass man ganz genau vorher planen musste, wer was tun muss. Als der Umstieg auf eine agilere, reaktivere Vorgehensweise mit kurzen Releasezyklen anstand, war das faktisch nicht möglich.

Aus meiner Sicht muss bei der Definition und Weiterentwicklung der Architektur jeweils auch berücksichtigt werden, welche Beschränkungen und Möglichkeiten die Architektur für den Entwicklungsprozess und die Projektorganisation mit sich bringt. Und das bedeutet für viele Software-Architekten eine ganz neue zusätzliche Dimension in ihrer Tätigkeit.

Software-Architektur: Die vergessene Dimension?

Wenn über Software-Architektur gesprochen wird, werden ihr die solche Funktionen zugeschrieben – sowohl bei klassischer Betrachtung wie auch aus dem Blickwinkel agiler Methoden:

  • Rahmen für die Realisierung der funktionalen Anforderungen setzen
  • Nicht-funktionale Anforderungen wie Wartbarkeit, Robustheit, Sicherheit etc. sichern

Dabei wird aus meiner Sicht ein ganz wichtiger Faktor übersehen oder ignoriert. Die Software-Architektur beeinflusst ganz wesentlich die weitere Ausgestaltung des Entwicklungsprozesses und der Projektorganisation. Wie aufwändig die Koordination verschiedenen Entwicklungsteams in einem großen Projekt wird, ist ganz wesentlich von der gewählten Architektur bestimmt.

Ich habe inzwischen eine ganze Reihe von Projekten erlebt, in denen die Architektur gewählt wurde, ohne auf den Entwicklungsprozess und die Projektorganisation zu achten. Die Konsequenz war immer eine sehr unangenehme Beschränkung der Möglichkeiten im Projektverlauf. In einem Fall hätte man ein schlecht laufendes Projekt retten können, wenn man die Entwicklermannschaft von 8 auf 20 Entwickler hätte erhöhen können. Die Architektur hat das aber verhindert. In einem anderen Fall hat die gewählte Architektur erzwungen, dass man ganz genau vorher planen musste, wer was tun muss. Als der Umstieg auf eine agilere, reaktivere Vorgehensweise mit kurzen Releasezyklen anstand, war das faktisch nicht möglich.

Aus meiner Sicht muss bei der Definition und Weiterentwicklung der Architektur jeweils auch berücksichtigt werden, welche Beschränkungen und Möglichkeiten die Architektur für den Entwicklungsprozess und die Projektorganisation mit sich bringt. Und das bedeutet für viele Software-Architekten eine ganz neue zusätzliche Dimension in ihrer Tätigkeit.

Veröffentlichungen

Siehe auch meine frühere Publikationsliste sowie meine Vorträge.

  • Stefan Roock: “eXtreme Programming“, in dotnetpro 02/2008 , Seite 28-33, Februar 2008
  • Stefan Roock, Henning Wolf, “Feature Driven Development (FDD)”, 4-teilige Artikelserie im Java-Magazin, 2007-2008
  • Stefan Roock, Henning Wolf: “Berufsethos, Qualität, Rollenverständnis”, in Java-Magazin, Juli 2006
  • Johannes Link, Stefan Roock: “Je abstrakter, desto besser, oder?”, in Java-Magazin, S. 65-69, Juni 2006
  • Eberhard Wolff, Henning Wolf, Stefan Roock: “Ist die Java-Plattform zu komplex geworden?”, in Java-Magazin, Mai 2006
  • Achin Bangert, Dierk König, Eberhard Wolff, Henning Wolf, Johannes Link, Martin Lippert, Stefan Roock: “Technology First”, in Java-Magazin, April 2006
  • Martin Lippert, Stefan Roock, Henning Wolf: “Ist die Technologie das geringere Problem?”, in Java-Magazin, Oktober 2005
  • Martin Lippert, Stefan Roock: “Large Refactorings”. Englische Übersetzung von “Refactorings in großen Softwareprojekten”, Wiley, 2006
  • Robert Beeger, Arno Haase, Stefan Roock, Sebastian Sanitz: “Hibernate”, dpunkt-Verlag, 2006.
  • Henning Wolf, Stefan Roock, Martin Lippert: „eXtreme Programming – Eine Einführung mit Empfehlungen und Erfahrungen aus der Praxis“, 2. überarbeitete und erweiterte Auflage, dpunkt-Verlag, 2005
  • Stefan Roock, Martin Lippert: “Refactorings in großen Softwareprojekten”, dpunkt-Verlag, 2004
  • Roock, S., Wolf, H.:, Agile Project Controlling, XP 2004, Juni 2004, Garmisch-Patenkirchen, 2004
  • Becker-Pechau, P., Roock, S., Sauer, J.:, Open Source für die Softwareentwicklung, In: HMD Praxis der Wirtschaftsinformatik, 238, August 2004, dpunkt.verlag, Heidelberg, S. 19-25, 2004
  • Roock, S., Lippert, M.:, Refactorings in großen Softwareprojekten, (Hrsg.): dpunkt.verlag, Heidelberg, 2004
  • Lippert, M., Becker-Pechau, P., Breitling, H., Koch, J., Kornstädt, A., Roock, S., Schmolitzky, A., Wolf, H., Züllighoven, H.:, Developing Complex Projects Using XP with Extensions, In: IEEE Computer Magazine, June 2003, Vol. 36, No. 6, 2003
  • Roock, S.:, RE bei agilen Methoden, 2003
  • Martin Lippert, Stefan Roock, Henning Wolf, “eXtreme Programming in Action”. Englische Übersetzung des XP-Buchs „eXtreme Programming in Action“, Wiley, 2003.
  • „Software entwickeln mit eXtreme Programming – Erfahrungen aus der Praxis“, Martin Lippert, Stefan Roock, Henning Wolf, 2002 erschienen im dpunkt-Verlag
  • Mitarbeit am Buch „Object-Oriented Software Construction“, Heinz Züllighoven
  • Mitarbeit am Buch „Das objektorientierte Konstruktionshandbuch“, Heinz Züllighoven
  • Lippert, M., Roock, S., Wolf, H., Züllighoven, H.:, XP in Complex Project Settings: Some Extensions, In: Extreme Programming Perspectives, Addison-Wesley XP Series, 2002
  • Lippert, M., Roock, S., Tunkel, R., Wolf, H.:, Stabilizing the XP Process Using Specialized Tools, In: Extreme Programming Perspectives, Addison-Wesley XP Series, 2002
  • Lippert, M., Roock, S., Wolf, H.:, Extreme Programming in Action – Practical Experiences from Real-World Projects, In: Wiley & Sons, UK, 2002
  • Roock, Stefan, Frameworks and Testing, In: Proceedings of Extreme Programming Conference 2002, Villasimius, Cagliari, Italy, 2002
  • Roock, Stefan; Havenstein, Andreas, Refactoring Tags for automatic refactoring of framework, In: Proceedings of Extreme Programming Conference 2002, Villasimius, Cagliari, Italy, 2002
  • Lippert, M., Roock, S., Wolf, H., Züllighoven, H.:, XP en proyectos complejos: algunas extensiones., In: Novatica, ATI, Spain, Nr. 156, March – April, 2002
  • Lippert, M., Roock, S., Wolf, H., Züllighoven, H.:, XP in Complex Project Settings: Some Extensions, In: Informatik/Informatique. Schweizerischer Verband der Informatikorganisationen. Nr. 2, April, 2002
  • Lippert, M., Roock, S., Wolf, H.:, Software entwickeln mit eXtreme programming: Erfahrungen aus der Praxis, In: dpunkt Verlag, Heidelberg, 2002
  • Lippert, Martin; Roock, Stefan; Tunkel, Robert; Wolf, Henning, Stabilizing the XP Process Using Specialized Tools, Proceedings of Extreme Programming Conference 2001, Villasimius, Cagliari, Italy, 2001
  • Lippert, Martin; Roock, Stefan; Wolf, Henning; Züllighoven, Heinz, XP in Complex Project Settings: Some Extensions, Proceedings of Extreme Programming Conference 2001, Villasimius, Cagliari, Italy, 2001
  • Gryczan, G.; Kornstädt, A.; Roock, S.; Wolf, H.; Züllighoven, H., Das JWAM-Framework und Komponenten. Eine konzeptionelle Bestandsaufnahme, in: Tagungsband des 3. Workshops zu komponentenorientierter betrieblicher Anwendungsentwicklung (Frankfurt: April 2001), S. 15-21, 2001
  • Lippert, Martin; Roock, Stefan; Züllighoven, Heinz, From Documents to Applications via Frameworks: The Tools and Materials Approach, in OOPSLA 2000 Companion, Minneapolis, ACM press, 2000
  • Roock, S., eXtreme Frameworking – How to aim applications at evolving frameworks, Proceedings of the XP2000 conference. Cagliari, Sardinia, Italy, 2000
  • Lippert, Martin; Roock, Stefan; Wolf, Henning; Züllighoven, Heinz, JWAM and XP – Using XP for framework development, Proceedings of the XP2000 conference. Cagliari, Sardinia, Italy, 2000
  • Gryczan, G., Roock, S., Wolf, H., Züllighoven, H., Frameworkbasierte Anwendungsentwicklung (6. und letzter Teil): Frameworkentwicklung und -einsatz organisieren, OBJEKTspektrum 2/2000, März/April 2000, S. 88-93, 2000
  • Gryczan, G., Havenstein, A., Roock, S., Wetzel, I., Züllighoven, H., Frameworkbasierte Anwendungsentwicklung (Teil 5): Unterstützung von Kooperation mit persistenten fachlichen Behältern, In: OBJEKTspektrum 1/ 2000, Januar/Februar , 2000
  • Gryczan, G.; Roock, S.; Wolf, H.; Züllighoven, H., Management kundenorientierter Softwareentwicklungsprojekte mit Objektorientierung, In: Informatik Software Project Management, Zeitschrift der schweizerischen Informatikorganisation, Nr. 5, Oktober 1999, S. 22-29, 1999
  • Gryczan, G., Roock, S., Wolf, H., Züllighoven, H., Frameworks von der Stange reichen nicht aus – Auswahl eines Rahmenwerks für die Software-Entwicklung, In: Computerwoche Nr. 5, 17.9.99, S. 6-8., 1999
  • Bleek, W.-G., Görtz, T., Lilienthal, C., Lippert, M., Roock, S., Strunk, W., Weiss, U., Wolf, H., Interaktionsformen zur flexiblen Anbindung von Fenstersystemen., Universität Hamburg. Fachbereich Informatik. Fachbereichsmitteilung FBI-HH-M-285/99. April., 1999
  • Bleek, W.-G., Lippert, M., Roock, S., Züllighoven, H., Strunk, W., Frameworkbasierte Anwendungsentwicklung (Teil 3): Die Anbindung von Benutzungsoberflächen und Entwick- lungsumgebungen an Frameworks, OBJEKTspektrum 3/99, Mai/Juni, S. 90-95, 1999
  • Bleek, W.-G., Lilienthal, C., Lippert, M., Roock, S., Strunk, W., Wolf, H., Züllighoven, H., Frameworkbasierte Anwendungsentwicklung (Teil 2): Die Konstruktion interaktiver Anwendungen, OBJEKTspektrum 2/99, März/April, S. 78-83, 1999
  • Bleek, W.-G., Gryczan, G., Lilienthal, C., Lippert, M., Roock, S., Wolf, H., Züllighoven, H., Von anwendungsorientierter Softwareentwicklung zu anwendungsorientierten Lehrveranstaltungen – der Werkzeug & Material-Ansatz in der Lehre, Software Engineering im Unterricht der Hochschulen (SEUH) 99, Berichte 52, B. Dreher/Ch. Schulz/D. Weber-Wulff (Hrsg.), Workshop des German Chapter of the ACM und der Gesellschaft für Information (GI) am 25. und 26. Februar 1999 in Wiesbaden, pp. 9-20, 1999
  • Gryczan, G., Lilienthal, C., Lippert, M., Roock, S., Wolf, H., Züllighoven, H., Framework-basierte Anwendungsentwicklung (Teil 1), OBJEKTspektrum Nr. 1, Jan./Feb., S. 90-98, 1999
  • Roock, S., Wolf, H., Züllighoven, H., Frameworking, In: Niels Jakob Buch, Jan Damsgaard, Lars Bo Eriksen, Jakob H. Iversen, Peter Axel Nielsen (Eds.): IRIS 21 “Information Systems Research in Collaboration with Industry“, Proceedings of the 21st Information Systems Research Seminar in Scandinavia, 8-11 August 1998 at Saeby Soebad, Denmark, pp. 743-758, 1998
  • Fricke, N., Lilienthal, C., Lippert, M., Roock, S., Wolf, H., Operating and Window Systems will never strike back or Independence day for Java developers, In: R. Nigel Horspool (Ed.): Systems Implementation 2000, Chapman & Hall, London, New York 1998, Proceedings of SI2000 (IFIP Working Group 2.4), Berlin 23-26 February 1998, pp. 86-99., 1998
  • Roock, S., Wetzel, I., Wolf, H., Züllighoven, H., Location as an Analysis and Design Metaphor in Work Settings with Complex Cooperations, In: Kristin Braa & Eric Monteiro (eds.): Proceedings of IRIS 20 “Social Informatics”, Oslo, June 1997. S. 431-448, 1997

Vorträge

siehe auch meine Artikel und Bücher

  • Bernd Schiffer, Stefan Roock: Agile Entwicklung mit Grails, XP-User-Group-Hamburg und Java-User-Group-Hamburg, Dezember 2007
  • Stefan Roock: Einfachheit in Softwareprojekten, XP-Days Germany 2007, Karlsruhe, November 2007
  • Stefan Roock (Organisation): Agile Lightning Talks, XP-Days Germany 2007, Karlsruhe, November 2007
  • Stefan Roock, Bernd Schiffer, Henning Wolf: Agile Lego Hour, W-JAX 2007, München, November 2007
  • Stefan Roock, Henning Wolf: Festpreisvertrag und agil nützt nicht viel?, Agility Day auf der W-JAX 2007, München, November 2007, Folien
  • Stefan Roock (Organisation): Agile Lightning Talks, Agility Day auf W-JAX 2007, München, November 2007
  • Stefan Roock: Anforderungen, Usability und Agilität, Universität Konstanz, 2007, Folien
  • Stefan Roock, Henning Wolf: Scrum und Lean-Management in IT-Projekten, Arbeitskreis Projektmanagement, Nordakademie, 2007
  • Jürgen Ahting, Stefan Roock: Warum sind die Kunden in Softwareprojekten so schwierig?, JAX 2007, Wiesbaden, 26.04.2007
  • Robert Beeger, Matthias Lübken, Stefan Roock, Sebastian Sanitz: XP-Live-Demo, JAX 2007, Wiesbaden, April 2007
  • Stefan Roock, Henning Wolf: IT-Kaizen: Kontinuierliche Verbesserung in der Softwareentwicklung, XP-Days Germany 2006, Hamburg, 24.11.2006, Folien
  • Bernd Schiffer, Stefan Roock: Beispiel Grails – Brauchen wir neue Technologien für agile Entwicklung?, XP-Days Germany 2006, Hamburg, 24.11.2006, Folien
  • Arno Haase, Stefan Roock, Sebastian Sanitz: Hibernate 3 (ganztägiger Power-Workshop). JAX 2006, Wiesbaden, 08.05.2006
  • Stefan Roock, Henning Wolf: Aufwandsschätzung in agilen Projekten. Lehmanns Buchhandlung, Hamburg, Januar 2006.
  • Robert Beeger, Arno Haase, Stefan Roock: Hibernate 3. (ganztägiger Power-Workshop). W-JAX 2005, München, November 2005.
  • Bernd Schiffer, Stefan Roock: eXtreme Programming (Tutorial). ix-Konferenz, Köln, November 2005.
  • Jürgen Ahting, Stefan Roock: Der Kunde in agilen Projekten. ix-Konferenz, Köln, November 2005
  • Stefan Roock: Aufwandsschätzung in großen agilen Projekten. ix-Konferenz, Köln, November 2005.
  • Stefan Roock: Refactorings in großen Softwareprojekten, XP-Days 2004, Karlsruhe
  • Martin Lippert, Stefan Roock: Refactorings in großen Softwareprojekten, Java Forum Stuttgart 2004, 01.07.2004, Stuttgart.
  • Stefan Roock, Martin Lippert, Frank Westphal: Testing in the Extreme Programming World. (Full-Day Tutorial). ICS Test, Köln, http://www.icstest.com, 01.04.2003
  • Stefan Roock, Martin Lippert: Large Refactorings (Workshop). OT 2003, Cambridge, UK, http://www.ot2003.org, 2003
  • Stefan Roock: Requirements Engineering bei agilen Methoden. GI-Workshop “Requirements Engineering”, Ulm, http://www-lufgi3.informatik.rwth-aachen.de/GI/GI-FG2.1.6.html. 28.09.2002
  • Holger Breitling, Axel Schmolitzky, Stefan Roock: Extreme
    Programming (Half-Day Tutorial). Software Management Tagung, Hamburg, 06.11.2002
  • Holger Breitling, Petra Becker-Pechau, Stefan Roock: Agile Requirements Engineering (Full-Day Tutorial). RE 2002, Essen. 10.09.2002
  • Martin Lippert, Stefan Roock: Using and Adapting Extreme Programming (Full-Day Tutorial). ECOOP 2002, Malaga, Spanien, 11.06.2002
  • Martin Lippert, Stefan Roock: Extreme Programming in komplexen Projektsituatuionen (Full-Day Tutorial). OOP 2002, München. Januar 2002.
  • Stefan Roock: eXtreme Programming integrativ? GI-Workshop “Vorgehensmodelle”. 2001
  • Martin Lippert, Stefan Roock: Extreme Programming in Complex Project Settings (Half-Day Tutorial). ECOOP 2001, Budapest, Ungarn, Juni 2001
  • Stefan Roock: Anforderungsermittlung mit eXtreme Programming. GI-Workshop
    “Requirements Engineering”, 2001.
  • Stefan Roock, Henning Wolf: Framework-Entwicklung (Full-Day Tutorial). OOP
    2001, München, Januar 2001.
  • Stefan Roock: Object Oriented Design (3-Day Workshop). University
    of Roenneby, Schweden, März 2000.