# V-Modell (Entwicklungsstandard)

Das V-Modell ist ein Vorgehensmodell für IT-Entwicklungsprojekte der Bundesrepublik Deutschland.
V-Modell ist eine geschützte Marke der Bundesrepublik Deutschland. Das „V“ im Begriff „V-Modell“ steht nicht für „Vorgehen“, sondern visualisiert die Idee, Spezifikation und Zerlegung der Realisierung und Integration gegenüberzustellen. Vorgeschlagen wurde dieses allgemeine Vorgehen als V-Modell Ende der 1970er Jahre. Mittlerweile unterstützt das V-Modell XT aber nicht nur dieses Vorgehen, sondern auch viele andere Ansätze (z. B. Agile Systementwicklung).
Das erste V-Modell wurde 1986 von dem damals bundeseigenen Unternehmen IABG entwickelt. Zunächst war es für IT-Projekte der öffentlichen Hand in Deutschland vorgesehen, inzwischen wird es aber auch in der Privatwirtschaft eingesetzt.
Im Gegensatz zu klassischen phasenorientierten Vorgehensmodellen werden im V-Modell lediglich Aktivitäten und Ergebnisse definiert und keine strikte zeitliche Abfolge gefordert. Insbesondere fehlen die typischen Abnahmen, die ein Phasenende definieren. Dennoch ist es möglich, die Aktivitäten des V-Modells zum Beispiel auf ein Wasserfallmodell oder ein Spiralmodell abzubilden.

## Geschichte
### Der militärische Ursprung

Im Jahre 1986 startete das deutsche Bundesministerium für Verteidigung zwei Projekte
* Softwareentwicklungsumgebung für Informationssysteme (SEU-IS) und
* Softwareentwicklungsumgebung für Waffen- und Waffeneinsatzsysteme (SEU-WS)
mit folgenden Zielen:
* Die Kosten über den gesamten Softwareentwicklungs- und Pflegeprozess transparent zu machen und in Folge auch zu begrenzen.
* Durch geeignete Maßnahmen einen Mindeststandard für Softwarequalität zu garantieren bzw. diesen weiter zu verbessern.
* Durch Vergleichbarkeit der Angebote von Dritten eine größere Unabhängigkeit von einzelnen Anbietern zu erlangen.
* Die Entwicklung von Software im eigenen Hause zu standardisieren und transparenter zu gestalten.
Hierzu wären grundsätzlich auch Prozessmodelle der NATO-Verbündeten in Frage gekommen, wie zum Beispiel der amerikanische Standard DoD STD 2167 A bzw. der neuere MIL-STD-498 oder der französische Standard GAM T 17. Eine eingehende Prüfung dieser Modelle zeigte jedoch, dass sie nicht in der Lage waren, allen Anforderungen gerecht zu werden. Somit entschloss man sich zu einer Eigenentwicklung, die im Jahre 1988 – als Ergebnis des Projektes SEU-WS – eine erste Version des V-Modells hervorbrachte. In dieses wurden dann bis April 1990 die Erkenntnisse aus dem Projekt SEU-IS integriert und die verbesserte Version des V-Modells per Erlass vom Februar 1991 durch den Bundesminister für Verteidigung von Deutschland als Entwicklungsstandard für die Softwareerstellung bei der deutschen Bundeswehr festgeschrieben.

### Das zivile V-Modell

Da sich auch andere deutsche Bundesbehörden mit ähnlich gelagerten Problemen konfrontiert sahen, wurde das V-Modell Ende 1991 an die Koordinierungs- und Beratungsstelle der Bundesregierung für Informationstechnik in der Bundesverwaltung (KBSt) übergeben, mit der Aufgabe, eine zivile Fassung des V-Modells zu erstellen. Diese Arbeiten waren im August 1993 abgeschlossen und die daraus resultierende einheitliche Version des V-Modells wurde durch den Bundesminister der Verteidigung von Deutschland und den Bundesminister des Innern von Deutschland veröffentlicht und festgeschrieben.

### V-Modell 97

Neue Softwareentwicklungsansätze (z. B. Objektorientierung etc.) machten eine Überarbeitung des V-Modells notwendig, zumal dieses bis zu diesem Zeitpunkt sehr stark auf den „klassischen Softwareentwicklungsansatz“ zugeschnitten war. Als Ergebnis wurde im Juni 1997 das V-Modell '97 veröffentlicht, welches seitdem für jegliche Softwareentwicklung in der Bundesverwaltung von Deutschland zur Anwendung empfohlen wurde.

