Softwareprojekt-Management

IBMs Team Collaboration Plattform Jazz im Praxistest

14.04.2008 | Autor / Redakteur: Markus Kopf und Johannes Tysiak* / Martina Hafner

Bild: hofschlaeger, pixelio.de

Für ihre Arbeit in Softwareprojekten benötigen Entwickler zahlreiche Werkzeuge. Der häufige Wechsel zwischen diesen Werkzeugen senkt dabei die Produktivität und erschwert die Traceability, mit der zusammengehörige Artefakte in den unterschiedlichen Tools verknüpft werden können. Die Jazz Technology Platform von IBM integriert Werkzeuge unter dem Dach der Eclipse-IDE und ermöglicht es Beteiligten in Softwareprojekten, alltägliche Aufgaben effizienter und konsistenter durchzuführen.

Wird in einer Software ein Fehler entdeckt, wird dieser in der Regel in ein Bug Tracking System (BTS) eingetragen. Der zuständige Entwickler wird per E-Mail benachrichtigt, woraufhin er das BTS öffnen muss, um an weitere Informationen zu gelangen. Anschließend muss er seine Entwicklungsumgebung starten, um den fehlerhaften Code zu finden. Nach der Korrektur sollte er idealerweise diesen Code aus dem BTS referenzieren. In einem wiederum weiteren Werkzeug sollte anschließend ein Integrationstest durchgeführt werden, um den neuen Code im Zusammenspiel mit anderen Komponenten überprüfen zu können.

Das häufige Springen zwischen diesen verschiedenen Tools nimmt viel Zeit in Anspruch. Bei vielen Werkzeugen ist es zudem schwierig, Traceability-Links zu Artefakten in anderen Tools zu erzeugen, weswegen in diesem Umfeld häufig selbst entwickelte, an die verwendete Toolkette angepasste Konzepte verwendet werden. Auf der Suche nach einer Lösung zu diesen und weiteren Problemen begann IBM vor ungefähr 3 Jahren mit der Entwicklung einer neuen Kollaborationsplattform namens Jazz Technology Platform.

Aufbau der Jazz Technology Plattform

Bild 1: Jazz Eclipse Client – Hier ist ein Work Item mit der Kategorie „Defect“ zu erkennen sowie diverse weitere Jazz-Views.
Bild 1: Jazz Eclipse Client – Hier ist ein Work Item mit der Kategorie „Defect“ zu erkennen sowie diverse weitere Jazz-Views.

Die Jazz Technology Platform besteht derzeit aus dem Jazz Team Server und dem dazugehörigen Jazz Eclipse Client (Bild 1). Diese Komponenten werden mit dem Rational Team Concert von IBM auf Basis der Jazz Technology Platform ausgeliefert. Der Team Server stellt das Grundgerüst für verschiedene Clients zur Verfügung und bildet somit das zentrale Element. Der Jazz Eclipse Client ermöglicht den Zugriff auf die Technologieplattform und besteht aus einer erweiterten Eclipse-IDE. Zusammen mit dem Rational Team Concert Client bündelt der Team Server Funktionen für das Bug-Tracking, Konfigurationsmanagement, Projektmanagement und Continuous Integration in einer Plattform und bietet somit eine komfortable Arbeitsumgebung.

Flexibilität bei den Prozessmodellen

Ein Projekt in der Softwareentwicklung unterliegt zumeist einem Prozess, der die Abläufe der einzelnen Entwicklungsschritte definiert und lenkt. Die Jazz Technology Platform unterstützt den Anwender dabei, einen solchen Prozess zu definieren und einzuhalten, schreibt aber dennoch keinen Prozess explizit vor. Der Anwender hat über eine spezielle Process-Specification-Sicht die Möglichkeit, Prozesse selbst zu definieren. Allerdings können auch vorgefertigte Prozesse, wie z.B. der Eclipse Development Process, mit dem Eclipse selbst entwickelt wird, verwendet werden.

Die Kollaborationsplattform eignet sich durch ihre Flexibilität bei der Prozessbeschreibung sehr gut für agile Prozesse. Somit können auch Best Practices, welche sich in einem Team schon mehrfach bewährt haben, mit in den Prozess einfließen. Ein Beispiel hierfür wäre, dass ein Entwickler seinen Code nicht in den Hauptentwicklungsstrang einchecken darf, bevor dieser anhand eines definierten Programmierstils überprüft ist, Codedokumentation an Klassen und Methoden vorhanden ist und eine statische Fehleranalyse durchgeführt wurde.

