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.