19.05.2005, 20:47 Uhr

Alles unter Kontrolle

Mit dem Team Foundation Server lassen sich Softwareprojekte besser planen und überwachen. VON URS BERTSCHY*
Softwareprojekte gelten allgemein als sehr komplexe und schwierige Unterfangen. Deutlich macht dies insbesondere eine Studie der Standish Group aus dem Jahre 2001, die nicht bei den Softwarehäusern selber, sondern bei deren Kunden durchgeführt wurde. Daraus geht hervor, dass nur gerade 28 Prozent aller Softwareprojekte erfolgreich zu Ende gebracht wird. Fast die Hälfte der Projekte wird als «nicht erfolgreich» eingestuft, da der geplante Zeit- oder Budgetrahmen teilweise massiv überschritten wurde. 23 Prozent der Projekte wurden gar während der Umsetzung gänzlich eingestellt. Laut der Standish Group hat sich die Erfolgsrate um einige wenige Prozentpunkte erhöht, doch das Fazit, dass der Grossteil der Softwareprojekte nicht zur Zufriedenheit der Kunden abgeschlossen wird, hat auch fünf Jahre nach Veröffentlichung der Studie noch Bestand. An guten Ideen, wie der Entwicklungsprozess verbessert werden könnte, fehlt es nicht: Vor allem in den letzten Jahren wurden zahlreiche neue Methoden und Verfahren publiziert und unzählige von Büchern gedruckt, die aufzeigen, wo und wie die Softwareentwicklung verbessert werden könnte. Das Problem ist vielmehr, dass es oft schwierig ist, neue Konzepte in die Arbeitsprozesse eines Entwicklungsteams zu integrieren. Genau diese Problematik will Microsoft nun mit Visual Studio 2005 Team System, das für die zweite Jahreshälfte geplant ist, angehen. Dabei handelt es sich um eine ganze Palette an integrierbaren Werkzeugen, die den gesamten Lebenszyklus eines Entwicklungsprozesses vom Design bis zum Release unterstützen soll.

Client- und Server-Komponenten

Visual Studio 2005 Team System setzt sich aus unterschiedlichen Client- und Serverkomponenten zusammen. Das eigentliche Herzstück ist der Team Foundation Server, der die notwendigen serverseitigen Dienste für Zusammenarbeit, Workfl ow, Projektmanagement und Source-Code-Verwaltung zur Verfügung stellt. Auf der Client-Seite wird es drei unterschiedliche Team Editionen geben, die jeweils auf eine bestimmte Rolle des Entwicklungsteams zugeschnitten sind. Dabei handelt es sich im Wesentlichen um aufgebohrte Varianten von Visual Studio 2005 Professional, die mit einer Reihe von Zusatzfunktionen und den notwendigen Werkzeugen (Team Foundation Client), um mit dem Team Foundation Server zu kommunizieren, ausgestattet sind. Konkret sind die drei folgenden Team-Edition-Ausgaben geplant:
o Team Edition for Software Architects: Die auf Architekten zugeschnittene Version umfasst verschiedene Modellierungswerkzeuge für die Planung und das Design von verteilten Systemen. (Siehe auch Artikel Aschbrenner Seite 74.)
o Team Edition for Developers: Die Entwicklervariante bietet Zusatztools für Code-Analyse und Profi ling. Integriert wurde beispielsweise das beliebte Analyse- Werkzeug FxCop, mit dem sich eigener Code auf die Einhaltung der in den .Net Framework Guidelines festgeschriebenen Coding-Richtlinien überprüfen lässt.
o Team Edition for Testers: Wie der Name bereits vermuten lässt, ist die Test-Edition auf Qualitätssicherung spezialisiert. Das Paket enthält unter anderem Werkzeuge zum Durchführen von Unit-, Load- und Web-Tests sowie für das Test-Case-Management (Illustration 1).

Die Schaltzentrale