### V-Modell XT

Das V-Modell 97 wurde im Zuge von neuen Erkenntnissen in der Softwareentwicklung im Februar 2005 durch die Version 1.0 des V-Modell XT (XT = Extreme Tailoring, engl. „to tailor“ = schneidern) ersetzt.
Hauptänderungspunkte sind hierbei
* das V-Modell ist an die jeweiligen Bedürfnisse anpassbar (=Tailoring). Um bei Abwicklung kleinerer und mittlerer Projekte keinen übermäßig großen Mehraufwand zu produzieren, definiert das V-Modell für diese Projektgrößen Streichbedingungen, die die Menge der Aktivitäten und Produkte auf das notwendige Maß reduzieren.
* Einbindung des Auftraggebers: Bisher waren die Vorgaben auf den Auftragnehmer ausgerichtet. Nun gibt es auch Vorgehensbausteine für den Auftraggeber.
* Stärkere Modularisierung: Die vier bisherigen Submodelle existieren in dieser Form nicht mehr, sondern nur noch Vorgehensbausteine, aus denen das konkrete Vorgehensmodell eines Projekts zusammengestellt wird („tailoring“).
* Stärkere Orientierung in Richtung agiler und inkrementeller Ansätze: „Weg vom Wie, hin zum Was.“ Das V-Modell XT gibt keinerlei Vorschriften über die zeitliche Abfolge von Vorgehensbausteinen vor. Die erzeugten Produkte stehen im Mittelpunkt und nicht die Dokumentation wie bei RUP.
Das V-Modell XT wird vom Beauftragten der Bundesregierung für Informationstechnik bereitgestellt. Hier findet man die jeweils aktuelle Version. Weitere Infos sowie ein jährlicher Erfahrungsaustausch wird durch die Anwendervertretung ANSSTAND e. V. (Interessenvertretung der Anwender des SystementwicklungsSTANDards V-Modell) auf der Homepage der V-Modell Interessenvertretung zur Verfügung gestellt.
Zum 15. Mai 2012 wurde die V-Modell-XT-Version 1.4 veröffentlicht. Sie besteht aus:
* Dokumentation in pdf- und html-Format
* Editor zum Bearbeiten der XML-Dateien
* Projektassistent zur Anpassung des generischen V-Modells an die Bedürfnisse eines konkreten Projekts ('tailoring').
Zum 10-jährigen Bestehen wurde im August 2015 die V-Modell-XT-Version 2.0 veröffentlicht.
Am 10. April 2018 wurde die Version 2.2 veröffentlicht.
Im März 2019 wurde die Version 2.3 veröffentlicht.
Am 24. Mai 2024 veröffentlichte der WEIT e. V. die Standards V-Modell XT und V-Modell XT Bund in der Version 2.4. Folgende Änderungen sind besonders hervorzuheben:
* Der Themenbereich Barrierefreiheit von IT Systemen wird nun in den Entwicklungsmodellen adressiert. Dazu wurden neue Produkte ergänzt und bestehende Produkte erweitert. Die Vorgaben korrespondieren mit den Standards BITV und WCAG.
* Die Referenz „Andere Standards“ wurde entfernt. Diese Zusammenstellung wurde zuletzt kaum noch verwendet.
* Der bisherige Projektassistent basierend auf Java wurde abgelöst durch eine Webanwendung auf der Seite https://pa.dipa.online/#/tailoring. Damit wurde einerseits die Problematik adressiert, dass Java in manchen Organisationen ein Sicherheitsproblem darstellt. Andererseits ist es nun nicht mehr erforderlich, Open Office zu installieren. Das projektspezifische V-Modell XT (das Modell nach dem Tailoring) ist durch den Projektassistenten dokumentiert. Die Möglichkeit, ein eigenständiges PDF zu generieren, entfällt zusammen mit dem bisherigen Projektassistenten.

#### Vorgehensbausteine und der V-Modell-Kern

