FastTrack

Tracker-Plug-in für Eclipse

Antonin Pokorny

Ein Work Item ist ein allgemeiner Begriff, welcher auf eine genaue Einheit des Arbeitsprozesses verweist und vollendet werden muss, um ein bestimmtes Ziel in der Softwareentwicklung erfolgreich zu verwirklichen, wie z.B. ein Entwicklungsprojekt oder ein Release. In FastTrack können die Work Items benutzerspezifisch definiert werden, um an den Entwicklungsprozess eines Unternehmens angepasst zu werden.

In den Grundeinstellungen von FastTrack werden Work Items wie folgt bestimmt:

  • Requirements (Anforderungen)
  • Tasks (Aufgaben)
  • Change Requests (Änderungsaufträge)

Beispiele von zusätzlichen Typen, welche noch definiert werden könnten, sind:

  • Defects (Mängel) oder Bugs (Fehler)
  • Feature Requests (Anforderungen von Eigenschaften)
  • Improvement Tips (Vorschläge zur Verbesserung)

Requirements gehören zu einem weniger spezifizierten Typ eines Work Item, weil es generell erforderlich sein wird, eine Kombination von anderen Typen (Aufgaben, Änderungsaufträge usw.) abzuarbeiten, um die definierte Anforderung zu erledigen.

Es gibt zahlreiche Open-Source- und kommerzielle Issue-Tracking-Systeme, aber keines von ihnen stellt wie FastTrack als zusätzliche Fähigkeit die Traceability bereit. Dabei geht es um die Möglichkeit, den Entwicklungsprozess zu verfolgen – vom ursprünglich definierten Requirement, über verschiedene Änderungen an diesem Requirement bis zu einzelnen Tasks, Change Requests usw., welche durchgeführt wurden, um eine Anforderung zu implementieren, bis zum Quellcode, welcher entwickelt wurde, um jedes Item zu implementieren.

Der entgegengesetzte Prozess ist ebenfalls möglich z.B., um eine Code-Änderung rückwärts durch den Arbeitsprozess bis zur Original-Anforderung rückverfolgen zu können.

Abb. 1: Work Item Editor in FastTrack
Architektur

Obwohl man den Begriff Tracker sehr wahrscheinlich am ehesten mit einem System verbindet, das auf einer Relationsdatenbank basiert, trifft dies im Falle von FastTrack nicht zu. Bei dem Entwurf von FastTrack wurde besonderer Wert auf Einfachheit und optimale Integration in Eclipse gelegt. Dieses Ziel vor Augen führte zu einer Architektur, die darauf basiert, dass jeder Work Item durch eine XML-Datei abgebildet wird, die sich innerhalb von Eclipse befindet.

Heute ist es üblich, für einen gemeinsamen Datenzugriff auf z.B. Java-Quellcodes ein Versionierungssytem wie Subversion oder CVS einzusetzen – auf dieselbe Weise kann man mit den Work Items verfahren. Der gemeinsame Datenzugriff unter den Benutzern beruht auf einer standardisierten Funktionalität des Subversion-Clients für Eclipse – Subversive.

Durch die dateiorientierte Architektur von FastTrack wird die Problematik des Verwaltens und Trackens von Work Items stark in Eclipse integriert. Es handelt sich also nicht um eine Umgebung, welche mit externen Systemen auf einer komplizierten Art und Weise interagiert, sondern grundsätzlich um eine Schnittstelle, welche die Konzepte in Eclipse verfolgt.

Gemeinsamer Datenzugriff über den Subversion-Server

FastTrack gewährleistet eine gemeinsame Nutzung unter den Benutzern auf dieselbe Weise, wie man auf Quellcodes gemeinsam zugreift, nämlich mithilfe des Subversion-Servers. Die XML-Dateien, die einzelne Work Items repräsentieren, werden im Subversion Repository abgelegt, und zwar in ein spezielles Verzeichnis innerhalb des jeweiligen Entwicklungsprojekts.

