Da Du diesen Text hier liest, bist Du offensichtlich genau so ein Nerd wie wir. Komm zu uns und bewerbe Dich bei ///\/ DevBoost: https://devboost.com/karriere (https://api.devboost.com)

Mach den Performance-Check für Softwarehersteller

Mehr erfahren

Mach den Performance-Check für Softwarehersteller

Mehr erfahren

Die 3 Ventile einer performanten Software-Produktentwicklung

Eine Produktentwicklung, die einfach läuft, wünscht sich jedes Entwicklungsteam. Damit dies gelingt, bedarf es der Arbeit an 3 Ventilen. Sie zu kennen und immer weiter aufzudrehen ist Aufgabe jedes Entwicklungsteams.

von Tobias Nestler, Lesezeit: 6 Min.
Bildhafter Vergleich der Performance in der Software-Produktentwicklung mit 3 Ventilen einer Wasserleitung

Wollen wir die Leistungsfähigkeit Eurer Produktentwicklung verstehen, so verschaffen wir in einem ersten Schritt einen ganzheitlichen Blick auf die Zusammenhänge zwischen den beteiligten Akteuren, den etablierten Arbeitsweisen und verwendeten Technologien.

Von der Anforderungserfassung bis hin zum Produktivbetrieb Eurer Software sind neben den Entwicklern weitere Rollen wie bspw. Produktmanager, Product Owner, Fachexperten der Qualitätssicherung, des Betriebs oder auch des Supports involviert. Deren Zusammenwirken bildet einen wesentlichen Erfolgsfaktor auf die Leistungsfähigkeit Eurer gesamten Produktentwicklung. Das Gleiche gilt für die implementierte Softwarearchitektur des Produkts, die etablierten Teamstrukturen, die verwendeten Technologien, aber auch das Auslieferungs- und Betriebsmodell des Produkts.

Um das Zusammenspiel dieser Einflussfaktoren zu verdeutlichen, stellt Euch die Produktentwicklung als eine Pipeline bzw. ein Wasserrohr mit drei Ventilen vor. Jedes der Ventile repräsentiert eine wesentliche Facette Eurer Produktentwicklung. Sind alle drei Ventile offen, so habt Ihr eine hohe Flussgeschwindigkeit – sprich Ihr schafft es, die richtigen Features schnell zu liefern. Sind einzelne Ventile verschlossen oder nur wenig offen, sinkt die Flussgeschwindigkeit. Die Performance Eurer Produktentwicklung ist nicht optimal.

Bildhafter Vergleich der Performance in der Software-Produktentwicklung mit 3 Ventilen einer Wasserleitung

Dieser Metapher folgend wird klar, dass es ein Verständnis über die Zusammenhänge der relevanten „Ventile“, die Euren Entwicklungsprozess steuern und bremsen, braucht, um substantielle Veränderungen anzustoßen.

Die Ventile im Überblick

Was sind nun die drei Facetten der Produktentwicklung, die durch die Ventile repräsentiert werden?

Ventil Nummer eins lautet „Product Discovery“. Es umfasst die Aufgaben und Prozesse des Produktmanagememts von der Anforderungsanalyse, der Festlegung des Produktfokus bis hin zur Sicherstellung der Innovationskraft Eurer Produktentwicklung. .

Ventil zwei fasst unter dem Titel, „Product Forming“, das Zusammenspiel von Teamorganisation, Zusammenarbeitsmodell und etablierter Softwarearchitektur zusammen.

Ventil Nummer drei, das „Product Shipping“, vereint die Umsetzungsgeschwindigkeit Eures Teams, den Umgang mit technischen Schulden sowie die Maßnahmen zur Sicherung der Produktqualität und Release-Fähigkeit.

Jedes der drei Ventile wird durch eine Leitfrage bestimmt, für die es eine Antwort zu finden gilt.

Die 3 wichtigen Bereiche der Software-Produktentwicklung (Product Discovery, Product Forming, Product Shipping)

Lasst uns in den folgenden Abschnitten einen Blick auf die einzelnen Ventile werfen.

Ventil 1: Product Discovery

