Von CodeCampern für CodeCamper – Agilität und Scrum

Ein Blogeintrag von Christina

Bei uns im Camp steht der Mensch im Mittelpunkt. Jedes einzelne Crewmitglied ist wichtig. Kein Problem ist das Problem eines Anderen. Genau deswegen ist es auch so wichtig, dass wir alle im selben Boot sitzen, was unsere Arbeitsweise und Ziele angeht. Dafür haben wir verschiedene Formate, wie unsere Community of Practice oder unsere Each1Teach1 – von CodeCampern für CodeCamper. Da wir im CodeCamp:N agil nach Scrum arbeiten, haben unsere Agile-Profis zwei Workshops zum Thema Agile und Scrum Foundations für unsere neuen CodeCamper entworfen, organisiert und durchgeführt. Diese Workshops sind Teil des Onboardings, sodass alle Crewmitglieder von Anfang an als eine Crew am selben Strang ziehen.

Damit aber nicht nur wir etwas dadurch gelernt haben, geben wir euch in diesem Blogbeitrag einen kleinen Überblick darüber, wie wir gelernt haben, was agiles Arbeiten und Scrum überhaupt ist.

Tag 1: Agile Softwareentwicklung

Der rote Faden, der sich durch unsere beiden Workshop-Tage gezogen hat, war unser aktives Mitwirken, denn die Coaches haben keinen Frontalunterricht von 12 – 17 Uhr abgehalten. Auch wenn Frontalunterricht sicherlich seine Vorteile hat, kommt sehr oft die aktive und interaktive Komponente zu kurz, denn die Teilnehmer können nicht untereinander kommunizieren und Coaches können nur schwer auf individuelle Bedürfnisse eingehen. Unsere erste Aufgabe im Workshop war es gemeinsam anhand eines Lückentextes das Manifest der agilen Softwareentwicklung zu erarbeiten. Betrachtet man dessen Werte und Prinzipien, erkennt man Parallelen zwischen dem agilen Arbeiten und dem Ablauf des Workshops – Learning by Doing.

Denn im Manifest der agilen Softwareentwicklung stellen Individuen und deren Interaktion zentrale Werte dar. Innerhalb einer Crew ist es wichtig, sich in regelmäßigen Abständen und am besten face-to-face zusammenzusetzen. So können Crewmitglieder aufeinander eingehen und innerhalb iterativer Prozesse das Verhalten anpassen, um effektiver arbeiten zu können. Das Verhalten anzupassen und somit auf Veränderungen zu reagieren, wird im agilen Arbeiten als wichtiger eingeschätzt als strikt den Plan zu befolgen. Veränderungen sind auch spät im Entwicklungsprozess willkommen, weil diese immer zum Vorteil aller Beteiligten genutzt werden können. Auch wenn es im Manifest der agilen Softwareentwicklung noch weitere Werte und Prinzipien gibt, wie die Zusammenarbeit mit dem Kunden und diesem früh und kontinuierlich funktionierende Software bereitzustellen, haben wir uns in unserem Workshop hauptsächlich mit den zuerst genannten Werten beschäftigt. Und wie haben wir die verinnerlicht? Mit Lego natürlich.

Wir haben eine Menschenkette gebildet und unsere Aufgabe war es in vorgegebener Zeit so viele Steine wie möglich von A nach B zu transportieren. Dabei wurde uns schnell klar, dass es wenig Sinn hat, dem Push-Prinzip zu folgen, also einen Scrum Master bereitzustellen, der uns die Steine in die Hände drückt, sobald er denkt die Zeit ist reif. Viel besser ist es, Scrum Master als Koordinatoren, Organisatoren und Coaches anzusehen und ganz im Sinne des Pull-Prinzips uns die Entscheidung zu überlassen, wann wir für die nächste Aufgabe bereit sind. Diese Erkenntnis findet man auch im agilen Arbeiten wieder, denn es ist immer besser Individuen zu vertrauen und ihnen das Umfeld und die Unterstützung zu geben, die sie benötigen, um Aufgaben erfolgreich zu erledigen. Außerdem haben wir anhand dieser Aufgabe gemerkt, wie wichtig die Interaktion zwischen uns wirklich ist. Denn hat A eine andere Strategie als B verfolgt, blieben viele Steine auf der Strecke liegen – haben wir uns aber abgestimmt und alle auf dieselbe Weise auf dasselbe Ziel hingearbeitet, konnten wir uns in jedem Durchlauf verbessern.

