Velocity

Was ist Velocity?

Der Begriff Velocity (aus dem Englischen: Geschwindigkeit) findet in der IT in unterschiedlichen Anwendungsgebieten Verwendung. Neben dem Java-basierten gleichnamigen Apache-Project und der Velocity Template Language spielt der Begriff insbesondere in der agilen Softwareentwicklung mit dem Vorgehensmodell Scrum eine entscheidende Rolle. In diesem Zusammenhang lässt die Velocity Rückschlüsse darauf zu, wann ein Projekt voraussichtlich fertiggestellt sein wird, welchen Fortschritt es bereits gemacht hat und mit welchen Kosten zu rechnen ist. Die Ermittlung dieser Geschwindigkeit kennt verschiedene Vorgehensweisen. Eine Steigerung dieses Parameters ist mit spezifischen Vor- und Nachteilen verbunden.

Überblick und Allgemeines

Innerhalb des Scrum-Verfahrensmodells beschreibt die Velocity die bei einem Sprint erreichte Geschwindigkeit eines Teams. Diese Team-Geschwindigkeit basiert auf den erledigten User-Storys. Pro erledigter User-Story werden sogenannte Story-Points abgezogen. Die Geschwindigkeit entspricht dann der Anzahl der durchschnittlich erledigten Story-Points. Die einfachste Berechnungsmethode besteht in der Addition der Story-Points abgeschlossener User-Storys am Ende jedes Sprints.

Als Gegenbegriff ist die Bezeichnung Velocity-Offset gebräuchlich. Dieser besteht in der Summe sämtlicher nicht-erledigter User-Storys. Davon abgeleitet ist der Velocity-Offset-Faktor. Dieser entspricht den Story-Points, die dazu beitragen, ein Scrum-Team beim folgenden Sprint zu bremsen. Solche User-Storys, die in einem Springt nicht abgearbeitet werden können, werden in den kommenden Sprint delegiert. Geht es nun um die Planung dieses nachfolgenden Sprints, so hat das Team diese Story-Points zu berücksichtigen und kann sich entsprechend weniger User-Storys annehmen.

Stellenwert in Scrum

Innerhalb eines Projekts der agilen Softwareentwicklung mit Scrum erlaubt die Velocity eine Einschätzung der Frage nach dem voraussichtlichen Zeitpunkt der Fertigstellung eines Projekts. Der Parameter gibt Rückschluss darauf, welche und wie viele Komponenten bereits fertiggestellt wurden. Auf dieser Basis trägt die Geschwindigkeit auch dazu bei, die entstehenden Kosten einzuschätzen.

Die Berechnung beziehungsweise Ermittlung der Velocity kennt grundsätzlich zwei Verfahrensweisen. Haben die Scrum-Teams bereits Erfahrung in der Zusammenarbeit, ist eine relativ präzise Einschätzung der Schnelligkeit bereits im Vorfeld möglich. Handelt es sich um eine erstmalige Kooperation der Scrum-Teams, so existieren noch keine historischen Daten, auf Basis derer Eine Einschätzung möglich wäre. Jedoch besteht die Möglichkeit, die Daten anderer Teams zu Rate zu ziehen. Hierbei muss es sich im Sinne einer belastbaren Einschätzung um solche Teams handeln, die bereits vergleichbare Projekte in Angriff genommen und erfolgreich beendet haben.

Eine Alternative Vorgehensweise besteht in der konkreten Planung von Sprints. Werden zwei Sprints durchgeführt, entstehen Daten über die obere und untere Velocity. Nach Beendigung der Sprints liegen spezifische Werte vor, sodass die Schätzungen nicht weiter zu berücksichtigen sind.

Bedeutung und Interpretation

