Sobald mehrere Personen zusammenarbeiten, gilt: Für die erfolgreiche Umsetzung ist regelmässige Kommunikation das A und O. Bei der Software-Entwicklung ist das nicht anders: «Software zu entwickeln bedeutet, Probleme zu lösen», erklärt Urs Enzler, Fachleiter agile und Architektur bei bbv. «Wenn man ein Problem nicht richtig versteht, liefert man auch das falsche Produkt. Daher ist Kommunikation elementar bei der Realisierung von Software.»
Gerade bei klassischen Methoden der Softwareentwicklung zeigt sich, wie wichtig gute Kommunikation ist. Denn die Realisierung von Software ist mit Hand-Overs verbunden: Normalerweise hat der Requirements Engineer direkten Kontakt zum Kunden und nimmt in einem Dokument dessen Wünsche und Anforderungen auf. «Daraufhin lesen die Entwickler das Dokument und verstehen vielleicht etwas ganz anderes», erklärt Enzler. «Durch diese Kette von Hand-Overs werden Missverständnisse immer grösser.»
Agile Methoden fördern Kommunikation
Das Ziel agiler Entwicklungsmethoden ist es, diese Hand-Overs zu eliminieren – indem alle, die an der Softwareentwicklung beteiligt sind, möglichst nah beim Benutzer oder Stakeholder sind und bestenfalls persönlich mit ihm sprechen. «Ein Ober-Agilist sagte mal, man sei nicht agil, wenn nicht mindestens ein Benutzer bei den Entwicklern am Tisch sitzt», hält Enzler fest. «Genauso steht es auch im agilen Manifest: Business-Verantwortliche und Entwickler arbeiten täglich nahe zusammen.»
In Scrum-Verfahren kommt dem Product Owner dabei eine wichtige Rolle zu: Er stellt das eigentliche Bindeglied zwischen Kunde und Entwickler dar. «Dennoch ist es auch bei Scrum die Idee, dass der Product Owner die Entwicklung zwar leitet, aber dass auch dort das Team mit den Benutzern und Stakeholdern spricht», erklärt Enzler. Natürlich muss nicht jeder, der an der Softwareentwicklung beteiligt ist, jeden Tag mit den Usern sprechen. «Wenn auch nur ein oder zwei Personen mit den Benutzern im direkten Kontakt stehen, ist das schon Welten besser, als wenn ein Requirements Engineer – den man selbst so gut wie nie zu Gesicht bekommt – die Anforderungen einfach ins Dokument geschrieben hat.» Somit gilt: Dank einer ständigen Kommunikation unter Entwicklern und Benutzern werden Missverständnisse früh erkannt und aus dem Weg geräumt, was wiederum die Entwicklungszeit verkürzt; genau das macht agile Entwicklungsmethoden so effektiv.
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.