Direkt zum Hauptbereich

Eine Anleitung zum Einstieg in kontinuierliche Verbesserung

Kennen Sie das? Das Projekt dauert schon viel zu lang, das Produkt ist viel zu teuer, die Prozesse sind zäh und fehlerbehaftet. Da müsste doch regelmäßiges Verbessern helfen. Aber wie geht man genau vor? Regelmäßiges Verbessern heißt nicht, wahllos Ideen auszuprobieren. Das würde viel zu lang dauern. Die folgende Anleitung setzt beim gemeinsamen Lernen an.

"Jan, hast Du nicht noch einen Tipp für uns, wie wir die Performance steigern können?", fragte mich vor kurzem ein Scrum Master. Da frage ich mich wiederum, wieso die Idee von mir kommen soll und nicht vom Team, das die höhere Leistung braucht. Selbstmanagement bedeutet nicht nur das Recht, sondern auch die Pflicht, sich um die eigene Arbeitsweise zu kümmern. Vielleicht wissen die Teams noch gar nicht, wie man solche Ideen entwickelt.

Problem: Wir verstehen die Probleme gar nicht

Dean L. Gano hat eine gute Anleitung zur Analyse von Grundursachen geschrieben./1/ Er beginnt sein Buch mit einem Bild: Der Chef stürmt in den Teamraum. Jeder wüsste ja, was das Problem sei. Jeder möge nun seine Lösungsvorschläge vortragen. Über den Köpfen sieht man, dass jeder eine andere Vorstellung vom Problem hat.

Der erste Schritt ist also, für ein gemeinsames Verständnis der Lage zu sorgen. Man kann es so machen, wie Gano in seinem Buch vorschlägt. Oder man erstellt ein Fischgrätendiagramm. A3-Berichte sind auch ein schönes Arbeitsmittel.

Ich erstelle gern mit dem Team eine Art Mindmap: Welche Annahmen haben wir über die Einflussfaktoren auf die Performance? Beispiele: Anforderungen sind unklar, Entwickler:innen sind zu doof, Scrum Master:innen sind unfähig, Tools und Prozesse sind zu aufwändig.

Für jeden Punkt werden nun weitere Ideen gesammelt: Warum sind die Anforderungen unklar? Warum sind die Entwickler:innen doof? Interessant wird es ab dem dritten und vierten Ring um das ursprüngliche Problem. Dieser Schritt hilft beim Aufbau einer gemeinsamen Sprache.

Schritt 1: Welche Annahmen haben wir zu unserem Thema?

 

Schritt 2: Was sind die Annahmen hinter den Annahmen?

Haben wir Beweise, Bestätigungen oder andere Daten?

Es ist leicht, Behauptungen aufzustellen. Deswegen ist es im nächsten Schritt wichtig, Beweise für oder gegen jede einzelne Annahme zu finden. Beispiel: Annahme: Enwickler:innen sind zu doof. Gegenbeweis: Die Aussagen im Entwicklerchat bestätigen das nicht. Sie zeigen im Gegenteil eine hohe Fachkompetenz.

Gano weist in seinem Buch darauf hin, dass bei jeder Ursache immer eine Bedingung und eine Aktion zusammenkommen müssen. Brennbares Material brennt erst, wenn genug Sauerstoff da ist und es Zündfunken gibt.

Schritt 3: Welche (Gegen-) Beweise haben wir?

Was ist eigentlich das Ziel?

Wir haben nun erste Annahmen gefunden, für die es tatsächlich Beweise gibt. Bevor wir wieder vorschnell in Lösungen springen, müssen wir etwas abwarten: unabhängig davon, welche Lösung wir entwickeln, brauchen wir ein Verständnis davon, woran wir eine gute Lösung erkennen. Das halten wir nun fest:

  • Alle Entwickler:innen kennen sich in der Fachlichkeit und den Tools aus. Neue Teammitglieder werden systematisch eingearbeitet.
  • Neue Anforderungen sind immer ready, bevor sie in die Sprint Planung aufgenommen werden.
  • Selbst 3.000 Unit-Tests brauchen nicht länger als 1 Minute.

Ohne solche Ziele können wir nicht sicher sein, ob wir uns verbessert haben. 