Der Erfolg eines Produkts wird stark durch dessen Kernfunktionalität bestimmt. Diesen Fokus gilt es konsequent zu wahren, allen Beteiligten klarzumachen und mit echten Innovationen voranzubringen. Ohne Fokus hat Euer Produkt zwar viele Features, aber nicht genau die Features, die Nutzer wirklich brauchen. Ohne Klarheit bei allen Beteiligten arbeiten verschiedene Teams u. U. in unterschiedliche Richtungen. Ohne innovative Features wird das Produkt nicht langfristig am Markt gegen die Konkurrenz bestehen können.

Eine Ursache für fehlenden Fokus ist die unscharfe Trennung zwischen Produktentwicklung und durch einzelne Kunden getriebene, individuelle Produkterweiterungen bzw. -adaptionen. Bestimmen einzelne Kundenanforderungen die Produkt-Roadmap, wird die Produktvision verwässert. Ein starkes Produktmanagement muss daher aufkommende Feature-Requests über mehrere Kunden hinweg erfassen, konsolidieren und bewerten.

Um die Produktvision für alle Beteiligten sichtbar zu machen und so ein gemeinsames Produktverständnis zu erzeugen, müssen Vertrieb, Produktmanagement, Entwicklung und Service eng zusammenarbeiten. Silodenken in diesen Abteilungen ist eine ernste Gefahr für den Produkterfolg. Nur, wenn alle Abteilungen gemeinsam die Funktionalität definieren, kann ein gutes Produkt entstehen.

Da sich die Anforderungen und Erwartungen der Kunden ständig weiterentwickeln, muss jedes Softwareprodukt kontinuierlicher Innovation unterliegen. Sowohl fachlich als auch technisch ist ständige Weiterentwicklung unabdingbar, um der Konkurrenz vorauszueilen.

Ventil 2: Product Forming

Für eine performante Produktentwicklung bedarf es einer Systemarchitektur, welche die für Wachstum benötigte Flexibilität und Skalierbarkeit bietet. Die über die Jahre aufgebaute technische und fachliche Komplexität eines Produkts führt in der Regel zu einer verminderten Liefergeschwindigkeit sowie langen Einarbeitungszeiten für neue Mitarbeiter. Ursachen hierfür sind u. a. unnötige technische Abhängigkeiten und fehlende oder komplizierte Konfigurations- und Variabilitätsmechanismen. Dem gilt es durch eine geeignete Modularisierung entgegenzuwirken. So können einzelne Komponenten unabhängig voneinander konzipiert, umgesetzt und betrieben werden. Dies steigert die Liefergeschwindigkeit (Time-2-Market) und fördert die Teamautonomie sowie die Skalierbarkeit von Produkt und Produktentwicklung.

Bezüglich der Systemarchitektur und Modularisierung gilt es zu beachten, dass die Teamstruktur eines Softwareunternehmens immer zur Architektur passen muss. Besitzt man z. B. eine Teamstruktur, die der Softwarearchitektur widerspricht, provoziert man, dass jedes Feature und jede Änderung mehrere Teams betreffen. Das macht die Entwicklung langsam, da Abstimmungen nötig sind und Entscheidungsprozesse unnötig lange dauern.

Hat man eine gute Struktur für die Teams gefunden, können die Teams autonom und performant Features realisieren, die das Produkt vorwärtsbringen. Innerhalb der Teams ist sicherzustellen, dass es über die benötigte Expertise verfügt und Wissen gleichmäßig verteilt wird.

Ventil 3: Product Shipping

Die Fähigkeit Software schnell zu entwickeln und auch schnell auszuliefern wird von einigen Faktoren maßgeblich beeinflusst. Dazu zählen die Flexibilität und Erweiterbarkeit des Systems, der Reifegrad der Entwicklungsinfrastruktur sowie die Automatisierung der Auslieferung und Qualitätssicherung.

