Integrierte ALM Unterstützung für V-Modell Projekte auf Basis des Microsoft Team Foundation Servers

Veröffentlicht: 11. Jun 2007

Das Whitepaper „Integrierte ALM Unterstützung für V-Modell Projekte auf Basis des Microsoft Team Foundation Servers“ zeigt auf, wie die geplante V-Modell Integration in Visual Studio Team System, als moderne Application Lifecycle Management Plattform aussehen wird. Im ersten Teil des Whitepapers wird die Notwendigkeit und Motivation einer ganzheitlichen Prozessintegration beleuchtet. Der zweite Teil des Whitepapers beleuchtet die konkret geplante Umsetzung der V-Modell XT Integration.

Auf dieser Seite
ZielgruppeZielgruppe
IntegrationspartnerIntegrationspartner
Weiterführendes Ziel des WhitepapersWeiterführendes Ziel des Whitepapers
Moderne SoftwareentwicklungModerne Softwareentwicklung
Erfolgsfaktor ProzessintegrationErfolgsfaktor Prozessintegration
Microsofts V-Modell IntegrationMicrosofts V-Modell Integration
Vorstellung des PrototypsVorstellung des Prototyps
Rollenunterstützung ohne MedienbruchRollenunterstützung ohne Medienbruch
Weitergehende InformationenWeitergehende Informationen

Zielgruppe

Zielgruppe sind primär IT-Entscheider und Projektmanager sowie im Weiteren alle Beteiligten in Softwareprojekten.

Integrationspartner

Neben der Microsoft Deutschland GmbH sind weitere Partner maßgeblich an der Integration des V-Modell XT in Visual Studio Team System beteiligt:

Microsoft

Microsoft Deutschland GmbH
http://www.microsoft.de

Kontakt: Marcus Alt
(marcus.alt@microsoft.de)

Zentrum für Softwarekonzepte

Zentrum für Softwarekonzepte (ZFS)
an der Fakultät für Informatik der Technischen Universität München: Lehrstuhl Informatik IV: Software & Systems Engineering http://zfs.in.tum.de/

Kontakt: Marco Kuhrmann
(kuhrmann@in.tum.de)

Zühlke

Zühlke
http://www.zuehlke.com

Kontakt: Stefan Grasmann
(stefan.grasmann@zuehlke.com)

Weiterführendes Ziel des Whitepapers

Wie bereits in der Einleitung hervorgehoben zeigt das Whitepaper die Prozessintegration des V-Modell XT in Microsofts Visual Studio Team System auf. Die hierbei vorgestellte Integration steht exemplarisch für beliebige andere Prozessintegrationen. Das V-Modell XT „Beispiel“ kann genauso auf die Integration des unternehmenseigenen „Best-Practice“ Prozesses übertragen werden.

This is a preliminary document and may be changed substantially prior to final commercial release of the software described herein.

The information contained in this document represents the current view of Microsoft Deutschland GmbH on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.

This White Paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.

Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Deutschland GmbH.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.

© 2007 Microsoft Deutschland GmbH. All rights reserved.

Microsoft, Excel, Expression, InfoPath, IntelliSense, Outlook, PowerPoint, SharePoint, SQL Server, Visio, Visual C++, Visual Studio, the Visual Studio logo, Windows, and Windows Vista are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

All other trademarks are property of their respective owners.

Moderne Softwareentwicklung

Erfolgreiche Softwareprojekte

Erfolgreiche Softwareprojekte der Zukunft müssen neben den bewährten auch neue Möglichkeiten und Methoden im Bereich Softwareerstellung möglichst konsequent ausnutzen. Die Herausforderungen liegen hier sowohl in der Optimierung bewährter Bereiche wie Projektmanagement und -transparenz sowie im großen Feld der Qualitätssicherung. Business Anforderungen wie die Lieferung flexibler, marktnaher Software bei gleichzeitiger Steigerung der Kosteneffizienz lassen neue Aspekte wie agiles Vorgehen oder Zusammenarbeit von verteilten Teams zu notwendigen Handwerkszeugen werden.

