In einem kürzlich erschienenen Beitrag haben wir klar gestellt, dass sich Software von Natur aus eher wie ein Lebewesen verhält und weniger wie etwas, das wir bauen können. So ist es zum Beispiel sehr schwierig – wenn nicht gar unmöglich – alle Anforderungen an ein Softwareprodukt im Voraus festzunageln.
Mehrere Gründe machen es schwierig, eine endgültige Liste der Spezifikationen für ein Softwareprodukt zu erstellen.
Ein Hauptgrund dafür ist, dass sich Anforderungen im Laufe der Zeit ändern.
Der Schlüssel zum erfolgreichen Umgang mit diesen wechselnden Anforderungen sind kurze Entwicklungszyklen. Der Erfolg unseres Softwareprojekts hängt maßgeblich davon ab.
Nehmen wir zum Beispiel die Automobilindustrie. Und schauen wir uns genauer an, wie Volkswagen (VW) und Tesla ihre Entwicklungszyklen gestallten:
Heutzutage haben etablierte Hersteller wie VW Schwierigkeiten, wettbewerbsfähig zu bleiben. Neue chinesische Unternehmen verkaufen Autos mit Softwarefunktionen, die unser neues Smartphone alt aussehen lassen.
Um einer Pleite zu entgehen, steht VW kurz davor, in Deutschland mehrere Produktionsstätten zu schließen und tausende Mitarbeiter zu entlassen.

Seit fast einem ganzen Jahrhundert fertigen sie Autos mit einem sehr traditionellen, konservativen Ansatz, der dem Bauingenieurwesen entlehnt ist:
Das Designteam überarbeitet den vorherigen Entwurf eines Modells in der Definitionsphase und der Konzeptphase. Danach geht das neue Modell in die Vorentwicklung, die Serienentwicklung und die frühe Produktionsphase. Schließlich geht das neue Modell in die Massenproduktion.
Dieser komplette Zyklus dauert in etwa vier Jahre. Das bedeutet, dass das Design der heute vorgestellten neuen VW-Modelle bereits vor über drei Jahren finalisiert wurde.

Leider hat VW nicht damit gerechnet, dass der durchschnittliche chinesische Autokäufer (ein riesiger Markt für VW) im Jahr 2024 einen 20-Zoll-Bildschirm, Autonomes Fahren und ChatGPT-Integration in seinem Auto erwarten würde.
Selbst wenn VW es wollte, könnten sie diese Funktionen nicht einfach in ein vor drei Jahren entwickeltes Auto integrieren. VW braucht dringend eine neue Fahrzeugplattform, die den heutigen Erwartungen gerecht wird und flexibel genug ist, um langfristig wettbewerbsfähig zu bleiben.
Doch anstatt neue Autos auf Basis der neuen Fahrzeugplattform auf den Markt zu bringen, gab VW gerade bekannt, dass sich die Fertigstellung der neuen Plattform verzögert … bis 2029!
Die Hardware ist fertig, aber die Software, die bis Ende 2024 fertig sein sollte, wird erst in 5 Jahren fertig werden. Das ist eine sehr, sehr lange Zeit in der Softwarewelt.
In der Zwischenzeit können sich Tesla-Fahrer mindestens einmal im Monat auf neue Updates freuen, die die Leistungsfähigkeit ihres fünf Jahre alten Autos merklich verbessern:
- Vor zwei Monaten: Wir können jetzt die Umgebung unseres Autos über unser Smartphone inspizieren.
- Letzten Monat: Unser Tesla kann jetzt freihändig auf den Straßen der Stadt fahren.
- Diesen Monat: Wir können jetzt über Zoom an Video-Konferenzen in unserem Auto teilnehmen.
- Nächsten Monat: Unser Auto kann uns nun am Hoteleingang absetzen und selbstständig parken.
Der Umsatz- und Wachstumserfolg von Tesla zeigt, dass das Unternehmen mit chinesischen Automobilherstellern konkurrieren kann.

Was machen die Softwareentwickler bei Tesla anders?
Sie erstellen schrittweise neue Softwareversionen und veröffentlichen diese wöchentlich.
Nicht alle Versionen bestehen natürlich die interne Testphase, aber jede Woche wird mindestens eine Version als gut genug erachtet, um einem breiteren Publikum vorgestellt zu werden. Nicht jede Version hat ein herausragendes Merkmal, aber etwa einmal im Monat wird ein Feature hinzugefügt, das dem durchschnittlichen Tesla-Besitzer zugutekommt.
Kurze Entwicklungszyklen sind der Schlüssel zum erfolgreichen Umgang mit sich ändernden Anforderungen.

Die Entwicklung unseres Softwareprodukts in kleinen täglichen Iterationen gibt uns die Möglichkeit, frühzeitiges und kontinuierliches Feedback zu sammeln. Die Veröffentlichung einer neuen Softwareversion mindestens einmal pro Woche versetzt uns in die Lage, das Produkt im Laufe der Zeit an sich ändernde Anforderungen anzupassen. Dies reduziert wiederum erheblich das Risiko, dass das Projekt scheitert und wir unser gesamtes Investment verlieren.
Ich bin neugierig. Hast du bereits ein Softwareprodukt in Entwicklung? Wie oft veröffentlichen deine Entwickler neue App-Versionen? Schick mir eine Nachricht und teile deine Erfahrung.
Bis demnächst
David