Das Erstellen von neuen Work Items und Änderungen an bereits existierenden Work Items wird anderen Benutzern mithilfe von standardisierten Mitteln von Subversion bekannt gemacht. Das heißt, falls der Benutzer Nr. 1 eine Änderung durchführt und diese an das Repository übergibt, dann führt Benutzer Nr. 2 eine Synchronisierung und gegebenenfalls eine Aktualisierung standardisiert mithilfe des Vorgangs „Synchronize with Repository“ durch, wobei die Änderungen in seiner Entwicklungsumgebung sichtbar werden.

Abb. 2: Entwicklung im Team mit dem Subversion-Server
Tracker

FastTrack ist eine einfache und zudem leistungsfähige Tracker-Lösung für einzelne Programmierer oder kleine Programmierteams, welche Eclipse einsetzen. Alle notwendigen Funktionen werden direkt in der IDE unterstützt: vor allem Suche unter den Work Items, Speichern von häufig verwendeten Suchanfragen, Erstellung eines Workflows, Hinzufügen von Kommentaren und Anhängen zu den Work Items usw.

Dieser Artikel soll jedoch nur eine Einführung in die Eigenschaften von FastTrack geben – dabei wird nicht das Ziel einer Beschreibung aller Einzelheiten verfolgt. Im Folgenden finden Sie eine Beschreibung der wichtigsten Features.

Suchen: FastTrack besitzt eine Suchfunktion für Work Items, welche der Suche für Dateien in Eclipse ähnelt. Diese Suche ist auf die von FastTrack verwalteten Artefakten spezialisiert. Dabei ist es einfach, die Suchen einzuschränken, z.B. nach folgenden Kriterien: ‚all’/’created by me’/’assigned to me‘, ggf. ‚resolved’/’unresolved‘. Für kompliziertere Suchvorgänge steht eine Abfragesprache zur Verfügung, mit deren Hilfe der Benutzer logische Operatoren einsetzen und Kriterien für die einzelnen Attribute der Work Items definieren kann.

Shortcuts: Wie bereits erwähnt, ermöglicht FastTrack Suchvorgänge unter den Work Items mithilfe einer Abfragesprache. Ein konkreter Suchvorgang erfordert allerdings bei der Abfrageerstellung jeweils eine erneute Eingabe von allen Suchparametern, was unter Umständen ziemlich aufwändig werden kann. Normalerweise führt der FastTrack-Benutzer Suchvorgänge mit einer begrenzten Anzahl von Abfragen aus, welche häufig vom verwendeten Prozess abhängen. Z.B. „alle mir zugewiesene Work Items mit der Kategorie UI“ oder „alle Work Items des Typs Bug mit der Severity BLOCKER oder CRITICAL“ usw. Um dem Benutzer einen einfachen und schnellen Zugriff auf häufig verwendete Anfragen zu ermöglichen, unterstützt FastTrack das Speichern von vordefinierten Abfragen und die Konfiguration der Darstellung der Suchergebnisse in einer Tabelle als Shortcuts. Die Shortcuts werden übersichtlich in einer Baumstruktur des Navigators dargestellt.

Abb. 3: Shortcuts für wiederkehrende Abfragen

Die Verknüpfungen können sowohl auf der Projekt- als auch der Entwicklungsebene des einzelnen Benutzers definiert werden. Ein gemeinsamer Zugriff auf die Projektverknüpfungen von der Seite der Benutzer geschieht wieder mithilfe von Subversion.

Outline: Da der Work Item Editor im Allgemeinen verhältnismäßig viele Informationen darstellt, ist es oft unvermeidlich zu scrollen, z.B. bis man zu den Kommentaren oder zur Liste der verknüpften Work Items gelangt. FastTrack stellt daher eine Outline View zur Verfügung, die die internen Strukturen von Work Items darstellt, um die erwähnten Vorgänge zu erleichtern. Außerdem erleichtert die Outline View grundlegend die Übersicht zu den Work Items, bevor diese miteinander verknüpft werden. Mithilfe der Outline View kann man sehr schnell den Weg von einem bestimmten Task über das übergeordnete Requirement bis zu z.B. einem User Requirement verfolgen.

