Die klassische Vorgehensweise in der Softwareentwicklung hat mit agilen Methoden wie Scrum, eXtreme Programming und Kanban eine Konkurrenz bekommen, deren Einfluss innerhalb des Unternehmens weit über die Softwareprojekte selbst hinausgeht. Agile Methoden einzuführen bedeutet beispielsweise auch, Karrierepfade und Bonussysteme anzupassen.
Außerdem rücken neue Developer Skills in den Vordergrund. Die speziellen Anforderungen der Agilen Methoden an Entwickler - und die Perspektiven, die Agile Unternehmen bieten - erläutert Matthias Grund, Geschäftsführer der andrena objects GmbH, im Gespräch mit der COMPUTERWOCHE. Das Software-Beratungshaus hat gemeinsam mit SAP das Programm ASE - Agile Software Engineering, entwickelt. ASE stieß bislang auf große Resonanz: Bis Januar 2012 haben etwa 1400 Software-Ingenieure dieses Trainingsprogramm durchlaufen, bis Ende des Jahres werden weitere rund 2400 folgen.
CW: Herr Grund, andrena objects, trainiert Software-Ingenieure in den verschiedensten, internationalen Standorten. Welche besonderen Anforderungen stellt ASE an die Entwickler?
Grund: Ganz kurz gesagt erfordert ASE eine Kombination des technischen Könnens und derjenigen Eigenschaften, die unter "Soft Skills" summiert werden. Bei den Techniken, die wir trainieren und in die Projekte tragen, dominieren die Prinzipien des "Clean Code" und "Test Driven Development". Bei den Soft Skills sind vor allem ausgeprägte kommunikative Fähigkeiten wichtig.
Der Entwicklungsprozess wird Teamsache
CW: Was ist daran wirklich neu? Kommunizieren können mussten Software-Ingenieure immer - schon allein deswegen, um mit ihren Auftraggebern die Anforderungen festzulegen.
Grund: Ja, aber der Austausch ist intensiver geworden. Und es gibt neue Techniken, die einzuüben sind: Der Umgang mit Anforderungen in Form von User Stories, die Verfeinerung von User Stories während des Projektes, also "just in time", Schätzung und Iterationsplanung. Bei den Agilen Methoden geht es nicht nur um den Austausch zwischen Auftraggebern und Entwicklern, sondern ganz intensiv um die ständige Kommunikation im Entwicklungsteam. Pair Programming etwa - ein Entwickler schreibt Code, ein anderer spiegelt, was er sieht - stellt das klassische Bild des stark individuell geprägten Einzelkämpfers auf den Kopf. Der Entwicklungsprozess wird Teamsache und fokussiert kreativ, das erfordert eine hohe Bereitschaft zur Diskussion.
CW: Diskussionsbereitschaft als hohe Entwicklertugend? Das müssen Sie erklären.
Grund: Wer sich fürs Programmieren entscheidet, ist stark technisch orientiert, interagiert gerne mit Maschinen und löst gerne Rätsel. Es hat, lapidar gesagt, Gründe, warum jemand Entwickler wird und nicht beispielsweise Sozialpädagoge; die Persönlichkeitsstruktur ist einfach anders. Dazu kommt, dass Softwareentwicklung ein kreativer Prozess ist, das macht die entstandene Software sozusagen zu einem Stück vom eigenen Ich. Damit werden Einwände gegen den Code schnell als persönliche Kritik wahrgenommen, aber das sind sie nicht, da muss streng getrennt werden. Aktive und passive Kritikfähigkeit kann man lernen.
CW: Nun ist andrena ein Beratungshaus, das andere Unternehmen in seinem ASE-Programm trainiert. Klar ist, dass ein Trainer besonders gut darin sein muss, Inhalte zu vermitteln. Inwieweit gilt das aber für reguläre Entwickler?
Grund: Alle unsere Trainer sind primär reguläre Entwickler, die während des Trainings mit in die Projekte der Kunden gehen. Für ASE ist charakteristisch, den Fokus wieder auf die Entwicklung, das Programmieren zu legen. Da wäre ein Trainer ohne die nötige Fachlichkeit kaum glaubwürdig. Dessen ungeachtet: Damit ein Team gemeinsam planen, entwickeln und abschätzen kann, muss maximale Transparenz herrschen, und das bedingt offenen Austausch und die Bereitschaft zur intensiven Kommunikation bei jedem Teammitglied.
Die klassische Softwareentwicklung funktioniert nicht
CW: Warum wollen Sie die klassische Softwareentwicklung überhaupt ablösen?
Grund: Die klassische Softwareentwicklung hat sich selbst abgelöst, weil sie nicht funktioniert hat. Scrum ist de facto heute der Industriestandard für Projektsteuerung. Auch bei Großprojekten übrigens.
Was bei aller Begeisterung über Scrum oftmals vergessen wurde: Mit Projektsteuerung alleine entwickelt man noch keine Software, da gehört das angepasste Engineering dazu, und übrigens auch ein angepasstes Anforderungs-Management. Mit dem Programm ASE fokussieren wir uns auf die Engineering Skills und betten diese in den Scrum Rahmen ein. Wir erhöhen so nicht nur die Qualität der Software, sondern vor allem auch die Zuverlässigkeit der Planung.
CW: Was ist die Philosophie hinter ASE?
Grund: Wir lassen Planung und Ausführung eines Projekts zusammen, anstatt sie zu trennen. Damit treten anstelle eines langen Entwicklungsprozesses kleine Intervalle. Bei Scrum sind das die Sprints, an deren Ende jeweils ein Stück einsetzbare Software geliefert wird. Das jeweilige Back-Log dazu setzt das Team gemeinsam auf. Die Entwickler sind nicht mehr nur die Stelle, die ausführt, was woanders festgelegt wurde. Sie sind aktiv an der Planung und der Abschätzung beteiligt. Das erfordert die erwähnte Diskussionsfähigkeit, etwa beim Daily Scrum, einem kurzen, jeden Tag stattfindenden Team-Meeting. Dabei sagt jedes Team-Mitglied ganz offen, woran es gerade arbeitet und welche Hindernisse eventuell im Weg stehen. Über viele solcher Planungs- und Ausführungsrunden wird das Team immer exakter in der Abschätzung des real Möglichen und immer stärker.
CW: Nun hat, wer neu in ein Unternehmen kommt, nicht unbedingt Erfahrung mit Agilen Methoden. Wie bereiten Sie neue Mitarbeiterinnen und Mitarbeiter auf die Agile Praxis vor?
Grund: Wir haben ein internes Programm unter dem Titel "In 10 Monaten zum Agilen Software-Ingenieur" konzipiert. Dazu gehört Training im Klassenraum ebenso wie die Teilnahme an den ASE-Kursen, wie wir sie für unsere Kunden halten. Außerdem schulen wir speziell die Soft Skills: Es gibt eigene Module für Themen wie Konfliktmanagement und Präsentationstechniken. Alle neuen Mitarbeiter bekommen einen Mentor, der sie nicht nur hinsichtlich der technischen Anforderungen betreut, sondern beispielsweise auch beim Umgang mit den Kunden berät. Wichtig ist uns vor allem, dass neue Kolleginnen und Kollegen Zeit bekommen, die Agilen Methoden kennen zu lernen. Wir setzten nicht voraus, dass, wer bei uns anklopft, schon langjährige einschlägige Erfahrung im Gepäck hat.
Nicht nur ausführen, sondern auch planen
CW: Und warum sollte man nun bei Ihnen anklopfen?
Grund: Agile Unternehmen sind sehr attraktiv für Entwickler, die selbst nicht nur ausführen, sondern planen wollen, die Selbstbestimmung schätzen. Bei der klassischen Vorgehensweise kann es beispielsweise zu Konflikten zwischen dem Vertrieb und den Entwicklern kommen: Der Vertrieb steht unter Abschlussdruck und macht den Kunden umfangreiche Zusagen. Im Zweifelsfall landet der schwarze Peter bei der Entwicklung, die nicht rechtzeitig liefert. Aber dabei bleibt unberücksichtigt, dass teilweise nicht mit der Entwicklung geklärt wurde, ob diese Zusagen überhaupt erfüllbar sind. Agile Methoden stärken die Entwickler-Teams auch in der Hinsicht, dass sie realistische Erwartungshaltungen fördern, weil die Teams direkt an der Planung und Abschätzung beteiligt sind.
CW: Bisher liegt der Fokus immer auf den Teams. Scrum-Teams kennen keine Profile, sondern Aufgaben bzw. Rollen. Was wird aus den klassischen Karrierepfaden?
Grund: Agile Unternehmen bieten alternative Karrieremöglichkeiten für Mitarbeiterinnen und Mitarbeiter, die weiter kommen wollen, ohne ihr Fachgebiet aufzugeben, etwa weil sie Manager werden. Denn wenn es für gute Software-Ingenieure karrieretechnisch am interessantesten ist, kein Software-Ingenieur mehr zu sein, dann habe ich als Unternehmen ein Problem. Deshalb gibt es bei uns, zusätzlich zu den üblichen Strukturen, den Entwicklungsweg vom Junior über den Senior zum Expert Developer, der ganz andere Skills hat als der Junior. Verbunden ist dieser Weg mit einem entsprechenden Anstieg von Gehalt und Verantwortung, damit es auch ökonomisch keine Nachteile gibt im Vergleich zur Manager-Position.
Auch für die Rollen des Scrum Masters und des Product Owners gibt es den Weg vom Junior zum Experten. Die Rolle des Scrum Masters bietet übrigens die gute Möglichkeit, Management Skills und Erfahrungen zu erwerben und schrittweise auszubauen.
CW: Wie sieht es mit der Internationalität aus?
Grund: Wir haben die Erfahrung gemacht, dass sich auch global verteilte Teams, über alle kulturellen Grenzen hinweg, mit den gleichen Kernthemen auseinandersetzen. Überall baut unser ASE-Programm auf Team-Empowerment, also die Stärkung der Scrum-Teams, auf Transparenz, Übernahme von Verantwortung und flache Hierarchien. Das ist natürlich kein Zufall: Das ASE-Programm haben wir zusammen mit SAP entwickelt, einem international agierenden Unternehmen. Im Sinne des "Self Empowerments" trainieren wir Trainer auch direkt vor Ort, etwa in Bangalore. Wir wollen weltweit einen gemeinsamen Bezugsrahmen für Engineering-Praktiken und Projektkultur schaffen. Die Erfahrungen sind bisher überall positiv.