Warum wir unser Projektmanagement selbst gebaut haben — auf TYPO3

Es gibt hunderte fertige Projektmanagement-Tools. Wir haben uns trotzdem entschieden, unser eigenes zu bauen — auf Basis von TYPO3. Das klingt zunächst nach einem Umweg. In diesem Artikel erklären wir, warum es für uns der richtige Weg war, und was das über unsere Arbeitsweise verrät.

Der Anlass. Unser bisheriges System — eine activeCollab-Installation — war elf Jahre alt und bekam keine Sicherheitsaktualisierungen mehr. Irgendwann muss man an so einem Punkt handeln. Die naheliegende Lösung wäre ein Wechsel auf ein modernes fertiges Produkt gewesen. Genau das haben wir bewusst nicht getan.

Warum kein fertiges Tool? Ein fertiges Produkt hätte bedeutet, unsere seit einem Jahrzehnt eingespielten Abläufe an dessen Logik anzupassen — nicht umgekehrt. Wer so lange nach bestimmten Prozessen arbeitet, kennt deren Wert. Ein Werkzeug, das die Hälfte davon nicht abbildet und dafür zwanzig Funktionen mitbringt, die man nie braucht, ist kein Fortschritt. Dazu kam ein zweiter, für uns entscheidender Punkt: Kundenkommunikation, Kalkulationen, Stundensätze und Arbeitszeiten sollten nicht in einer fremden Cloud liegen, sondern auf unserem eigenen Server. Datenhoheit ist kein abstraktes Prinzip — es ist der Unterschied zwischen „wir wissen, wo unsere Daten sind" und „wir vertrauen darauf, dass ein Anbieter sie richtig behandelt".

Warum ausgerechnet TYPO3? Die ehrliche erste Antwort: Weil wir eine TYPO3-Agentur sind. Es ist die Technik, die wir jeden Tag beherrschen, warten und weiterentwickeln. Ein Werkzeug auf dieser Basis läuft auf demselben Fundament, das wir ohnehin im Griff haben — kein zweiter Technologie-Stack, keine fremde Sprache, keine Abhängigkeit von Spezialwissen, das wir extern einkaufen müssten.

Aber es gibt auch handfeste technische Gründe, die über „das kennen wir eben" hinausgehen:

TYPO3 bringt einen ausgereiften DataHandler mit — die zentrale Schreibschicht, über die im System alle Datenänderungen laufen. Wir haben unser gesamtes Tool so gebaut, dass jeder Schreibzugriff durch diese eine Schicht geht, gekapselt in einer JSON-API. Das Ergebnis: Rechteprüfung, Änderungshistorie und Protokoll greifen überall gleich — im Frontend wie im Backend — ohne dass wir sie an dutzenden Stellen selbst nachbauen müssten. Ein fertiges CMS-Fundament nimmt einem genau diese fehleranfällige Grundlagenarbeit ab.

Dazu kommt das Rechtemodell. Ein Agentur-Tool muss strikt trennen, wer was sieht — eigene Mitarbeiter, Kundenkontakte mit Einsicht in Zeiten, Kundenkontakte ohne diese Einsicht, private interne Notizen. TYPO3 ist von Grund auf für solche fein abgestuften Berechtigungen gebaut. Was jemand nicht sehen darf, filtern wir bereits in der Datenbankabfrage aus — es kommt gar nicht erst aus dem System. Und der direkte Aufruf einer Ansicht, die einen nichts angeht, endet mit „gibt es nicht" statt mit „dürfen Sie nicht", damit nicht einmal die bloße Existenz etwas verrät.

Und schließlich: Fluid-Templates, Mehrsprachigkeit, eine saubere Extension-Architektur — all die Bausteine, mit denen wir für Kunden arbeiten, standen auch für das eigene Werkzeug bereit. Wir haben das Tool als eine einzige TYPO3-Extension gebaut, ohne nennenswerte Fremdabhängigkeiten.

Ein technisches Detail, auf das wir stolz sind: kein Single Page Application. Viele moderne Tools sind als eine große JavaScript-Anwendung im Browser gebaut. Wir haben bewusst einen anderen Weg gewählt. Unsere Oberfläche tauscht einzelne Seitenfragmente serverseitig aus, die Navigation läuft über die History-API des Browsers — statt eine schwergewichtige App im Browser laufen zu lassen. Jede Adresse rendert dabei auch als vollständige, eigenständige Seite. Der Vorteil für den Alltag: Alles ist verlinkbar, der Zurück-Knopf funktioniert wie erwartet, und die Oberfläche bleibt selbst dann lesbar, wenn JavaScript einmal nicht mitspielt. Das ist dieselbe Philosophie, die wir auch Kunden empfehlen — Technik, die robust ist, statt Technik, die beeindruckt.

Elf Jahre Daten umziehen. Der vielleicht unterschätzteste Teil des Projekts war die Migration. Wir haben nicht bei null angefangen, sondern den kompletten Bestand aus dem Altsystem übernommen: 226 Projekte, über 20.000 Aufgaben, mehr als 62.000 Kommentare und rund 45.000 Zeiteinträge. Solche Migrationen sind selten sauber — alte Systeme haben über die Jahre Eigenheiten angesammelt. In unserem Fall stellte sich etwa heraus, dass die Kennzeichnung „privat" bei Kommentaren in einer Zusatzerweiterung genau umgekehrt gespeichert war wie im Kern. Wer das übersieht, macht aus internen Notizen versehentlich öffentliche. Solche Fallstricke findet man nur, wenn man genau hinsieht — und sie sauber abzubilden ist genau die Arbeit, die wir auch bei Kundenprojekten leisten, wenn wir fremde TYPO3-Installationen übernehmen.

Nachvollziehbarkeit vor Bequemlichkeit. Ein Grundsatz zieht sich durch das ganze Werkzeug: Was passiert, bleibt nachvollziehbar. Jede Änderung wird mit Feld, Alt- und Neuwert protokolliert. Die Arbeitszeiterfassung ist als Hashkette geführt — jeder Eintrag trägt den Fingerabdruck seines Vorgängers, eine nachträgliche Änderung bricht die Kette und fällt auf. Und Korrekturen verschwinden nicht, sondern bleiben mit Grund, Zeitpunkt und Person sichtbar. Das ist unbequemer als ein System, in dem man Dinge still ändern kann — aber es schafft Vertrauen, nach innen wie nach außen.

Was das über uns sagt. Wir hätten ein fertiges Tool kaufen können. Stattdessen haben wir ein Werkzeug gebaut, das genau zu unseren Abläufen passt, dessen Daten bei uns bleiben und das auf der Technik läuft, die wir am besten beherrschen. Es ist dieselbe Denkweise, die wir in Kundenprojekte einbringen: nicht die schnellste Lösung, sondern die richtige — durchdacht, nachvollziehbar und langfristig wartbar.

Genau das ist der Anspruch, mit dem wir seit über 20 Jahren TYPO3-Projekte umsetzen.

  • TYPO3
  • Projektmanagement
  • Eigenentwicklung
  • Datenhoheit
  • Extension
  • Migration
zurück