Der Reise-Butler ist die Smartphone-App für den wissbegierigen Reisenden und Fallbeispiel für die Methode CARDS+.


Verena trifft sich mit Moritz, um sich über den aktuellen Stand im SE-Projekt zu informieren. Sie will vor allem wissen, wie gut die Studierenden aus dem Team der TU Darmstadt nach Moritz’ persönlicher Einschätzung sind. Denn eine ihrer wichtigsten Gründe für die Finanzierung des SE-Projektes war die Chance, aus mindestens einem von ihnen einen neuen Mitarbeiter zu machen. Verena hört sich Moritz’ Feedback zu jedem einzelnen Studierenden an. Sie nimmt auch den Eindruck mit, dass der “team spirit” stimmt, nicht nur innerhalb des Teams, sondern insbesondere auch in der Zusammenarbeit mit Moritz. Grundsätzlich ist Verena zufrieden. Sie erklärt Moritz erneut, wie wichtig der Gewinn neuer Mitarbeiter ist.

Moritz hat seine eigene Agenda. Er will mit Verena die Möglichkeiten besprechen, eine bessere Unterstützung für CARDS+ zu entwickeln. In sehr kompakter Form erläutert er Verena die Vorteile der Kombination von Confluence-Makros zur Anzeige von Dateien im Anhang einer Confluence-Seite und ein Gradle-Plugin in der CI-Pipeline zum Hochladen der Dateien. In Anlehnung an den Namen der Methode verwendet Moritz den Arbeitstitel CARDS+ Stack. Die wörtliche Übersetzungen Kartenstapel passt ganz gut zu den anderen Metaphern.

CARDS+ als Name hat sich aus der ursprünglichen Idee der Karten (englisch: cards) von XP entwickelt. Das Plus-Zeichen steht für Weiterentwicklung. “Mit CARDS+ haben wir die besseren Karten” ist ein Leitspruch der Methode.

Die Karte ist die Metapher für eine Seite im Wiki. Die Methode macht Vorgaben und definiert Strukturen für Inhalt und Gestaltung von Seiten. Wie in der ursprünglichen Idee von XP besitzen wir mit den Seiten kompakte “Karten” für die Kommunikation.

Das Kartenhaus ist eine Metapher für die Produktdokumentation. Es ist eine wesentliche Eigenschaft der Methode CARDS+, dass die Bausteine der Produktdokumentation wie die Karten eines Kartenhauses (englisch: house of cards) aufeinander aufbauen. Jede Karte muss in einer bestimmten Reihenfolge in einer festgelegten Art und Weise aufgestellt werden, um am Ende ein vollständiges Kartenhaus zu bilden.

Weiterlesen auf cardsplus.info

Gleichzeitig ist der Begriff “stack” auch ein Hinweis auf den Technologie-Stack mit Confluence, Gradle, Git und Asciidoc. Natürlich fragt Verena nach dem Aufwand für die Realisierung für so einen Software-Stack.

Moritz kann nur sagen, dass es nicht in ein paar Stunden erledigt ist. Er ist aber aufgrund der Recherchen in den letzten drei Tagen überzeugt, dass sowohl das Confluence-Makro als auch das Gradle-Plugin definitiv umsetzbar ist. Die Integration in eine CI-Pipeline sollte kein Problem darstellen. Verena fühlt sich damit nicht wohl, kann sich nicht sofort entscheiden, braucht noch Zeit zum Nachdenken. Moritz akzeptiert und schlägt vor, alle seine Ideen in Form von Cases zu dokumentieren – vorerst ohne Lösung.

Moritz hat noch eine weiteren Punkt, den er gerne mit Verena besprechen möchte. Eigentlich ist es eher eine Idee. Der Reise-Butler ist eine Anwendung, die jeder Mensch versteht, der schon einmal eine längere Reise mit dem Zug unternommen hat. Manche Freunde oder Kollegen, denen Moritz die Idee des Reise-Butlers erzählt hat, würden so eine App sogar nutzen wollen. Auf jeden Fall könnte ein Produkt Reise-Butler der Grundstein für ein Ausbildungsprojekt sein. Und damit ist Moritz beim Kern seiner Idee.

« Der Reise-Butler ist als Anwendung komplex genug und für junge Entwickler mit Sicherheit eine Herausforderung. Der Problemraum ist ausreichend groß, um viele moderne Technologien sinnvoll einsetzen zu können. », erklärt Moritz.

Verena wirkt interessiert und läßt Moritz weiterreden.

« Nimm als Beispiel unsere neue Infrastruktur mit Kubernetes und Rancher. Mit dem Reise-Butler können wir Erfahrung sammeln für unsere kundenwirksamen Projekte. Wir können das Datenvolumen praktisch beliebig steigern. Das Produkt ist ausreichend komplex, um auch potentielle Probleme in der Infrastruktur aufzudecken. Wir üben den störungsfreien 24 x 7 Betrieb, realisieren eine durchgehende CI-Pipeline und Monitoring. »

« Wer soll das alles programmieren? », fragt Verena.

