Es gibt einen Unterschied zwischen (aus)gereifter Software mit gutem Funktionsumfang und veralteter Software, mit Funktionen die kein Mensch mehr nutzt. Dieser Unterschied lässt sich messen, aber auch schon recht früh von außen beobachten.
- Der Nutzer findet in der Navigation nicht den nächsten notwendigen Schritt
- Die Masken sehen aus wie Eingabefelderwüsten. Nichts ist zu finden oder eingaben passen nicht sachlogisch zusammen
- Fehlermeldungen häufen sich
- Die Logik der Masken entspricht nicht den Arbeitsweisen des Nutzers
- Es gibt keine oder zuwenig oder falsche Prozessunterstützung
- Die Marktreife sinkt signifikant
- Es gibt zu viele Funktionen die der Nutzer nicht braucht oder veraltet sind
- Anforderungen werden nicht oder viel zu spät umgesetzt
- Der Support reagiert zu langsam oder gar nicht mehr
- Wettbewerber sind interessanter…
Als Produktmanager und „Nichtentwickler“ stellte ich eines Tages fest, dass hoch funktionale und damit komplexe Software (nach innen und außen) altert. Dies gilt besonders bei modularer, langlebiger und standardisierter Software. Äußerlich steigt die Bedienerunfreundlichkeit proportional zu der Anzahl der Features. Denn: Mit jeder Entwicklungsphase im Lebenszyklus der Software werden, oft unreflektiert auf Markt, Prozess und Nutzen, Funktionen, rein nach Kundenanforderung, eingebaut. Software scheint mit der Zeit zu altern. Da die Funktionalität nicht mehr zu den Arbeitsprozessen der Zielgruppe passt, steht am Ende zwangsläufig der Tod der Software. Es besteht jedoch die Chance auf eine Wiedergeburt, wenn man rechtzeitig die veränderten Technologien und Anforderungen, Arbeitsweisen und Marktgegebenheiten in die Arbeit einbezieht.
Softwarealterung scheint immer nach dem gleichen Muster abzulaufen. Aus diesem Grund verwende ich bei Software ein 7 Phasenmodell des Produktlebenszyklus anstatt das übliche 4 bzw. 5 Phasen Model. Innerhalb der 7 Phasen der Alterung konnte ich 14 Effekte identifizieren. Spannenderweise lassen sich die 7 Phasen mit dem Lebensweg und Wachstumsweg eines Menschen vergleichen. Moderne Software sollte idealerweise ja auch ein iterativ, inkrementell anwachsendes Produkt sein, stetig besser, umfangreicher, erwachsener. Kurz sie lebt!
1. Die Geburt: Ein oder mehrere geniale Entwickler haben für einen bestimmten Kunden eine tolle Idee. Der Kunde ist begeistert und setzt die Software aktiv ein. Der Kunde stellt natürlich weitere Anforderungen die bereitwillig umgesetzt werden, schließlich weiß der Kunde ja am besten was er braucht. Die ersten Gehversuche sind noch etwas holperig aber mit stolzen Eltern.
2. Schulzeit: Weitere Kunden hören von der Software nur gutes und kaufen die Lösung auch. Diese Kunden stellen weitere Anforderungen die auch aus Sicht des Softwarehauses sinnvoll sind, denn schließlich wissen die Kunden ja am besten was sie brauchen. Die Software lernt quasi.
3. Pubertät: immer mehr Kunden aus der gleichen Zielgruppe kommen hinzu und stellen Anforderungen. Da grundsätzlich jeder Entwickler das Ziel verfolgt, dass die Nutzer, damit die Kunden, die Software gerne benutzen, werden die Anforderungen umgesetzt. Denn: Eine Software wird gerne benutzt, wenn sie die Probleme der Anwender löst. Besonders gerne werden Anforderungen umgesetzt, wenn der Kunde dafür auch noch bezahlt. Eine Prüfung auf Marktrelevants, also dem Wiederverkaufswert der Anforderungen, findet nicht statt. Ungeduld und der Wunsch nach dem schnelle „Erwachsen werden“ treibt, wie bei Jugendlichen auch, die Software.
4. Es entsteht eine „Projektsoftware“. Diese Lösung bildet die Prozesse der vorhandenen Kunden ab.
5. Erwachsener: Die Software wächst und wächst. Feature an Feature wird hin zu gefügt. Die Software wird zur „Nutzergruppensoftware“. Man fühlt sich sicher, hat Erfolg, ist stolz auf geleistetes. Man setzt „Fett“ an. Fitness wird dem Erfolg untergeordnet. Bei Software zeigt sich das häufig an schneller Umsetzung von Kundenanforderungen zum Preis schlechten Codes.
6. Dann, für das erfolgsverwöhnte Unternehmen aus heiterem Himmel, kommen nicht mehr so viele neue Kunden hinzu. Das Wachstum verlangsamt sich. Der Vertrieb fängt an vor allem nach Kunden zu suchen die zur Software passen.
7. Die Anfragen beim Support steigen und damit die Unzufriedenheit der Kunden. Gerne wird dann damit reagiert den Support aufzustocken, damit die „Tickets“ nicht liegen bleiben.
8. Midlifecrisis: Die Anzahl der nicht umgesetzten Anforderungen steigt im Verhältnis zur Anzahl der Kunden. Es gibt also immer mehr Anforderungen obwohl die Anzahl der Kunden nicht steigt. Ein Hinweis auf ein Sinken der Qualität und der Marktreife (vgl.: meine Artikel: Was bedeutet eigentlich Marktreife).
9. Die Software unterstützt nur noch unzureichend die Prozesse der Kunden. Oft kann die ursprüngliche Anwendung auch keine vollständigen Prozesse unterstützen, da Funktion an Funktion entwickelt wurde ohne vorher den Gesamtprozess beim Kunden zu analysieren. Entscheidungen in der Organisation dauern inzwischen zu lange. Jetzt treffen das erste Mal bei Entscheidern unterschiedliche Ordnungsvorstellungen hart aufeinander. Es kommt zu Konflikten bei der Suche nach den besten Lösungen. Es ist die typische Phase des Zweifels und der Orientierungslosigkeit. Oft geht es einher mit unreflektierten Handlungen. Wo bekomme ich jetzt bloß meine Harley her?
10. Die Software fängt an Instabil zu werden. An einer Stelle der Software wird etwas geändert und an der anderen kommt es zum Fehler, dessen Korrektur wieder einen neuen Folgefehler auslöst.
11. Alter: Die Marktreife des Produktes sinkt. Wettbewerber sind schneller mit neuen Funktionen am Markt. Es wird gestritten was die nächsten sinnvollen Schritte zur Erfolgssicherung des Unternehmens sind. Grabenkämpfe im Management kommen auf. Es kommt zur „Lagerbildung“ im Unternehmen. Man sucht Kunden die die Probleme des Unternehmens lösen.
12. Die Kosten fressen die Erlöse auf. Kunden wandern ab, die Zahl der Anforderungen steigt überproportional. Die Rendite sinkt.
13. Der Umsatz sinkt – Das Unternehmen kommt in ein Schieflage und wird ein Pflegefall.
14. Tod: Dies Software oder gar das ganze Unternehmen stehen vor der Entscheidung die Lösung zu Refakturieren, neu zu entwickeln, moderne Lösungen zu kaufen oder sich selber zu verkaufen.
Das Unternehmen steht vor einer Sanierung oder Restrukturierung die sowohl einen finanziellen wie auch menschlichen Kraftakt verlangt. Viele Softwarehäuser haben nicht die finanzielle Stärke so eine Veränderung zu leisten. Am Ende steh das Verschwinden vom Markt.
Spannender Weise gibt es keine zeitliche Komponente bei dem Ablauf. Einzelne Phasen können durchaus über Jahre laufen. Besonders die Stufe 5, der Erwachsene, lässt sich nicht zeitlich spezifizieren. Es kann jungen Unternehmen, sogar Start Up’s passieren nach wenigen Jahren schon in den Effekt 6 und dann sehr bald in die Midlifecrisis zu fallen. Während andere Unternehmen den Punkt erst nach 20 Jahren erreichen.
Nach meiner Erfahrung tritt dieser Lebenszyklus besonders dann auf, wenn sich die Produktentwickler am Anfang nicht sicher sind, ob sie Individuallösungen, eben Projektsoftware, machen wollen oder eine Standardisierung. In letzter Zeit habe ich beobachtet, dass vielen am Anfang auch die Zielgruppe noch nicht klar bzw. die Zielgruppen noch nicht geschärft waren. Dies ist aber Grundlage, um Software lange erfolgreich zu halten. Es ist ohne eine klare Zielgruppendefinition nicht möglich die notwendige Prozesslandkarte zu definieren. Es ist wie bei uns Menschen, die entscheidenden Weichen werden in der Pubertät und als junger Erwachsener gestellt.
In den späteren Lebensphasen müssen immer wieder die Zielgruppen und Prozesslandkarten überprüft werden. Sie sind die Ziele für das Produkt. An dieser Stelle braucht es neue Führungskulturen und Arbeitsweisen nach dem Prinzip „interaktiver testender Agilität“ (Nach Kruse & Greve 2014).
Kommt Ihnen das Bekannt vor? In welcher Phase stehen die Produkte Ihres Unternehmens?