Wurde ein Prozess definiert, kann dieser für ein oder mehrere Projekte verwendet werden. Dem Anwender bleibt es überlassen, ob er den Prozess für das komplette Projekt oder lediglich für einzelne Projektphasen verwendet. Die Prozessdefinition ist innerhalb eines Projektes frei konfigurierbar. Dadurch können selbst einzelne Teams in einer Entwicklungsphase mit unterschiedlichen Prozessregeln agieren.

In Jazz wird ein Projekt durch die Project Area repräsentiert. Diese grafische Darstellung des Projekts spielt eine zentrale Rolle. Die Anwender können sich über diese Ansicht einen Überblick über das Projekt, die Projektmitglieder und die Projektplanung verschaffen. Hier besteht zudem die Möglichkeit, den Prozess projektweit anzupassen.

Work Item fasst alle wichtigen Daten für eine Aufgabe zusammen

Weil Jazz selbst auf Basis eines agilen Prozesses entwickelt wurde und wird, findet sich das Team in der Jazz Technology Platform als zentrales Element wieder. Für jedes Aufgabengebiet kann ein eigenes Team angelegt werden. Hierzu existiert eine Team Area, in der die Gruppierung der Teams definiert werden kann. Daneben können zu jedem Team weitere wichtige Informationen hinterlegt werden. Diese Informationen beinhalten eine kurze Übersicht und Beschreibung über das Team, Prozessrollen der einzelnen Teammitglieder, sowie die von dem Team erstellten Artefakte. In der Übersicht der Teamartefakte ist auch die teamspezifische Projektplanung enthalten.

Das kleinste Element in der Projektplanung ist ein Work Item. Dieses beinhaltet eine konkrete Aufgabe, Erweiterung oder auch einen Fehler. Das Work Item ist nicht nur das kleinste Element der Projektplanung sondern auch die Grundlage für sämtliche gröbere Planungsebenen: ein Plan besteht aus seinen Work Items. Dies hat den Vorteil, dass eine Änderung eines Work Items die Änderung des Plans nach sich zieht. Somit ist die Präsentation der Planung immer aktuell und konsistent.

Bild 2: Work Items Ansicht im WebUI. Über das WebUI können die Work Items bearbeitet oder neue Work Items erstellt werden.
Bild 2: Work Items Ansicht im WebUI. Über das WebUI können die Work Items bearbeitet oder neue Work Items erstellt werden.

Ein Work Item fasst alle wichtigen Daten für die jeweilige Aufgabe zusammen, damit sich ein Anwender auf intuitive Weise einen Überblick verschaffen kann. Unter diesen wichtigen Daten befindet sich sowohl die Art des Work Items, welche über den Prozess definiert werden kann (Task, Erweiterung, Bug…), seine Priorität, der geschätzte Aufwand für die Bearbeitung und die Zugehörigkeit zur gröberen Planungsphase (Bild 2). Daneben ist eine fortlaufende Diskussion zum Work Item enthalten.

Mit einem Work Item können Code-Basen oder auch Dokumente verlinkt werden. Wird zum Beispiel ein Stück Code in den Hauptentwicklungsstrang eingecheckt und dies mit einem Work Item verbunden, so entsteht zwischen dem Stück Code und dem Work Item ein Link. Wenn ein Entwickler sich das Work Item anschaut, kann er direkt zu dem Code gelangen, der mit diesem Work Item eingecheckt wurde. Mit diesen Mechanismen wird bei der Jazz Technology Platform eine durchgängige Traceability erreicht. (Ein Anwendungsbeispiel ist im Kastentext zu finden).

OpenUP- und Eclipse-Way-Prozess

Bei den von Jazz mitgelieferten Prozessen untergliedert sich die Planung in Entwicklungsstränge und darin enthaltene Iterationen. Zurzeit stehen die folgenden zwei Prozesse zur Verfügung:

  • Eclipse Way ProcessDer Eclipse Way ist ein agiler, iterationsbasierter Prozess, der den Fokus auf die Konsistenz und regelmäßige Auslieferung von qualitativ hochwertiger Software legt. Dieser Prozess wird vom Eclipse-Entwicklungsteam verwendet.
  • OpenUp ProcessDer OpenUp Process ist einer der Prozesse, die mittels des Eclipse Process Framework Projekts (EPF) erstellt wurden. Er dient als Beispiel für die Integration bestehender Prozesse in die Jazz Technology Platform. Mehr Details hierzu unter [1].Dem Anwender ist es jedoch überlassen, auch hier eigene Prozessregeln zu spezifizieren und somit den gewählten Prozess anzupassen oder zu erweitern.

