Nachdem ich nun seit geraumer Zeit mit SVN und Bugzilla als Bugtracker gearbeitet habe, stieß diese Kombination leider an ihre Grenzen. Bugzilla ließ sich leider nicht für agile, an SCRUM angelehnte Methoden einsetzen, und die Integration mit SVN ließ auch zu Wünschen übrig.
Dadurch, dass TYPO3 v5 (alias Phoenix) seit dem letzten Jahr mittels verschiedener SCRUM Methoden entwickelt wird, bin ich auf Redmine aufmerksam geworden. Während der Evaluation wurde immer mehr klar, dass Redmine alle gewünschten Anforderungen erfüllt:
- Ticket Management
- Verwaltung der bei SCRUM üblichen Backlogs und Sprints inkl. online Taskboard und Burndown Charts
- Repository Anbindung und Browsing
Darüber hinaus wollte ich nun auch Continous Integration einsetzten, da ich bereits seit längerem testgetrieben mit PHPUnit entwickle, und seit kurzem auch Selenium Tests einsetzte. Da diese aber sehr langwierig sein können, wurde schnell klar, das so etwas wie “Nightly Builds” her müssen, um nicht bei jedem Commit “Kaffee kochen” zu müssen, sondern einmal täglich den aktuellen Stand des Systems zu erhalten.
Daher habe ich den vergangenen zwei Wochen daran gearbeitet erstmals einen vollständigen Entwicklungsserver aufzusetzten, auf welchem ein Webserver für Testzwecke, SVN, Redmine als Issue-Tracker und phpUnderControl für die kontinuierliche Integration läuft. Die ersten Ergebnisse und grundlegenden Schritte habe ich nun in einem neuen Tutorial zum Aufsetzen eines Entwicklungsservers unter Windows skizziert – vielleicht hilft es ja dem ein oder anderen auf dem Weg in eine stabilere Software-Welt.