Globales Software Engineering (GloSE )

Immer öfter wird Software nicht mehr nur lokal an einem Standort entwickelt. Zum Einen werden Unteraufträge an Fremdfirmen (zum Beispiel nach China oder Indien) erteilt, um Kosten zu sparen. Zum Anderen wird das Know-How verschiedener Partner oder Standorte benötigt, um innovative Software-Produkte zu erstellen. Gerade das letztere Szenario interessiert uns im Fachgebiet Software Engineering: Wie können solche gleichberechtigten Partner effektiv zusammenarbeiten und dabei trotz räumlicher Trennung eine gute Produktivität erreichen?

 

GloSE-Vision: Zusammenarbeit zweier Organisationen in einem globalen Projekt
Abb. 1: Die GloSE-Idee: Zwei Organisationen arbeiten zusammen, um ihre Stärken zu verbinden [1].

 

Abbildung 1 zeigt die Grundidee hinter dem Forschungsprojekt GloSE (Globales Software Engineering) [1]. Zwei Organisationen arbeiten zusammen, um ihre Stärken zu verbinden. Dabei ist es wichtig, dass sich keine der Organisationen verbiegen muss, sondern dass die spezifischen Organisationsstrukturen, Prozesse und Artefakte in ein gemeinsames globales Projekt integriert werden.

 

GloSE ist ein aktuelles vom Land Niedersachsen gefördertes Forschungsprojekt, das selbst global durchgeführt wird. Neben dem Fachgebiet Software Engineering sind zahlreiche weitere hochkarätige Partner aus Industrie und Forschung beteiligt. Gemäß der GloSE-Idee bringen wir unsere Stärken in das Projekt ein: Requirements Engineering, Informationsfluss-Optimierung, empirische Forschung und Erfahrung bei Training und Lehre in realistischen Projektumgebungen. Zusammen mit der Technischen Universität Clausthal untersuchen wir vor allem, wie sich diese Stärken in die frühen Phasen eines Softwareprojekts einbetten.
 

Requirements Engineering und Architekturentwurf

Die Anforderungsanalyse und der Architekturentwurf gehören zu den erfolgskritischen Phasen in jedem Softwareentwicklungs-Projekt. In diesen frühen Phasen wird entschieden, welche Funktionalität das Software-System anbieten wird und mit welcher Softwarearchitektur die Anforderungen umgesetzt werden sollen. Zudem beeinflussen sich Requirements Engineering und Architekturentwurf wechselseitig viel stärker als andere Entwicklungsphasen im Software Engineering. Besondere Merkmale dieser Beeinflussung sind das parallel laufende, aber eng verzahnte Erarbeiten von Ergebnissen mit großen Ansprüchen an die Kreativität und die Erfahrung der beteiligten Akteure.

 

Wird diese co-evolutionäre, kreative und kollaborative Entwicklung an einem Standort von einem Team mit einer langjährigen, etablierten Entwicklerkultur erbracht, so können Abstimmungen und kreativ-kollaborative Entwurfsaktivitäten einfach in persönlichen Treffen durchgeführt werden. Bei Inkonsistenzen zwischen Anforderungs- und Architekturdokumenten ist eine schnelle Abstimmung zwischen den Softwareingenieuren möglich und üblich. Sie erfolgt oft informell und ad hoc.

 

Bei verteilter Entwicklung ist die Situation ungleich schwieriger. Durch unterschiedliche Spezialisierungen und Entwicklungskulturen haben sich in jedem Team unterschiedliche Prozesse, Kommunikationsgewohnheiten, Dokumentstrukturen und technische Infrastrukturen herausgebildet. Jedes einzelne Team kann in seiner auf die speziellen Bedürfnisse angepassten Umgebung hocheffizient und mit guter Qualität die von ihnen erwarteten Ergebnisse erstellen. Die Einzelteams zu einem globalen Projektteam zu verbinden, stellt dagegen die zentrale Herausforderung bei der Koordination von GloSE-Projekten dar. Im Rahmen des GloSE-Projekts erarbeiten wir Lösungen auf folgenden Gebieten:
 

Prozesse und Informationsflüsse

In verteilten Projekten ist gute Kommunikation ein wesentlicher Erfolgsfaktor - leider aber auch ein wesentlicher Kostenfaktor. Wir beschäftigen uns mit der empirischen Analyse von Kommunikation in verteilten Projekten [2], aber auch mit der Entwicklung von Methoden zur Planung von Informationsflüssen in verteilten Projekten [4]. 

Verteiltes Knowledge und Experience Management

Verteilte Software Entwicklung bringt viele neue Herausforderungen mit. Diese resultieren auch aus kulturellen und sprachlichen Unterschieden, welche die Kommunikation zwischen Projektpartnern erschweren und damit auch einem effektiven Wissens- und Erfahrungsmanagement im Wege stehen. Projektteilnehmer schrecken davor zurück, sicherheitskritische Erfahrungen weiter zu geben, da sie negative Konsequenzen befürchten.

Gerade diese Erfahrungen stellen aber einen hohen Wert da, wenn sie in einer Erfahrungsbasis gespeichert würden, die allen Projektpartnern zur Verfügung steht. Aus diesem Grund arbeiten wir an innovativen Lösungen für eine Experience Base im Kontext verteilter Software Entwicklung [5].

Globale Softwareentwicklung in der Lehre (GloSE-Lab)

Die Erkenntnisse aus unserer Forschung im GloSE-Projekt fließen auch direkt in Unterrichtsmodule für Universität und Industrie ein. Dabei befruchten sich beide Welten gegenseitig: 

 

Publikationen

  • 2009
  • [1] Christian Bartelt, Manfred Broy, Christoph Herrmann, Eric Knauss, Marco Kuhrmann, Andreas Rausch, Bernhard Rumpe, Kurt Schneider: Orchestration of Global Software Engineering Projects, In Proceedings of the Third International Workshop on Tool Support and Requirements Management in Distributed Projects (REMIDI '09), pages 332-337, Limerick, Ireland, 2009, Bibtex. Abstract.
  • 2010
  • [2] Sebastian Meyer, Eric Knauss, Kurt Schneider: Distributing a Lean Organization: Maintaining Communication while Staying Agile, In P. Abrahamsson and N. Oza, Proceedings of the First International Conference on Lean Enterprise Software and Systems (LESS '10), pages 99-103, Helsinki, 2010, Bibtex. Abstract.
  • 2011
  • [3] Constanze Deiters, Christoph Herrmann, Roland Hildebrandt, Eric Knauss, Marco Kuhrmann, Andreas Rausch, Bernhard Rumpe, Kurt Schneider: GloSE-Lab: Teaching Global Software Engineering, In Proceedings of 6th IEEE International Conference on Global Software Engineering (ICGSE '11), Helsinki, Finland, 2011, Bibtex.
  • [4] Kai Stapel, Eric Knauss, Kurt Schneider, Nico Zazworka: FLOW Mapping: Planning and Managing Communication in Distributed Teams, In Proceedings of 6th IEEE International Conference on Global Software Engineering (ICGSE '11), pages 190-199, Helsinki, Finland, 2011, Bibtex. Abstract. PDF herunterladen
  • [5] Anna Averbakh, Eric Knauss, Olga Liskin: An Experience Base with Rights Management for Global Software Engineering, In Proceedings of 11th International Conference on Knowledge Management and Knowledge Technologies (i-KNOW '11), Graz, Austria, 2011, Bibtex. Abstract.