Nach Jahren der Optimierung in den Einzeldisziplinen wie z.B. der Einführung objektorientierter Ansätze, Design Patterns und zugehöriger Modellierungen folgte eine Zeit der Prozessansätze. Mächtige Prozesse wie der Rational Unified Process (RUP) oder das V-Modell 97 haben sich daraus entwickelt. Agile Vorgehensweisen entstanden in dieser Zeit aus Projekterfahrungen und neuen flexibleren Kundenanforderungen. Wie für die agilen Ansätze erkannte man auch für die etablierten Prozesse die Notwendigkeit der einfachen Anpassung an Unternehmens- und Projektanforderungen und deren Charakteristiken.

Neue Prozessmodelle wie ein Essential Unified Process (ESSUP) versuchen die drei Bereiche: bewährte Modelle, agile Methoden sowie Reifefähigkeit zusammen zu bringen. Auch das V-Modell XT ist ein Ergebnis von Anforderungen nach flexiblen aber einfach zu nutzenden Tailoring-Mechanismen und flexibler Vorgehensweisen.

Komplexität beherrschen

Veränderungen im Umfeld moderner Software wie verteilter Anwendungen, Service-orientierter Architekturen (SOA), Integration „fremder“ Systeme aber auch Trends im Bereich Entwicklung wie Offshoring und verteilte Teams führen zu einer enorm gestiegenen Komplexität in der Softwareentwicklung selbst. Versuche, die Komplexität über die Verbesserung von Einzeltools in Einzeldisziplinen (Development, Test, Projektmanagement…) zu bewältigen, haben sich kaum bewährt. Entscheidend für die Sicherung von Projekterfolgen ist das Zusammenspiel der einzelnen Bereiche in einer einheitlichen Form.

Application Lifecycle Management

Wir möchten diesen Ansatz unter dem Begriff Application Lifecycle Management (ALM) zusammenfassen. Wobei Microsoft unter ALM allem voran die Synchronisation und Koordinierung der einzelnen Disziplinen und Rollen auf einer einheitlichen Plattform versteht. Die optimale Tool Unterstützung der Einzelrollen kommt hier selbstverständlich hinzu, der entscheidende Stellenwert liegt aber im Bereich des Zusammenspiels.

Abbildung 1 Application Lifecycle Management
Abbildung 1 Application Lifecycle Management

Erfolgsfaktor Prozessintegration

Während auch Prozesse den Anspruch erheben das Zusammenspiel der einzelnen Phasen und Aktivitäten strukturiert zu koordinieren, ist deren Integration in die eigentlichen Disziplinen und Rollen heute kaum vorhanden. Prozesse leben in separaten, oft „Projekt Management“-lastigen Tools, welche für andere Projektrollen vielfach nicht nutzbar sind. Ideal ist eine integrierte, transparente Unterstützung des Prozesses in den Werkzeugen der Einzeldisziplinen. Diesen Ansatz hat Microsoft mit der Entwicklung seiner ALM Suite Visual Studio Team System (im Weiteren: Team System) konsequent umgesetzt.

Abbildung 2 Team System Überblick
Abbildung 2 Team System Überblick

Mit Team System unterstützen wir die einzelnen Projektbeteiligten in ihren Rollen mit differenzierten Tools. Die Synchronisation der Einzelaktivitäten für Teams, wie für Organisationen ist grundlegender Bestandteil der ALM Suite. Die tägliche Arbeit wird darüber hinaus durch Team System um die notwendige integrierte Prozessunterstützung angereichert.

Microsoft ALM - Eine offene Software Development Plattform

Um eine flexible und auf alle Kundenanforderungen anpassbare Lösung anbieten zu können, wurde Microsofts Team System komplett neu als offene Software Development Plattform entwickelt. Der offene Plattform-Ansatz ermöglicht es, eine einheitliche Toolintegration für alle Rollen zu erreichen ohne den Anspruch der Synchronisation der einzelnen Rollen aus dem Auge zu verlieren.

Abbildung 3 Visual Studio Team System
Abbildung 3 Visual Studio Team System

