Im Interview mit Manfred Steyer

Agile ist längst kein Randthema mehr
Kommentare

Der Einsatz von agilen Vorgehensweisen wie Scrum, XP oder Lean ist in vielen Unternehmen weit verbreitet. Doch wie kann man diese Methoden wirklich effektiv einbinden? Im Rahmen des Agile Days auf der Basta! beantwortet Moderator Manfred Steyer diese Frage und berichtet von seinen Erfahrungen mit der agilen Softwareentwicklung. Einen kleinen Vorgeschmack gibt Steyer jetzt schon im Interview mit dot.NET.

dot.NET: Agile Softwareentwicklung ist als Methodologie für die moderne, produktive Softwareentwicklung weitgehend anerkannt. Doch wie sieht es mit der Umsetzung aus? Haben agile Methoden auf breiter Basis Einzug in Unternehmen gehalten?

Manfred Steyer: Vor guten 10 Jahren war Agilität noch ein Randthema, welches von vielen sogar belächelt wurde. Damals wurde XP irrtümlicherweise vielerorts mit Agilität gleichgesetzt – und XP wurde von vielen als „Lizenz zum wild drauf los Hacken“ missverstanden. Mittlerweile ist das anders. Viele Firmen setzen offiziell auf Scrum, darunter auch große Firmen. Scrum hat sich leichter als XP durchsetzen können, zumal es nicht so „extrem“ wie XP ist, den Entwicklern nicht vorschreibt, wie Sie arbeiten müssen und vom Projektmanagement besser verstanden wird, zumal es sich auf organisatorische Aspekte beschränkt. Dazu kommt die Tatsache, dass es Zertifizierungen für Scrum und somit einen recht großen Schulungsmarkt gibt. Trotzdem nutzen fast alle Scrum-Teams zusätzlich Techniken von XP. In erster Linie sind das technische Aspekte, die in Scrum fehlen und ohne die ein agiles oder iteratives Vorgehen schwer möglich ist. Beispiele dafür sind testgetriebene Entwicklung oder Continuous Integration.

Natürlich gibt es heute aber noch eine ganze Menge Projekte, die klassisch durchgeführt werden. Es lässt sich aber beobachten, dass die agilen Projekte, gerade die, die auf Scrum setzen, zunehmen.

dot.NET: Der gute Start eines agilen Projektes gilt als die wichtigste Voraussetzung für dessen späteren Erfolg. Wie lässt sich der Projektstart am besten durchführen?

Manfred Steyer: Meine Empfehlung lautet hier, eine sogenannte „Iteration Zero“ durchzuführen. In dieser ersten (eigentlich „nullten“) Iteration werden die Anforderungen überblicksmäßig erfasst, sodass man beim anschließenden Iterativen Vorgehen trotzdem den Blick fürs Ganze hat und der Horizont nicht beim Ende der aktuellen Iteration aufhört. Somit verhindert man, dass sich das Projekt in eine falsche Richtung entwickelt, die später nur mit großem Aufwand zu korrigieren ist. Entwickler können diese Iteration nutzen, um sich mit neuen Technologien vertraut zu machen oder um sich in eine neue Fachdomäne einzuarbeiten. Wichtig dabei ist, dass die Iteration Zero nichts mit Big-Upfront-Design (BUFD) zu tun hat. Die Zeit dafür ist auf eine einzige Iteration beschränkt und die Herausforderung liegt darin, sich auf jene Aspekte zu konzentrieren, die in dieser frühen Phase wirklich wichtig sind, ohne sich in einer Detail-Planung zu verstrichen.

dot.NET: Weshalb ist es wichtig, Projekt-Anforderungen widerspruchsfrei und lückenlos zu dokumentieren?

Manfred Steyer: Im Endeffekt geht es ja darum, Geschäftsnutzen zu stiften und den Benutzern ein Stück Software zu liefern, mit dem sie Ihre Aufgaben besser bewältigen können. Gibt es in den Anforderungen Lücken oder Widersprüche, ist dieses Ziel in Gefahr. Im schlimmsten Fall entsteht ein Software-System, das zwar wunderbar funktioniert, aber für die Anwender nicht brauchbar ist – man hat dann also das falsche System „richtig“ gebaut.