Die durchschnittliche Velocity stellt einen Parameter dar, der eine Prognose der zur Fertigstellung einer User-Story zulässt. Dies ist an verschiedenen Schnittstellen eines Scrum-Projekts von Bedeutung. Auch bei der Planung eines Release spielt die Schnelligkeit eine wichtige Rolle. Eine Voraussetzung einer entsprechenden Nutzung der Geschwindigkeit besteht darin, dass die Story-Points der User-Storys bereits in ihrer richtigen Reihenfolge festgelegt und geschätzt wurden. Nur wenn diese Werte vorliegen, ist eine Einschätzung beziehungsweise Prognose der Fertigstellung denkbar.

Idealerweise wird die Geschwindigkeit am Ende eines Sprints ermittelt. Erst an diesem Zeitpunkt sind die User-Storys abgeschlossen und lassen sich entsprechend deklarieren. Die Ermittlung der Schnelligkeit sowie auch des Velocity-Offsets sollte im Vorfeld des nächsten Sprints erfolgen. Dies hängt damit zusammen, dass dieser Faktor in der Sprint-Planung der Gesamtzahl möglicher User-Storys gegenübergestellt wird.

Erhöhung der Velocity: Chancen und Risiken

Mit einer zunehmenden Zahl von historischen Daten und anderen Werten erscheint es leichter, die Velocity einzuschätzen und künftig zu erhöhen. Eine optimierte Geschwindigkeit kann zu einer Steigerung der Effizienz beitragen. Zur Steigerung der Schnelligkeit tragen auch eine Verbesserung der Team-Zusammensetzung oder eine optimierte Aufgabenverteilung bei. Auch eine durchdachte Nutzung geeigneter Werkzeuge kann ihren Beitrag zur Erhöhung der Geschwindigkeit leisten. Gleichfalls können diese Faktoren jedoch auch in ihr Gegenteil umschlagen und die Geschwindigkeit bremsen. Bereits eingespielte Teams müssen sich bei einer Änderung der Team-Stuktur erst neu finden und einarbeiten. Bei Einführung neuer Tools bedarf auch deren Nutzung zunächst einer Einarbeitung.

Eine naheliegend erscheinende Methode zur Erhöhung der Schnelligkeit liegt in Überstunden. Diese sind geeignet, um kurzfristig zu einer deutlichen Steigerungsrate beizutragen. Allerdings ist ihr nachteiliger Effekt zu berücksichtigen, dass sie zu erhöhtem Stress im Team beitragen und daher größere Regenerationsphasen erfordern. Aus diesem Grunde ist die Nachhaltigkeit dieser Maßnahme anzuzweifeln. Ebenso ist ein möglicher Qualitätsverlust in Folge abnehmender Motivation zu berücksichtigen. Da das Wachstum der Geschwindigkeit Grenzen hat, sind hier Chancen und Risiken der Steigerungsmaßnahmen gegeneinander aufzuwiegen.

Stellenwert von Velocity in der Entwicklung und in Projekten

Eine richtige Einschätzung und Anpassung der Velocity stellt einen wichtigen Eckpfeiler in Projekten mit dem Verfahrensmodell Scrum dar. Der Parameter unterstützt Entwicklungsteams und Scrum-Master bei der Steuerung und Planung der Projekte. Auf diese Weise sind Release-Termine oder Lieferfristen leichter einzuhalten. Ebenso lassen sich durch die verbesserte Einschätzung der Kosten auch die Preise für die Endkunden exakter ermitteln.

Hierbei ist es jedoch von Bedeutung, die Geschwindigkeit stets im Fokus zu behalten. Insbesondere Änderungen dieses Werts sind ernst zu nehmen. Ein Fehler ist es, wenn das Entwicklungsteam unter der Annahme einer konstanten Geschwindigkeit arbeitet, auch wenn eine Änderung stattgefunden hat. Daher ist es erforderlich, die Schätzungen im Verlaufe eines Projekts zu überprüfen und gegebenenfalls Anpassungen vorzunehmen. Werden diese Aspekte berücksichtigt, so ist die Velocity ein wertvoller Parameter, der Scrum-Master und Entwicklungs-Teams durch die verschiedenen Prozesse eines Projekts begleitet und ihnen dabei hilft, wichtige Fristen einzuhalten.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte