In einem kürzlich veröffentlichten Beitrag haben wir erfahren, dass sich Software ihrer Natur nach eher wie ein Lebewesen verhält und weniger wie etwas, das wir bauen können. Es ist beispielsweise sehr schwierig – wenn nicht sogar unmöglich – alle Anforderungen an ein Softwareprodukt im Voraus festzulegen.
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.
Nehmen wir zum Beispiel die Automobilindustrie und werfen einen genaueren Blick auf Volkswagen (VW) und Tesla:
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 überarbeitete den vorherigen Entwurf eines Modells in der Definitionsphase und der Konzeptphase. Danach ging das neue Modell in die Vorentwicklung, die Serienentwicklung und die frühen Phasen der Produktionsphase. Schließlich ging 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 vor über drei Jahren fertiggestellt 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, Selbstfahrfunktionen und ChatGPT-Integration in seinem Auto erwarten würde.
Selbst wenn VW es wollte, könnten sie diese Funktionen nicht einfach einem vor drei Jahren entwickelten Auto hinzufügen. 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 die neue Plattform verschoben wurde … bis 2029!
Die Hardware ist fertig, aber die Software, die bis Ende 2024 fertig sein soll, wird erst in 5 Jahren fertig sein. Das ist eine sehr, sehr lange Zeit, wenn es um Software geht.
In der Zwischenzeit können sich Tesla-Fahrer mindestens jeden Monat auf neue Updates freuen, die die Leistungsfähigkeit ihres fünf Jahre alten Autos deutlich verbessern:
- Vor zwei Monaten: Wir können jetzt die Umgebung unseres Autos über unser Smartphone überprüfen.
- Letzten Monat: Unser Tesla kann jetzt freihändig auf den Straßen der Stadt fahren.
- Diesen Monat: Wir können jetzt über Zoom an Videoanrufen 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 Ingenieure bei Tesla anders?
Sie erstellen schrittweise neue Softwareversionen und veröffentlichen diese jede Woche.
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 Umgang mit sich ändernden Anforderungen.
Die Entwicklung unseres Softwareprodukts in kleinen täglichen Schritten eröffnet 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 lass es mich wissen.
Bis demnächst
David