Microsoft liefert mit Team System zwei vorgefertigte Prozesse für die Softwareentwicklung aus. Beide basieren auf dem Microsoft Solutions Framework (MSF 4.0). MSF existiert in einer agilen Variante (MSF Agile) und einer eher formalen Variante (MSF CMMI), welche die Grundlagen für CMMI-Einstufungen bereitstellt. Daneben ermöglicht die Team System Plattform die einfache Integration eigener Prozesse. Für Team System sind heute schon viele Prozesse verfügbar wie z.B.: SCRUM, Rational Unified Process, Essential Unified Process und Process Mentor.

Microsofts V-Modell Integration

V-Modell Integration

Die Team System API, welche die Integration verschiedener Prozesse ermöglicht, wird für die Integration des V-Modell XT genutzt. Aufbauend auf einem normalen durch Tailoring angepassten V-Modell wird ein Generator die Überführung in ein valides Team System Prozess-Template ermöglichen.

Abbildung 4 Team System Prozess-Template Generierung aus einem Standard-V-Modell
Abbildung 4 Team System Prozess-Template Generierung aus einem Standard-V-Modell

Das so entstehende Team System Template ermöglicht die vollständige ALM Werkzeugintegration auf Basis der normalen Team System Mechanismen.

Die V-Modell Inhalte werden in Team System abgebildet. V-Modell Produkte wie Risikolisten, Arbeitsaufträge… werden über Team System Work Items definiert und detailliert. Das an diesen Stellen eher „unkonkrete“ V-Modell wird hier mit methodischen, Team System-bezogenen Anteilen angereichert, wobei herauszustellen ist, dass die so entstehenden Vorschläge mit Team System Wekzeugen weiter angepasst werden können. Das Work-Item Konzept mit seinen Tracability Möglichkeiten schafft dabei eine perfekte Grundlage für die Verfolgung und Steuerung des Projektablaufs. Berichte auf Basis des Team System Data Warehouse werden das Projektmanagement dabei konsequent unterstützen und ganz neue Formen der Transparenz ermöglichen. Eine Zuordnung von Artifakten in (Architektur Diagramme, Code, Testfälle…) auf V-Modell XT Produkte soll es ermöglichen Software-Ergebnisse, welche in den Visual Studio Tools für die einzelnen Rollen automatisch entstehen, direkt abzubilden und damit ohne Umwege in die V-Modell XT Terminologie zu überführen.

Vorstellung des Prototyps

Im Folgenden soll der Prototyp, vornehmlich über Screenshots dargestellt werden.

Projektinitialisierung

Team System nutzt Prozess-Templates für die Initialisierung von sogenannten Team Projekten. Dies stellt eine sehr effektive Methode der Projektinitialisierung dar.

Abbildung 5 Darstellung der Projektinitialisierung
Abbildung 5 Darstellung der Projektinitialisierung

Das V-Modell XT steht als Prozess Teamplate für eine solche schnelle Initialisierung zur Verfügung. Im Folgenden sehen Sie die schrittweise Projektinitialisierung auf Basis des V-Modell XT Templates:

Abbildung 6 Initialisierung eines neuen Team Projekts
Abbildung 6 Initialisierung eines neuen Team Projekts (Für eine größere Darstellung klicken Sie auf das Bild)

Abbildung 7 Prozess Auswahl   Abbildung 7 Prozess Auswahl
Abbildung 7 Prozess Auswahl (Für eine größere Darstellung klicken Sie auf das Bild)

Abbildung 8 Abschluss Projektinitialisierung   Abbildung 8 Abschluss Projektinitialisierung
Abbildung 8 Abschluss Projektinitialisierung

Nachfolgend stehen die Inhalte des V-Modells direkt zur Verfügung: Angefangen bei der integrierten V-Modell Dokumentation bis hin zu den Produktvorlagen.

Abbildung 9 Integrierte V-Modell Dokumentation
Abbildung 9 Integrierte V-Modell Dokumentation (Für eine größere Darstellung klicken Sie auf das Bild)

