COMPAREX wird SoftwareONE. Ab dem 1. April wird die COMPAREX AG ihren Markenauftritt in SoftwareONE ändern. Die Markenkonsolidierung ist Teil eines laufenden Integrationsprozesses im Zuge des Erwerbs der COMPAREX AG durch SoftwareONE.

Application Services

Strategische Software-entwicklung: Methoden für eine agile Arbeitsweise

Strategische Softwareentwicklung – Methoden für eine agile Arbeitsweise

Wenn es um Software-Entwicklung geht, dann führt an Agilität kein Weg vorbei. In diesem Beitrag werde ich Ihnen gern einen Überblick darüber geben, was es für Methoden gibt, welche Frameworks vorhanden sind und warum wir bei SoftwareONE uns für agile Strukturen und Methoden entschieden haben und diese auch konsequent anwenden.

Agile Work: Wieso arbeiten wir so bei der Softwareentwicklung?

Schon seit Jahrzehnten lässt sich in der Fachliteratur nachlesen, dass unsere Welt sich immer schneller und tiefgreifender verändert. Aus meiner Sicht, wenn wir ehrlich sind, ist die Veränderung der neue Dauerzustand. Wenn wir keine Veränderung hätten, gäbe es nur Stillstand. Dann würde sich gar nichts mehr verändern. Sie kennen sicherlich die Analogie aus der Automobilwelt: Erst war der Mensch zu Fuß unterwegs, dann kam das Pferd mitsamt Wagen oder Kutsche und später kam das Automobil. Henry Ford hat die Automobilindustrie revolutioniert, heute sind wir bei der Elektromobilität und der Wasserstoffmobilität angelangt. Alles das kam durch Veränderung, durch Veränderung der Kunden und Marktbedürfnisse. Ohne sie fehlten uns solche Innovationen, wie wir sie heute haben.

Die kontinuierliche Veränderung bringt auch Unsicherheiten mit sich. Nichts ist so sicher wie die Unsicherheit. Ich meine die Unsicherheit, nicht zu wissen, was in 5 Minuten passiert. Ich hoffe nicht, dass die Technik versagt in den nächsten 5 Minuten, und sie diesen Beitrag nicht zu Ende lesen können. Aber wir wissen es nicht. Wir wissen nicht, was in einer Woche ist, was in zwei Wochen ist, was in 5 Monaten oder in 2-3 Jahren sein wird.

Ein entscheidender Vorteil aber ist, dass wir im Application Services Team uns gesagt haben, dass wir positiv mit Veränderungen und der damit verbundenen Unsicherheit umgehen wollen. Wir haben agile Strukturen etabliert und wir arbeiten mit agilen Frameworks und Methoden. Was meine ich damit? Es gibt eine klare Vorgehensweise für agile Methoden, wir haben einen klaren Kundenfokus und wir passen unsere Arbeitsweise an und reflektieren sie. Das hilft uns dabei, gut mit Unsicherheiten und Veränderungen umgehen zu können. Nur so können wir uns kontinuierlich weiter entwickeln und bleiben wettbewerbsfähig. 

Agile In A Nutshell

Was heißt überhaupt Agilität? Wie ordnet man das überhaupt ein? Aus meiner Erfahrung heraus, gibt ein ganz unterschiedliches Verständnis von Agilität. Viele denken, Agilität sei völlig chaotisch, jeder macht was er will. Doch das ist nicht so.

Fangen wir mit den Tools und Prozessen an. Tools wie Microsoft Teams, Azure DevOps, Jira oder auch Trello – man kann auch ein ganz normales Post-It nehmen – helfen uns erstmal Transparenz zu schaffen. Transparenz über das was wir tun, über unsere Arbeit und unseren Wertschöpfungsprozess. Wenn wir eine Ebene weiter gehen, nämlich die Praktiken und die Frameworks anschauen, helfen diese uns dann, einen strukturierten, agilen Prozess aufzusetzen. Und die Tools und Prozesse unterstützen uns dabei. Was gibt es für Praktiken? Einige werden sie mit Sicherheit kennen: Scrum oder Kanban. Das sind auch die bekanntesten, die in der agilen Softwareentwicklung aber auch in anderen Branchen und Bereichen angewendet werden. Wichtig ist außerdem der Aspekt der Priorisierung: Tun wir die richtigen Dinge für unsere Kunden, für die Produktentwicklung oder für die Dienstleistungsentwicklung? Aber auch das Story Writing, Story Mapping und das Kreieren einer Produkt-Roadmap sind typische Praktiken, die in der agilen Welt angewandt werden.