Ein Vorgehensbaustein deckt eine konkrete Aufgabenstellung ab, die im Rahmen eines Entwicklungsprojektes auftreten kann. Festgelegt werden dabei die innerhalb dieser Aufgabenstellung (der Vorgehensbaustein) zu erarbeitenden Produkte, die Aktivitäten, durch welche die einzelnen Produkte erstellt werden, sowie die an den einzelnen Produkten mitwirkenden bzw. die verantwortlichen Rollen. Die einzelnen Vorgehensbausteine sind dabei jeweils in sich abgeschlossen. Abhängigkeiten und Querbeziehungen zwischen den Vorgehensbausteinen sind explizit durch das V-Modell definiert. Das V-Modell fasst dabei eine Reihe von ähnlich gelagerten Tätigkeiten zu diesen Vorgehensbausteinen zusammen. Insgesamt gibt es 22 dieser Vorgehensbausteine, wobei einige bei allen Projekten Anwendung finden. Diese werden daher als V-Modell-Kern bezeichnet. Dazu gehören:
* PM: Projektmanagement
* QS: Qualitätssicherung
* KM: Konfigurationsmanagement
* PA: Problem- und Änderungsmanagement
Verpflichtende Vorgehensbausteine in Abhängigkeit vom Projekttyp AG = Auftraggeber; AN = Auftragnehmer :
| Vorgehensbaustein | V-Modell Kern | Systementwicklungsprojekt (AG/AN) | Systementwicklungsprojekt (AG) | Systementwicklungsprojekt (AN) |
| Projektmanagement | X | X | X | X |
| Qualitätssicherung | X | X | X | X |
| Konfigurationsmanagement | X | X | X | X |
| Problem- und Änderungsmanagement | X | X | X | X |
| Systemerstellung | | X | | X |
| Anforderungsfestlegung | | X | X | |
| Lieferung und Abnahme (AN) | | X | | X |
| Lieferung und Abnahme (AG) | | X | X | |
| Vertragsschluss (AN) | | | | X |
| Vertragsschluss (AG) | | | X | |

#### Produkte und Aktivitäten

Das V-Modell definiert eine Reihe von Dokumenten, die als Produkte bezeichnet werden. Diese setzen sich aus einzelnen Themen (Kapiteln) zusammen. Produkte, die einen starken inhaltlichen Zusammenhang haben, werden wiederum derselben Produktgruppe zugeordnet.
Jedes definierte Produkt durchläuft vier Zustände:
* geplant
* in Bearbeitung
* vorgelegt
* akzeptiert
wobei folgende Übergänge zwischen diesen Zuständen möglich sind:
Tätigkeiten, die Produkte verändern, bezeichnet man als Aktivitäten; diese sind ihrerseits aus einzelnen Teilaktivitäten zusammengesetzt, die dann jeweils genau ein Thema behandeln. Inhaltlich verwandte Aktivitäten werden dabei wiederum zu Aktivitätengruppen zusammengefasst. Zu jeder Aktivität ist genau hinterlegt, welche Produkte sie benötigt bzw. verändert und welche Arbeitsschritte notwendig sind, um die gewünschte Modifikation herbeizuführen. Zu diesem Zweck ist zu jeder Aktivität ein Produktfluss und eine Abwicklung definiert. Während der Produktfluss beschreibt, aus welchen Aktivitäten die benötigten Eingabeprodukte mit welchem Zustand kommen, um dann in modifizierter Form bzw. modifiziertem Zustand an eine nachfolgende Aktivität weitergereicht zu werden, beinhaltet die Abwicklung genauere Anweisungen zur Durchführung der Aktivität.
Die zeitliche Abfolge der Aktivitäten ergibt sich somit aus der Verfügbarkeit der benötigten (Teil-)Produkte in einem bestimmten Zustand.
Zusammengenommen gibt es im V-Modell XT 35 Rollen und über 100 verschiedene Produkte, an denen innerhalb der 22 Vorgehensbausteine gearbeitet wird. Der Fortlauf des Projektes wird anhand von insgesamt 21 Entscheidungspunkten entschieden, wovon die vier Entscheidungspunkte Projekt genehmigt, Projekt definiert, Iteration geplant und Projekt abgeschlossen zu dem V-Modell Kern gehören. Entscheidungspunkte stellen Meilensteine dar, bei deren Erreichen aufgrund des aktuellen Projektstatus über die Projektfortführung entschieden wird. Diese Entscheidung geschieht durch einen Lenkungsausschuss.