Abbildung 10 Integrierte V-Modell Produktbibliothek mit Produktvorlagen
Abbildung 10 Integrierte V-Modell Produktbibliothek mit Produktvorlagen (Für eine größere Darstellung klicken Sie auf das Bild)

V-Modell spezifische Produkte wie Risikolisten und Arbeitsaufträge werden als Team System Work Items abgebildet und damit für den „gelebten“ Prozess konkretisiert:

Abbildung 11 Arbeitsauftrag: Herbeiführen einer Projektfortschrittsentscheidung
Abbildung 11 Arbeitsauftrag: Herbeiführen einer Projektfortschrittsentscheidung (Für eine größere Darstellung klicken Sie auf das Bild)

Abbildung 12 Details zum Arbeitsauftrag   Abbildung 12 Details zum Arbeitsauftrag
Abbildung 12 Details zum Arbeitsauftrag (Für eine größere Darstellung klicken Sie auf das Bild)

Work Items sind mit Workflows in Form von Zustandsautomaten hinterlegt. Sowohl die eigentlichen Work Items (z.B. Auftragsauftrag) als auch die zugehörigen Workflows können innerhalb von Team System flexibel auf die jeweiligen Projektbedürfnisse angepasst werden:

Abbildung 13 Work Item Anpassung
Abbildung 13 Work Item Anpassung (Für eine größere Darstellung klicken Sie auf das Bild)

Work Items stellen Einzelaktivitäten dar, die über Abfragemechanismen (Queries) zu Listen zusammengestellt, gefiltert und selektiert werden können:

Abbildung 14 Work Item Abfragen
Abbildung 14 Work Item Abfragen (Für eine größere Darstellung klicken Sie auf das Bild)

Abbildung 15 Abfrageergebnisse (hier am Beispiel der Arbeitsaufträge)
Abbildung 15 Abfrageergebnisse, hier am Beispiel der Arbeitsaufträge. (Für eine größere Darstellung klicken Sie auf das Bild)

Konkrete V-Modell XT Abbildung

Projektdurchführungsstrategie

Die hier beispielhaft gewählte Projektdurchführungsstrategie „inkrementelle Systementwicklung (AN)“ wird über Team System Interationen im System abgebildet. Da Iteration frei definiert werden können, ist es auch möglich mehrere Interationszyklen z.B. im Bereich der Systementwicklung abzubilden.

Abbildung 16 V-Modell XT Projektdurchführungsstrategie „Inkrementelle Systementwicklung (AN)“
Abbildung 16 V-Modell XT Projektdurchführungsstrategie „Inkrementelle Systementwicklung (AN)“ (Für eine größere Darstellung klicken Sie auf das Bild)

Dabei werden die einzelnen Projektfortschrittsstufen (die Pfade zwischen den Entscheidungspunkten) als Iterationen modelliert und in Team System übertragen. Die Iterationen tragen jeweils die Namen der Entscheidungspunkte, die die Projektfortschrittsstufe abschließen.

Darüber hinaus können sich wiederholende bzw. exklusive Abschnitte im Projektablauf nach Phasen gruppiert werden. So z.B. können die Abschnitte der Systemerstellung (das „V“) unter einer Superiteration zusammengefasst werden. Die Systemerstellung ist somit ein komplett eigenständiger Projektteil. Sind mehrere Entwicklungszyklen auf dieser Ebene vorgesehen, können somit relativ einfach mehrere Systemerstellungsstufen festgelegt werden.

Abbildung 17 Abbildung der Projektdurchführungsstrategie über Team System Interationen
Abbildung 17 Abbildung der Projektdurchführungsstrategie über Team System Interationen

Entscheidungspunkte Aktivitäten und Produkte

Zu jedem Entscheidungspunkt verlangt das V-Modell, dass eine bestimmte Anzahl Produkte zur Überprüfung des Projektfortschritts vorzulegen ist.

Abbildung 18 V-Modell XT Dokumentation: Vorzulegende Produkt im Entscheidungspunkt "Projekt definiert"
Abbildung 18 V-Modell XT Dokumentation: Vorzulegende Produkt im Entscheidungspunkt "Projekt definiert" (Für eine größere Darstellung klicken Sie auf das Bild)

