Die neuen Tugenden der Entwickler

09.08.2012
In Zeiten von Scrum und Kanban ist der Entwicklungsprozess Teamsache und ständige Kommunikation oberstes Gebot. Was agile Unternehmen von Software-ingenieuren erwarten, erklärt Matthias Grund, Technologievorstand von Andrena Objects, im Gespräch mit CW-Redakteurin Karen Funk.

CW: Herr Grund, Ihr Software- und Beratungshaus hat gemeinsam mit SAP das Programm ASE - Agiles Software Engineering - entwickelt. Wie viele Teilnehmer hatten Sie bislang?

GRUND: Bis Januar 2012 haben etwa 1400 Softwareingenieure dieses Trainingsprogramm durchlaufen, bis Ende des Jahres werden weitere 2400 folgen.

CW: Andrena Objects trainiert Softwareingenieure an den verschiedensten internationalen Standorten. Welche besonderen Anforderungen stellt ASE an die Entwickler?

GRUND: ASE erfordert eine Kombination aus technischem Können und von 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.

CW: Was ist daran wirklich neu? Gut kommunizieren mussten Softwareingenieure immer schon - allein, um mit ihren Auftraggebern die Anforderungen an ihre Arbeit 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 während des Projekts, also "just in time", Schätzung und Iterationsplanung. Bei den agilen Methoden geht es nicht nur um den Austausch zwischen Auftraggebern und Entwicklern, sondern 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.

CW: Entwickler gelten als Individualisten, die nicht besonders kritikfähig sind.

GRUND: Wer sich fürs Programmieren entscheidet, ist stark technisch orientiert, interagiert gerne mit Maschinen und löst Rätsel. Es hat, kurz 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 lassen sich lernen.

CW: Welche Voraussetzungen bringen Ihre Trainer mit? Wie versiert müssen sie technisch sein, um die Entwickler zu erreichen?

GRUND: Alle unsere Trainer sind in erster Linie selbst Entwickler, die während des Trainings 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.

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 wird: Mit Projektsteuerung allein 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 offen, woran es gerade arbeitet und welche Hindernisse eventuell im Weg stehen.

CW: Nun hat, wer neu in ein Unternehmen kommt, nicht unbedingt Erfahrung mit agilen Methoden. Wie bereiten Sie Mitarbeiterinnen und Mitarbeiter auf die agile Praxis vor?

GRUND: Wir haben ein internes Programm unter dem Titel "In zehn Monaten zum agilen Softwareingenieur" konzipiert. Dazu gehört Training im Klassenraum ebenso wie die Teilnahme an den ASE-Kursen. Außerdem schulen wir speziell die Soft Skills: Es gibt eigene Module für Themen wie Konflikt-Management 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 kennenzulernen.

CW: Und warum sollte man jetzt 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 nicht mit der Entwicklung geklärt wurde, ob diese Zusagen erfüllbar sind. Agile Methoden stärken die Entwickler auch in der Hinsicht, dass sie realistische Erwartungen 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 beziehungsweise Rollen. Was wird aus den klassischen Karrierepfaden?

GRUND: Agile Unternehmen bieten alternative Karrieremöglichkeiten für all diejenigen, die weiterkommen wollen, ohne ihr Fachgebiet aufzugeben, etwa indem sie Manager werden. Denn wenn es für gute Softwareingenieure karrieretechnisch am interessantesten ist, kein Softwareingenieur 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 den Scrum Master und den Product Owner 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. Von Karen Funk

Agil heißt ...

- im Entwicklungsteam wird ständig kommuniziert;

- der Entwicklungsprozess ist Teamsache;

- der Entwicklungsprozess ist kreativ;

- das Entwicklungsteam muss diskussionsbereit und kritikfähig sein.

Agile Methoden

Die klassische Vorgehensweise in der Softwareentwicklung hat mit agilen Methoden wie Scrum, Extreme Programming und Kanban starke Konkurrenz bekommen, deren Einfluss innerhalb der Unternehmen weit über Softwareprojekte hinausgeht. Agile Methoden einzuführen bedeutet beispielsweise auch, Karrierepfade und Bonussysteme anzupassen.