Wissen kompakt: Ein Inkrement ist ein potenziell lieferfähiges Ergebnis eines Scrum Sprints oder ein Funktionszuwachs in der inkrementellen Softwareentwicklung.

Inkrement – Die schrittweise Erweiterung des Lieferumfangs

Der Begriff “Inkrement” stammt aus dem Lateinischen und bedeutet ins Deutsche übersetzt “vergrößern” oder “Zuwachs”. Übertragen auf die inkrementelle Softwareentwicklung bedeutet dies, dass ein System als Ganzes geplant, aber in Teilen realisiert wird. Pro Inkrement wächst der Umfang und/oder die Anzahl der Funktionen.

Das Konzept des Inkrements findet sich in mehreren Vorgehensmodellen, Methoden und Frameworks wie bspw. in Scrum, Extreme Programming, Scaled Agile Framework (SAFe), Large-Scale Scrum (LeSS), Feature-Driven Development (FDD) oder dem V-Modell XT.

Inkrement - Die schrittweise Erweiterung des Lieferumfangs

Das Inkrement in Scrum

In der agilen Software-, Produkt- oder Dienstleistungsentwicklung gibt es Inkremente; in Scrum bspw. ist es das erwartete, potenziell lieferfähige Ergebnis eines Sprints. Der Scrum Guide definiert es als “ein konkretes Etappenziel auf dem Weg zum Produkt-Ziel, wobei jedes Inkrement additiv zu allen vorherigen ist und gründlich verifiziert wird, um sicherzustellen, dass alle Inkremente zusammenwirken. Um einen tatsächlichen Wert darzustellen, muss es nutzbar sein”.

Der Umfang des potenziell lieferfähigen Ergebnisses wird durch das Sprint Backlog definiert, auf das sich die Entwickler im Rahmen des Sprint Plannings committen. Zur Freigabe des Ergebnisses muss die Definition of Done überprüft sein. Potenziell lieferfähig heißt, dass die Software – wie definiert – funktioniert und an Kunden bzw. Anwender ausgeliefert werden könnte.

In der Praxis wird aber nicht jedes Sprint-Ergebnis aka Produktinkrement bzw. Product Increment ausgeliefert, meist werden Releases, also die Ergebnisse mehrerer Sprints, Kunden zur Verfügung gestellt und entsprechend durch das Marketing und den Vertrieb vermarktet und vertrieben.

Das Inkrement in Large-Scale Scrum (LeSS)

Large-Scale Scrum (LeSS) ist ein Framework für die Skalierung von Scrum auf mehrere Teams, die gemeinsam an einem Produkt arbeiten. Innerhalb von LeSS wird das “Inkrement” ähnlich wie im traditionellen Scrum definiert, jedoch mit einigen zusätzlichen Aspekten, die für die Skalierung relevant sind.

Da mehrere Teams an einem Produkt arbeiten, trägt jedes Team zur Erstellung eines gemeinsamen Inkrements bei. Dies fördert die Zusammenarbeit und die gemeinsame Verantwortung für das Produkt.

Die Notwendigkeit eines integrierten Inkrements am Ende jedes Sprints betont die Wichtigkeit der kontinuierlichen Integration und Zusammenarbeit zwischen den Teams. Das bedeutet, dass alle Teams regelmäßig ihre Arbeit zusammenführen müssen, um sicherzustellen, dass sie miteinander kompatibel und funktionsfähig ist.

Ein potenziell auslieferbares Inkrement ermöglicht es dem Produktmanagement und den Stakeholdern, den Fortschritt regelmäßig zu überprüfen und basierend auf den tatsächlichen Ergebnissen fundierte Entscheidungen zu treffen.

Die inkrementelle Systementwicklung im V-Modell XT

Das V-Modell XT als deutscher Standard für die Planung und Durchführung von Systementwicklungsprojekten, der in Unternehmen, Behörden und im militärischen Bereich genutzt wird, definiert eine inkrementelle Systementwicklung. Diese adressiert nicht nur Neuentwicklungen, sondern auch die Weiterentwicklung und Migration von Altsystemen. Sie kann dann zum Einsatz kommen, wenn die Anforderungen an das zu erstellende / weiterzuentwickelnde System als relativ stabil gelten und die technologischen Risiken als gering einzustufen sind. Auch der Einsatz von Fertigprodukten ist dann möglich.

Die inkrementelle Featureentwicklung bei FDD