Wird ein Entscheidungspunkt erreicht, wird eine so genannte Projektfortschrittsentscheidung erstellt. Das Feststellen einer Projektfortschrittsentscheidung (V-Modell Aktivität: „Projektfortschrittsentscheidung herbeiführen“) wird als Work Item vom Typ Arbeitsauftrag abgebildet:

Abbildung 19 Projektfortschrittsentscheidung "Projekt definiert"
Abbildung 19 Projektfortschrittsentscheidung "Projekt definiert"

Ein solcher Entscheidungspunkt bildet die Klammer um alle zu einem bestimmten Projektabschnitt gehörigen Aktivitäten. Die Aktivitäten sind wiederum als Arbeitsaufträge der jeweiligen Iteration zugeordnet:

Abbildung 20 Zugehörige Aktivitäten
Abbildung 20 Zugehörige Aktivitäten

Über die flexiblen Team System Abfrage-Möglichkeiten können so beliebige Projektsichten zusammengestellt und analysiert werden. Ergänzt wird dies durch die in den folgenden Kapiteln vorgestellten Möglichkeiten im Bereich Reporting und Office Integration.

Abbildung 21 Zusammenhänge Entscheidungspunkt / Aktivität / Produkt
Abbildung 21 Zusammenhänge Entscheidungspunkt / Aktivität / Produkt

Abbildung 22 Team System Abbildung Entscheidungspunkt / Aktivität / Produkt
Abbildung 22 Team System Abbildung Entscheidungspunkt / Aktivität / Produkt

Team System Projekttransparenz – Reporting

Auf Basis des Team System Data Warehouse stehen verschiedene Reports für eine ganz neue Form der Projekttransparenz zur Verfügung:

Abbildung 23 Report zum Status verknüpfter Arbeitsaufträge (Beispiel, siehe auch oben)
Abbildung 23 Report zum Status verknüpfter Arbeitsaufträge. Beispiel, siehe auch oben. (Für eine größere Darstellung klicken Sie auf das Bild)

Abbildung 24 Reporting Möglichkeiten (Beispiel: Auswertung Testfallabdeckung)
Abbildung 24 Reporting Möglichkeiten. Beispiel: Auswertung Testfallabdeckung. (Für eine größere Darstellung klicken Sie auf das Bild)

Rollenunterstützung ohne Medienbruch

Um dem Anspruch der bestmöglichen Unterstützung jeder Projekt-Rolle gerecht zu werden, können die bisher vorgestellten Möglichkeiten natürlich nicht nur aus der Visual Studio IDE heraus genutzt werden. Vielmehr stehen viele verschiedene, rollenspezifische Zugriffsmöglichkeiten und Clients zur Verfügung.

Office Integration

Mit am wichtigsten ist sicherlich die Microsoft Office Integration. Mit Hilfe dieser können z.B. Work Items flexibel in Microsoft Excel oder Microsoft Project angelegt und bearbeitet werden. Projektmanager können sich so in ihrer gewohnten Umgebung bewegen. Das Work Item Konzept ist als eigenes, umfangreiches Plug-In in die Office Pakete integriert.

Abbildung 25 Microsoft Excel Integration – Work Item Übersicht und Bearbeitung
Abbildung 25 Microsoft Excel Integration – Work Item Übersicht und Bearbeitung. (Für eine größere Darstellung klicken Sie auf das Bild)

Abbildung 26 Microsoft Project Integration – Work Item Auswahl
Abbildung 26 Microsoft Project Integration – Work Item Auswahl (Für eine größere Darstellung klicken Sie auf das Bild)

Abbildung 27 Microsoft Project Integration – Synchronisation des Projektplans
Abbildung 27 Microsoft Project Integration – Synchronisation des Projektplans (Für eine größere Darstellung klicken Sie auf das Bild)

Das Team System Projekt Portal

