Bedürfnisorientierte Entwicklungsphilosophie bei Ghostthinker – agil ist Trumpf
„Von großer Beweglichkeit zeugend; regsam und wendig“. So definiert der Duden das Wörtchen „agil“. Diese Beschreibung impliziert Gesundheit, Jugend und Fortschritt. Sie meint aber auch Rastlosigkeit und Veränderung. Alles in allem treffen diese Begrifflichkeiten den Nagel genau auf den Kopf, wenn man sie in Zusammenhang mit der aktuellen Softwareentwicklung bringt. Besser könnte man diese wohl nicht beschreiben. Heutzutage haben agile Werte einen hohen Stellenwert. Deshalb müssen Prozesse regsam und wendig sein. Viele Lebensbereiche und Aufgaben nehmen zunehmend Fahrt auf und müssen möglichst zügig Fortschritte machen. Dies trifft natürlich auch auf Projekte in der Softwareentwicklung zu. Es bleibt keine Zeit mehr für Mehrjahresplanungen und Mammutprojekte in klassischen Abläufen. Die Kund:innen ist durch die Digitalisierung anspruchsvoller geworden und kennen Möglichkeiten sowie die eigenen Bedürfnisse sehr genau. Entwicklungen, die mit der Zeit gehen wollen, müssen nicht nur „as soon as possible“ verfügbar und flexibel sein, sondern sich bedürfnisgerecht Schritt für Schritt weiterentwickeln. Genau diesen Gedanken greift das agile Arbeiten in Scrum-Teams auf. Scrum ist ein Framework für das Projektmanagement nach agilen Prinzipien und hat seinen Ursprung in der Softwareentwicklung. Scrum hat sich von einem Vorgehen aus der Softwareentwicklung hin zu einer allgemeinen Projektmanagement-Methode entwickelt. Eine wichtige Grundlage ist die Selbstorganisation der Teammitglieder – einen Projektleiter im traditionellen Sinne gibt es nicht. Scrum ist empirisch, inkrementell und iterativ. Das bedeutet, die konkrete Anwendung basiert auf Erfahrung und das Vorgehen findet schrittweise in sich wiederholenden Etappen statt. (http://projektmanagement-definitionen.de/glossar/scrum/)
Es ist nicht verwunderlich, dass inzwischen die meisten Entwicklerteams nach dieser Methode arbeiten. Aber auch andere Bereiche der Unternehmen arbeiten zunehmend nach agilen Werten. Denn vor dem Hintergrund der sich schnell wechselnden Anforderungen und Bedürfnisse in der digitalen Welt, wie beispielsweise Software-Richtlinien oder Datenschutz, haben über Monate oder gar Jahre vorausgeplante Projekte keinen Platz mehr. Sie sind nicht mehr konkurrenzfähig, ihnen fehlt die Flexibilität, um auf Veränderungen angemessen reagieren zu können.
Wir planen kein Projekt, wir planen Ergebnisse
Ghostthinker entwickelt von der ersten Stunde an agil. Gemeinsam mit unseren Kund:innen arbeiten wir daran, die Softwareprodukte sukzessive weiterzuentwickeln. Dabei achten wir darauf, dass vor der Entwicklung einer neuen Funktion immer das genaue Bedürfnis für die Neuerung formuliert wird: Warum benötigt man diese Entwicklung? Welchen Mehrwert möchte man daraus generieren? Die Ergebnisse dieser Analyse werden dann vom jeweiligen Product Owner, also dem Produktverantwortlichen, in sogenannten User Storys (US) vorformuliert. In einem gemeinsamen Meeting schätzt das Scrum-Team den Aufwand der Entwicklung in User Story Points ab. User Story Points sind also eine Maßeinheit, die den Umfang der Entwicklung festhalten. Erst wenn die Kund:in die US bestätigt hat, wandert diese in einen Entwicklungszyklus namens Sprint. Ein Sprint umfasst bei Ghostthinker drei bis fünf Wochen. Grob gesagt bewegen sich unsere Entwickler:innen somit in monatlichen Zyklen. Das bedeutet, dass sich unsere Software kontinuierlich ein Stückchen weiterentwickelt. Nach jedem Sprint werden die neuen Funktionen nach einer ausführlichen Testphase der im Sprint entwickelten Funktionen und nach einer Abnahme durch den Product Owner auf den Systemen freigeschaltet. Diese agile Softwareentwicklung bedeutet Flexibilität und schnelle Ergebnisse für uns und unsere Kund:innen. Starre Projekte, die über längere Zeiträume ohne Zwischencheck zur Aktualität oder korrekten Zielrichtung entwickelt werden, sind für uns nicht zielführend. Unsere Produkte sollen sich nach Kundenwunsch Schritt für Schritt weiterentwickeln und so mit vielen Teilerfolgen als lebendige Produkte bei den Kund:innen Mehrwert erzeugen.
Wer sind die relevanten Entscheider:innen im Prozess?
An erster Stelle steht die Kund:innen mit ihrem Bedürfnis. Er tritt damit an die Kundenbetreuer:in heran. Nachdem sich beide gemeinsam über die Neuerung verständigt und festgelegt haben, holen sie den Product Owner ins Boot. Dieser ist verantwortlich für den Erfolg seines Produktes: für die Wertmaximierung des Produkts und die inhaltliche Arbeit des Entwicklungsteams daran. Der Product Owner formuliert das Kundenbedürfnis in einem Satz (User Story), um das Produkt zielführend weiterentwickeln zu können. Das Scrum-Team formuliert die User Story technisch detailliert aus und schätzt den Entwicklungsaufwand im Team pro User Story ab. In einem gemeinsamen Sprint-Planungsmeeting sitzen dann der Product Owner, der Scrum-Master und das Scrum-Team zusammen und planen, welche User Stories in den kommenden Sprint aufgenommen werden sollen. Sie orientieren sich dabei an der getätigten Aufwandsschätzung und der Priorität der User Stories. Der Scrum Master ist eine von drei Rollen, die es im Scrum-Prozess gibt. Er ist die Person, die dafür sorgt, dass das Team möglichst effektiv und ungestört arbeiten kann und dass der Scrum-Prozess eingehalten wird.
Was notwendig ist, können nur die User entscheiden
Das Bedürfnis nach neuen Entwicklungen identifizieren die Kund:innen selbst. Durch die regelmäßige Arbeit mit den Programmen finden sie Möglichkeiten zur Optimierung des Produktes und tragen diese an ihren Kundenbetreuer heran. Ab hier beginnt der oben skizzierte Prozess. Ghostthinker bietet den Kund:innen im Rahmen dieses Ablaufes die Entwicklungsbeteiligung an. Im Rahmen dieser werden die Kosten für die Entwicklung des Features zu 50 Prozent von Ghostthinker getragen. Dies hat für den Kund:innen zum einen den großen Vorteil, die Kosten nicht alleine übernehmen zu müssen, und zum anderen bietet sich Ghostthinker durch diese Kooperation die Möglichkeit, die entwickelte Neuerung auch anderen Kund:innen zukommen zu lassen.
Der Kunde ist König
Im Rahmen des agilen Arbeitens nach Kundenbedürfnis kommt den Kund:innen eine zentrale Rolle zu. Sie sind maßgeblich an der Entwicklung des Produktes beteiligt. Die Kund:innen nutzen demnach kein starres Produkt und müssen sich somit nicht an das Produkt anpassen. Sie sind vielmehr in der Lage nach ihren individuellen Bedürfnissen mit zu entwickeln und zu gestalten. Dies wirkt sich auf Kundenseite entscheidend auf die Produktivität und die Qualität der Entwicklungsprozesse aus. Denn auf diesem Wege erhalten sie eine Teilhabe, profitiert von den kurzen Feedback-Zyklen und kann bis zum Start des Sprints steuernd eingreifen.
Gemeinsam sind wir stark
Kundenorientierte Softwarenentwicklung schützt uns davor „auf das falsche Pferd zu setzen“. Wir sind sehr eng mit unseren Kund:innen im Austausch und wissen daher sehr genau, wohin sich unsere Produkte entwickeln müssen, um Mehrwert zu erzeugen. Dies spart natürlich auch auf unserer Seite Zeit und Geld. Die Kunst liegt insbesondere darin, auch bei starkem Andrang auf die beliebten Slots in den Entwicklungszyklen allen Kundenwünschen gerecht zu werden. Denn eines ist sicher: Jedes Kundenbedürfnis ist uns wichtig, auch wenn der Platz in den Sprints begrenzt ist.