Betrachten wir die Ebene darüber, kommen wir direkt zu den Prinzipien. Hier haben wir mal den Kern von Agilität, das Kernprinzip mit aufgenommen und das ist dieses "Inspect" und "Adapt". Wir überprüfen, wo wir gerade im Projekt stehen, lernen aus der Vergangenheit und passen uns an. Und das in kurzen Iterationen. 

Ein weiteres Prinzip von Agilität ist beispielsweise, die Kund*in in den Fokus zu stellen. Um für die Kund*in Wert und zielorientierte Produkte zu entwickeln, die am Ende auch marktfähig sind und die der Kunde dann schlussendlich auch nutzt.

Kurze Zyklen für Produkte und Dienstleistungen mit Marktreife sind ebenfalls ein Ausdruck von Agilität. So lässt sich relativ schnell vom Endnutzer Feedback bekommen, um damit unser Produkt weiterentwickeln zu können. Das bedeutet: regelmäßiges Anpassen und Überprüfen: Inspect und Adapt.

Nun kommen wir zu den Werten. Werte spiegeln sich sowohl in den Prinzipen, in den Praktiken als auch in den Tools wieder. Wenn wir nicht bereit sind, miteinander zu kommunzieren und unsere Arbeit transparent zu machen, respektvoll miteinander umzugehen, dann wird Agilität nicht zu 100% seine Wirkungskraft entfalten. Auch in dieser Stufe spielt der Fokus eine ganz wichtige Rolle im Rahmen von Agilität: Tun wir die richtigen Dinge? Was tun wir und wie tun wir es?

Die äußerste Schale stellt das Mindset dar. Sie haben wahrscheinlich irgendwann schon einmal gehört: "Wir brauchen ein agiles Mindset". Doch was bedeutet das? Es bedeutet, dass die Werte, die Prinzipien als auch die Praktiken und Tools verinnerlicht wurden und danach gedacht und gehandelt wird.

Das Mindset ist eine innere Haltung, ein Verhaltensmuster einer bestimmten Person oder Gruppe. Wenn ich das Mindset von jemandem verändern möchte, dann ist dies ohne Weiteres nicht möglich. Die Veränderung des Mindsets kann nur von innen heraus selbst angestoßen werden.

Agilität im Team & Unternehmen einführen

Wenn Sie Agilität im Unternehmen oder bei sich im Team etablieren wollen, dann setzen Sie die richtigen Rahmenbedingungen. Diese sollen ermöglichen, dass die Werte gelebt werden können: eine offene Feedbackkultur oder eine freie Lernkultur etwa. Am Ende gilt natürlich auch, diese Haltung selbst vorzuleben.

Das Mindset und die Werte sind sehr stark und kraftvoll, aber weniger sichtbar. Tools und Prozesse wiederum sind gut sichtbar. Sie machen die Arbeit transparent, besser kontrollierbar. Sie sind jedoch weniger kraftvoll. Je weiter sich diese Arbeitsweisen, Prinzipien und Werte verinnerlicht werden und sich etablieren – und zu einem Mindset verfestigen – desto mehr wird das Unternehmen / Team zu einer lernenden Organisation.

Der Kern der Agilität

Der Kerngedanke der Agilität steht im Zeichen von „Inspect & Adapt“. Das Überprüfen des Ist-Zustandes, das Bewusstsein dafür, wo man gerade steht und die Fähigkeit, notwendige Anpassungen vorzunehmen. Damit beginnt ein lernender, kontinuierlicher Veränderungs- und Verbesserungsprozess.