Um Endkunden und andere nicht entwicklungsbezogene Rollen flexibel anzubinden, wird seitens Team System für jedes Projekt automatisch ein Projektportal zur Verfügung gestellt. Dieses ermöglicht eine komfortable Zusammenarbeit dieser Rollen speziell in den Bereichen Dokumentenbearbeitung sowie Kollaboration und steigert nicht zuletzt die Transparenz des Projekts:

Abbildung 28 Team System Projekt Portal
Abbildung 28 Team System Projekt Portal (Für eine größere Darstellung klicken Sie auf das Bild)

Abbildung 29 Dokumentenbibliothek im Projekt Portal
Abbildung 29 Dokumentenbibliothek im Projekt Portal (Für eine größere Darstellung klicken Sie auf das Bild)

Der Team System WebClient

Neben dem Portal bietet Team System die komplette Projekt Management-Funktionalität in einem Webclient an:

Abbildung 30 Team System Web Client
Abbildung 30 Team System Web Client (Für eine größere Darstellung klicken Sie auf das Bild)

Abbildung 31 Web Client Work Items
Abbildung 31 Web Client Work Items (Für eine größere Darstellung klicken Sie auf das Bild)

Abbildung 32 Work Item Details
Abbildung 32 Work Item Details (Für eine größere Darstellung klicken Sie auf das Bild)

Abbildung 33 Work Item Details   Abbildung 33 Work Item Details
Abbildung 33 Work Item Details (Für eine größere Darstellung klicken Sie auf das Bild)

Abbildung 34 Dokumentenzugriff und Reporting über den Webclient   Abbildung 34 Dokumentenzugriff und Reporting über den Webclient
Abbildung 34 Dokumentenzugriff und Reporting über den Webclient (Für eine größere Darstellung klicken Sie auf das Bild)

Weitergehende Informationen

Weiterführende ALM Informationen

Viele Aspekte der Team System ALM Suite wurden in diesem Whitepaper bewusst außen vor gelassen, um den Inhalt auf die eigentliche V-Modell XT Prozessintegration fokussieren zu können. Die Beleuchtung der Einzeltools fällt genauso darunter wie die umfangreichen weiteren Möglichkeiten des Team Foundation Server. Viele der nicht vorgestellten Bereiche bringen erhebliche Effizienzsteigerungen im eigentlichen Software Development Prozess, welche natürlich auch bei einer Abwicklung unter dem V-Modell XT zum Tragen kommen. Weitere Details dazu finden Sie unter: http://www.microsoft.com/germany/msdn/govsts

Roadmap

Die Umsetzung des hier vorgestellten Ansatzes soll bis Ende 2007 erfolgen. Der V-Modell Template Generator wird hierbei kein Microsoft Produkt werden, sondern eine kostenlos zugängliche Version auf Open Source Basis. Bei Interesse an weiteren Informationen und dem jeweils aktuellen Stand wenden Sie sich bitte an marcus.alt@mirosoft.com.

Weiterführende Links

Microsoft Visual Studio Team System

http://www.microsoft.com/germany/msdn/govsts

V-Modell XT

http://www.v-modell-xt.de/

Forschungsbericht
TU München zur Team System V-Modell Integration

http://www4.in.tum.de/publ/html.php?e=990

Essential Unified Process

http://www.ivarjacobson.com/essup.cfm

SCRUM für Team System

http://www.scrumforteamsystem.com/en/default.aspx

Rational Unified Process für Team System

http://www.osellus.com/solutions/microsoft/enacting_rup_in_vsts.html

Essential Unified Process für Team System

http://www.ivarjacobson.com/essup/essup-partners.cfm

Process Mentor für Team System

http://www.processmentor.com/

Rechtlicher Hinweis

Die in diesem Whitepaper vorgestellte V-Modell Integration existiert heute im Status eines Prototyps. Das Whitepaper beschreibt die aktuellen Planungen für die Integration des V-Modell XT. Diese Planungen können sich verändern (siehe Anfang des Whitepapers). Dies schließt Änderungen des kostenlosen Open Source Ansatzes genauso ein, wie die Möglichkeit, dass die Integration nicht ausgeliefert wird.