Team Foundation Server ist die zentrale Drehscheibe von Visual Studio Team System, bei der alle Fäden des Entwicklungsprozesses zusammenlaufen. Sämtliche Objekte werden wie Spezifi kationen, Source Code, Tasks und Projektpläne eines Softwareprojektes in einem so genannten Portfolioprojekt verwaltet und in einer auf SQL Server 2005 basierenden Datenbank abgelegt. Eine der wichtigsten Eigenschaften des Team System ist, dass sich innerhalb eines Portfolioprojekts auch Prozesse und Vorgehensmethoden abbilden lassen. Dazu stellt das Team System so genannte Methodology Templates zur Verfügung. Das sind Vorlagen, mit denen automatisch ein Portfolio-Projekt mit allen notwendigen Team-Rollen, Dokumentvorlagen, Tasks, Workfl ows, Berichten, Sicherheitsgruppen und Regeln, die in einer Methodik (z.B. MSF, Extreme Programming) vorgesehen sind, generiert werden kann. Visual Studio Team System wird von Haus aus mit Vorlagen für die kommende Version 4.0 des Microsoft Solution Framework (MSF) geliefert. Diese gibt es neu in den Varianten MSF Agile für einfache, informelle und MSF Formal (CMMI Level 3 konform) für grössere, strikter geführte Projekte. Wichtig zu erwähnen ist, dass Microsoft die Template-Technik fl exibel anpassbar konzipiert hat. Daher werden Firmen in der Lage sein, ihre eigenen Vorgehensmethoden und Prozesse in Visual Studio Team System zu integrieren.

Verwalten von Arbeitseinheiten

Der Arbeitsfl uss innerhalb eines Portfolio- Projekts beruht auf so genannten Work Items. Dabei handelt es sich um Informationsbausteine, mit denen Arbeitseinheiten beschrieben und überwacht werden können. Der Team Foundation Server kennt die unterschiedlichsten Typen von Work Items. Dazu zählen beispielsweise generelle Tasks, Bugs, Requirements, Design-Änderungen oder Code-Anpassungen. Jedes Work Item verfügt entsprechend seinem Typ über bestimmte Attribute, die Informationen wie etwa Status, Verantwortlichkeit oder Priorität beinhalten. Diese Attribute werden unter anderem dazu verwendet, das Work Item durch den Workfl ow zu schleusen. Jedes Teammitglied kann jederzeit abrufen, welche Aufgaben ihm zugewiesen sind und mit welcher Priorität diese zu erledigen sind (Screen 1).
Die zur Verfügung gestellten Work Items stimmen mit dem verwendeten Methodology- Template überein. Wem die vorhandenen Item-Typen nicht ausreichen, kann auch neue defi nieren oder bestehende verändern. Alle Work Items eines Projektes werden auf dem Team Foundation Server in einer zentralen Datenbank gespeichert und lassen sich mit unterschiedlichen Programmen wie Excel, Project oder mit dem Project Explorer des Team Foundation Client nutzen. So kann etwa ein Projektleiter eine Requirement-Liste bequem in einer Excel-Tabelle verwalten, ohne sich mit Visual Studio Team System herumschlagen zu müssen.

Projektsite und Reporting

Jedem Portfolio-Projekt wird automatisch eine Projektsite zugewiesen, die auf der Portal- Technik der Windows Sharepoint Services aufsetzt. Bei einer Projektsite handelt es sich um ein webbasiertes Abbild des Portfolio- Projekts und bietet somit Zugang zu allen projektrelevanten Informationen und Ressourcen wie Dokumente, Work Items, Builds und Reports. Da die Sharepoint-Technik weitgehend modular aufgebaut ist, lässt sich die Projektsite sehr einfach mit Zusatzdiensten wie Diskussionen, Ankündigungen oder Tasklisten ausstatten. Einer der grossen Vorteile des Projektsite-Konzepts ist, dass sich auch Benutzer wie etwa externe Freelancer, Kunden oder Manager in den Entwicklungsprozess einbeziehen lassen, die kein Visual Studio Team System haben. In die Projektsite integriert ist auch ein umfassendes Berichtssystem, das auf den Re- porting Services des SQL Server 2005 beruht. Damit kann man sich jederzeit über den aktuellen «Gesundheitszustand» des Projekts informieren. Die Daten, die in den Berichten aufbereitet werden, stammen beispielsweise aus den Work Items oder den durchgeführten Unit Tests und werden für die Auswertung in einem zentralen Data Warehouse gespeichert. Der Team Foundation Server wird mit über 50 vorbereiteten Reports auf den Markt kommen, die unter anderem Auskunft über Code-Qualität, Projektfortschritt, Software-Stabilität oder Effektivität des Bug-Fixing liefern (Screen 2).