Dabei darf nicht vergessen werden: Im Fokus steht immer der Kunde. Insgesamt kann man sagen, dass Agilität am Ende die Fähigkeit einer Organisation, einer Unit, eines Bereiches oder aber eines Teams darstellt, schnell und positiv auf Veränderungen jeglicher Art angemessen reagieren und mit passenden Maßnahmen flankiert angehen zu können.

Agile Methoden & Best Practises

Ein paar der meistgenutzten agilen Frameworks, Methoden und Best Practices sind:

  • "Pull instead of push"
  • DevOps
  • Eigenständig organisierte, multifunktionale Teams
  • Daily Standup
  • "Stop starting, start finishing"
  • "Fail faster / learn quicker from your failures"
  • Go-To-Market-Zeit verringern / Mehr Value in kürzerer Zeit delivern
  • Die Fähigkeit, Feedback vom Kunden/User unmittelbar zu implementieren
  • "Definition of 'done'"
  • Retrospektive

Diese wenden wir auch selbst im Team an, in der Zusammenarbeit mit Kunden als auch intern. Auf Scrum, Kanban, Lean Startup und Scaled Frameworks werde ich jetzt noch genauer eingehen. 

Design Thinking

Im Design Thinking Prozess geht es darum, nutzerzentrierte Probleme zu lösen. Konkret bedeutet das, dafür Ideen zu kreieren, um am Ende zur Lösung des Problems zu gelangen. Diese Methode hilft anders zu denken, kreativer zu denken, man prüft verschiedene Sichtweisen auf das Problem, um es genau zu verstehen.

So zeigen sich verschiedene Ideen bzw. Lösungsansätze, um das Problem zu lösen. Im Rahmen von Design Thinking können im Rahmen kurzer Iterationen diese Ideen in Prototypen umgewandelt werden und direkt mit den Nutzern getestet werden. Das fördert eine positive Fehlerkultur: wir müssen Fehler machen, um rauszufinden welche Idee die Beste ist. Und mit der besten Idee gehen wir dann an den Markt und können die Kunden zufriedenstellen.

Design Thinking wird angewendet, wenn innovative Produkte und Dienstleistungen entwickelt werden sollen. Ein Vorteil ist, dass mit Iterationen gearbeitet wird – dies verkürzt den gesamten Entwicklungsprozess. So können schnell Lösungen gefunden werden. Die Arbeit findet nutzerzentriert statt, die Fehlerkultur wird gefördert und wir binden unseren Endkunden ganz stark in diesen Prozess ein.

Scrum

Scrum ist vielen bekannt aus der agilen Softwareentwicklung, bzw. aus dem agilen Projektmanagement. Wir haben mit Scrum gute Erfahrungen gemacht und ist sehr gut adaptierbar. Es lässt sich ebenso in der Personalabteilung (HR) wie auch in der Organisationsentwicklung, im Marketing oder im Vertrieb anwenden. Mit Scrum wird sogar in der Automobil- und der Medizintechnik entwickelt.

Die Vorteile sind kurze Arbeitszyklen, iteratives Lernen und eine auf den Return on Invest (ROI) abzielende, gesteuerte Entwicklung. Wir schauen immer, welche Anforderung den höchsten Wert für das Produkt oder die Dienstleistung hat und setzen diese um. Über den gesamten Prozess haben wir eine sehr hohe Transparenz, der Kunde ist auch hier sehr stark mit eingebunden. Über die Iterationen können wir schnell auf Hindernisse und Probleme reagieren.

Kanban

Kanban ist „nur“ ein Board, über das wir unsere Arbeit und unseren Wertschöpfungsprozess transparent machen. Das hilft uns, Arbeit zu visualisieren. Der Vorteil ist, dass wir dadurch Engpässe oder Probleme erkennen, den Projektfortschritt sehen. Dieses Vorgehen führt zu weniger Widerstand bei der Einführung. Kanban beinhaltet keine festen Rollen bzw. keine festen Meetings wie bei der Arbeit nach dem Scrum-Prinzip. Aber auch hier macht es Sinn, ein paar Meetings zu etablieren, damit dieses Board auch aktiv am Leben gehalten und wie geplant genutzt wird.

