Zielgenau zum Erfolg mit modernen Methoden und Frameworks

Von Marlene Stroj-Rullo - 21. September 2017

Veraltete Software-Entwicklungsmethoden sind ein sicheres Rezept zum Scheitern. Dabei gibt es bekannte und bereits bewährte Methoden und Frameworks, die Abhilfe schaffen können. Ihr Motto: lieber nachfragen und testen anstatt Checklisten eines Managers abarbeiten.

Das traditionelle Wasserfallmodell sieht eine Requirements Engineering Phase am Beginn eines Projekts vor, um möglichst alle Business Needs abzudecken – zu genau dem Zeitpunkt, an dem alle Beteiligten am wenigsten über das Projekt wissen. Pflichtenhefte in Romanlänge wiegen Projektleiter und Business Stakeholder in falscher Sicherheit. Wenn man mit dem Schreiben fertig ist, ist das Dokument in den meisten Fällen schon wieder veraltet und unbrauchbar. Entwickler werden oft lediglich zum “Ausführen” eines Plans eingesetzt. 

Viel schlimmer ist aber, dass solche Pflichtenhefte meistens verfasst werden, ohne den eigentlichen Kunden, das heisst den zukünftigen User der Software, jemals miteinzubeziehen. Unternehmen verfallen häufig der Illusion, ihre Kunden zu kennen. Sie geben die Umsetzung einer Idee in Auftrag und nach wochen- oder monatelangem Designen, Programmieren und unzähligen Projektleitungs-Meetings stellt man im Fokusgruppentest zwei Wochen vor dem geplanten Release fest: das ist gar nicht das, was unsere Kunden wollen! Was dann?!

Während Jahrzehnten hat sich die Softwareentwicklung beinahe ausschliesslich an Business Needs orientiert. Die resultierende Software ist nicht selten schwierig zu bedienen und löst das eigentliche Problem der Kunden nur schlecht. Dafür wird sie mit einer ausführlichen Dokumentation geliefert, die jedoch eigentlich niemand lesen möchte.

Der User im Zentrum

Als Gegenbewegung zum oben beschriebenen Szenario haben sich verschiedene Methoden, Frameworks und Disziplinen entwickelt, deren Grundsatz es ist, sich an der Realität zu orientieren anstatt an potentiell falschen Vorstellungen von Managern. Ihnen gemeinsam ist, dass der User und seine Bedürfnisse im Zentrum stehen. Business Needs bilden dafür den nötigen Rahmen. So wird ermöglicht, Entscheidungen auf Grundlage von dem, was zukünftige Kunden wirklich wollen, zu treffen, anstatt sich nur auf historische Daten zu verlassen oder sich von falschen Vorurteilen leiten zu lassen. Drei bekannte und bewährte Methoden (bzw. Disziplinen) sind Design Thinking, agile Software Entwicklung und UX.

Design Thinking ist ein Ansatz, der es mit Designwerkzeugen wie Empathie und User-Tests ermöglicht, innovative Lösungen in Form von Prototypen zu erarbeiten. In Iterationen werden zukünftige User befragt und möglichst viele unterschiedliche Lösungsideen gesammelt. Die besten werden zu Prototypen ausgearbeitet und von Usern getestet. Das gewonnene Feedback liefert wertvollen Input, um eine optimal auf den Kunden zugeschnittene Lösung zu finden.

Eine andere Methodik, die aus moderner Softwareentwicklung nicht mehr wegzudenken ist, ist die agile Softwareentwicklung. Ursprünglich basierend auf dem Agilen Manifest und den 12 dahinterstehenden Prinzipien, verfolgen Ausprägungen wie Scrum oder XP ebenfalls einen iterativen Ansatz. Die Entwicklung beginnt mit einem kleinen minimalen Produkt, auf das aufgebaut wird. In regelmässigen Abständen wird das bis dahin erarbeitete Produkt zusammen mit Business Stakeholdern überprüft und, basierend auf dem Feedback von Usern und Stakeholdern, werden Prioritäten angepasst und nächste Entwicklungsschritte geplant. Änderungen in den Anforderungen, die im Verlauf des Projekts auftreten, werden von Anfang an angenommen und fliessen selbstverständlich ohne grossen Aufwand in den Prozess ein. Das Credo ist vollständige Transparenz und das Wissen, dass man die optimale Lösung entwickelt, statt strikt einem Plan zu folgen. Denn: Fortschritt lässt sich am besten an funktionierender Software messen.

