Seit nun gut vier Wochen nutze ich Atlassian Jira als Helfer bei der Software Entwicklung. Jira ist ein unheimlich umfangreiches Tool zur Projektverwaltung. Es bietet Features wie Bugtracking, Möglichkeiten zur Planung von Releases und zur Organisation von Entwicklerteams. Die Funktionalität kann man zudem über viele Plugins noch einmal deutlich erweitern. Rundum ein praktischer Helfer bei der täglichen Arbeit der trotz vieler Funktionen für die Arbeit in größeren Teams auch für Projekte von Einzelkämpfern und kleinen Teams geeignet ist. Hier möchte ich nun meine durchweg positiven Erfahrungen teilen.
Für die Organisation meiner eigenen Projekte sowie deren Dokumentation habe ich vorher lange Zeit Trac verwendet. Es hat mir gute Dienste geleistet und ich hatte keine nennenswerten Probleme. Nach der Suche nach einer Android App für Trac war ich allerdings ein wenig enttäuscht. Es gibt lediglich eine App die nahezu keine Features bietet, nicht einmal vernünftige Sortierung der Tickets. Für ernsthaftes Arbeiten aus meiner Sicht ungeeignet. Da ich trotz Interesse an Android Entwicklung derzeit in keinster Weise genug Freiraum habe eine alternative Lösung zu bauen, habe ich nach Trac-Alternativen gesucht.
Inhalt
Über Bugbox zu Jira
Durch dass Zend Framework Projekt habe ich Jira kennengelernt und mit Jira Erfahrung gesammelt. So kam ich auf die Idee nach einem Android Client für Jira zu suchen und bin auf Bugbox gestossen. Die Möglichkeit unter Android über die SOAP Schnittstelle von Jira Tasks herunterladen, mit diesen offline arbeiten und Veränderungen sowie neue Tasks wieder hochladen zu können gefiel mir gut. Aus jetziger Sicht kann ich bereits sagen dass Bugbox eine wirklich angenehm benutzbarer Client für Android ist.Unterwegs kann man sehr schnell an passender Stelle Notizen hinzufügen, wird über neue Tasks benachrichtigt und kann neue Tasks erfassen. Vorher habe ich unterwegs meist einen Umweg über E-Mails gemacht. Die bleiben dann aber hier und da mal liegen, werden vergessen oder müssen nochmal aussortiert werden bevor ein Ticket entstehen kann. All dass spare ich mir nun komplett. Nun gut, es fehlte für Bugbox zunächst aber noch eine Jira Installation.
Jira installieren
Jira ist eine Java Applikation. Wer sich nicht mit der Installation und Einrichtung von Tomcat befassen will kann eine standalone Version von Jira mit integriertem Tomcat verwenden. Da ich ohnehin schon Tomcat nutze habe ich die WAR-Version gewählt. Alle notwendigen Schritte sind umfassend dokumentiert und die Integration funktioniert super. Z.b. wird die notwendige Tomcat Konfiguration mit passenden Pfadnamen generiert und muss nur noch kopiert werden. Viele dieser kleinen Details zeugen davon dass mitgedacht wurde. Zur Vorbereitung dieses Artikels habe ich die standalone Version auf meiner Ubuntu 10.10 Workstation installiert. Auch damit gab es keinerlei Probleme. Es ist spielend einfach zur Konfigurationsoberfläche zu gelangen. Alles in allem ist Jira eine Java Applikation die sich super anfühlt und mir keinerlei Probleme bereitet hat. Eine Software die “einfach funktioniert”. Für einen einfachen Einstieg bietet Atlassian tolle Getting Started Dokumentation zu Jira an. Wer noch nie mit Jira gearbeitet hat lernt hier sehr schnell die wesentlichen Abläufe.
Jira konfigurieren
Hat man die Installation abgeschlossen wird man nach grundlegender Konfiguration von den umfangreichen Möglichkeiten zur Administration “begrüsst”. Es geht allerdings dennoch sehr schnell bis man erste Tasks anlegen kann. Im “nackten System” fehlen dazu eigentlich nur Projekte und ggf. Versionen die man den Projekten zuordnen kann. Über Versionen kann man später Bugfixes, neue Features und Releases strukturiert voröffentlichen. Zusätzlich dazu habe ich in den “globalen Settings” noch die Verarbeitung von API Requests aktiviert, da dies unter anderem für Bugbox notwendig ist. Es ist sicherlich sinnvoll sich einfach mal ein wenig in der Administrationsoberfläche umzuschauen und bei Bedarf die Einstellung nach eigenen Wünschen anzupassen.
Meine Favoriten: Jira Anbindung an Zend Studio & Thunderbird
Auch von den zusätzlichen Möglichkeiten bin ich begeistert. Eine große Auswahl an Plugins und separater Software von Atlassian ermöglichen es eine ganze Plattform für die Projektverwaltung einzurichten. Atlassian selbst bietet bspw. zusätzlich Greenhopper für die Organisation von agilen Entwicklerteams, FishEye für die Integration von SCM Lösungen (Git, SVN, Mercurial, etc) und Confluence für Dokumentationen an. Auch viele Plugins die nicht von Atlassian selbst kommen sind sehr beeindruckend. Der Plugin Exchange bietet die Möglichkeit sich hier einen Überblick zu verschaffen. Als erstes Plugin dass installiert werden sollte empfehle ich den Universal Plugin Manager. Dieser ermöglicht die Installation von Plugins über dass Webinterface.
Bereits jetzt in mein Herz geschlossen habe ich die Thunderbird Anbindung an Jira (erstellen von Tasks aus empfangenen E-Mails) und die Integration von Jira in mein Zend Studio (über den Eclipse Connector). Man kann exakt die benötigte Zeit erfassen, sich bei Git/SVN Commits (automatisch) auf geschlossene Bugs beziehen und spart sich anschließend zusätzliche Schritte. Über Crucible könnte man sogar Code Reviews organisieren und diese dokumentieren. Es gibt wirklich viele Möglichkeiten und anschauen lohnt sich definitiv!
Fazit
Atlassian hat mein Herz erobert. Jira, Confluence und die weiteren Tools für die Projektverwaltung zeugen davon dass viel Leidenschaft investiert wurde. Die Komponenten die ich bislang getestet habe funktionieren sowohl einzeln als auch als Teil eines größeren Ganzen super. Interessant fände ich wegen des guten Zusammenspiels auch Bamboo als Continous Integration Server. Erfahrungsberichte dazu fände ich sehr interessant! Derzeit nutze ich Jenkins für PHP Projekte und bin mit der Lösung mehr als glücklich. Es gibt sogar ein (noch Hudson) Plugin zur Anbindung der beiden Systeme was ich bei Gelegenheit noch testen werde.
Für kleinere Entwicklerteams von bis zu 10 Leuten kostet jede Atlassian Komponente wie z.B. Jira, Greenhopper, Confluence, usw. nach einer kostenlose Testphase von 30 Tagen jeweils 10 $ . Diese werden dann ohnehin einem guten Zweck gespendet. Man kann also eigentlich nichts falsch machen. Im Nachhinein bin nun sogar ganz glücklich dass ich für Trac kein gutes Android App gefunden habe, denn dann hätte ich Jira unter Umständen gar nicht selbst getestet.
Links
- Atlassian Homepage
- Atlassian Development Tools
- Trac Projekt
- Jenkins CI
- Jenkins PHP Template