Source-Code-Management

Mit dem Team Foundation Server führt Microsoft auch eine neue Source-Code-Verwaltung ein, die im Gegensatz zum bisherigen Visual Sourcesafe um einiges robuster und funktionaler sein wird. So wird es beispielsweise zuverlässigere Branching- und Merging-Funktionen geben, die besseres Multi-Check-out ermöglichen. Ein weiteres neues Feature nennt sich Shelving. Damit können Entwickler ausgecheckten Code, an dem sie gerade Änderungen vorgenommen haben, in einem Nebenzweig einchecken. Der Code lässt sich so temporär der Source- Kontrolle zufügen, ohne dabei die Arbeit der anderen Teammitglieder zu tangieren. Einer der interessantesten Aspekte der Team Foundation Source Control ist die Integration mit den übrigen Funktionen des Team Systems. Dazu zählt insbesondere die Verlinkung zwischen Work Items und Source Code. So kann etwa ein Work Item, das eine noch zu erledigende Code-Änderung beschreibt, direkt auf das betroffene Source- Code-File verweisen. Wird der Task erledigt und das Source-File eingecheckt, kann auch gleich das betreffende Work Item mit dem Status «erledigt» und allfälligen Bemerkungen aktualisiert werden.

Check-in-Polizei

Ein ebenfalls sehr praktisches Feature des Source-Code-Management ist dessen Check-in-Policy-Engine. Diese prüft anhand von Regeln den Code vor dem Einchecken auf Konformität. Dabei lässt sich Code mit Unit Testing, einer statischen Analyse (Fx- Cop) und anhand eigener Policies untersuchen. Nur wenn der Code die vorgeschriebenen Konformitätsprüfungen bestanden hat, darf er eingecheckt werden.Visual Sourcesafe wird parallel zum Team System weiter existieren und im kommenden Herbst in einer an Visual Studio 2005 angepassten Version auf den Markt kommen. Es soll vor allem bei kleineren Projekten und Teams zum Einsatz kommen, wo die Funktionsfülle des Team System nicht benötigt wird. Microsoft hat das Team System weitgehend erweiter- und anpassbar konzipiert. Neben der bereits erwähnten Tatsache, dass Firmen die Methodology-Vorlagen auf ihre eigenen Prozesse zuschneiden können, sind auch Schnittstellen vorhanden, über die Drittanbieter weitere Add-ins für Microsofts neue Entwicklungsumgebung auf den Markt bringen können. Als einer der ersten Anbieter hat beispielsweise Borland seine Unterstützung angekündigt und will sein Requirement-Management-Tool CaliberRM in einer auf das Team System zugeschnittenen Version verfügbar machen.

Fazit

Für grosse Teams, die auf der .Net-Plattform entwickeln, bietet das Team System eine hervorragende Chance, den Entwicklungsprozess zu optimieren und zu beschleunigen. Eine der grossen Stärken des Team System ist, dass es sämtliche Rollen berücksichtigt, die in einem Softwareprojekt involviert sind. Ein weiteres Plus ist die Flexibilität des Team System, die Firmen nicht an bestimmte Vorgehensmethoden und Richtlinien bindet. Ein Wermutstropfen aber bleibt: Die Lizenzpreise für das Team System wurden relativ hoch angesetzt. Für die Team-System-Editionen spricht Microsoft derzeit von Volume-Licensing-Preisen ab 3191 Dollar. Immerhin sind für MSDNAbonnenten Preisnachlässe geplant und Subscriber von MSDN Universal erhalten sogar eine der Team-Edition-Variante nach Wahl kostenlos.


Das könnte Sie auch interessieren