Unsere Learnings zusammengefasst: Agiles Arbeiten heißt aufeinander eingehen, einander vertrauen und immer bereit sein auf Veränderungen einzugehen. So kann dem Kunden schnellstmöglich und kontinuierlich funktionierende Software, zugeschnitten auf seine Bedürfnisse, angeboten werden.

Tag 2: Scrum Foundations

An unserem zweiten Workshop-Tag ging es weiter mit Scrum, einem Prozess der agilen Softwareentwicklung. Scrum verfolgt logischerweise dieselben Ziele und vertritt dieselben Werte wie die agile Softwareentwicklung – so schnell wie möglich von der Ideenfindung zum Entwicklungsprozess, indem sich die Crew regelmäßig abstimmt und flexibel auf Veränderungen aller Art reagiert. Ziel ist es, dem Kunden kontinuierlich und in kurzen Abständen funktionierende Software vorzulegen.

Um Scrum anwenden zu können, ist wohl oder übel theoretischer Input erforderlich, da wir einige Begrifflichkeiten und Abläufe lernen mussten. Unsere Coaches haben das aber mehr wohl als übel gestaltet und die Scrum Rollen und den Ablauf am Flipchart während dem Erklären visualisiert und so interessant gestaltet. Anschließend kamen auch am zweiten Workshop-Tag wieder Lego Steine zum Einsatz. Einer unserer Coaches ist als Product Owner (PO) aufgetreten und hat uns vor die Aufgabe gestellt eine Startup-Stadt zu bauen, in der Gründer wohnen und ihr Startup aufbauen möchten. Wie geht man also nach Scrum an so eine Aufgabe heran?

Schritt 1: Storymap erstellen – in kleinen Teams haben wir uns überlegt, was nötig ist, um den Anforderungen gerecht zu werden.

Schritt 2: Backlog erstellen und Priorisieren – der PO hat das Backlog erstellt und Vertreter unseres Teams haben zusammen mit ihm die Schätzung vorgenommen, welche Aufgabe wie umfangreich ist.

Schritt 3: Sprintplan erstellen – zusammen haben wir priorisiert, was im ersten Sprint erledigt werden soll.

Schritt 4: Daily – wir haben abgesprochen, wie der Stand der Dinge ist und ob freie Kapazitäten vorhanden sind.

Schritt 5: Retrospektive – innerhalb des Teams haben wir besprochen, was gut und schlecht gelaufen ist und Maßnahmen für den nächsten Sprint festgelegt.

Schritt 6: Review – wir haben Feedback von unserem „Kunden“ erhalten und unser Vorgehen seinen Wünschen angepasst.

….und von vorn! So haben wir insgesamt drei Sprints durchgeführt und konnten dadurch auf spielerische und greifbare Art und Weise den Theorie Input vertiefen.

Unsere Learnings zusammengefasst: Scrum gibt keine Regeln vor, sondern bildet ein Framework mit Richtlinien, die jedes Team an sich anpassen kann, um den für sich besten Prozess zu finden.

Und nun?

Das war natürlich nur ein kleiner Einblick in die Grundlagen des agilen Arbeitens und Scrum. Wenn ihr allerdings Lust habt inhaltlich weiter in die Tiefe zu gehen, empfehlen wir euch unseren Blogbeitrag von Ralph, indem ihr lernt, was Spaceshuttles und Scrum gemeinsam haben. Aber was viel wichtiger ist: Habt ihr auch Lust auf einen solchen Workshop? Dann meldet euch bei uns! Die Türen des Camps stehen immer offen.

Unsere Eindrücke in Bildern