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: tnt-graphics0 Kommentare
Softwareentwicklung_Zusammenarbeit

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 war als Expert 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

Herausforderungen und Chancen

Die Auswirkungen des Cyber Resilience Acts auf KMU

Cybersecurity
Ladezeit, der Conversion-Killer im eCommerce

Sechs Tipps, um die Performance Ihres Webshops zu verbessern

Customer Experience
Menschen bei bbv

«Gute Ideen sind unser Rohstoff»

Agile Software Development

Attention!

Sorry, so far we got only content in English for this section.

Achtung!

Entschuldigung, bisher haben wir für diesen Abschnitt nur deutschsprachige Inhalte.