15.02.2022 · Business

Wie Softwareprojekte scheitern …

… und wie dies vermieden werden kann. Denn zugegeben: Softwareprojekte haben es in sich. Wir sprechen von der Realisierung komplexer Geschäftsideen mit grossem Innovationscharakter. Und Innovation beinhaltet zumeist eine unbekannte Komponente.

Um der grossen «Unbekannten» einen Namen zu geben, habe ich einige Learnings aus den letzten Jahren zusammengetragen.

Lektion 1: Das Projekt passt nicht

Wir erhalten laufend Projektanfragen für Softwareprojekte und freuen uns über jede einzelne. Dennoch müssen wir auch abwägen, ob wir der passende Anbieter dafür sind – dies zum Schutz für den Kunden wie auch für uns. Dabei gibt es Faktoren wie die Projektgrösse, aber auch technologische Aspekte, wie zum Beispiel ob wir Erfahrung in dem Bereich haben und ob unsere Technologien in die Systemlandschaft des Kunden passen, zu beachten. Früher oder später rächt sich der Entscheid, ein inadäquates Softwareprojekt durchzuführen.

Wir haben für uns eine kleine Guideline niedergeschrieben, um zu entscheiden, ob ein Projekt zu uns passt.

Bei unseren Dienstleistungen möchten wir:

  1. wirtschaftlich sinnvolle Leistungen erbringen
  2. den Kunden einen Mehrwert bieten
  3. hohe Qualität bieten
  4. nahe am Kunden arbeiten

Von unseren Projekten erwarten wir:

  1. dass es ein sinnvolles Vorhaben ist
  2. eine wirtschaftlich interessante und tragbare Grösse des Vorhabens
  3. das Vertrauen des Kunden
  4. ein innovatives Projektteam

Lektion 2: Das Ziel ist unklar

Einer Idee müssen klare Ziele folgen. In der Regel sind die besten Geschäftsideen klar, verständlich und idealerweise in einem Satz erklärt. Wir sollten uns daher die Frage stellen, was wir mit diesem Software-Projekt erreichen wollen. Sollten zu Beginn keine klaren Ziele existieren, kann sich das ganze Projektteam in Details verlieren.

Mit dem Verrennen kommt dazu, dass wir Ungeklärtes gerne interpretieren. Dies ist für Projekte nicht ideal. Damit so wenig wie möglich interpretiert wird, ist es nötig, messbare Ziele zu definieren. So wird die Komplexität abschätzbar und der Kunde erhält ein Produkt, welches seinen Vorstellungen gerecht wird.

Je früher Ziele festgehalten werden und als Leuchtturm für das Projektteam dienen, desto erfolgversprechender kann ein Projekt umgesetzt werden. Welche Fragen eignen sich für die Zieldefinition? Anbei ein kleiner Auszug:

  • Welche persönlichen Ziele sollen mit der Lösung erreicht werden?
  • Welche Erleichterung soll die Lösung für welche Geschäftsbereiche bringen?
  • Welche Business-Ziele möchten wir damit erreichen?
  • Welche Akteure nutzen die Lösung, sprich: für wen entwickeln wir?
  • Was bieten wir für einen Mehrwert für unsere Endkunden?
  • Wie skalierbar soll die Lösung sein?
  • Wo grenzt sich unser Projekt von anderen Projekten ab?

Dennoch muss regelmässig der Scope geöffnet werden und mittels kreativen Workshop- und Designphasen mit neuen Ideen gespielt werden. Diese öffnen den Weg, um in nächsten Iterationen neue Funktionen in die Software zu bringen und diese zu verbessern.

Lektion 3: Der Plan fehlt

Planung ersetzt Zufall durch Irrtum. Irrtum führt im Projektwesen häufig zu hohen, unvorhergesehenen Kosten. Deshalb ist es wichtig, möglichst früh die verschiedenen Phasen im Projekt zu planen.

Wenn die Zeit knapp wird, entsteht Druck. Wir haben für uns eine Methode gefunden, wie wir regelmässig Zwischenziele festlegen und falls nötig eine Kursänderung einleiten können. Dabei behalten wir immer den Fokus auf der Hauptzielsetzung des Projekts. Wir empfehlen unseren Kund:innen Alternativen in der Umsetzung, Zwischenresultate oder ab und an auch eine Verschiebung eines Deployments, wenn die Umstände es nicht anders zulassen.

Wir setzen auf Meilensteine, die wir im Projekt erreichen wollen. Weiter eignen sich Sprints in Iterationen, welche den Sprint-Scope definieren. Jede Einheit wird im Sprint-Planning-Meeting begutachtet und mit einer Priorität versehen. Zudem gewichten wir Tickets nach einem Punktesystem, welches die Komplexität der Aufgaben beschreibt.

Lektion 4: Der Projekt-Plan ist zu detailliert

Aus meiner Erfahrung weiss ich, dass es ebenfalls kontraproduktiv sein kann, wenn ein Projekt bis ins letzte Detail geplant ist. Dies ist enorm aufwändig und in Anbetracht dessen, dass wir nie alle Faktoren zu Beginn kennen, auch vielfach unrealistisch. Gerade in der Softwareentwicklung kann vieles nicht minuziös bis zum Release geplant werden. Ein Grund dafür ist, dass wir immer auf neue Herausforderungen stossen. Diese benötigen Zeit, sollen kritisch hinterfragt und sauber gelöst werden. Wir sehen die Entwicklung als kreatives Handwerk – und weil dem so ist, ist sie nicht auf die Minute steuer- und planbar.