Abb. 4: Outline View

Work Item Editor: Der Work Item Editor ist für alle Vorgänge bestimmt, die über eine konkrete Instanz von einem bestimmten Work Item durchgeführt werden. Im oberen Teil des Editors befinden sich Funktionen zur Editierung von elementaren Attributen eines Work Item, insbesondere Title (Titel), Description (Beschreibung), Assignee (zugewiesener Benutzer) und weitere nach der Zugehörigkeit zu einem bestimmten Aspekt gruppierte Attribute, wie Workflow (Arbeitsablauf), Progress (Arbeitsfortschritt), Schedule (Ablaufsplan). Es ist möglich, jedes Work Item mit anderen Work Items zu verknüpfen, um eine hohe Ebene der gemeinsamen Vernetzung zwischen den einzelnen Work Items, insbesondere zwischen den Work Items unterschiedlichen Typs, zu erreichen. Z.B. kann man für einen Task eine Verknüpfung zum Requirement erstellen und dadurch ausdrücken, dass der gegebene Task ein Teil des Arbeitsvorganges zur Verwirklichung des Requirements darstellt. Wie bereits erwähnt, hat FastTrack keinerlei Beschränkungen oder Vorgaben darüber, welche Typen von Work Items benutzt werden oder welche Verknüpfungsarten unter ihnen existieren dürfen. Durch die Konfiguration von FastTrack kann dies den unternehmensspezifischen Anforderungen angepasst werden.

Workflow: Zu einer wesentlichen Funktion von einem Tracker gehört die Unterstützung des Workflows. FastTrack erlaubt es, Listen von möglichen Zuständen und den unter ihnen erlaubten Übergängen zu definieren. Dadurch bietet FastTrack im Eclipse des Benutzers nur solche Zustände eines Work Item an, die der Definition des Arbeitsablaufs entsprechen.

History: Eine Ansicht von alten Zuständen eines Work Item wird von FastTrack immer dann zur Verfügung gestellt, wenn für ein Entwicklungsprojekt ein gemeinsamer Datenzugriff in Subversion besteht. Alte Zustände kann man innerhalb der Benutzeroberfläche, welche strukturell an das Work Item angepasst ist, miteinander vergleichen.

Commit Office – keine Verzögerung der Programmierarbeiten mehr: Eine weitere Aufgabe von FastTrack ist es, die Entwickler bei ihrer kreativen Tätigkeit und der Umsetzung von Entwicklungsprozessen und Qualitätsanforderungen zu unterstützen und administrative Aufgaben zu minimieren bzw. zu vereinfachen. In der Praxis wird diese Unterstützung in Form einer einheitlichen Arbeitsmaske – dem Commit Office – umgesetzt. Es integriert sowohl die übliche Unterstützung beim Commit, genauso wie bei Subversive, als auch Unterstützung beim Verknüpfen von Work Items mit den Commits, bei gleichzeitiger Kontrolle, ob die Commits die Commit Policies (Commit Regeln) erfüllen.

Standard Commit: Die Hauptansicht der erweiterten Umgebung des Commit Office ist die schon von Subversive oder CVS bekannte Standard-Commit-Ansicht. Die Hauptaufgabe des Commit Office ist es, jeden Commit mit einem Kommentar (Commit Message) auszustatten.

Abb. 6: Verknüpfung von Work Items

