• Teaser Home

    Clean Code Developer School

    Saubere Softwareentwicklung üben – regelmäßig, fokussiert, individuell, angeleitet

Kommunikation zwischendurch mit Slack

Im Präsenztraining, wenn also Trainer und Teilnehmer co-located sind, findet die Kommunikation natürlich vor allem mündlich statt. So sind Geschwindigkeit und Bandbreite maximal. (Zusätzlich kommen auch Code und Tafelbild zum Einsatz.)

Darüber hinaus gibt es dann noch Kommunikation per Email, um einmalig Unterrichtsmaterialien zu verteilen oder mehrfach Hausaufgaben „einzusammeln“.

Das passt erstmal so und ist ganz natürlich. Doch immer wieder haben wir festgestellt, dass es eine Lücke gibt. Mündliche synchrone Kommunikation ist wunderbar in vielen Fällen, schriftliche asynchrone „langlaufende“ Kommunikation per Email ist auch wunderbar in anderen Fällen.

Dazwischen gibt es jedoch noch Fälle, die nach einer „kleinen schriftlichen Kommunikation zwischendurch“ rufen. Beispiele:

  • Der Trainer zeigt eine Aufgabe aus dem Coding Dojo und will den Link allen Teilnehmern zur Verfügung stellen, damit sie auf ihren Rechnern den Text selbst durchblättern können.
  • Ein Teilnehmer recherchiert für die anderen zu einem Thema und will das Ergebnis kurz allen mitteilen.
  • Zu einer Aufgabe soll ad hoc eine Beispieldatei allen Teilnehmern zur Verfügung gestellt werden.
  • Nach dem Training hat ein Teilnehmer eine Frage.

Natürlich lassen sich diese Fälle mit Email bestreiten. Doch das ist irgendwie umständlich. Alle Teilnehmer in die Adressliste eintragen ist nervt, dann fehlt womöglich eine Email-Adresse, die Email landet bei einem Teilnehmer im Spam oder wird von einer wohlmeinenden Server-Policy wegen eines Anhangs blockiert usw. usf.

Email ist schlicht für manche Kommunikationsfälle zu schwergewichtig und zu wenig „dokumentenorientiert“.

Slack to the rescue

Deshalb führen wir bei der CCD School nun den Teamchat mit Slack ein. Slack hat sich seit Jahren für die interne Kommunikation in vielen Projekten bewährt. Nun wollen wir davon auch bei Trainings profitieren.

Jeder Trainingsteilnehmer wird zu einem Slack-Team für alle Trainings der CCD School eingeladen.

In diesem Team gibt es für jedes Training einen privaten Channel. Der ist für die broadcast Kommunikation zwischen den Teilnehmern. Darin können Links und andere Ressourcen gepostet werden; er ist das Medium für Diskussionen – bis es günstig ist, sie in einem anderen Medium weiterzuführen.

Zusätzlich gibt es direkte „Drähte“ zu jedem Teilnehmer (private chat) und es können Chats für Kleingruppen angelegt werden.

Einen Moment haben wir darüber nachgedacht, wie es ankommen mag, dass in diesem Team alle Trainings zusammenlaufen, also sowohl offene wie inhouse. Könnte sich da nicht ein Kunde in seiner „Privatsphäre“ verletzt fühlen?

Theoretisch könnte das sein. Doch wir halten den Fall für sehr selten, so dass wir nicht vorzeitig für ihn optimieren wollen. Sollte er eintreten, schauen wir, wie wir dann damit umgehen. Einstweilen wollen wir jedoch alle Teilnehmer und Kunden motivieren, das einheitliche Team als Chance zu sehen.

Dass ein Unternehmen ein Training durchführt, ist ja auch nicht unmittelbar sichtbar. Jeder Teilnehmer sieht nur die Channels, denen er zugeordnet wird. Lediglich über die Liste aller Mitglieder im Slack-Team ist mit einigen Klicks feststellbar, wer insgesamt dabei ist. Je mehr das dann allerdings sind, desto weniger ist klar, ob sie an einem inhouse oder offenen Training teilnehmen/teilgenommen haben und wann das war. Dass daraus Spam entsteht, ist kaum zu erwarten.

Also sind die Chancen durch eine wachsende Community an Trainingsteilnehmern einstweilen größer als sehr unwahrscheinliche nachteilige Effekte.

Mit jedem Teilnehmer mehr in dem Slack-Team vergrößert sich nämlich die Community derer, die sich mit dem Thema Clean Code Development im Allgemeinen und unserem Lehrstoff im Konkreten beschäftigen. Wer eine Frage hat, hat hier über den Channel #general also eine wachsende Zahl Ansprechpartner jenseits des Kreises seiner Trainingskollegen.

Andererseits können alle von Antworten auf Fragen von einzelnen profitieren, selbst wenn die in einem privaten Channel gestellt worden sein sollten. Denn wenn wir finden, dass eine Antwort von allgemeinem Interesse ist, dann können wir sie (zusammen mit der Frage) in #general posten.

Slack ist unserer Erfahrung nach ein sehr unkompliziertes Werkzeug für die „kleine asynchrone Kommunikation zwischendurch“. Hier lassen sich kurze Mitteilungen verschicken, aber genauso Dokumente „für die Ewigkeit“ hinterlegen.

Slack wird unsere Kommunikation im Training und außerhalb flüssiger gestalten. Darauf freuen wir uns.

 

P.S. Achja, da ist natürlich noch die zu erwartende Klage „Muss denn ein weiteres Tool sein? Haben wir nicht schon genügend am Start?“

Darauf eine Antwort in zwei Teilen:

  • Nein, wir haben noch nicht genügend Tools am Start, wenn diese Kommunikationsfälle noch nicht durch sie abgedeckt sind. Ob man dann Slack oder HipChat oder etwas anderes benutzt, ist natürlich egal. Wir haben uns für Slack entschieden, weil… weil es irgendwie bisher das kleinste Übel war ;-)
  • Slack-Clients gibt es für den Desktop und den Browser. Man kann installieren, muss aber nicht. In jedem Fall ist das in einer Minute getan, sollte also für gestandene Entwickler kein Drama sein. Wer Slack außerhalb des Trainings nicht nutzen will, muss den Client nicht offen haben. Über Email-Benachrichtigungen kann man auf dem Laufenden bleiben, ob sich etwas in den Kanälen getan hat, so dass man nur bei Bedarf das Tool wieder anwerfen muss.

Angesichts der Einfachheit und Nützlichkeit von Slack glauben wir, dass der kleine Mehraufwand sich mehr als lohnt.

Und vielleicht lernt der eine oder die andere es ja auch genauso schätzen wie wir ;-) Etwas Neues muss ja nicht gleich nachteilig sein, oder?

Die Flexibilität, sich leicht auf Slack einzulassen, könnte sogar ein Zeichen dafür sein, bereit für echtes Clean Code Development zu sein. Denn dabei geht es auch um flüssige Reaktion auf Neues und Weiterentwicklung. Clean Code Development beginnt im Kopf!