• Teaser Home

    Clean Code Developer School

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

Unsere Arbeitsweise

Unsere Arbeitsweise

Die CCD School findet offline am besten in Unterrichtsblöcken von 1 oder max. 2 Tagen im Abstand von 3-5 Wochen statt. Wir kommen zu Ihnen vor Ort und unterrichten Sie regelmäßig.Voraussetzung ist allerdings, dass die Unterrichtsgruppe auch zwischen diesen Blöcken jede Woche min. 2 Stunden selbstständig lernt. Unterricht und Selbstlernzeit zusammen machen also ca. 20% der Arbeitszeit aus.

Inhalt für diese Selbstlernzeiten ist die Bearbeitung einer Aufgabe aus dem Coding Dojo nach Absprache mit dem Trainer. Als Beleg liefert die Unterrichtsgruppe nach jeder Selbstlernzeit das Folgende in einem git-Repository ab:

  • Entwurfsdokumente, z.B. in Form von Fotos von Flipchartblättern
  • Lauffähigen Code basierend auf dem Entwurf
  • einen Lerntagebucheintrag mit diesen Angaben
    • Was hat die Gruppe gelernt?
    • Wo hat die Gruppe Schwierigkeiten gehabt?
    • Eine Frage zum Unterrichtsstoff
    • Teilnehmerliste der Selbstlernzeit

Die maximale Teilnehmerzahl pro Unterrichtsblock ist 8; optimal sind 4-6 Teilnehmer.

Allen Teilnehmern muss während des Trainings ein Rechner inkl. Entwicklungsumgebung zur Verfügung stehen. Freier und zügiger Internetzugang  ist ebenfalls für die Teilnehmer wie den Trainer nötig. Außerdem sind Flipchart/Whiteboard und Beamer wichtig. Zudem setzen wir Bekanntheit mit der Versionsverwaltung git voraus; jeder Teilnehmer soll fähig sein, ein Repository aufzusetzen (lokal und bei einem online Dienst wie Github oder Gitlab) sowie Änderungen zu committen und zu pushen. Eine kostenlose Einführung in den Umgang mit git finden Sie hier.

Der Unterrichtsraum sollte ausreichend groß sein, so dass die Teilnehmer bequem in U-Form sitzen können. So werden intensive Diskussionen unterstützt. Ferner hat der Trainer auf diese Weise besser Gelegenheit, die Teilnehmer im Einzelgespräch zu unterstützen und während Übungen auf ihren Bildschirm zu schauen.

Für den gemeinsamen Blick auf Code jedes Teilnehmers sollte ein Beamer vorhanden sein, dessen Kabel an jeden Teilnehmerplatz reicht. (Alternativ kann natürluch auch eine Technologie wie ClickShare benutzt werden.)

Die CCD School stellt Lernmaterialien nach Bedarf in Form von Lesestoff, Videos und Übungsaufgaben zur Verfügung. Darüber hinaus sind alle Teilnehmer angehalten, sich selbst Notizen zu machen – auf Papier oder elektronisch. Das Mitschreiben, die Übertragung des Gehörten in eine eigene Form, halten wir für einen wichtigen Bestandteil des Lernprozesses.

Um zügig im Lernstoff voranschreiten zu können, sind gewisse Grundkompetenzen in Bezug auf die Entwicklungsplattform wünschenswert. Alle Teilnehmer sollten vor Trainingsbeginn mit dem Readiness Check ihren Stand in dieser Hinsicht prüfen und ggf. durch gezieltes Studium dieses Handwerkszeugs verbessern.

Der Unterricht ist ein intensiver Dialog. Der soll flüssig und auf Augenhöhe ablaufen. Deshalb duzen sich im Unterricht alle Teilnehmer.

Jenseits der mündlichen Kommunikation im Unterricht gibt es schriftliche Kommunikation mit den Teilnehmern per Email und Slack (s. hier für eine Begründung). Die Email-Adressen der Teilnehmer müssen daher bekannt sein und alle müssen Zugang zum Teamchat-Werkzeug Slack haben. (Für Slack gibt es Desktop-Clients und einen Web-Client.)

Rahmenbedingungen

Die CCD School bemüht sich um Authentizität und Kongruenz. Als Trainer wollen wir nicht nur Prinzipien vermitteln, sondern auch leben. Im Kern geht es dabei Vertrauen und “Agilität”.

Deshalb ist uns auch das Vertrauen zwischen uns und dem Auftraggeber wichtig. Dazu gehören offene Worte, was die Situation der Softwareproduktion angeht, genauso wie der Verzicht auf schriftliche Verträge. Trainings-/Beratungsverträge oder auch förmliche Geheimhaltungsvereinbarungen stehen dem im Wege. Aufträge, die darauf nicht verzichten können, lehnen wir ab. Klarheit und Verlässlichkeit stellen wir lieber auf anderem Wege her.

Ebenso halten wir langfristige, detaillierte Planung im Vorfeld für kontraproduktiv. Die lässt Unterricht erstarren, die verhindert die flexible Reaktion auf Menschen und sich ändernde Situationen. Deshalb finden Sie hier nur grobe Unterrichtsinhalte und keine Agenda. Deshalb vereinbaren wir Termine in zwei Phasen: Anzahl, Dauer und Monat für Termine können quasi beliebig früh vereinbart werden (Grobplanung). Konkrete Tage legen wir jedoch frühestens 2 Monate vor einem gewünschten Monat fest (Feinplanung). So bleiben alle Parteien reaktionsfähig und haben doch ein gemeinsames Ziel.

Wir nehmen dabei bewusst in Kauf, dass dann am einen oder anderen konkreten Tag ein Konflikt für manche Teilnehmer entsteht. Das ist ein Preis, der für Flexibilität zu zahlen ist – und durch regelmäßige Termine kompensiert wird.