Verknüpfen von Work Items: Eine grundlegende Problematik beim Einsatz von Issue-Tracking-Systemen ist der Einsatz von externen Systemen zur Aufnahme von Arbeitsvorgängen, Änderungen des Workflows, Hinzufügen von Kommentaren etc. FastTrack stellt direkt in der Dialogmaske für die Übergaben (Commit) eine Suchmaske für die Work Items zur Verfügung, welche charakteristischerweise für die Suchkriterien „assigned to me“ vorkonfiguriert ist. In dieser Tabelle ist es möglich, mithilfe einer Checkbox Work Items auszuwählen, auf welche sich die Commits beziehen. Gegebenfalls ist es möglich, die gefundenen Work Items direkt im Commit Office zu editieren, Kommentare hinzuzufügen, in andere Workflow Zustände zu wechseln – z.B. in den Zustand „Resolved“ – oder ganz allgemein alle Attribute von Work Items zu editieren.

Abb. 6: Verknüpfung von Work Items

Commit Policies: In Eclipse steht den Programmierern für die Sprache Java eine Unterstützung für die Überprüfung von Programmierregeln zur Verfügung. Verletzungen werden im Java-Editor hervorgehoben und als eine Liste in der Ansicht „View Problems“ angezeigt. Vor jedem Commit von Quellcode wird geprüft, ob diese Regeln eingehalten wurden oder nicht. Im Falle einer Regelverletzung wird der Benutzer durch einen Hinweis gewarnt (Policy Violation). Der Commit wird durch diese Verletzung nicht verhindert, aber der Benutzer muss einen Grund angeben, warum der Commit trotzdem stattgefunden hat. Diese Information wird in der Commit Message gespeichert, dadurch ist es jederzeit möglich, diese später aufzufinden.

Fazit

Polarion, ein Anbieter für integrieRte „Application Lifecycle Management“-Lösungen stellt mit FastTrack ein leistungsfähiges, kostenloses Tracker-Plug-in für die Entwicklung mit Eclipse zur Verfügung. Besonders die nahtlose Integration in die Eclipse-IDE und das Zusammenspiel mit Subversion über das Commit Office sind hervorzuheben.

Abb. 7: Commit Policies
Probieren Sie FastTrack aus

FastTrack kann als eine Single-User-Applikation oder zur Unterstützung eines kleinen Programmierteams eingesetzt werden, welche den gemeinsamen Datenzugriff mithilfe des System Subversion Repository realisiert. Im Falle einer Single-User-Konfiguration ist die Installation nicht aufwändig. Es wird lediglich Eclipse 3.2 benötigt. Weiterhin wird das Plug-in Subversive für den Einsatz von Subversion benötigt, aber es gehört zum Standard-Lieferumfang von FastTrack.

Für den Einsatz im Team ist es nötig, dass ein installierter und funktionierender Subversion-Server zur Verfügung steht, welcher über den Apache-Server zugänglich ist. Sobald Sie Eclipse und Subversion richtig installiert und konfiguriert haben, müssen Sie Subversive installieren, indem Sie den Update Manager von Eclipse für die Update-Seite von FastTrack starten.
Nach der erfolgreichen Installation von FastTrack fordern Sie eine Lizenzierungsdatei unter WINDOWS | PREFERENCES | TRACKER | LICENSE | GETLICENSE an. Geben Sie auf der sich öffnenden Internetseite Ihre Benutzerdaten ein. Daraufhin wird die Lizenz an die angegebene E-Mail-Adresse gesendet. Wechseln Sie sodann zur FastTrack-Ansicht und können nun mit der Arbeit beginnen. Der erste empfohlene Schritt ist das Anlegen eines neuen Projekts mithilfe von NEW | TRACKER | TRACKER PROJECT.

Antonin Pokorny ist VP R&D bei der Polarion Software. Er hat langjährige Erfahrung in der Entwicklung von Application Lifecycle Produkten. Darüber hinaus leitet er zahlreiche verteilte Entwicklungsprojekte und ist Initiator des Subvesion Eclipse Plugins „Subversive“.
Geschrieben von
Antonin Pokorny
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.