Aktuelles

Die agile Hintertür

... oder wie man Kunden zur Mitarbeit in agilen Projekten motivieren kann ... Da war es also nun, das neue Projekt für die Forschungsabteilung eines Kunden, mit dem wir schon seit einigen Jahren vertrauensvoll zusammenarbeiteten. In vielen Gesprächen und auf vielen Seiten wurden uns die Anforderungen und der sich daraus ergebende Nutzen für den Kunden detailliert erläutert. Nur eines störte uns, nämlich der Satz "Wir können die Anwendung erst dann einsetzen, wenn alles vollständig implementiert ist."

Intern würden wir dieses Projekt agil entwickeln, das war klar. Wir hatten uns in den Gesprächen mit dem Kunden auch soweit über die Absichten des Kunden informiert, dass ich als interner Product Owner agieren konnte. Auch stand ein Ansprechpartner des Kunden, nennen wir ihn Herrn Meier, als Stakeholder für Rückfragen zur Verfügung. Wir zweifelten aber dennoch daran, dass wir auf diese Weise das herstellen würden, was der Kunde wirklich benötigte. Immerhin verzichteten wir auf wenigstens zwei wesentliche Vorteile der agilen Entwicklung:

  • Der Kunde setzt die schon funktionierenden Teile der Anwendung möglichst früh gewinnbringend für sich ein.
  • Veränderungen am Markt sowie Erkenntnisse, die sich mit den schon nutzbaren Programmteilen gewinnen lassen, können in die Weiterentwicklung einfließen.

In der Absicht, Herrn Meier für eine gemeinsame agile Vorgehensweise zu gewinnen und so eine bessere Software zu erstellen, planten wir unsere Sprints so, dass wir ganz im Sinne von Scrum möglichst schnell Wertschöpfung betrieben. Der Schwerpunkt wurde auf die Entwicklung eines Rechenkerns gelegt, der Herrn Meier auch schon in einer frühen Phase des Projekts viel Arbeit ersparen konnte, die er bis dato mit einer Tabellenkalkulation zu erledigen hatte. Um diesen Rechenkern herum erzeugten wir einige Eingabemasken sowie Exportfunktionen, so dass eine sinnvolle Einbettung in die Arbeitsabläufe beim Kunden möglich war.

Im Rahmen eines Jour-Fixes stellten wir Herrn Meier diese Funktion vor, um die Ergebnisse unserer Berechnungen zu prüfen. Wir bereiteten unsere Ergebnisse nicht vor, sondern nutzen im Beisein von Herrn Meier die Eingabemasken, um die Berechnungen zu erstellen. Wie von uns erhofft, beteiligte Herr Meier sich schnell daran, Parameter zu variieren und mit der Software zu experimentieren. Berechnungen, die ihm sonst Stunden kosteten, konnten nun in wenigen Minuten durchgeführt werden. Das Eis war schnell gebrochen und Herrn Meier wurde klar, dass er das bisher erzielte Ergebnis schon sinnvoll einsetzen konnte.

Wir richteten daraufhin ein Testsystem für Herrn Meier ein, das wir über eine Replikationsstrecke mit Echtdaten versorgten. Durch die rege Nutzung dieses Systems entdeckte Herrn Meier neue Möglichkeiten für seine Forschung, die über den Scrum-Prozess in die laufende Entwicklung einfließen und nach relativ kurzer Zeit an den Kunden ausgeliefert werden konnten, wo sie schon sehnsüchtig erwartet wurden. Nachdem ein gewisser Funktionsumfang und eine ausreichende Zuverlässigkeit erreicht waren, öffneten wir das Testsystem für einen erweiterten Personenkreis beim Kunden. Wir erreichten so einen fließenden Übergang zur Nutzung unseres Produkts, der weitgehend störungsfrei verlief.

Letztendlich haben wir Herrn Meier von den Vorteilen der agilen Softwareentwicklung überzeugen können. Am Ende des Projekts hatte der Kunde nicht alle Funktionen zur Verfügung, die ihm anfangs wichtig erschienen. Im Tausch dafür haben wir andere aber Funktionen implementiert, die erst bei der Arbeit mit dem bestehenden System Bedeutung für Herrn Meier und seine Kollegen gewonnen haben und wichtiger wurden als einige der ursprünglich geplanten Funktionen. Ein neues Projekt ist geplant und wird von vorneherein in Zusammenarbeit mit dem Kunden agil betrieben; ebenso wie die Weiterentwicklung des schon abgeschlossenen Produkts.

Wir hatten in diesem Projekt gute Voraussetzungen für einen Umstieg auf agile Methoden, da wir den Kunden schon länger kannten und Forscher ohnehin Neuem nicht abgeneigt sind. Aber auch bei vielen anderen Kunden wird man eine Mitarbeit in agilen Projekten erzielen können, wenn man in der Software möglichst früh Wertschöpfung erzielt und den Kunden frühzeitig mit dem System vertraut macht. Man muss es einfach versuchen.