In Feature-Driven Development (FDD) wird die Entwicklung in kleinere, iterative Schritte unterteilt, die sich auf die Implementierung von Features konzentrieren. Diese Features sind eigenständige, funktionsfähige Teile des Systems, die schrittweise entwickelt werden. Jedes Feature kann als ein Inkrement betrachtet werden, das während eines Entwicklungszyklus hinzugefügt oder verbessert wird. FDD betont die kontinuierliche Lieferung von funktionsfähiger Software, und die fertigen Features stellen die Inkremente dar, die den Wert für den Kunden steigern.

Fragen aus der Praxis

Hier finden Sie einige Fragen und Antworten aus der Praxis:

Wie viele Inkremente gibt es pro Scrum Sprint?

In Scrum gibt es keine feste Anzahl an Inkrementen pro Sprint. Ein Sprint ist ein zeitlich festgelegtes Intervall, typischerweise zwischen einer und vier Wochen, in dem ein funktionsfähiges Produktinkrement erstellt wird. Das bedeutet, dass am Ende jedes Sprints mindestens ein Inkrement vorliegen sollte, das potenziell auslieferbar ist und Mehrwert für den Kunden bietet.

Die Anzahl der Inkremente innerhalb eines Sprints hängt unter anderem von der Komplexität der Aufgaben, der Teamgröße und den Fähigkeiten der Mitarbeitenden ab. Tatsächlich kann daher die genaue Anzahl variieren.

    Welches Rolle spielt das Commitment in Scrum für das Inkrement?

    Der aktuelle Scrum Guide betont im Zuge der Artefakte die Bedeutung der Commitments, mit dem Ziel, die Transparenz zu erhöhen, den Fokus zu verbessern und den Fortschritt messbar zu machen. Konkret heruntergebrochen auf die einzelnen Scrum-Artefakte ergeben sich drei direkte Zuordnungen:

    • Für das Product Backlog ist es das Produktziel. Produktziele sind qualitative Zielsetzungen der Produktentwicklung, d. h. sie determinieren u. a. die Art und Qualität von Produkten.
    • Für das Sprint Backlog ist es das Sprint‐Ziel. Ein Sprint-Ziel beschreibt die Vision des Scrum Teams für einen Sprint. Es definiert den Zweck des Sprints und ist Grundlage für die Auswahl der Backlog Items.
    • Für das Increment ist es die Definition of Done. Die Definition of Done ist eine Checkliste mit Qualitätskriterien, die festlegt, welche Aufgaben bei Backlog Items fertigzustellen sind.

    Hier finden Sie weitere Details zum Commitment in Scrum.

    Wieso steigern Inkremente die Transparenz?

    Stellen Sie sich vor, sie entwicklen ein Produkt über mehrere Jahre und liefern das fertige Ergebnis erst dann aus, wenn sie glauben, es ist genauso wie es Jahre zuvor im Lastenheft formuliert wurde. Wie wahrscheinlich ist es wohl, dass Sie die Erwartungen der Stakeholder wirklich treffen?

    Inkremente sind ein effektives Mittel, um den Fortschritt eines Projekts klar zu messen. Jedes Inkrement stellt eine abgeschlossene und potenziell auslieferbare Einheit dar, was es Teams und Stakeholdern ermöglicht, den Fortschritt leicht nachzuvollziehen. Dadurch entsteht eine transparente Darstellung des Entwicklungsfortschritts.

    Ein großer Vorteil der regelmäßigen Lieferung von Inkrementen ist das frühzeitige Feedback. Stakeholder und Kunden erhalten dadurch einen Einblick in den Entwicklungsprozess und können die Ausbaustufe überprüfen, Feedback geben und Änderungen vorschlagen. Dies ermöglicht dem Team, sich frühzeitig an neue Anforderungen anzupassen und sicherzustellen, dass das Endprodukt den Erwartungen entspricht.

    Ein weiterer Vorteil ist die Risikominimierung. Durch die schrittweise Entwicklung und regelmäßige Tests können potenzielle Probleme oder Herausforderungen frühzeitig erkannt und behoben werden, bevor sie zu größeren Problemen werden.

    Darüber hinaus fördern Inkremente die Kommunikation und Zusammenarbeit im Team. Da das Team regelmäßig funktionsfähige Teile des Produkts liefert, müssen die Teammitglieder eng zusammenarbeiten, um sicherzustellen, dass die Ausbaustufen rechtzeitig und von hoher Qualität fertiggestellt werden.

    Insgesamt erhöht die regelmäßige Lieferung von Inkrementen die Transparenz über den Entwicklungsprozess. Sie bietet einen klaren Einblick in den Fortschritt, die Anforderungen, das Risiko und die Prioritäten. Dadurch können Teams und Stakeholder besser informierte Entscheidungen treffen und den Erfolg des Projekts maximieren.

    Wann wird das Inkrement in Scrum ausgeliefert?

    Häufig liest und hört man die Aussage, dass ein Inkrement am Ende des Sprints nach dem gemeinsamen Austausch im Sprint Review ausgeliefert wird. Und in der Tat ist das Sprint Review eine gute Gelegenheit, das Inkrement zu inspizieren und Feedback zu sammeln. Dennoch sollte das Sprint Review nicht als Hindernis für die Lieferung von Wert betrachtet werden. Dementsprechend betont der Scrum Guide, dass ein Inkrement jederzeit ausgeliefert werden kann, sobald es fertig ist und der Definition of Done entspricht.

    Die Aussage, dass das Inkrement am Ende eines jeden Sprints ausgeliefert wird, ist daher nicht ganz korrekt. Vielmehr kann es jederzeit, auch während eines Sprints, ausgeliefert werden.

    Gibt es einen Unterschied zwischen Inkrement und Produktinkrement?

    An sich werden die Begriffe Inkrement und Produktinkrement bzw. Product Increment synonym verwendet. Dennoch kann es einen kleinen, aber feinen Unterschied in der Praxis geben:

    “Product Increment” ist ein sehr spezifischer Begriff, der sich direkt auf den Fortschritt eines Produkts innerhalb eines bestimmten Sprints in Scrum bezieht. “Increment” hingegen kann allgemeiner verwendet werden, um jeden schrittweisen Fortschritt in einem Projekt zu beschreiben.

    In LeSS und anderen skalierten Frameworks wird zudem häufig das allgemeinere”Inkrement” bzw. “Increment” verwendet, um die Integration und Zusammenarbeit zwischen mehreren Teams zu betonen.

    Impuls zum Diskutieren:

    Wie können Unternehmen wirklich sicherstellen, dass jedes Inkrement einen echten Mehrwert für ihre Kunden liefert?

    Hinweise:

    Wenn Ihnen der Beitrag gefällt oder Sie darüber diskutieren wollen, teilen Sie ihn gerne in Ihrem Netzwerk. Und falls Sie sich für weitere Tipps aus der Praxis interessieren, dann testen Sie gerne unseren wöchentlichen Newsletter mit neuen Beiträgen, Downloads, Empfehlungen und aktuellem Wissen. Vielleicht wird er auch Ihr Lieblings-Newsletter!

    Neben der Softwareentwicklung wird der Begriff auch in der Ökonomie als festgelegte, minimale Erhöhung von Geboten bei Auktionen, im Plotting als feste Schrittweite des Zeichenkopfes und im Schach als Zeitgutschrift pro Zug verwendet.

    In der Informatik entsprechen Inkremente und Dekremente Operatoren, die durch einzelne Befehle zu Werterhöhungen und Wertverkleinerungen führen; zusätzlich wird hier zwischen Prä- und Postinkrement unterschieden.

    Es gibt auch das sogenannte Auto Increment. Es bezieht sich auf eine Funktion im Kontext von Datenbanken, die es ermöglicht, dass ein Feld (meistens ein Primärschlüssel) automatisch einen eindeutigen Wert erhält, wenn ein neuer Datensatz eingefügt wird. Diese Funktion ist nützlich, um sicherzustellen, dass jeder Datensatz eine eindeutige Kennung hat, ohne dass der Benutzer manuell einen Wert eingeben muss.

    Hier finden Sie ein Video über iterative und inkrementelle Softwareentwicklung.

    Hier finden Sie einen Podcast über die inkrementelle Entwicklung in Scrum.

    Und hier finden Sie ergänzende Informationen aus unserer Rubrik Wissen kompakt:

    Wissen kompakt: Wie funktioniert Sprint Planning?

    Wie funktioniert Sprint-Planning?

    Wissen kompakt: Was ist eine Definition of Done?

    Was ist eine Definition of Done?

    Wissen kompakt: Welche Aufgaben hat ein Scrum Master?

    Welche Aufgaben hat ein Scrum Master?