• 1
  •  
  •  
  •  
  •  
    1
    Share
Teil 2 von 5

Was macht Softwareentwicklung erfolgreich? Zusammenarbeit!

Wie glückt Softwareentwicklung, und was bringt sie in Schieflage? bbv präsentiert 5 Faktoren, die bei der Entwicklung von Software zentral sind. Teil 2 der Serie: Zusammenarbeit.

28.09.2018Text: bbv0 Kommentare
Softwareentwicklung: Zusammenarbeit
  • 1
  •  
  •  
  •  

Damit Software-Produkte effizient und qualitativ hochwertig realisiert werden können, müssen alle beteiligten Entwickler in einem Value Stream zusammenarbeiten. Klassische Entwicklungsmethoden mit ihren Silos haben das nur selten berücksichtigt: «Man hatte den Requirements Engineer, der die Softwareanforderungen über den Zaun hin zu den Entwicklern warf. Die Entwickler reichten nach getaner Arbeit die Software zu den Testern weiter, und diese nach den Tests weiter zu den Operators – mit dem Auftrag, die Software zu installieren. Das ist keine Zusammenarbeit», erklärt Urs Enzler, Fachleiter agile und Architektur bei bbv. «Zusammenarbeit heisst, dass alle nahe beieinander sind und jeder mit jedem sprechen und Feedback geben kann.»

Eine gute Zusammenarbeit verhindert auch Bottlenecks und Liegezeiten: Wenn bei klassischen Entwicklungsmethoden Aufträge von einem Silo ans nächste erteilt werden, bleiben sie meistens liegen, weil sie nicht sofort verarbeitet werden können. «Tester brauchen eine gewisse Anlaufzeit, bis sie Features testen können», erklärt Enzler. «Und die Entwickler kümmern sich nicht sofort um deren Feedback, weil sie anderweitig beschäftigt sind.» Die Folge: Die Verarbeitung geht nicht sauber voran, es kommt zu Bottlenecks – was dazu führt, dass sich entweder die Entwicklung stark verlangsamt oder sich die Qualität verschlechtert.

Jetzt braucht es T-shaped oder M-shaped people

Für eine optimale Zusammenarbeit müssen sich alle Personen, die an der Softwareentwicklung mitwirken, fächerübergreifendes Wissen aneignen. Sogenannte «T-shaped persons» besitzen Expertenwissen in ihrem Fachbereich – dafür steht der vertikale Balken des T – wie auch Generalistenwissen in anderen Gebieten – symbolisiert durch den horizontalen Balken des Buchstabens. Das Generalistenwissen hilft ihnen, mit den anderen Leuten des ganzen Value Streams zu sprechen. «Wenn sich ein Entwickler beispielsweise mit Operations auskennt, kann er die Software so bauen, dass Probleme, die typischerweise im Betrieb auftreten, bereits ausgemerzt werden», erklärt Enzler. In vielen Teams reichen T-shaped persons nicht mehr, es bedarf «M-shaped persons», die nicht nur auf ein, sondern gleich auf mehrere Gebiete spezialisiert sind. Nur so verfügen kleine agile Teams über das benötigte Wissen, um die Komplexität heutiger Softwareentwicklung zu beherrschen.

Der Experte

Urs Enzler

Urs Enzler ist als Senior Software-Architekt .NET bei bbv tätig. Als agil gesinnter Softwareentwickler spricht er an Konferenzen und Communityanlässen gerne über architektonische Herausforderungen und über das Lernen im Team. Enzler ist Co-Gründer der .NET Usergroup Zentralschweiz.

Unser Wissen im Abo

Veranstaltung in Luzern

Global Day of Coderetreat: Programmierleidenschaft pur

Softwareentwicklung
Software modernisieren

Warum Softwaremodernisierung oft die beste Lösung ist

Softwareentwicklung
Kommunikation in schwierigen Situationen

Die Grenzen der effektiven Kommunikation

Softwareentwicklung

Artikel kommentieren

Die E-Mail-Adresse wird nicht publiziert. Notwendige Felder sind mit einem * versehen.