Odoo Plugin: SoftwareProjects
A free project extension for the Odoo Projects addon

Haben Sie sich auch schon mal gefragt, ob es denn kein einfaches und kostengünstiges Softwareprojektmanagement (SPM) Tool gibt, das gleichzeitig simpel in der Anwendung und trotzdem umfangreich genug ist, um auch grössere Projekte agil zu organisieren?

Unser Ausgangspunkt war genau diese Frage. Bislang setzten wir intern die allseits bekannte Software Jira von Atlassian ein um unsere Projekte zu planen. Die offensichtlichen Stärken von Jira liegen einerseits in den ausgeklügelten Ansichten und der überwältigenden Vielfalt an Funktionen. Andererseits lässt sich Jira mit allen anderen Atlassian Produkten (z.B. Bitbucket, Confluence, usw.) verknüpfen, so dass man Projekte durchgängig planen, dokumentieren und durchführen kann. Etwas fehlte uns jedoch schon zu Beginn: Für unsere Zwecke wollten wir ein System haben, dass das Projektmanagement direkt mit der Zeiterfassung und somit mit der Buchhaltung verbindet. Um dies zu erreichen gab es zwei Möglichkeiten: 1. Eine Anbindung zu den Atlassian Produkten entwickeln, oder 2. Die Funktionalität eines SPM in unser Odoo einbauen.
Da wir uns seit gerauemer Zeit mit der Entwicklung von Odoo Plugins beschäftigen entwickelten wir ein Plugin für Odoo, welches die in unseren Augen für das SPM wertvollen Funktionalitäten abbildet.

Funktionen

SoftwareProjects wurde für die Odoo Community Version 14 entwickelt und baut auf dem bestehenden Projekt Addon, sowie dem Verkaufs Addon (für Timesheets) auf.
Es erweitert das Projekt Addon dahingehend, dass nebst dem Erstellen von Projekten, Tasks und Subtasks auch Tasktypen wie z.B. Stories, Bugs und Epics erstellt werden können. Zudem lassen sich mit SoftwareProjects Projekte im Ablauf unterscheiden, wie man dies von anderen SPMs gewohnt ist. So können beispielsweise Kanban oder Scrum Projekte erstellt werden. In der folgenden Übersicht zeigen wir nochmals den Unterschied zwischen Scrum- bzw. Kanban organisierten Projekten:

Kanban

  • Iterations Typ: Releases
  • Gliederung der Tasks in Release oder unterminiert & Zusammenfassung als Release 
  • Keine Nachverfolgung nicht abgeschlossener Tasks

Scrum

  • Iterations Typ: Sprint
  • Tasks werden in Sprints geplant und nacheinander umgesetzt
  • Nicht abgeschlossene Tasks werden neuem Sprint oder Backlog hinzugefügt

Nach Abschluss einer Iteration kann für beide Typen ein Report erstellt werden, der die in dieser Iteration abgeschlossenen Tasks mit der geplanten und verwendeten Zeit, nach Task-Typ gefiltert, auflistet.

Erstellen eines Sprints/Releases

Um die Eleganz von ProjectSoftware zu demonstrieren, mussten wir einfach animierte GIFs verwenden. Nur so erkennt man die Leichtigkeit und Geschwindigkeit mit der man Projekte erstellen kann. Als Beispiel das Erstellen eines Sprints:

Es wird nur das Start- und Abschlussdatum und ein Name benötigt. Zusätzlich können bereits beim Erstellen des Sprints, Issues, gefiltert hinzugefügt werden. Natürlich können dem soeben erstellten Sprint auch später noch weitere Tasks hinzugefügt werden, wie wir im nächsten Beispiel sehen werden. Das Erstellen eines Releases funktioniert übrigens analog.

Zuweisen von Tasks zu Releases oder Sprints

Die Zuweisung der Issues zu einem Sprint oder zu den Releases funktioniert per Drag&Drop. Damit ist ein effizientes Arbeiten und Planen garantiert.

Einen Release/Sprint abschliessen

Auch das Abschliessen eines Sprints oder Releases ist ganz simpel:

Git-Integration

Eine unserer grundlegendsten Anforderungen für ein SPM war, dass man sämtliche Tasks mit entsprechenden Commits verknüpfen kann, wie dies etwa bei Github oder Jira mit Bitbucket möglich ist.

Hierfür haben wir uns nach einer quelloffenen Software umgeschaut, die alle gewohnten Funktionen mitbringt und in absehbarer Zeit kostenlos bleibt. Unsere Wahl fiel nach intensiver Recherche auf Gitea. Gitea kommt visuell analog Github daher und verfügt über eine ausgezeichnete Dokumentation, sowie einer umfassenden REST API und Webhooks, die insbesondere für die Anbindung an andere Systeme interessant sind.

Gitea Konfiguration in SoftwareProjects

SoftwareProjects unterstützt Commit-Tags zur Identifizierung der Tasks und Subtasks #RHT-21, sowie Tags zum Time-Logging auf Tasks #time 2h:5m. Weiter können Tasks auch via Commit #closes abgeschlossen, oder einem anderen User zugewiesen werden mittels #assign <user@domain.tld>. Mit diesen Zusatzfunktionen wird die Organisation und Arbeit an Projekten wesentlich einfacher und man darf natürlich den Hauptvorteil von Odoo nicht ausser acht lassen: Hat man Zeitangaben, sowie Kundenadresse im System hinterlegt, so kann mit nur einem einzigen Knopfdruck automatisch eine Rechnung generiert und verschickt werden, die sämtliche relevanten Daten und Timesheets enthält.

Wir werden das Plugin demnächst auf Github als OpenSource Software unter der GPL-Lizenz zur Verfügung stellen.

14 September, 2021
Teile diesen Beitrag
Archiv
Sign in to leave a comment


Microservice-Architektur: Fluch oder Segen?