Was ist, wenn man solche Ziele nicht formulieren kann? Entweder recherchieren wir, ob es veröffentlichte Werte gibt oder wir verfahren nach dem Motto: Das Gute verdoppeln, das Schlechte halbieren.

Schritt 4: Was sind unsere Anforderungen an den Prozess? Wo wollen wir hin?

Was können wir beeinflussen?

Entweder vertiefen wir das Mindmap an der Stelle oder wir erstellen ein neues. Was beeinflusst unser Thema?

  • Annahme: Tools und Prozesse sind zu aufwändig, speziell Merging des Codes
  • Beweise: Aus dem Entwicklerchat und aus den Build-Tools lässt sich ablesen, wenn ein Entwickler den Code fertig zum Mergen meldet und wie lange dann andere Entwickler für den Review brauchen und wann schließlich der Build anläuft.
  • Ziel: Neuer Code kann am gleichen Tag in den Hauptzweig integriert werden.

Was beeinflusst diesen Prozess? Was macht den Prozess aufwändig, was vereinfacht ihn?

  • Inhalt von jeder Code-Änderung
  • Ist der Change atomar?
  • Ort und Umfang der Änderung: Wie viele unterschiedliche Dateien und Anzahl der neuen/geänderten Code-Zeilen
  • Verständlichkeit des Changes für andere, Codierstil, Nutzung von Bibliotheken und Entwurfsmustern
  • Dokumentation, Einleseaufwand
  • Anzahl der Änderungen pro Tag
  • Anzahl der Konflikte beim Mergen
  • Kriterien für den Review und die Freigabe
  • Automatisierbarkeit, Tools
  • Tests
  • ...

Nun haben wir schon mind. 10 Bereiche, in denen das Team experimentieren kann. Hier sammeln wir wieder Ideen. Aber auch hier sollten wir erst sicherstellen, dass alle wissen, was Sache ist. Haben wir das gleiche Bild von den Abläufen? Verstehen wir die Schritte? Haben wir alles in Frage gestellt? 

Vielleicht stellt jemand den Review-Prozess in Frage. Entwickeln im getrennten Feature-Branch ist üblich aber auch zeitaufwändig. In der DevOps-Community gibt es Firmen, die sich davon verabschiedet und auf Trunk-based Development umgestellt haben. Das zieht natürlich erhebliche Änderungen im Programmierstil nach sich, damit die Software auch sicher bleibt.

Dieses Bild gibt uns jederzeit die Übersicht für die nächsten Verbesserrungsrunden.

Auf welche nächsten Experimente einigen wir uns?

Jeff Sutherland erklärt die Sprint Retrospective in einem kurzen Video von OpenView Ventures. Ein wichtiger Schritt, dass sich das ganze Team auf 1-2 Maßnahmen einigt, die es spätestens bis zur nächsten Sprint Retro umsetzt.

Beim Umsetzen sammeln wir Daten und Erkenntnisse, die uns bei den nächsten Verbesserungsschritten unterstützen.

Die Schritte in dieser Anleitung sind in 2 Stunden umsetzbar.

Erfahrungen

Ich habe gute Erfahrungen mit diesem Format gemacht:

  • Die Struktur bietet allen die Gelegenheit mitzumachen.
  • Das Nennen von konkreten Beweisen ist sehr hilfreich und fördert gute Ideen zu Tage.
  • Es kommen konkrete Ergebnisse raus.
  • Das Erarbeiten der Zielzustände macht Spass.

Ihr wollt mehr über Scrum wissen? Wir haben eine Übersichtsseite zu Scrum, über die man sich in die wichtigsten Artikel in diesem Blog einlesen kann.

Anmerkungen

  • /1/ Gano, Dean L. Apollo root cause analysis: a new way of thinking. Apollonian Publ., 2007.

Kommentare

Beliebte Posts aus diesem Blog

Microsoft Teams: Die neuen Besprechungsnotizen - Loop-Komponenten

  Haben Sie in letzter Zeit in einer Teams-Besprechung die Notizen geöffnet? Dort sind inzwischen die Loop-Komponenten hinterlegt. Die sind zwar etwas nützlicher als das, was zuvor zur Verfügung stand. Trotzdem ist noch Luft nach oben. Und es gibt sogar einige ernstzunehmende Stolperfallen. Hier ein erster, kritischer Blick auf das was Sie damit tun können. Und auch darauf, was Sie besser sein lassen.

Agile Sternbilder: Die Entdeckung kosmischer Agilitäts-Superkräfte

Hast du dich je gefragt, ob dein Sternzeichen deine Fähigkeiten in einer agilen Arbeitsumgebung beeinflusst? In diesem Blogpost tauchen wir ein in die faszinierende Welt der Astrologie und ihre mögliche Verbindung zu modernen Arbeitsweisen. Entdecke, wie die Sterne deine agilen Stärken prägen könnten. Ob überzeugter Agilist oder neugieriger Sternzeichenliebhaber – dieser Artikel kann dir neue Perspektiven eröffnen und vielleicht sogar dein nächstes Teamprojekt inspirieren!

Den passenden Job finden

Hier teile ich, wie ich daran arbeite, endlich den richtigen Job zu finden. Kleingedrucktes: Dieser Artikel richtet sich (natürlich) an jene, die gerade in der luxuriösen Position sind, dass sie nicht jedes Angebot annehmen müssen. Anstatt von Engagement zu Engagement zu hetzen und frustriert zu sein über Konzernstrukturen, fehlende Ausrichtung und die Erkenntnis, dass in einem selbst beständig die Hintergrundfrage nagt, ob es das ist, womit man seine immer knapper werdende Lebenszeit wirklich verbringen möchte, gibt es manchmal auch die Möglichkeit, die nächste berufliche Station etwas nachhaltiger auszusuchen - auch, um tatsächlich (etwas) mehr beitragen zu können.

Die Microsoft Teams-Not-To-Do-Liste

Viele hoffen, dass es  für die Einrichtung von Microsoft Teams  den Königsweg gibt, den perfekten Plan – doch den gibt es leider (oder glücklicherweise?) nicht. Genauso wenig, wie es jemals einen Masterplan für die Organisation von Gruppenlaufwerken gab, gibt oder je geben wird. Was gut und vernünftig ist hängt von vielen Faktoren und ganz besonders den Unternehmensprozessen ab. Sicher ist nur eines: Von alleine entsteht keine vernünftige Struktur und schon gar keine Ordnung. Dafür braucht es klare Entscheidungen.

Agilität ist tot. Ausgerechnet jetzt?

Agilität wird zurückgefahren, Hierarchien kehren zurück. Doch ist das wirklich der richtige Weg in einer Welt, die immer unberechenbarer wird? Oder erleben wir gerade eine riskante Rolle rückwärts?

Wie beschreibt man einen Workshop für eine Konferenz?

Konferenzen bieten immer ein gutes Forum, um sein Wissen und seine Erfahrungen zu teilen. Was für die Vortragenden selbstverständlich scheint, ist für die Besucher:innen oft unverständlich. Wie können Vortragende ihren Workshop in 2-3 Sätzen beschreiben, damit die Besucher:innen schnell einschätzen können, er sich für sie lohnt?

Gemeinsam eine Anwenderdokumentation erstellen

Unternehmenssoftware ist ein wichtiges Bindeglied zwischen Anwenderinnen und Anwendern, den Unternehmensprozessen und den Ergebnissen. Normalerweise schreibt der Hersteller der Software die Dokumentation für diejenigen, die die Software benutzen. Wenn die Software allerdings stark angepasst wurde, muss die Dokumentation von denen kommen, die die Prozessmaschine am besten verstehen - den Anwenderinnen und Anwendern. Wie könnte man das praktisch machen?

Der Softwareeisberg, die Softwarepyramide - Wie sprechen wir über neue Software?

Software ist aus den Geschäftsprozessen vieler Unternehmen nicht mehr wegzudenken. Sie verwaltet Kunden- und Produktdaten. Sie automatisiert Abläufe und verhindert Fehler. Aber Software veraltet. Was machen wir, wenn wir Unternehmenssoftware erneuern müssen? Von den ersten Konzepten bis zum ersten Release ist es ein weiter Weg, mit vielen Entscheidungen. Wie sprechen wir über diese Entscheidungen?