Lücken und Widersprüche entstehen in Anforderungen einfacher als man denkt – und sie zu entdecken kann wirklich schwierig sein. Das hat teilweise etwas mit Sprache zu tun, aber auch teilweise damit, wie unser Gehirn funktioniert. Wir neigen dazu, zu generalisieren und bestimmte Aspekte, die für uns gerade nicht wichtig sind, wegzulassen. Dazu kommt, dass es tatsächlich Anforderungen von unterschiedlichen Benutzern geben kann, die einander widersprechen.

dot.NET: Sie beschreiben in Ihrer Basta!Session Möglichkeiten, die Qualität in Anforderungen sicherzustellen. Können Sie hier ein Beispiel nennen?

Manfred Steyer: Das einfachste ist wahrscheinlich ein Review durch einen Kollegen. Dies hat allerdings den Nachteil, dass die Qualität des Reviews sehr stark von dieser einen Person abhängt und die Gefahr besteht, dass gerade tiefsitzende Probleme nicht gefunden werden. Effektiver, jedoch auch kostenintensiver, ist das Durchführen einer Inspektion mit einem Inspektionsteam, welches nach Checklisten vorgeht.

Andere Möglichkeiten, die gerne genutzt werden, verwenden Perspektivenwechsel. Dadurch, dass man die Anforderungen anders darstellt, tun sich häufig Lücken und Widersprüche von ganz alleine auf. Man könnte zum Beispiel die Anforderungen modellieren. Durch das Modellieren werden verschiedene Anforderungen in einem Diagramm untergebracht. Dadurch sowie durch die Tatsache, dass man gezwungen ist, die Anforderungen formal darzustellen, können Lücken und Widersprüche einfacher erkannt werden. Eine weitere Möglichkeit, die in dieselbe Kerbe schlägt, bietet das Formulieren von Abnahmekriterien. Neben der Tatsache, dass man die irgendwann sowieso benötigt, bieten auch diese einen Perspektivenwechsel sowie eine formalere Darstellung.

dot.NET: Was können Besucher des Agile Days mitnehmen, um agile Softwareentwicklung effektiver in ihren Arbeitsalltag einzubinden?

Manfred Steyer: Ich denke, der Agile Day vermittelt einen interessanten Mix aus Techniken und Best Practices, die man teilweise sofort im Projektalltag einsetzen kann, und Erfahrungswerten aus der Praxis. Beispiele hierfür sind Techniken für die Qualitätssicherung in Anforderungen, Tipps für den richtigen Projektstart, aber auch Erfahrungsberichte von Leuten, die seit einiger Zeit sehr erfolgreich agil vorgehen und aufzeigen, wie sie das eine oder andere Problem lösen.

dot.NET: Vielen Dank für das Interview!

Agile Day

Mittwoch, 29. Februar 2012

Agile Vorgehensweisen gehören in vielen Unternehmen mittlerweile zum Standard. Zahlreiche Projekte weltweit setzen Scrum, XP, Lean oder eigene agile Methoden ein. Allerdings ist der Anfang nicht immer einfach, und auch die Anpassung an die spezifischen Anforderungen sind eine Herausforderung. Auf dem Agile Day erfahren Sie, wie Sie die Prinzipien agiler Softwareentwicklung in Ihren Arbeitsalltag effektiv einbinden können und bekommen darüber hinaus Einblicke in die Erfahrungen von agilen Methodenberatern, Kunden und Entwicklern. Zudem bietet der Special Day eine Vielzahl innovativer Diskussions- und Präsentationsformen und macht agiles Vorgehen erlebbar.

Die Sessions im Überblick:

  • Frank Düsterbeck: Der agile Projektstart
  • Manfred Steyer: Qualität in Anforderungen sicherstellen
  • Peter Rey: Mögliche Organisationsstrukturen mit Scrum in der Unternehmung
  • Dr. Alexander Egger und Christian Krenn: Ein bisserl Agile. Ja darf man denn das?
  • Andreas Hafellner: Scrum vs. Kanban: der lange Weg zum richtigen Werkzeug
Manfred Steyer ist freiberuflicher Trainer und Berater bei www.IT-Visions.de sowie verantwortlich für den Fachbereich „Software Engineering“ der Studienrichtung „IT und Wirtschaftsinformatik“ an der FH CAMPUS 02 in Graz. Er schreibt für das dot.NET Magazin, entwickler.press sowie Microsoft Press und spricht regelmäßig auf Fachkonferenzen.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -