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.
- Fünf Gründe für den agilen Ansatz
Neue Methoden der Softwareentwicklung begeistern die Mitarbeiter und die Kunden. Da stellt sich die Frage, woher es kommt, dass "Agilität" derartig beliebt ist? Alexander Ockl nennt Fünf Gründe: - Weniger Prozess - dafür mehr Mensch
Offenbar haben wir gelegentlich das Prozessrad zu weit gedreht. Mit Know-how in den Prozessen wollten wir gute Software wie am Fließband im "billigen Ausland" herstellen lassen. Probleme lassen sich mit noch ausgefeilteren Prozessen und Rollen beseitigen, so dachten wir. Aber inzwischen wissen wir, dass wir am so genannten Fließband meist individuell arbeiten. Und talentierte Mitarbeiter haben auch im Ausland inzwischen ihren Preis. - Persönliche Motivation statt Existenzangst
In der agilen Welt zählt der Mensch wieder etwas. Statt verteilt zu sitzen, schauen sich agile Teams wieder in die Augen. Effektive, direkte Kommunikation ersetzt endlose, anonyme Telefonkonferenzen und überlaufende E-Mail-Postkörbe. Größerer Gestaltungsspielraum und überschaubare Rollen geben Mitarbeitern das Gefühl, endlich wieder etwas bewegen zu können. Das setzt Kräfte frei. Und motiviert, anstatt zu frustrieren. - Entfaltete Stärken statt Fesseln
Endlich wieder kreativ sein und nicht starre Prozesse befolgen müssen! Kein Wunder also, dass gerade Entwickler und Analysten diesen Ansatz lieben. Im agilen Umfeld sind sich alle bewusst, wie wichtig ein gut zusammengestelltes Team ist. Das übersehen wir in der "alten IT-Welt" häufig - zwischen den vielen Prozessdetails und virtuellen Teams. Unsere Kunden freuen sich auch, denn schließlich steht wieder die Lösung ihrer Probleme im Vordergrund. - Gemeinsam entwickelte Arbeitsweise
Neue Prozesse bedeuten in unserem herkömmlichen Alltag häufig neue Rollen. So entstehen Teamveränderungen und Umstrukturierungen. Die vorgegebene Arbeitsweise passt aber vielfach nicht zum Team. Agile Methoden wie Scrum zeigen, dass es auch anders geht. Den "Toyota-Weg" als Vorbild, organisieren sich schlanke Teams innerhalb eines groben Rahmens am besten selbst.Es lohnt es sich, ein funktionierendes Team - wie im Fußball - nicht zu stark zu verändern. Gemeinsam entwickelt, richtet sich die Arbeitsweise nach den Möglichkeiten der Mitarbeiter. - Eine nachvollziehbare Teamleistung
Schreit unser Umfeld nach Agilität, so sollten wir nicht dagegen reden, sondern genau hinschauen. Agilität und gute Prozesse wollen das Gleiche. Müssen wir dennoch verteilt arbeiten, so sollten wir unbedingt auf die menschliche Komponente achten. Frei nach Felix Magath bei der Vorstellung des Spielers Raul sollte es "unsere Verpflichtung sein", die Mitarbeiter "so in Szene zu setzen", dass Sie "ihre Fähigkeiten voll ausspielen können". Andernfalls schließt auch Raul keine Tore, sondern wird zu einem mittelmäßigen und schließlich frustrierten Mitspieler.
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.