Moderne Software löst aber nicht nur das Problem des Users, sie ist auch intuitiv in der Bedienung und bietet dem User ein rundum flüssiges und angenehmes Nutzungserlebnis. Damit befasst sich die Disziplin der User Experience. UX möchte optimieren, wie sich eine Person fühlt, wenn sie mit einem System interagiert. Dazu beschäftigt sie sich mit Einfachheit der Bedienung, Benutzbarkeit (Usability), Interaktion, Informationsstruktur, Navigation und visuellem Design. Alles orientiert sich an den Bedürfnissen und Anforderungen des zukünftigen Users. Design-Entscheidungen werden regelmässig in Tests mit zukünftigen Usern überprüft. Ihr Feedback dient als Grundlage für Anpassungen und Entscheidungen im Projekt. Das Risiko gegen Ende des Projektes festzustellen, dass man an den Kunden vorbei entwickelt hat, wird minimiert.

Allen diesen Methoden liegt die Annahme zugrunde, dass man erst durch Ausprobieren und Testen wirklich weiss, was funktioniert. Die Erfahrung zeigt, dass Fehler am Weg unumgänglich sind, und das ist gut so. Fail fast to learn early. Fehler spät in der Entwicklung sind schwierig zu lösen, deshalb gilt: Je früher man Fehler macht, desto schneller lernt man daraus.

Machen wir Agile oder DT?

Bei dieser Fülle von angebotenen Methoden stellt sich die Frage, welche man wählen soll. Das ist grundsätzlich die falsche Frage. Die eigentliche Frage ist, wie können unterschiedliche Methoden und Werkzeuge gemeinsam und ergänzend eingesetzt werden, um die bestmögliche Lösung zu entwickeln. Design Thinking, UX und agile Methoden beschäftigen sich jeweils mit einem anderen Aspekt eines Softwareprojektes. Situativ die richtigen Werkzeuge einzusetzen und von Beginn an das Wissen und die Ideen des gesamten Projektteams zu nutzen, ist ein vielversprechender Weg zum Erfolg.

Design Thinking hilft, dem richtigen Problem eine optimale Lösung entgegenzustellen. Integriert mit einem agilen Entwicklungsprozess beteiligen sich Stakeholder, Designer und Entwickler gleichermassen daran, die Bedürfnisse und Probleme der Benutzer zu verstehen (zum Beispiel DT@Scrum). Feedback kann regelmässig zurückfliessen und ermöglicht eine Umsetzung, die sich am neu gewonnenen Erkenntnissen orientiert. Der agile Entwicklungsprozess garantiert funktionierende Software in regelmässigen Abständen und gibt Entscheidern die Möglichkeit, Prioritäten anzupassen und die Entwicklung zu steuern. User Experience Experten, die ihren Methodenbaukasten nutzen, um in enger Zusammenarbeit mit Entwicklern und Stakeholdern eine einmalige Nutzungserfahrung zu kreieren, runden ein gelungenes Softwareprojekt ab.

Von der Idee zum Business Modell

Wir bei ti&m nutzen und verbinden genau diese modernen Werkzeuge, um die innovativen Ideen unserer Partner in Form von sichtbaren und fassbaren Prototypen zu materialisieren und sie zu einem vollständigen Business Modell weiterzuentwicklen. Mit diesen Prototypen faszinieren wir die Kunden unserer Partner und verschaffen ihnen einen Vorsprung auf dem Markt. Je nach Stand der Idee organisieren und moderieren wir Workshops zum Thema Design Thinking, Open Innovation Initiatives und World Café.

Unsere besten Köpfe helfen Ihnen, Technology Gaps zu überwinden und Ihre Idee weiterzuentwickeln. Validieren und verkaufen Sie Ihre Idee durch Prototypen bereits nach zwei Wochen. Profitieren Sie von unserer Erfahrung und arbeiten Sie agil mit unseren Agile Coaches und Scrum Mastern. Wir stellen Ihnen alles zur Verfügung, was es braucht, um Ihre Idee zur Umsetzung zu bringen. Werden Sie unser Partner und lassen sie uns zusammen erfolgreich sein. Probieren Sie es einfach aus!

 

  • Marlene Stroj-Rullo

    Marlene hat Informatik studiert und ist seit Jahren in verschiedenen Rollen Teil von agilen Software-Entwicklungsteams. Sie steht fest hinter den agilen Prinzipien und ist überzeugt, dass selbst der beste Projektmanager nicht in die Zukunft sehen kann. Bei ti&m arbeitet sie als Agile Coach und Consultant.

Kommentieren

* Erforderliche Angaben