Die Frage, wie die Arbeit innerhalb einer Entwicklungs-Organisation am besten organisiert werden kann, ist seit langem von theoretischem und praktischem Interesse. Häufig stößt man hierbei auf Feature- und Komponententeams.
In diesem Beitrag möchte ich auf die Unterschiede sowie auf den aktuellen Stand der Forschung eingehen.
Komponenten- und Featureteams
Komponenten- und Featureteams unterscheiden sich darin, wie die Arbeit zerlegt wird – nämlich vertikal vs. horizontal.
Featureteams verfolgen eine vertikale Zerlegung, bei der jedes Feature verschiedene (oder auch alle) Software-Schichten umfasst. Komponententeams verfolgen hingegen eine horizontale Zerlegung, welche ein Problem in Schichten oder modulbasierte Aufgaben zerlegt.
Aktueller Stand in der Wissenschaft
Welches Set-up am besten geeignet ist, wurde wissenschaftlich untersucht. Dazu habe ich ein spannendes Research Paper gefunden, welches ich mit Euch teilen möchte.
Das Paper von Vasilii Zorin und Jungpil Hahn untersucht die Effektivität von feature- vs. komponenten-orientierten Teams. Dazu wird eine Computersimulation (NK-Fitness-Landscape-Model) genutzt, um zu untersuchen, wie Feature- und Komponententeams mit dem Management von Interdependenzen im Kontext neuer Softwareentwicklungen umgehen und welcher Ansatz eine bessere Leistung (d. h. eine bessere Befriedigung der Bedürfnisse der Endnutzer) bringt. Aufgrund der Computersimulation können zwei Bereiche nicht repräsentiert werden:
- teaminterne Kommunikation (die ein wichtiger Aspekt ist, der die Gesamtleistung des Teams beeinflusst)
- das Fehlen von Dynamik (die Fitnesslandschaften sind statisch und erlauben es nicht zu untersuchen, welche Organisationsstruktur im Kontext sich ändernder Anforderungen oder Anforderungswechsel besser abschneidet)
Die Forscher gehen jedoch davon aus, dass die Ergebnisse aufgrund von Randomisierung, der Replikation, der Mittelwertbildung und der Fokussierung auf spezifische Aspekte des Verhaltens der Organisationen valide sind.
Die Trends
Darüber hinaus zeigen die Ergebnisse eher allgemeine Trends als spezifische Unterschiede. Im wesentlichen decken die Forscher folgende Sachverhalte auf:
So eignen sich Feature-Teams besser für die Entwicklung neuer Software und können schneller qualitativ hochwertige Softwaresysteme liefern. Die Bildung funktionsübergreifender Teams kann Unternehmen in den frühen Phasen der Entwicklung einen Wettbewerbsvorteil verschaffen.
Die Investition von Ressourcen in den Aufbau einer effektiven teamübergreifenden Kommunikation ist von entscheidender Bedeutung, insbesondere dann, wenn eine Organisation mäßig komplexe oder komplexe Produkte entwickelt und die Struktur des Problemraums unklar ist. Problemraum umfasst in diesem Kontext die Herausforderung des Kunden und des Marktes. Ein Beispiel dazu: Die Bedürfnisse eines Kunden, einen Artikel online zu kaufen, liegen im Problemraum, während die Komponenten eines Online-Shops, die für diese Aktion benötigt werden, im Lösungsraum liegen. Komponententeams sind stärker am Lösungsraum orientiert.
Die Vermeidung einer starken Spezialisierung der Feature-Teams auf bestimmte Produktbereiche kann den Aufwand für die teamübergreifende Kommunikation verringern und bessere Ergebnisse für mäßig komplexe und komplexe Softwareprodukte liefern.
Von Feature- zu Komponententeams
Insgesamt unterstützen diese Ergebnisse auch das BAPO-Modell, von dem ich bereits berichtet habe. Das liefert also einen guten Eindruck wann Feature- oder Komponenten-Teams besser performen.
Eine schrittweise Umstrukturierung von Feature- zu Komponententeams für die Softwareentwicklung, wenn die Marktbedürfnisse klarer werden und die Architektur eines Softwareprodukts mit der Zeit stabiler wird, empfiehlt auch Roman Pichler. Mehr dazu kann man im Blog von Roman Pichler nachlesen.
Ein weiteres Konzept welches „large-scale“-Software-Entwicklung unterstützt ist Team Typologies. Matthew Skelton und Manuel Pais haben einen Ansatz für die Organisation von Geschäfts- und Technologieteams entwickelt und bieten ein anpassungsfähiges Modell für Organisationsdesign und Teaminteraktion.
Quelle: Feature vs. Component Teams for New Software Development: The Mirroring Hypothesis, December 2020, Conference: International Conference on Information Systems 2020At: India
Schreibe einen Kommentar