« Wie gesagt, den Grundstein legen die Studenten der TU. Jetzt. Egal, wie weit sie bis zum Ende des SE-Projektes kommen, wir werden ein lauffähiges Produktinkrement haben. Davon bin ich überzeugt. »

« Reicht der Umfang und die Qualität für ein erfolgreiches Produkt am Markt? »

« Ich rede nicht davon, den Reise-Butler als Produkt zu veröffentlichen. Das ist eine andere Geschichte. Eine Chance. Aber mit dem Reise-Butler können wir viele Technologien ausprobieren oder können praktisch risikolos neue Wege bei der Software-Entwicklung beschreiten. »

Auf die Frage nach konkreten Beispielen erzählt Moritz von einer Benutzerführung mit “natural language processing”. Der Reise-Butler kann mittels Sprachsteuerung bedient werden. Auf die Frage “Welche Burg ist das?” während der Nutzer der App aus dem Fenster schaut, kann die App nach Burgen in der Nähe seines Standortes suchen. Gibt es mehr als einen Treffer, kann die App wie in einem Gespräch einschränkende Rückfragen stellen, bis der Treffer eindeutig ist. Für die Sammlung der Daten zu den interessanten Punkten im Verlauf einer Reise können Ansätze aus den Gebieten “Big Data” und “Deep Learning” herangezogen werden.

« Ah, verstehe. Ein Ausbildungsprojekt mit großem Potential. Und für wen? »

« Prinzipiell für jeden Mitarbeiter. Speziell aber für unsere Junioren. Oder wir vergeben Bachelor- oder Master-Arbeiten an Studierende. Der Reise-Butler hat einen Technologie-Stack, der jedes Kompetenzprofil aufwertet. Sollten wir es schaffen, eine Version des Reise-Butlers produktiv zum Einsatz bringen, hat die Projektreferenz gleich noch einen höheren Wert. Sogar in dem Fall, dass der Reise-Butler kein wirtschaftlicher Erfolg wird. »

« Irgendwer muss das Ausbildungsprojekt koordinieren, oder? »

« Wie du weißt, haben wir CARDS+ bis jetzt ganz konsequent umgesetzt. Die Systembeschreibung ist recht umfangreich. Wir haben ganz viele Cases ohne Lösung. Ein Junior könnte die Aufgabe bekommen, einen solchen Case umzusetzen. Dafür muss er sich in das bestehende Produkt einarbeiten. Das sollte jedem Junior ohne große Unterstützung selbständig gelingen, wenn wir die Qualität von Code, Testfällen und Dokumentation halten. Und jeder Junior muss seinen Beitrag zum Reise-Butler in der gleichen Qualität liefern. »

« Das beantwortet aber nicht meine Frage: Wer koordiniert das Projekt? »

« Wir brauchen kein Projekt. Wir haben ein getestetes Produkt. Wir haben eine Produktbeschreibung. Beides hat jetzt eine gute Qualität. Beides wird laufend weiterentwickelt. Wir brauchen nur einen Product-Owner, der eine Vision hat und ein Backlog pflegt. Und ein Auge auf die Qualität hat. »

Moritz erzählt von seiner Idee für eine Erweiterung des Reise-Butlers auf Reisende im Auto. Der Autofahrer und seine Mitfahrer können auf Autobahnen mit Hinweisen zu Gastronomie, Unterkünften und Sehenswürdigkeiten in der Nähe von Ausfahrten unterstützt. Eine Version für Reisende mit dem Flugzeug ist ebenfalls denkbar, mit nationalen und internationalen Flughäfen.

Verena grübelt: « Du sagst also, ich bekomme ein Produkt, mit dem ich die nächsten Jahre neue, junge Mitarbeiter ausbilden und sie so reif für Kundenprojekte machen kann. Gleichzeitig gibt es die Chance, ein wirtschaftlich erfolgreiches Produkt zu bekommen. Sozusagen als Bonus. Habe die ich dich richtig verstanden? »

Moritz nickt zustimmend. « Allerdings nur, wenn das Produkt gepflegt wird. Und da würde der CARDS+ Stack natürlich eine wesentliche Erleichterung darstellen und den Arbeitsaufwand minimieren. »

Und hier schließt sich der Kreis für Moritz. Die bessere Nutzung von code-nahen Dokumenten im Git-Repository in den Confluence-Seiten der Produktdokumentation hebt die Qualität spürbar und senkt den Aufwand zur Pflege ganz massiv.

« So kann ich mir vorstellen, dauerhaft der Product-Owner für den Reise-Butler zu sein. Das geht auch mit begrenzter Zeit. »

Verena muss ihre Gedanken sortieren. Der Funke von Moritz’ Begeisterung sprang offensichtlich noch nicht über auf Verena. Aber seine Argumente hinsichtlich der Ausbildung haben definitiv Eindruck hinterlassen.

Moritz nimmt aus diesem Gespräch eine besondere Aufgabe mit. Er will die minimalen Qualitätsmerkmale definieren, die bereits jetzt das Team der TU berücksichtigen muss, um den neuen Ansprüchen zu genügen.

Zuletzt veröffentlichte Beiträge: