27. April 2021

Agile Softwareentwicklung – was ist das?

Warum entwickeln wir unsere Software so, wie wir sie entwickeln? Und wie entstehen neue Funktionen für unsere Dienstplanungssoftware TIMEOFFICE, für die Agile Analytics Plattform Heartbeat und die Lagerverwaltung Depot? In diesem Blogbeitrag erklären die Product Owner, Christina Schütz und Andree Groß, wie agile, kundenorientierte Softwareentwicklung bei Pradtke funktioniert.

 

Anforderungen klären

Es ist unser Ziel, mit unseren Produkten und deren Features einen Nutzen für unsere Kunden zu stiften: Sie dabei zu unterstützen, Herausforderungen zu bewältigen, und sie im Arbeitsalltag stärker und handlungsfähiger zu machen. Dafür müssen wir zuallererst verstehen, welche Themen unsere Kunden bewegen, welchen Problemen sie sich gegenübersehen und welche Unterstützung sie sich von ihren Software-Produkten erwarten.

Deshalb können uns unsere Kunden ihre Ideen zur Verbesserung der Software über verschiedene Kanäle signalisieren: über den Service Desk, ihre Kundenbetreuer oder über einen anderen Pradtke-Ansprechpartner. Dann bewerten wir den Input anhand diverser Kriterien in einem Gremium. Wird das Problem bzw. die Optimierungsidee von mehreren Kunden bestätigt, beginnt die Zusammenarbeit.

Im ersten Schritt entwickeln wir eine gemeinsame Vision: Dazu laden wir Menschen aus verschiedenen Organisationen ein. Bei der Auswahl versuchen wir, einen möglichst repräsentativen Querschnitt unserer Kunden abzubilden. Gerne können Sie sich für bestimmte Themen direkt über Ihren Berater bewerben (klartext@pradtke.de).

 

 

Je nach Produkt kommen die Fachleute aus der Praxis der Kundenorganisationen aus dem Gesundheitswesen und Sozialwesen, aus Krankenhäusern, von Feuerwehren oder Rettungsdiensten. In Workshops erarbeiten wir dann gemeinsam mit ihnen eine tragfähige Vision für das gesetzte Thema. Die Vision ist unser Fixstern, an dem wir uns orientieren.

Im Folgenden gilt es, die einzelnen Entwicklungsschritte festzulegen. Dazu priorisieren wir die Anforderungen und zerlegen die gesamte Wegstrecke in kleinere Abschnitte, die wir nach und nach abarbeiten. Das bedeutet: wir entwickeln die Software schrittweise. Dieses Vorgehen wird auch iterativ genannt. So haben wir im Entwicklungsprozess immer wieder die Möglichkeit, agil auf neue Erkenntnisse und veränderte Anforderungen zu reagieren. Dieses Vorgehen ist heute Standard am Markt.

Man könnte sagen, wir passen die Route immer wieder an, während wir sie gehen. Dadurch bauen wir ein Produkt oder eine Funktion, die optimal auf die Kundenbedürfnisse ausgerichtet ist. Wie dieser Prozess aussieht, erklären wir im Folgenden.

 

 

Ideen diskutieren und validieren

Nachdem wir im ersten Schritt die Anforderungen geklärt und eine gemeinsame Vision entwickelt haben, erstellen wir einen Prototypen. Das kann eine Papierzeichnung, ein Klickdummy oder ein Konzeptpapier sein. Diesen Prototypen stellen wir einem ausgewählten Kundenkreis zur Diskussion und schärfen die Anforderungen dann anhand der Rückmeldungen zu diesem konkreten Beispiel. Entspricht der Prototyp dem Funktionsumfang, den die Kunden und wir uns vorgestellt haben, übersetzen wir ihn in entwicklungstaugliche Stories. Das sind die kurzen Wegabschnitte, von den wir bereits gesprochen haben.

 

Regelmäßige Feedbackschleifen

Damit wir in der Entwicklung auf dem richtigen Kurs bleiben und schnell auf Veränderungen in den Anforderungen reagieren können, sind unsere Kunden gefragt, sich in verschiedenen Formaten immer wieder mit konstruktivem Feedback in die Umsetzung einzubringen.

Denn nur, wenn wir wissen, was unsere Kunden tatsächlich benötigen, können wir ihnen Lösungen bieten, die sie optimal unterstützen. Dazu haben wir u. a. den Kurzpass geschaffen. In diesem Onlineformat haben alle unsere Kunden ein Mal in der Woche die Möglichkeit, sich persönlich mit Ansprechpartnern aus sämtlichen Bereichen bei Pradtke und untereinander austauschen. Hier werden neue Features diskutiert und Ideen besprochen. Zu den Kurzpass-Terminen

 

Auslieferung

Haben wir einen Wegabschnitt zurückgelegt, also die erste Umsetzungsstufe entwickelt, erhalten unsere Kunden diese als neues Feature. Gleichzeitig starten wir dann mit der zweiten Stufe.

Früher hat man sich für bis zu einem halben Jahr mit der Entwicklung neuer Features beschäftigt und diese dann in Summe ausgeliefert, ohne in der Zwischenzeit mit den Kunden zu sprechen oder Ziel und Vorgehen zu validieren. In dieser langen Entwicklungsphase konnte sich jedoch vieles ändern. Neue Anforderungen kamen hinzu, alte traten in den Hintergrund. So konnte es vorkommen, dass Lösungen gebaut wurden, die bei Auslieferung nicht mehr der Realität in den Kundenorganisationen entsprachen. Das haben wir mit der Einführung der agilen Softwareentwicklung vollständig verändert.

Heute entwickeln wir in einem zweiwöchigen Rhythmus neue Feature und Funktionen. In Zukunft fassen wir diese Inkremente quartalsweise zu Funktionsbündeln zusammen, die wir dann bis zu vier Mal im Jahr ausliefern.

 

Darum agile Softwareentwicklung

Mit der agilen Softwareentwicklung können wir sehr flexibel auf sich ändernde Umstände und Anforderungen reagieren. So entwickeln wir ein Produkt heute Schritt für Schritt und im regelmäßigen Austausch mit unseren Kunden. So können sie an Neuem mitarbeiten und bereits bestehende Produkte und Features durch ihr Feedback kontinuierlich verbessern.

 

Christina Schütz
Andree Groß

Allgemein