Agile und iterative Projektmodelle haben sich in vielen Branchen zum Standard etabliert. Diese dürfen aber nicht falsch verstanden werden: Ein agiles Projektvorgehen bedeutet, sich an den Zielen auszurichten und Arbeit sinnvoll zu planen, ohne jedes Detail im Vorfeld zu kennen. Solange der Gesamtplan nicht ins Wanken kommt, sollen neue Ideen Platz haben.

Stick to the plan – but keep it simple.

In unserer Erfahrung geht es in einem agilen Prozess darum, Ressourcen planen zu können und fixe Meilensteine festzulegen. Dies bringt unseren Kunden und uns den grössten Mehrwert. Auf eine stundengenaue Fertigstellung von Aufgabe XY verzichten wir lieber.

Aus der Praxis:

  • Grobtiming anlegen, Abwesenheiten einplanen
  • Fixe Time-Boxes definieren und reservieren
  • Team-Commitment einholen für ein Sprint-Planning
  • Stetiges, repetitives Priorisieren der einzelnen Aufgaben

Lektion 5: Der Fokus ist falsch

Es ist unabdingbar, dass wir gemeinsam die Features und Aufgaben priorisieren, ergo den Fokus legen. Die Hauptaufgabe der Priorisierung folgt dem Prinzip des MVPs. Ein Minimal Viable Product reduziert die nutzbringenden Funktionen und Eigenschaften auf das Wesentliche. Von diesem Punkt aus kann iterativ optimiert werden. Unsere Kunden können mit diesem Arbeitsansatz während der Entwicklung die Richtung ändern und zu attraktiveren Konditionen den Mehrwert ihres Produktes beeinflussen.

Wir achten bei der Planung und der Entwicklung darauf, dass alle Aspekte einer Funktion gleichmässig erfüllt werden. Ein MVP ist:

  • funktional
  • nutzbar
  • ansprechend
  • praktisch
  • sinnvoll

Der minimale Funktionsumfang, um eine erste Einführung zu machen, wird mit dem Kunden festgelegt.

Auch bei bestehenden Projekten ist es uns ein Anliegen, dass wir bestehende Codes kontinuierlich optimieren können. Das heisst, dass wir den Fokus manchmal auch darauf legen, einen Schritt zurück zu treten und Bestehendes beleuchten. Software-Updates sorgen dafür, dass die Software stabil, sicher und kosteneffizient bleibt.

Lektion 6: Die Software wird nicht getestet

Wer mit Software in Berührung kommt weiss, dass gewisse Use-Cases funktionieren müssen. In der Softwareentwicklung gibt es eine Vielzahl von Ebenen, die vor dem Deployment auf die produktive Instanz geprüft werden müssen. Wir unterscheiden im Schnitt sechs Testphasen:

  • Testing durch Lead-Entwickler
  • Code-Review durch Peer-Entwickler
  • Acceptance-Testing durch Projektleitung
  • Integration-Testing durch Projektleitung
  • Externes Acceptance-Testing durch Kund:in
  • User-Acceptance-Testing im Markt

Es gibt viele weitere, zusätzliche oder alternative Stufen, je nach dem, wo der Fokus des Produkts liegt. Ein ausgewogenes Testing stellt sicher, dass die Endanwender:innen keine bösen Überraschungen erleben.

Meine Erfahrung zeigt, dass das Thema Software-Testing meistens zu wenig Beachtung erhält. Die Gründe dafür sind unterschiedlich: Es fehlt an Budget, es fehlt an Zeit oder an Ressourcen. Der Schuss geht jedoch nach hinten los, wenn die Qualität nur an einem Augenpaar hängt. Es ist in unserem Prozess unabdingbar, dass unsere Kund:innen ihre Zwischenergebnisse unter die Lupe nehmen. So entsteht bereits vor dem Go-Live ein tiefes Verständnis dafür, was auf ihr Business zukommt.

Der 6. Testphase darf mehr Beachtung geschenkt werden: Ein digitales Produkt lässt zu, dass es sehr rasch beim Endkunden getestet werden kann. Aus dem User-Acceptance-Testing kristallisiert sich heraus, ob die umgesetzte Idee funktioniert und gefällt. Wenn sie fehlschlägt, kann die Idee nach dem MVP-Ansatz validiert, verändert und adaptiert werden. Das zeitnahe und ehrliche Feedback der Benutzergruppe bietet in meinen Augen den grössten Mehrwert für eine Software.

Also, mehr Mut für einen raschen Go-to-Market, für Test-Phasen, für bewusstes Scheitern (und gleich verbessern) – wir können davon so viel lernen!

Fazit

Das Projektwesen ist so umfangreich, wie es facettenreich ist. Und das macht es so spannend! Ich bin der Überzeugung, dass wir mit kontinuierlicher Optimierung weiterkommen. Meine Learnings zusammengefasst:

  1. Kenne dein Business
  2. Plane dein Projekt
  3. Plane nicht jedes Detail
  4. Fokussiere dich auf das Gesamtbild
  5. Teste, teste, teste – das ist Teamwork

Photo by Diego PH on Unsplash

Möchten Sie Ihr Projekt zum Erfolg bringen?

Desirée Bach
Head of Project Services
+41 31 511 26 28
desiree@whatwedo.ch

Weiterstöbern

News
Best of March / April 2022

In unserer regelmässigen Blog-Serie «Best of» fassen wir die interessantesten Neuigkeiten aus unserem Umfeld zusammen.

Business
Wie digitalisiere ich mein Unternehmen?

Viele Prozesse haben sich seit Jahren in Firmen etabliert. Wir zeigen wie sich die Digitalisierung von Geschäftsprozessen mit den richtigen Werkzeugen vorantreiben lässt.

Das ist whatwedo

whatwedo ist ein Software-Studio aus Bern, welches individuelle Web-Applikationen und Software auf Basis von modernen Technologien entwickelt.

get in touch 
with whatwedo