Zurück
Kevin Riedl

16 min Lesezeit · 29. Juni 2024
Zuletzt geprüft

Weiter
Entsteht auf deinem Gerät, ohne Instagram-Verbindung. Den Beitragslink kopieren wir für deinen Link-Sticker.

Software ist ein lebendes Produkt

Ein Launch ist ein wichtiger Meilenstein, aber nicht das Ende eines nützlichen Software-Produkts. Nutzer, Betriebsumgebungen, Abhängigkeiten, Sicherheitsrisiken, Vorschriften und geschäftliche Prioritäten können sich ändern. Die praktische Frage ist daher nicht, ob Software im absoluten Sinn jemals fertig ist. Entscheidend ist, welche Lifecycle-Verantwortlichkeiten noch bestehen, wer sie trägt und welche Evidenz die nächste Investition rechtfertigt.

Der aktuelle Standard ISO/IEC/IEEE 12207:2026 zum Software-Lebenszyklus umfasst Konzeption, Entwicklung, Betrieb, Support, Wartung und Außerbetriebnahme. Er hält außerdem fest, dass Lifecycle-Prozesse parallel, iterativ, rekursiv und schrittweise ablaufen können. Das ist ein belastbareres Modell als eine einzige starre Phasenfolge, die jedes Feature unverändert durchläuft.

Dieser Artikel übersetzt den Lebenszyklus in eine praktische Produkt-Checkliste. Er ist eine Orientierungshilfe und keine Behauptung, dass eine Methode für jedes Team passt.

Du baust ein Software-Produkt?

 Produkt challengen

Die Gebäude-Analogie hilft, aber nur begrenzt

Software und Gebäude profitieren beide von klarer Zielsetzung, bekannten Einschränkungen, Design, Überprüfung, Integration, Betrieb und Wartung. Die Analogie ist hilfreich, wenn sie ein Team dazu bringt, Entscheidungen sichtbar zu machen. Sie führt in die Irre, wenn sie suggeriert, Software-Anforderungen ließen sich immer vor der Umsetzung abschließen oder jede Änderung müsse eine starre Reihenfolge durchlaufen.

Software-LebenszyklusEin Produkt kann nach Nutzerforschung erneut in die Discovery gehen, seine Architektur nach Lasttests ändern oder einen Release überarbeiten, wenn Betriebsdaten eine schwache Annahme offenlegen. Der Lebenszyklus ist daher eher eine Sammlung von Verantwortlichkeiten mit Feedback-Schleifen als ein Fließband.

Entscheide bei jeder wesentlichen Änderung, welche Evidenz vor der nächsten Investition nötig ist. Eine risikoarme Textänderung braucht womöglich wenig Formalität. Eine Zahlungs-, Identitäts-, Gesundheits- oder Sicherheitsfunktion kann formale Anforderungen, Threat Modeling, unabhängige Prüfung und einen kontrollierten Rollout rechtfertigen.

Sieben Lifecycle-Verantwortlichkeiten, die sichtbar sein sollten

1. Ergebnis und Rahmenbedingungen festlegen

Planung sollte das Nutzerproblem, das gewünschte Ergebnis, den Entscheidungsverantwortlichen, wesentliche Einschränkungen und die Evidenz benennen, die ein Fortsetzen, Neuausrichten oder Stoppen rechtfertigt. Annahmen zu Budget, Terminen, Daten, Integrationen, Compliance und Betriebsverantwortung sollten ebenfalls sichtbar sein.

Agile Umsetzung bedeutet nicht den Verzicht auf Planung. Die Prinzipien hinter dem Agilen Manifest verbinden häufige Auslieferung und den Umgang mit veränderten Anforderungen mit nachhaltiger Entwicklung, technischer Exzellenz und regelmäßiger Reflexion. Ein Plan darf sich ändern, während sein Zweck klar bleibt.

2. Anforderungen entsprechend dem Risiko verfeinern

Anforderungen übersetzen ein Ergebnis in Verhalten, Einschränkungen und Abnahmekriterien. Teams müssen nicht jedes zukünftige Detail vorhersagen. Sie sollten aber Entscheidungen klären, deren Aufschub teuer oder gefährlich wäre. Dazu gehören etwa Berechtigungsgrenzen, Datenaufbewahrung, Verfügbarkeitsziele, Migrationsregeln und das Verhalten beim Ausfall eines externen Dienstes.

Halte ungeklärte Annahmen sichtbar. Ein Prototyp kann testen, ob Nutzer einen Ablauf verstehen. Ein technischer Spike kann eine Integration prüfen. Ein kleiner Release kann Nachfrage testen. Jedes Experiment sollte eine verantwortliche Person und eine konkrete Entscheidung haben, die es informiert.

3. Nutzungserlebnis und System entwerfen

Mockup einer BenutzeroberflächeExperience Design beschreibt, wie Menschen einen Ablauf finden, verstehen und nach Fehlern fortsetzen. Software-Design beschreibt Zuständigkeiten zwischen Komponenten, Datengrenzen, Schnittstellen, Fehlerverhalten und betriebliche Einschränkungen. Beides sollte so konkret sein, dass wichtige Abwägungen überprüft werden können, bevor sie in der Implementierung verborgen sind.

Architektur ist kein Synonym für zusätzliche Services. Für ein Produkt kann ein modularer Monolith besser passen als verteilte Dienste, während ein anderes Produkt stärkere Isolation oder unabhängige Skalierung benötigt. Wähle die einfachste Struktur, die heutige Anforderungen erfüllt und glaubwürdige Wege für bekannte Änderungen offenhält. Dokumentiere folgenreiche Entscheidungen und ihre Evidenz.

Beispiel für Software-Design

Du baust ein Software-Produkt?

 Kostenlose Beratung buchen

4. In überprüfbaren Schritten liefern

Die Implementierung sollte Ergebnisse in Einheiten liefern, die Stakeholder und Entwickler noch sinnvoll überprüfen können. Der offizielle Scrum Guide von 2020 beschreibt für Teams, die Scrum wählen, ein geordnetes Product Backlog, ein Sprint Goal, ein Sprint Backlog, eine Definition of Done sowie wiederkehrende Inspektion und Anpassung. Er schreibt weder ein Vertrags- noch ein Preismodell vor und ist nicht das einzige gültige Delivery-Framework.

Nützliches Reporting konzentriert sich auf Entscheidungen und Evidenz: Welches Ergebnis hat sich bewegt, was hat sich geändert, was bleibt unklar, welche Risiken sind gestiegen und was empfiehlt das Team als Nächstes? Aktivitätszahlen allein belegen keinen Produktwert.

Mehr zu kommerzieller Struktur und Unsicherheit findest du in unserem Leitfaden zur Bewertung von Software-Dienstleistern.

5. Verhalten, Sicherheit und Integration verifizieren

Test-Feedback-SchleifeTests sollten aus den Produktrisiken abgeleitet werden. Unit-Tests können lokales Verhalten absichern. Integrations-, Vertrags-, End-to-End-, Performance-, Accessibility-, Sicherheits-, Recovery- und Migrationstests beantworten jeweils andere Fragen. Keine endliche Testsuite beweist, dass ein nicht triviales System fehlerfrei ist.

Das finale Secure Software Development Framework 1.1 von NIST empfiehlt, sichere Entwicklungspraktiken in den gewählten Lebenszyklus zu integrieren. Seine Praxisgruppen umfassen die Vorbereitung der Organisation, den Schutz der Software, die Herstellung gut abgesicherter Releases und die Reaktion auf Schwachstellen. Sicherheit erfordert daher Arbeit in Design, Implementierung, Verifikation, Release und Reaktion, nicht nur einen einzelnen Test kurz vor dem Launch.

Integrationen brauchen ebenfalls Evidenz für Fehlerpfade. Teste je nach Relevanz abgelaufene Authentifizierung, Rate Limits, fehlerhafte Antworten, Teilausfälle, Wiederholungen, doppelte Events und Recovery. Bei Smart-Contract-Systemen gehören passende Testnets und sorgfältig kontrollierte Produktionsprüfungen dazu, weil eine Testumgebung nicht jede Mainnet-Abhängigkeit oder wirtschaftliche Bedingung abbildet.

6. Das Produkt betreiben und beobachten

