You are here: SE » ThesesHome » ThesisPhragile

Entwurf und Implementierung eines Werkzeugs für agile Softwareentwicklung bei Wikimedia Deutschland: Phragile

Exposé

Wikimedia ist eine internationale, gemeinnützige Bewegung für Freies Wissen. Als führende Organisation dieser Bewegung unterstützt der Verein Wikimedia Deutschland Projekte zur Schaffung freier Inhalte, wobei die freie Online-Enzyklopädie Wikipedia das bekannteste Projekt ist. Der größte Bereich bei Wikimedia Deutschland ist die Softwareentwicklung. Hier entsteht Open-Source-Software für das Wikimedia-Movement wie beispielsweise MediaWiki. Federführend wird die Open-Source-Software Wikibase, welche die Grundlage für die freie Wissensdatenbank Wikidata ist, seit 2012 im Entwicklungszentrum in Berlin umgesetzt.

Agile Entwicklungsprozesse sind ein fester Bestandteil der Softwareentwicklung bei Wikimedia Deutschland. Insbesondere das Wikidata Projekt-Team arbeitet seit 2012 mit agilen Methoden. Neu gewonnene Erkenntnisse, Anfragen und Bedarfsanalysen aus der Open-Source-Community müssen dabei im Entwicklungsprozess für neue Funktionen Berücksichtigung finden. Regelmäßige Benutzer-Feedback-Schleifen stellen somit einen wichtigen Bestandteil der Entwicklung dar. Die Softwareentwicklungsabteilung kombiniert agile Methoden wie Scrum und Kanban, welche durch analoge, aber auch digitale Tools unterstützt werden.

Bisher wurde das von der Mozilla Foundation entwickelte Bugzilla sowohl für Bug-Reports von Nutzern der Wikimedia Software, als auch intern für die Aufgabenverteilung des Entwicklerteams verwendet. Unterstützend dazu war ScrumBugs im Einsatz, eine Erweiterung von Bugzilla, welche die Daten von Bugzilla um eine für Scrum ausgerichtete Oberfläche mit Burndown-Diagrammen und weiteren nützlichen Statistiken ergänzt. Durch einen Beschluss der Wikimedia Foundation werden Bugzilla und ScrumBugs im Oktober 2014 durch Phabricator abgelöst. Dieses soll durch eine benutzerfreundlichere Oberfläche mehr Nutzer dazu ermutigen, Problemberichte einzureichen und Entwicklern durch bessere Integration mit anderen Werkzeugen die Arbeit erleichtern. Eine Untersuchung von Phabricator durch das Entwicklerteam von Wikimedia Deutschland hat allerdings ergeben, dass wichtige Features wie Sprint-Übersichten, Burndown-Diagramme und weitere Informationen zu Tasks fehlen. Ziel meiner Arbeit ist es, eine Applikation zu entwickeln, die diese fehlenden Übersichten basierend auf den über eine API zur Verfügung gestellten Phabricator-Projektdaten dynamisch generiert.

Es wird eine Webanwendung entstehen, die für Scrum Master, Product Owner und Entwickler, ähnlich wie ScrumBugs, Burndown-Diagramme und Task-Statistiken beinhaltet. Zu Beginn der Arbeit sollen zusammen mit dem Scrum Master und Product Owner des Wikidata-Teams die genauen Anforderungen festgelegt und eine Spezifikation für die Anwendung erstellt werden. Die Kernfunktionalität der Applikation bilden die generierten Sprint-Übersichten und eine Login-Funktion, die das Erstellen neuer Sprints ermöglicht. Die Implementierung erfolgt hauptsächlich in PHP und hat den Anspruch Best Practices einzuhalten und erweiterbar zu sein.

Die Resultate der Arbeit können in laufenden und zukünftigen Projekten, sowohl innerhalb der Entwicklungsteams von Wikimedia Deutschland als auch von anderen Wikimedia-Chaptern, beispielsweise der Wikimedia Foundation in San Francisco, eingesetzt werden, um den Fortschritt für laufende und vergangene Sprints zu visualisieren und die Scrum-Teams bei ihrer Arbeit zu unterstützen. Des Weiteren wird der Quellcode der Applikation auf GitHub unter der GNU General Public License veröffentlicht, sodass die Software auch von Dritten genutzt und darauf aufgebaut werden kann.

Comments