Nützliche Funktionen für Projektverantwortliche

Neben der Verwendung der Jazz Technology Platform über den Jazz Eclipse Client existiert auch die Möglichkeit, über eine Weboberfläche auf Projekte zuzugreifen. Das WebUI bietet eine komfortable Umgebung, um einen Überblick über ein Projekt zu erhalten. Diese Option bietet sich vor allem für Projektmanager an, die über geplante Work Items, Project Health, Projektreports und diverse andere Punkte informiert sein müssen. Das WebUI bietet zugriff auf die folgenden Bereiche:

  • Iteration Plan
  • Browse Repository
  • Browse und Edit Work Items
  • Reports

Bild 3: Das Dashboard kann über das WebUI geöffnet werden und ist konfigurierbar, somit werden nur die gewünschten Informationen angezeigt.
Bild 3: Das Dashboard kann über das WebUI geöffnet werden und ist konfigurierbar, somit werden nur die gewünschten Informationen angezeigt.

Zudem kann ein individuelles Dashboard (siehe Bild 3) konfiguriert werden, damit dem jeweiligen Benutzer nur die Informationen angezeigt werden, die für ihn relevant sind und er somit nicht von der alltäglichen Flut an Information in Projekten überschüttet wird. Einblicke in die wichtigsten Informationen lassen sich sowohl textuell als auch grafisch aufbereitet darstellen. Durch die Grafiken wird es zum Beispiel leicht ersichtlich ob ein Projekt im Verzug ist oder einzelne Teammitglieder überlastet sind, während andere Teammitglieder vielleicht noch Ressourcen frei haben. Mit diesen Mechanismen bekommt ein Projekt eine Transparenz, die es den Projektverantwortlichen erleichtert, den Überblick zu bewahren.

Jazz-Produkte derzeit frei zugänglich

Bild 4: Evolution der IBM Rational Software Delivery Plattform. Das Bild zeigt, welche bestehenden Produkte an die Plattform angebunden werden und welche neue Produkte auf Basis der Plattform erstellt wurden und noch werden.
Bild 4: Evolution der IBM Rational Software Delivery Plattform. Das Bild zeigt, welche bestehenden Produkte an die Plattform angebunden werden und welche neue Produkte auf Basis der Plattform erstellt wurden und noch werden.

Sowohl der Jazz Team Server als auch der Rational Team Concert Client sind zurzeit noch frei zugänglich, sofern man sich auf der Jazz-Webseite [2] registriert. Laut Aussagen von IBM wird die erste Auslieferung des Rational Team Concert Clients Mitte 2008 erfolgen. Der Jazz Team Server ist Teil der Jazz Technology Platform und wird daher zusammen mit dem Rational Team Concert Client zur Verfügung gestellt. Voraussichtlich wird für den akademischen Bereich und im Rahmen der Entwicklung von Open-Source-Produkten die Nutzung der Plattform sowie des Clients kostenfrei sein. IBM plant zudem die Anbindung weiterer Produkte aus ihrem Portfolio an die Jazz Technology Platform (siehe Bild 4).

Mit der Entwicklung der Jazz Technology Platform hat IBM den ersten Schritt zur vollständigen Integration sämtlicher Tätigkeiten während der Softwareentwicklung gemacht. Mit der zukünftigen Anbindung weiterer IBM-Produkte an die Technologieplattform werden weitere Aspekte der Softwareentwicklung wie das Requirements Engineering aufgenommen. Es wäre wünschenswert wenn IBM es auch anderen Hersteller ermöglichen würde, ihre Software über Schnittstellen an die Plattform anzubinden.

Markus Kopf und Johannes Tysiak sind Software Consultants beim IT-Dienstleister itemis. Kontakt: Markus.Kopf@itemis.de, Johannes.Tysiak@itemis.de.

 

Anwendungsbeispiel

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 249819 / Projektmanagement)

Embedded Software Engineering Report abonnieren

4 mal jährlich: Die kostenlose Pflichtlektüre für Embedded­-Software- und Systems-Entwickler, von Analyse bis Wartung und Betrieb

* Ich bin mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung und AGB einverstanden.
Spamschutz:
Bitte geben Sie das Ergebnis der Rechenaufgabe (Addition) ein.