Kanban lässt sich in den verschiedensten Kontexten anwenden: für einzelne Personen für einen Überblick über alle Tasks oder aber auf Teamebene, Bereichsebene oder auf der Ebene der Geschäftsführung oder des Managements.

Lean Startup

Dieses Framework nutzen ganz viele Startups, um ihre Geschäftsmodelle relativ zügig auszutesten, auf den Markt zu bringen. Mit Lean Startup lässt sich nutzerzentriert mit dem Kunden herausfinden, ob das Geschäftsmodell marktfähig ist und ob auch Geld damit verdient werden kann.

Das Grundprinzip ist auch hier, in kurzen Zyklen ein minimal funktionsfähiges Produkt zu bauen, damit zu den Endnutzern zu gehen, zu testen, daraus zu lernen und Feedback für weitere Anpassungen zu gewinnen.

Bei Startups findet sich oft eine parallele Integration von Scrum, Kanban und Design Thinking. Das ist auch unsere Empfehlung.

Die Vorteile des Lean Startup sind die Iterationen. Mit dem kontinuierlich generierten Feedback ist es auch nutzerzentriert und es lassen sich schnell Rückschlüsse auf die Belastbarkeit des Geschäftsmodells ziehen, das auf den Markt gebracht werden soll.

Scaled Frameworks

Die Scaled Frameworks sollten Anfänger meiden und erst dann nutzen, wenn das eigene Unternehmen oder Team bereits einen agilen Reifegrad hat. Es macht Sinn, wenn mehrere Teams an der Arbeit beteiligt sind oder agile Teams bereits an mehreren Produkten arbeiten.

Es gibt relativ viele agile Frameworks, das bekannteste ist Scrum of scrums, Spotify Modell, Nexus, DAD, SaFe und LeSS. Wichtig ist, nicht einfach ein Modell eines anderen Unternehmens zu adaptieren, sondern zu schauen, was zu dem eigenen Unternehmen oder der Unternehmenskultur bzw. -struktur passt.

Letzteres ist sehr wichtig, da es zu Problemen führen kann, wenn ein Bereich nach dem Scaled Frameworks Prinzip arbeitet, in der Wertschöpfungskette aber abhängig von vorgelagerten oder nachgelagerten Prozessen bzw. Abteilungen sind, die aber ganz anders arbeiten. Deshalb ist es hier wichtig, sich vorab zu überlegen, welches Framework Sinn macht und zu dem Unternehmen passt. 

Der große Vorteil der Scaled Frameworks ist der höhere Maßstab an Flexibilität für skalierte Organisationen, die bereits agil unterwegs sind. Das ermöglicht schnelle Anpassungen. 

Erste Schritte zur agilen Transformation

Was kann man tun um in die agile Welt einzusteigen? Meine Empfehlung: Starten Sie Smart. Starten Sie da, wo Sie gerade sind, mit dem Status Quo und blickt zurückt. Stichwort "Retrospektive". Diese lassen sich auf Team-, Bereichs, oder auf Management-Ebene umsetzen.

Machen Sie Ihre Arbeit transparent! Ob durch ein Kanban-Board, ob digital oder via Post-It an der Wand. Trauen Sie sich, zu experimentieren! Führen Sie doch einfach mal Retrospektiven ein: Ein vierwöchiges Experiment, nach dessen Ende sich alle zusammenfinden und gemeinsam reflektieren, ob sich etwas verändert oder gar verbessert hat.

Als letzte Empfehlung ein Hinweis: Behalten Sie den Fokus. Überlegen Sie stetig, ob Sie sich auf dem richtigen Weg befinden und reflektieren Sie, wie Sie derzeit arbeiten. Versuchen Sie nicht, alles auf einmal zu erledigen, sondern schön der Reihe nach. So gelingt Ihnen das (agile) Arbeiten!

Zusammengefasst:

Agilität bedeutet nicht Chaos und „jeder macht was er will“. Auch agile Methoden bieten Struktur und Prozesse, die es zu beachten gilt, um ihr volles Potential entfalten zu können. Allerdings kann Agilität nicht einfach installiert werden. Sie erfordert ein agiles Denken und Handeln, ein entsprechendes Mindset, das die Werte und die Praktiken beinhalten muss.

Diese Arbeitsweise muss ausprobiert, getestet und erlernt werden. Es gibt keinen konkreten Endstatus, da es immer Veränderungen und Unsicherheiten geben wird. Die agile Arbeitsweise hilft uns dabei, positiv mit diesen Unsicherheiten umgehen zu können. Auch für unser Entwicklerteam war und ist das ein andauernder Veränderungsprozess; doch wissen wir mittlerweile, dass wir damit gut umgehen können und dass es uns Vorteile bietet. Am Ende geht es darum, Störungen in der Projektarbeit schnell und effizient erkennen und beseitigen zu können und gesetzte Ziele so schnell zu erreichen.

Noch einmal zusammengefasst: Agilität ist eine Wertschätzung unserer Wissensarbeit. Wir arbeiten mit Menschen - unseren Kolleg*innen und Kunden zusammen, um Produkte und Dienstleistungen herstellen und bereitstellen zu können, die die Bedürfnisse unserer jeweiligen Kunden bedienen können.  Wir forcieren die kontinuierliche Verbesserung auf allen Unternehmensebenen, wir haben eine selbstständige, organisierte Kommunikation miteinander, wir agieren stets transparent und für jede*n ist klar, was unsere Ziele sind und wie wir sie gemeinsam umsetzen können. So gewährleisten wir, dass wir alle in die selbe strategische Richtung gehen und am Ende die gemeinsame Vision erfüllt werden kann.

Ausblick:

Nachdem wir Ihnen in diesem Blogbeitrag die methodische Seite der agilen Softwareentwicklung vorgestellt haben, möchten wir Ihnen im zweiten Teil unserer Blogreihe aufzeigen, welche technischen Konzepte es in diesem Bereich gibt und welche Methoden wir bei SoftwareONE anwenden. Darüber hinaus erhalten Sie einen kurzen Einblick, inwiefern die Cloud Sie bei einer schnelleren Entwicklung unterstützen kann.

Interesse geweckt?

Haben wir Ihr Interesse an Agile Work und Anwendungsentwicklung geweckt? Dann melden Sie sich doch bei unseren Application Services-Expert*innen, um herauszufinden, wie wir Ihrem Unternehmen helfen können, Ihre Potentiale freizusetzen.

Kontakt aufnehmen
  • Application Services
  • Agility, Software Development

Kommentieren Sie diesen Artikel

Hinterlassen Sie einen Kommentar, um uns mitzuteilen, was Sie von diesem Thema halten!

Kommentar hinterlassen

Autor

Steffen Becker

Steffen Becker

Fachvertrieb Microsoft Lösungen

Verwandte Artikel

  • 29 Mai 2022
  • Steffen Becker
  • Application Services, Future Workplace
  • Agility, Software Development

Strategische Softwareentwicklung: Methoden für eine agile Arbeitsweise #2

Softwareentwicklung und Agile Work? Eines der Dream-Teams der SoftwareONE. Nehmen Sie einen Einblick in die Arbeitsweise unserer Application Services-Teams.

  • 09 März 2022
  • SoftwareONE Redaktionsteam
  • Application Services, Future Workplace, Digital Transformation

Technologische Transformation: Ihr Fahrplan für die Applikationsentwicklung und -modernisierung

Unternehmen haben individuelle Prozesse und eigene Anwendungen. Am Ende wird eine Modernisierung oder eine Neuentwicklung notwendig. Wir stellen unsere Application Services vor.

  • 25 Januar 2022
  • SoftwareONE Redaktionsteam
  • Application Services

Zukunftsfähig bleiben mit Frischzellenkur für Legacy Software: Applikationsmodernisierung

Make or Buy? Wir beleuchten die Gründe, sich für eine eigene Software-Lösung zu entscheiden – und die Herausforderungen, die diese Legacy Applikationen mit sich bringen.