Softwaresysteme wachsen über die Jahre ihrer Weiterentwicklung kontinuierlich in Bezug auf Funktionsumfang und Komplexität. Feature-Druck sowie fehlendes Vertrauen beim Anpassen von Produktivcode führen dazu, dass pflegende Arbeiten am Bestandscode bzw. den Plattformfunktionalitäten hinten angestellt werden. Die fehlende Behandlung technischer Schulden verhindert den Abbau unnötiger technischer Komplexität. Dadurch dauert die Entwicklung neuer Features immer länger, Wartungsaufwände steigen kontinuierlich und die Handhabung des Gesamtsystems wird komplizierter und schwerfälliger.

Eine kontinuierliche Reduktion der Softwarekomplexität durch Modularisierung und Refactoring führt zu weniger Abhängigkeiten. Systembestandteile können unabhängig voneinander entwickelt, getestet und ausgeliefert werden. Ergänzt durch die Automatisierung von Test- und Release-Prozessen, kann die Entwicklungsperformance ihr volles Potential entfalten.

Erste Hilfe für jedes Ventil

Habt ihr den Eindruck in einem der drei genannten Bereiche etwas tun zu müssen, so könnt ihr folgendermaßen starten:

  1. Setzt im Bereich Product Discovery Euren Fokus zunächst auf Euer Kernprodukt. Methoden wie bspw. Event Modeling oder User Story Mapping helfen ein klares Verständnis von Produktkern (sprich kundenübergreifende Features) und kundenspezifischen Features zu entwickeln. Dies ist die Grundlage für eine im Unternehmen etablierte Produktvision und ein starkes Produktmanagement.
  2. Evaluiert im Bereich Product Forming kritisch, ob Eure bestehende Produktarchitektur und Teamorganisation aufeinander abgestimmt sind und zu den Zielen Eurer Produkt- und Businessstrategie passen. Orientiert Euch dabei an Euren Geschäftsprozessen (z. B. mittels Domain-Driven Design und Business Capabilities), den absehbaren Trends Eures Marktes und den wiederkehrenden Herausforderungen Eurer Kunden.
  3. Betrachtet im Bereich Product Shipping identifizierte Teilsysteme Eures Produktes separat und leitet jeweils ein technisches Zielbild ab. Investiert in Testautomatisierung und Continuous Delivery und schafft so die Grundlage für hohe Umsetzungsgeschwindigkeit.
  4. Arbeitet iterativ und kontinuierlich an der Optimierung aller drei Ventile. Es ist oft möglich, Maßnahmen an verschiedenen Ventilen zu parallelisieren, da diese verschiedene Verantwortungsbereiche und Rollen betreffen. Oft führen Abhängigkeiten zwischen den Ventilen dazu, dass wirksame Veränderungen erst im Zusammenspiel entstehen. Macht Euch diese Abhängigkeiten bewusst und plant Eure Maßnahmen entsprechend.

Deine nächsten Schritte:

Willst Du tiefer in die Engpass-Analyse Eurer Software-Produktentwicklung einsteigen, so können wir Dir weiterhelfen. Mit diesen drei Schritten erlangst Du mehr Klarheit und erste Ergebnisse:

Schritt 1: In unserem Development Benchmark haben wir die neun Erfolgsfaktoren einer performanten Produktentwicklung zusammengetragen. Du solltest sie kennen.

Schritte 2: Mittels eines anschließenden Online-Performance-Checks nimmst Du in 5min eine erste Bewertung Eurer Software-Produktentwicklung vor. Den Link schicken wir Dir nach Download des Benchmarks zu.

Schritt 3: In einem Expertengespräch werten wir aus, wo die Stärken und Potentiale Eurer Produktentwicklung liegen. Wir zeigen Dir auf, wie ihr im Vergleich zu anderen Softwareherstellern abschneidet. So erlangst Du Klarheit über Euren Status Quo und bekommst von uns erste Handlungsempfehlungen zur Umsetzung.

Starte heute noch mit Schritt 1:

Jetzt Development Benchmark herunterladen

Was kannst Du nun tun?

Mach den Performance-Check für Softwarehersteller

Mehr erfahren
Zuletzt bearbeitet am 10.06.2024

Beitrag teilen

Folge DevBoost

/half-hearted-attempt-at-accessibility-sorry