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 SeiteZielgruppeZielgruppe sind primär IT-Entscheider und Projektmanager sowie im Weiteren alle Beteiligten in Softwareprojekten. IntegrationspartnerNeben der Microsoft Deutschland GmbH sind weitere Partner maßgeblich an der Integration des V-Modell XT in Visual Studio Team System beteiligt:
Weiterführendes Ziel des WhitepapersWie 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 SoftwareentwicklungErfolgreiche SoftwareprojekteErfolgreiche 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 beherrschenVerä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 ManagementWir 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.
Erfolgsfaktor ProzessintegrationWä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.
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 PlattformUm 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.
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 IntegrationV-Modell IntegrationDie 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.
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 PrototypsIm Folgenden soll der Prototyp, vornehmlich über Screenshots dargestellt werden. ProjektinitialisierungTeam System nutzt Prozess-Templates für die Initialisierung von sogenannten Team Projekten. Dies stellt eine sehr effektive Methode der Projektinitialisierung dar.
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:
Nachfolgend stehen die Inhalte des V-Modells direkt zur Verfügung: Angefangen bei der integrierten V-Modell Dokumentation bis hin zu den Produktvorlagen.
V-Modell spezifische Produkte wie Risikolisten und Arbeitsaufträge werden als Team System Work Items abgebildet und damit für den „gelebten“ Prozess konkretisiert:
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:
Work Items stellen Einzelaktivitäten dar, die über Abfragemechanismen (Queries) zu Listen zusammengestellt, gefiltert und selektiert werden können:
Konkrete V-Modell XT AbbildungProjektdurchführungsstrategieDie 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.
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.
Entscheidungspunkte Aktivitäten und ProdukteZu jedem Entscheidungspunkt verlangt das V-Modell, dass eine bestimmte Anzahl Produkte zur Überprüfung des Projektfortschritts vorzulegen ist.
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:
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:
Ü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.
Team System Projekttransparenz – ReportingAuf Basis des Team System Data Warehouse stehen verschiedene Reports für eine ganz neue Form der Projekttransparenz zur Verfügung:
Rollenunterstützung ohne MedienbruchUm 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 IntegrationMit 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.
Das Team System Projekt PortalUm 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:
Der Team System WebClientNeben dem Portal bietet Team System die komplette Projekt Management-Funktionalität in einem Webclient an:
Weitergehende InformationenWeiterführende ALM InformationenViele 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 RoadmapDie 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
Rechtlicher HinweisDie 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. |