Das Geheimnis unseres Erfolgs: Agiles Arbeiten in der Softwareentwicklung

Tim Dauer
Vice President Technology
Als fulfillmenttools im Jahr 2020 gegründet wurde, haben wir – ein damals noch sehr kleines Team – viel darüber nachgedacht, wie wir arbeiten wollen. Agilität ist ein Konzept, das wir alle aus früheren Jobs kennen. Und wir waren uns damals wie heute sicher, dass ein agiles Arbeitsumfeld viele Vorteile mit sich bringt. Unser Geschäftsführer Björn Dröschel hat bereits einen Artikel über agile Führung geschrieben und erklärt, warum es wichtig ist, moderne Arbeitsbedingungen für unsere Mitarbeitenden zu schaffen. Agilität ist aber nicht nur für die Führung wichtig, sondern auch für die Entwicklung unseres Produktes. So schaffen wir das beste und modernste Order Management System und verlieren uns nicht auf dem Weg dorthin.
Was bedeutet Agilität?
Agilität ist die Fähigkeit, sich an die jeweilige Situation, den Arbeitsprozess und äußere Einflüsse wie Veränderungen im Markt anzupassen. Das bedeutet nicht, dass ein Team ohne ein klares Ziel vor Augen arbeitet. Das Ziel steht fest und ist allen Beteiligten bekannt. Aber auf dem Weg dorthin ist das Team offen, sich an unterschiedliche Situationen anzupassen.
Agilität ist die Fähigkeit, sich an die jeweilige Situation, den Arbeitsprozess und äußere Einflüsse wie Veränderungen im Markt anzupassen.
Damit das Konzept der Agilität in einem Team funktioniert, ist es besonders wichtig, dass alle Mitarbeitenden am selben Strang ziehen. Die Mitarbeitenden müssen sich über das Ziel des Teams und die Grundsätze von Agilität im Klaren sein. Wenn dies sichergestellt ist, gibt die Führungskraft ihrem Team die Autonomie, auf dieses feste Ziel hinzuarbeiten. Man gibt einen Rahmen vor, z. B. ein bestimmtes Geschäftsfeld, und das Team kann dann innerhalb des vorgegebenen Bereichs auf das Ziel hinarbeiten. Das Team geht schrittweise vor und nimmt sich auf dem Weg dorthin Zeit, den Plan zu überdenken, zum Beispiel durch regelmäßige Reviews. Die Mitarbeitenden stellen sich Fragen wie „Gehen wir mit dem, was wir tun, in die richtige Richtung?“ und „Sind die KPIs noch sinnvoll?“. Wenn sie zu dem Schluss kommen, dass sie mit dem, was sie tun, ihr Ziel nicht mehr erreichen, passen sie sich an. Das fördert eine Kultur der Flexibilität und des Vertrauens und erhöht die Reaktionsfähigkeit, Innovation und Effizienz.
Ich möchte allerdings nicht behaupten, dass Agilität der heilige Gral ist und dass sie Ihnen in jeder Situation helfen wird. Die wichtigsten Grundsätze der Agilität sind zwar festgeschrieben, aber das Konzept kann natürlich für jedes Unternehmen und jede Situation anders aussehen. Manchmal ist ein agiler Ansatz vielleicht nicht sinnvoll, zum Beispiel in einem Arbeitsumfeld, in dem unvorhergesehene Dinge überhaupt nicht üblich sind. Auch wenn das Umfeld zu fluid ist und die Mitarbeitenden nicht einmal in der Lage sind, ihren Tag zu planen, weil sie nur unerwartete Bugs beheben, ist ein agiler Ansatz nicht hilfreich und kann nicht einmal richtig umgesetzt werden.
Agilität fördert eine Kultur der Flexibilität und des Vertrauens und erhöht die Reaktionsfähigkeit, Innovation und Effizienz.
Agilität bei fulfillmenttools
Bei fulfillmenttools haben wir es uns zur Aufgabe gemacht, eine Softwarelösung zu entwickeln, die von unseren Kunden und dem Handel benötigt wird. Und der Handel ist einem ständigen Wandel unterworfen. Deshalb muss sich auch unsere Software weiterentwickeln, verbessern und sich stets an den Anforderungen der Märkte orientieren. Ein agiler Ansatz ist daher für uns sinnvoll, da er uns erlaubt, regelmäßig zu überdenken, ob wir noch auf dem richtigen Weg sind, das beste Order Management System auf dem Markt anzubieten.
Unsere Produkt- und Technologieabteilung besteht aus vier Teams. Damit der agile Ansatz mit mehreren Teams funktioniert und nicht im Chaos endet, haben wir separate Geschäftsbereiche definiert, die wir in die Hände der einzelnen Teams legen. Wir geben jedem Team ein Handlungsfeld vor und definieren, wo genau es beginnt und endet. So können unsere Mitarbeitenden innerhalb der ihnen zugewiesenen Bereiche agil arbeiten. Wir haben zum Beispiel ein Team, das an der Entwicklung unseres Distributed Order Management Systems (DOMS) arbeitet. Ihr Arbeitsbereich beginnt mit den Fulfillment Options, die den Endkund:innen beim Checkout angezeigt werden, z. B. Artikelverfügbarkeit oder Lieferzeiten. Es umfasst Order Routing und Order Management und endet dort, wo „Fulfillment Operations“ beginnt, zum Beispiel bei Kommissionierung und Verpackung. Diese Begrenzung hilft dem Team, sich auf seinen spezifischen Bereich zu konzentrieren und ihn zu verbessern, während es gleichzeitig agil arbeitet. Das setzt eine hohe Beteiligung des Teams voraus, Situationen ständig neu zu bewerten und Feedback zu geben. Auf diese Weise können wir sicherstellen, dass wir das beste Ergebnis für unser DOMS erzielen.
Wir geben jedem Team ein Handlungsfeld vor und definieren, wo genau es beginnt und endet. So können unsere Mitarbeitenden innerhalb der ihnen zugewiesenen Bereiche agil arbeiten.
Um sicherzustellen, dass wir als gesamtes Team an einem Strang ziehen, verwenden wir einen Domain-Driven Design Approach. So haben wir eine gemeinsame Sprache etabliert, auf die sich alle Teams einigen können. Wir nutzen auch eine Roadmap als Grundlage für unsere Arbeit, die unsere Pläne für unsere Produkte enthält. Diese Roadmap wird ständig vom gesamten Team diskutiert und weiterentwickelt.
Für uns als Softwareunternehmen ermöglicht agiles Arbeiten eine flexible Reaktion auf interne und externe Veränderungen und gibt unseren Mitarbeitenden Autonomie. Vor allem aber stellt es sicher, dass wir ein qualitativ hochwertiges Produkt entwickeln.
