Bild zeigt 'What's Up!' in Aktion!

Konzept und Technologie hinter What’s Up?

27.06.11

Die neueste Innovation unserer Rakete: “What’s Up?” - unsere Lösung, um die Reisen unserer orangen Rakete zu registrieren.

Eine massgeschneiderte Zeiterfassung die visuell überzeugt, kombiniert mit einem Twitter-ähnlichen Informationsstrom, Issue-Tracker und Code-Verwaltung, ergänzt mit einer Prise Gamification? Das ist nicht die neuste ELWMS-Marketing-Lüge sondern die neuste, reale Innovation What’s Up? aus dem Hause Nothing Interactive.

Hier bei Nothing Interactive sind unsere Workflows hocheffizient. Um unseren Kunden technologisch und konzeptionell Ausgefeiltes anbieten zu können sind wir dazu verpflichtet, uns selbst an vorderster Front von Technologie und Benutzerverhalten zu bewegen – wir sind also auch immer etwas Think Thank und Zukunftslabor. Dieser Beitrag soll Konzept und Technologie hinter What’s Up? erklären.

Destination: Zeiterfassung. Mission: So cool wie nur möglich.

Bestehende Zeit-Tracking-Systeme auf dem Markt schmeckten alle nach Insellösungen in technologischer und konzeptioneller Hinsicht. Eine Stempeluhr beim Eingang? Nein danke, sowas passt uns nicht. Schon gar nicht irgendwelche Stunden-Exceltabellen – Alles Physische war mir ein Greuel. Eine kurze Diskussion im Team brachte einige Vorschläge hervor: Der bestechendste Input kam mit dem Panic Board. Genau in diese Richtung sollte unsere Mission gehen!

Das geplante Tool durfte nicht die existierenden Abläufe belasten und nahtlos im natürlichen Arbeits-Workflow integriert werden können. Für unsere Projekte arbeiteten wir bereits schon mehrere Jahren mit Trac, wo sich anhand einer Erweiterung unter anderem die total hours einzelner Tasks ersehen lassen. Inside ist unser bereits so schon beeindruckendes eigenentwickeltes Raketen-Cockpit: es ist gleichzeitig CRM mit Buchhaltungs- und Rechnungsmodul, beinhaltet Wissensmanagement über unsere internen (Wochen-, Developer-, Designer-)Reports und Newsletter und ist Nachschlagewerk für Infos aller Art. Ein wahres Glanzstück (LAMP-basiert). Im letzten Jahr hat es vor allem darin geglänzt uns What’s Up?-Erweiterungen schnell und einfach zu erlauben. Somit war es ein Einfaches, die hochwertigen Daten aus dem Trac für den internen Stream auszuwählen, wofür die erfassten Zeiten das zentrale Element bildet.

Architektur

Wir setzen intern seit einigen Jahren Subversion und Trac ein. Wir hatten diese Applikationen bereits in Ansätzen verdrahtet, aber nun sollten diese Daten wirklich sinnvoll verknüpft werden. So beauftragte ich einen Entwickler, ein schlankes, erweiterbares Pre-/Post-Commit-Framework zu bauen, welches uns erlaubt, auf Basis von PHP die Validierung/ Auswertung der Source-Code-Commits durchzuführen. Es gibt zwar bereits ähnliche SVN hook frameworks, die sehr interessant und quell-offen sind, aber es fehlte die nötige Flexibilität und Ausbaubarkeit, die ich mir wünschte.

Kaum integriert, konnte damit nun ein Entwickler in seiner Entwicklungsumgebung mit Commit-Nachrichten wie

Fixed annoying bug with latest change, fixes #22 (0.25)

direkt aus dem Eclipse oder jegliche andere IDE melden, dass er Ticket 22 im aktiven Projekt schliesst und dafür eine Viertelstunde brauchte. Als schöner Nebeneffekt wird diese Nachricht dem Ticket addiert und auf den effektiven Changeset automagisch verlinkt. Diesen Produzenten-Output konnte früher nur ein Ticket-Involvierter per E-Mail erfahren, nun können alle daran teilhaben – und es “liken” (Stichwort Gamification!). Das macht richtig Spass die Entwickler wollten weitere Hooks einbauen wie refs, reassign. So gab es sogar noch mehr Möglichkeiten, aus der IDE heraus Kommandos über Commits auszuführen.

Für alle Mitarbeiter, die keine Commits ausführen, sondern direkt in den Issue-Tracker schreiben, wurde die einfache Lösung gefunden, Trac mit einem kleinen Plug-In (in Python) zu erweitern sodass Änderungen an Tickets, die von Hand eingepflegt werden, ebenfalls an den What’s Up?-Nachrichtenstrom gesandt wurden. Das Bild wurde damit komplett.

Den Stream integrierten wir nicht nur als feste Seite in unser Intranet, sondern auch noch separat als beeindruckende Full-Screen-Version auf einer mit Google Chrome ausgestatteten Konsole, damit wir mit den neuesten HTML5 und CSS3-Features experimentieren konnten.

Fazit und Ausblick

Die Idee funktionierte super und es ist cool unsere Avatare über das Display flitzen zu sehen! Wir arbeiten smooth in unserem bisherigen Workflow und generieren dabei Daten von ausgezeichneter Qualität für ein faktenbasiertes und zielgerichtetes Management. Und das mit perfekter Passung auf unsere Unternehmenskultur bei der wir grössten Wert auf Selbstverantwortung und darauf basierend Vertrauen und Flexibilität legen.

Die Lösung ist also einfach und günstig – und zeigt den Wert durchdachter Konzepte kombiniert mit Skills. So wie’s aussieht werden wir bei nächster Gelegenheit weiter damit herumspielen. Neben der weiteren Gamification im Umgang mit What’s Up? werden wir in einem nächsten Schritt neben einem mobilen Client (für GPS-kodierte Check-Ins bei Kunden/ im Ausseneinsatz) auch vermehrt Daten-Visualisierungen anpacken, um unsere Werte besser verstehen bzw. interpretieren zu können, denn die Datenbasis wächst und wird immer interessanter! Mittelfristig werden wir auch das gute, bewährte Subversion mit Git ersetzen, da unsere Bedürfnisse schon länger nach einem distribuierten Versionierungssystem rufen. In diesem Prozess werden mit Sicherheit weitere, interessante Verfeinerungsmöglichkeiten auftauchen! Auch Gimmicks wie Sound-Effekte sind möglich, z.B. wenn ein Projekt-Milestone geschlossen wird oder ein Blocker-Bug in einem Projekt auftaucht. Mit Sprachausgabe (bei einem Check-In: “Welcome, [Name]” sind wir auch schon am Experimentieren – HAL 9000 lässt grüssen!