Ein Release braucht nach dem Deployment klare Zuständigkeiten. Definiere Service-Indikatoren, Alarme, Support-Wege, Rollen bei Incidents, Rollback- oder Mitigationsverfahren, Erwartungen an Backup und Recovery sowie den Weg von Nutzerfeedback ins Backlog. Observability sollte Produkt- und Zuverlässigkeitsfragen beantworten, ohne mehr persönliche oder sensible Daten zu erfassen als nötig.

Betriebsdaten können Design-Annahmen widerlegen. Behandle Incidents, Support-Anfragen, Performance-Traces und Nutzungsdaten als Input für die Planung, statt sie dauerhaft als getrennte Anliegen an ein anderes Team abzugeben.

7. Wartung, Weiterentwicklung oder Außerbetriebnahme bewusst steuern

Wartung kann Fehlerkorrekturen, Updates von Abhängigkeiten, Reaktionen auf Schwachstellen, Anpassungen an Plattformänderungen, bessere Betriebsfähigkeit und verändertes Verhalten bei neuen Nutzerbedürfnissen umfassen. Nicht jedes Produkt braucht laufend neue Features. Ein betriebenes Produkt braucht aber eine klare Entscheidung über Zuständigkeit und akzeptables Risiko.

Eine Wartungsvereinbarung sollte den Umfang konkret benennen: unterstützte Umgebungen, Reaktionszeiten, Behandlung von Sicherheitsupdates, Verantwortung für Abhängigkeiten, Monitoring, Backups, Datenexport und Unterstützung beim Ausstieg. Rechtfertigt das Produkt seinen Betrieb nicht mehr, gehört auch die Außerbetriebnahme zum Lebenszyklus. Plane Benachrichtigung, Migration, Aufbewahrung oder Löschung von Daten, Entzug von Zugängen und Abschaltung.

Praktische Governance-Checkliste

  • Ergebnis: Sind Nutzer- oder Geschäftsergebnis und Entscheidungsverantwortung klar?
  • Evidenz: Was würde Fortsetzen, Neuausrichten oder Stoppen rechtfertigen?
  • Risiko: Welche Fehlerszenarien benötigen stärkere Anforderungen, Reviews oder Tests?
  • Qualität: Ist die Release-Schwelle klar und beobachtbar?
  • Betrieb: Wer verantwortet Deployment, Incidents, Support und Recovery?
  • Wartung: Wer verantwortet Abhängigkeiten, Schwachstellen, Plattformänderungen und Technical Debt?
  • Ausstieg: Können Nutzer und Daten sicher wechseln, wenn sich Produkt oder Anbieter ändern?

Ein lebendes Software-Produkt kann laufende technische Führung benötigen. Wenn diese Verantwortung noch keine Vollzeit-Führungsrolle rechtfertigt, findest du mehr zu unserem Fractional CTO Service für Österreich.

Fazit

Behandle Software als betriebenes Produkt mit klaren Lifecycle-Verantwortlichkeiten. Wähle Praktiken nach Risiko, halte Annahmen sichtbar und nutze Evidenz von Nutzern, Tests und Betrieb für die nächste Entscheidung.

Das Ziel ist nicht, jede Phase mit maximaler Formalität auszuführen. Es geht darum, die Entscheidungen, Prüfungen, Zuständigkeiten und Wartungsaufgaben nicht stillschweigend auszulassen, die das Produkt tatsächlich braucht.

Produkt bauen, nicht nur Backlog

Wenn dieser Artikel auf eine echte Produktentscheidung einzahlt, hilft Wavect dir beim Scoping, Bauen, Härten oder Führen der Softwarearbeit mit Senior-Founder-Urteil.

Sinnvolle Service-Wege:

Postfach, ohne Lärm

Folge der Arbeit, die für dich zählt

Du bekommst eine kurze E-Mail, wenn wir etwas Neues veröffentlichen. Folge dem ganzen Blog oder nur den Themen, die dich interessieren.

Was möchtest du erhalten?
Themen auswählen

Kostenlos, Double-Opt-in, ohne Tracking-Pixel.

Zurück
Kevin Riedl

16 min Lesezeit · 29. Juni 2024
Zuletzt geprüft

Weiter

Erhalte die nächste Feldnotiz zu Delivery und QA

Eine kurze E-Mail, wenn wir veröffentlichen. Ohne Tracking-Pixel und ohne Postfachfüller.

Kostenlos, Double-Opt-in, ohne Tracking-Pixel.