Verteiltes Team im Alltag – ein echtes Team mit echten Werten

In diesem Blogbeitrag möchte ich von meinen persönlichen Erfahrungen mit der Arbeit im ersten verteilten Team der Saxonia Systems (seit 03/2020 ZEISS Digital Innovation) in Dresden und Miskolc, Ungarn, berichten. Das Spannende daran ist, dass 60 Personen knapp 1000 km vom Hauptbüro von Saxonia Systems entfernt sitzen und an demselben Projekt arbeiten können wie die Kollegen im Büro neben ihnen. Und doch sind sie ein echtes Team. Für Leute, die die Arbeit in einem verteilten Team nicht kennen, ist zunächst vermutlich nicht ersichtlich, wie diese Art der Zusammenarbeit funktionieren kann. Ich schreibe als Scrum Master eines Teams, dessen eine Hälfte in Dresden sitzt, die andere Hälfte in Miskolc, Ungarn. Dieser Blogbeitrag soll zeigen, wie wir mit der Zusammenarbeit angefangen und wie wir Vertrauen und Mut gewonnen haben, um das Team aufzubauen.

Die ursprüngliche Zusammensetzung sah wie folgt aus: Drei Entwickler und ein Business Analyst aus Dresden, drei Entwickler und ein Scrum Master aus Miskolc. Der deutsche Teil des Teams arbeitete bereits an dem Projekt, aber bis zum Abgabetermin gab es noch sehr viel Arbeit. Unsere anfänglichen Erwartungen an die gemeinsame Arbeit waren sehr unterschiedlich: Am Anfang hatten wir Angst vor der Kamera an der Wand. Wie können wir arbeiten, wenn uns jemand den ganzen Tag beobachtet? Wie kann ein verteiltes Team funktionieren, wenn unsere Deutschkenntnisse nicht so gut sind? Wie können wir mit Kollegen in einer so großen Entfernung arbeiten?

Mehrere Personen stehen vor einem Monitor während Videokonferenz im verteilten Team
Abbildung 1: Kurze Diskussion im Team

Die Zeit war knapp und wir haben schnell die Büros entsprechend des ETEO-Konzepts aufgebaut. Als die Grundlagen fertig waren, hatten wir unser erstes persönliches Treffen. Es waren nur ein paar Tage und diese Reise reichte gerade dazu, um uns gemeinsam ein Bild des Projekts zu machen. Wir dachten, da wir uns nun persönlich getroffen hatten, könnten wir in der Vorbereitung nicht mehr tun – jeder war sich sympathisch. Ab jetzt müssten wir uns auf den Projektanfang konzentrieren und das war’s. Doch wir merkten schnell, dass es nicht so einfach sein würde.

Wir stellten schon bald fest, dass die dauerhafte Videoverbindung nicht die Lösung für verteiltes Arbeiten ist, sondern nur ein Tool, welches das Team bei seiner Arbeit unterstützt. Es ist großartig, dass wir die anderen den ganzen Tag sehen können, aber zunächst würde niemand den Mut haben, sich vor den Fernseher zu stellen. Wie konnten wir von den Teammitgliedern, die sich nur ein- oder zweimal getroffen hatten, erwarten, dass sie sich trauen, eine einfache Frage vor dem ganzen Team zu stellen? Wahrscheinlich wäre die Antwort: Ich möchte die anderen nicht stören. Statt sie zu fragen, werde ich das Problem selbst googeln, oder? Mit etwas Glück werde ich die Antwort innerhalb kurzer Zeit finden, im schlimmsten Fall werde ich Stunden damit verbringen. Ich denke, es ist offensichtlich, dass das Team es sich nicht leisten kann, in solchen Situationen so viel Zeit zu verlieren, wenn es effektiv sein möchte.

Ich denke, diese Art von Mut wird in den Menschen gesteigert, wenn wir uns annähern können, um genug Vertrauen zueinander zu gewinnen. Es ist nicht einfach, Vertrauen aufzubauen ohne persönliche Treffen, informelle Gespräche, gemeinsame Abendessen und Teambuilding-Aktivitäten. Aufgrund meiner Erfahrungen kann ich sagen, dass das Wichtigste, das uns geholfen hat, ein echtes Team mit verteilten Standorten zu bilden, das intensive Reisen zwischen den Standorten in der frühen Phase war. Teammitglieder müssen nebeneinandersitzen, sie müssen wirklich das Gefühl haben, ein Team zu bilden und nicht nur an etwas zusammenzuarbeiten. Später ist es ausreichend, sich alle ein bis zwei Monate einmal zu treffen. Dies sollte jedoch der maximale Zeitabstand sein, denn die Verbindung muss beibehalten werden, da sonst die Produktivität des Teams abnimmt.

Mehrere Personen sitzen lachend am gedeckten Tisch auf Terrasse
Abbildung 2: Abendessen zum Teambuilding

Ein weiteres wichtiges Ziel ist es, agil zu sein. Das klingt zwar nach einem Klischee, hilft dem Team aber dabei, Fortschritte zu machen und seine individuellen Werte aufzuzeigen. Im Folgenden werde ich einige Beispiele anführen, die uns dabei geholfen haben, dorthin zu kommen, wo wir heute sind.

Beispielsweise kam es vor, dass wir anfingen, mit einer neuen Technologie zu arbeiten, die nicht jedem bekannt war. Früher haben wir versucht, das Wissen über Pair Programming Sessions zu teilen, weil es kein spezielles Scrum Meeting für diese Art von Aktivitäten gab. Das Ergebnis einer Retrospektive war daher, dass wir „Developer Cafés“ organisieren mussten, in denen wir jede Woche zusammensaßen und im Team das Wissen über die gewählten Themen austauschen konnten.

Ein weiteres Beispiel ist das Deutschlernen. Unsere Projektsprache ist Englisch, aber das Team hat beschlossen, die täglichen Stand-up Meetings auf Deutsch abzuhalten, weil sie die Sprache lernen möchten. Zwar hört es sich so an, als ob das nur für die ungarischen Kollegen schwierig wäre, aber dem ist nicht so. Es stellt auch für die deutschen Kollegen eine große Verpflichtung dar, da sie langsamer als gewöhnlich sprechen und möglichst einfache Sätze verwenden müssen.

Mehrere Personen sitzen an einem langen Tisch im Konferenzraum
Abbildung 3: Workshop in Dresden

Solche Dinge ergeben sich normalerweise aus der Retrospektive, der wichtigsten Scrum-Zeremonie im Leben des Teams. Wir müssen unsere Probleme im Team klären und uns verbessern. Das ist die beste Gelegenheit, damit sich das Team weiterentwickeln kann. Dabei ist es sehr wichtig, dass das Team manchmal an einem Ort zusammen eine Retro machen kann. Persönliche Treffen helfen dabei, die Teambindung zu stärken – dies ist mein wichtigster Ratschlag. Denn mit der Zeit wird sich das Team weiterentwickeln, es muss nur unterstützt werden und das Gefühl bekommen, ein Team zu sein.

Der Nutzer im Mittelpunkt der Softwareentwicklung

Im Mittelpunkt dieses Blogbeitrags steht die Integration von User Centered Design (UCD) in unseren agilen Softwareentwicklungsprozess bei der Saxonia Systems AG (seit 03/2020 ZEISS Digital Innovation). Dabei wird vor allem auf die Artefakte und Methoden eingegangen, welche dafür sorgen, dass die Software auf den tatsächlichen Nutzer maßgeschneidert wird.

Die Wurzel schlechter Usability

Warum benutzt niemand die neue Software? Wenn diese Frage aufkommt, ist es meist schon viel zu spät. Die Entwicklung ist bereits abgeschlossen und die Nutzer bleiben aus bzw. halten an der alten Lösung fest. Dann ist es wahrscheinlich wieder einmal passiert, dass bei der Aufnahme der Anforderungen Annahmen getroffen wurden, welche an den tatsächlichen Bedürfnissen der Nutzer vorbei gehen. Dies ist ein in der Praxis leider häufig vorkommendes Phänomen, welches sich in schlechter Benutzbarkeit und niedriger Akzeptanz der finalen Software ausdrückt. Ein Lösungsansatz hierfür bietet das User Centered Design (UCD). Dieses stellt die Aufgaben, Eigenschaften und Ziele der zukünftigen Nutzergruppen in den Mittelpunkt des Softwareentwicklungsprozesses, um eine hohe Usability des Endproduktes zu gewährleisten.

User Centered Design

Durch unser agiles Vorgehensmodell sind wir in der Lage, schnell auf Änderungen und neue Anforderungen zu reagieren. Frühes Feedback von zukünftigen Nutzern ist essenziell für eine hohe Benutzbarkeit. Durch Artefakte und Methoden des Usability Engineerings wird unser an Scrum angelehntes Vorgehen so erweitert, dass der Nutzer von Anfang an regelmäßig eingebunden wird.

UCD-Artefakte unseres agilen Vorgehensmodells
Abbildung 1: UCD-Artefakte unseres agilen Vorgehensmodells

Bereits zu Beginn des Projekts werden UCD-Elemente innerhalb der Product Vision verankert. Neben klassischen Bestandteilen, wie beispielsweise dem Projektziel oder der Systemgrenze, sind die Beschreibung der Nutzergruppen und des Nutzungskontexts sinnvolle UCD-Ergänzungen.

Im Product Backlog gibt es neben User Stories und technischen Spikes explizit Platz für Design Spikes, welche es dem Team erlauben, sich intensiv mit komplexen Usability-Themen zu befassen. Hierbei werden beispielsweise verschiedene Prototypen als Entscheidungsgrundlage entworfen oder Nutzerstudien konzipiert und durchgeführt.

In den beiden Scrum-Artefakten Definition of Ready und Definition of Done sind zusätzliche Qualitätsschranken integriert, um zu garantieren, dass die Software die zukünftigen Nutzungsanforderungen erfüllt. Durch vorgelagertes Prototyping ermitteln unsere Usability-Experten schon vor der Umsetzung, ob die Anforderungen zu den Bedürfnissen der Nutzer passen.

Bevor User Stories für ihre Umsetzung bereit sind, werden sie mit Skizzen, Mockups oder Designs (als Output aus dem Prototyp) erweitert. Diese verdeutlichen die zu implementierenden Funktionen für das Entwicklungsteam visuell. Sofern sie angewendet werden können, sind auch Prozessmodelle enthalten, um komplexe Abläufe zu veranschaulichen.

User Stories gelten aus UCD-Sicht als abgeschlossen, wenn die Usability-Prinzipien eingehalten wurden. Dies kann durch eine Experten-Evaluation überprüft werden. Dabei untersucht der Usability Engineer die neue Funktion heuristisch auf die Einhaltung von Richtlinien. Zusätzlich wird geprüft, ob der Styleguide eingehalten wurde und so die Konsistenz der Anwendung sichergestellt ist.

Zur Ablage von Usability-relevantem Hintergrundwissen empfiehlt sich ein zentraler Sammelort (Project Knowledge Base), z. B. in Form eines Team-Wikis.

Somit kann sich das Team jederzeit über das ermittelte Nutzerfeedback und den aktuellen Stand aus UCD-Sicht informieren. Empfehlenswerte Inhalte sind:

  • Informationsarchitektur
  • Domänenmodell
  • Systemdokumentation
  • Studien- und Testergebnisse, z. B. Nutzerstudien und CUI-Tracking
  • Personas

Wie in den obigen Abschnitten deutlich wird, beziehen wir den Nutzer an zahlreichen Stellen bei der Entwicklung von Individualsoftware ein. Unserer Erfahrung nach ist dies für eine hohe Nutzbarkeit und die Akzeptanz des Endprodukts essenziell. Durch das frühzeitige Einholen von Nutzerfeedback mit agilen und leichtgewichtigen Methoden können Sie die anfängliche Frage „Warum benutzt niemand die neue Software?“ aus ihrem Wortschatz streichen, denn der Nutzer ist der Schlüssel zum Erfolg.

Von Sprint zu Sprint – mein Weg zum Scrum Master

In meinem Blogbeitrag beschreibe ich euch meinen Weg zum Scrum Master und zeige, wie genau sich ein solcher Rollenwechsel gestalten kann. Dabei gebe ich euch ein paar Tipps mit auf den Weg und unterhaltsam ist es hoffentlich auch.

Scrum Master im Arbeitsraum

Viele von uns werden es kennen: Ein neues Projekt beginnt, neue Kollegen kommen auf einen zu, neue Netzwerke, Tools etc. Als Consultant beginnt man, sich mit der neuen Umgebung anzufreunden. Als Spezialist werde ich trotz aller neuen Variablen einen guten Job abliefern. Interessant wird es immer dann, wenn ich meine Spezialistenrolle verlasse und somit auch aus meiner Komfortzone heraustrete. Wie wäre es an dieser Stelle, mal in eine neue Aufgabe zu schlüpfen? Eine Rolle, die indirekt einen Einfluss auf das Projektteam haben kann und sollte?

Erster Sprint: Aller Anfang ist schwer oder wie war das?

Mit anfangs unruhigen Nächten war zu rechnen. Viele Fragen und Ideen rund um den Scrum Master standen im Raum: Wo fange ich mit meiner Arbeit an? Was denkt das Team darüber? Was zur Hölle muss ich eigentlich genau tun?

Es hat etwas Gutes, dass einem so viele Gedanken in den Kopf kommen – abgesehen vom fehlenden Schlaf. Alle Fragen, die ich mir selbst stelle, will ich auch beantwortet haben.

Tipp 1: Klärt offene Fragen schnellstmöglich, dann gewinnt ihr immer mehr an Sicherheit.

Mittlerweile kann ich sagen, dass man nicht alle Fragen allein beantworten muss. Unterstützung wird man auf Nachfrage bekommen.

Zweiter Sprint: Die Vorbereitungsphase

Das theoretische Wissen zu einer neuen Aufgabe konnte ich mir schnell aneignen. Ich habe mich hierbei mit dem agilen Manifest (das must know für Scrum Master) mit Podcasts, Blogs und Fachzeitschriften beschäftigt.

Theorie ist gut und bildet auch die Grundlage, aber ohne ihre praktische Anwendung ist diese nicht viel wert. Werte wie Vertrauen und Empathie kommen in der Rolle stärker ins Spiel. Was einem bewusst sein muss, ist, dass man als Scrum Master ohne das Team nicht wirklich etwas bewegen kann. Daher wollte ich hier beginnen und meinen Fokus ansetzen. Vielleicht konnte ich ja schon vorher mit Kollegen aus dem neuen Projekt ins Gespräch kommen?

Tipp 2: Es ist kein Problem offen zuzugeben, dass man noch nicht x Projekte als Scrum Master durchgeführt hat. Gegebenenfalls animiert es das Team sogar, die neuen Wege gemeinsam zu gehen.

Dritter Sprint: Der Start

Meine Arbeit begann mit der Vorstellung im Team. Wie in Sprint 2 beschrieben hatte ich das aber bereits getan. Also ging es in erster Linie darum, was ich für das Team beisteuern werde. Organisator, Moderator, Unterstützer und noch einige Worte mehr kamen dabei auf. Überraschend war das nicht. In Sprint 1 und 2 sind diese Worte oft vorgekommen, wenn es um die Aufgaben eines Scrum Masters ging.

Im nächsten Schritt galt es, die ganzen Informationen, die ich gelesen und gehört hatte, auch im Arbeitsalltag anzuwenden. Hier brauchte ich definitiv Menschen, die in dem Bereich Erfahrung hatten – Ansprechpartner, welche mich durch die erste Zeit begleiteten. An dieser Stelle geht noch mal ein Dank an meinen Coach Ines. Ich konnte ersten Reviews und Plannings beiwohnen mit anschließender Auswertung und Coaching. Langsam bekam ich eine Vorstellung von dem, was alles auf mich zukommen würde.

Eine der ersten Lektüren, die ich zu Beginn gelesen habe, war „Was macht der Scrum Master den ganzen Tag“ von Henning Wolf. Bald konnte ich diese Lektüre zur Seite legen. Es war weit mehr, als ich dachte.

Tipp 3: Fragt euch als Scrum Master nicht nur am Anfang, sondern in jeder Iteration: „Was habe ich dazu beigetragen, dass unser Team besser wird?“

Vierter Sprint: Do It!

In meinen ersten Tagen als Scrum Master war es meine Aufgabe, die Rahmenbedingungen für Verbesserungen im Team zu schaffen. Durch die enge Zusammenarbeit mit dem Business Analysten (Unterstützer des kundenseitigen Product Owners) und dem Team konnten wir schnell offene Punkte identifizieren. Hier war das Wasser, in das ich gesprungen war, nicht ganz so kalt. Wir optimierten nach und nach Terminketten, passten Abläufe an und erarbeiteten neue Ideen mit dem Team, die uns in der Arbeit voranbringen sollten. Neben dem Organisatorischen stand auch meine erste Retrospektive an. Ich denke, man kann sich vorstellen, dass dies ein ziemlich aufregender Termin für mich war.

Sahen die ersten Versuche am Flipchart noch ziemlich, naja sagen wir mal, „bescheiden“ aus, konnte das im Laufe der Zeit stetig verbessert werden.

Beispiele für Flipchart-Coaching

Tipp 4: Besucht ein Flipchart-Coaching, wenn sich euch die Gelegenheit bietet – schon mit ein paar Tricks könnt ihr eure Präsentation entscheidend verbessern.

Fünfter Sprint: Zusammenfassung

Es fällt mir jetzt nicht schwer, die anfangs erwähnte Frage von Henning Wolf „Was macht der Scrum Master den ganzen Tag“ zu beantworten. Es ist eine ständige Herausforderung an den Scrum Master und damit an mich, für das Team optimale Unterstützung zu leisten und sich dabei kontinuierlich weiter zu entwickeln.

Meine Zertifizierung „CSM“ konnte ich erfolgreich absolvieren, was aber sicher nicht der letzte Meilenstein gewesen sein soll.

Tipp 5: Die Ausbildung zum Scrum Master und das agile Arbeiten sind „easy to learn but hard to master“.

Soll heißen, die Werkzeuge bzw. die Theorie sind schnell angelegt, das tägliche Arbeiten damit ist jedoch die erst die eigentliche Herausforderung. Denn es bedeutet, Tag für Tag das oben beschriebene Procedere durchzusetzen und das richtige „Denken“ ins Team zu bringen. Aber genau das macht die Rolle als Scrum Master auch so spannend und lehrreich.

Ich freue mich auf all das Kommende in meiner neuen Rolle und natürlich auch auf weitere Scrum Master Kollegen. 😉 Wenn Du also auch Interesse hast, zukünftig als Scrum Master unser Team zu unterstützen, dann melde Dich gerne bei unserem Personalteam unter jobs.digitalinnovation@zeiss.com.

Erfolgreiche Kooperation mit Studenten der Hochschule Zittau/Görlitz

Zum Abschluss des Moduls Softwareengineering im Informatikstudium an der Hochschule Zittau/Görlitz ist ein dreimonatiges Praxisprojekt vorgesehen, in dem Studenten ihre in den vergangenen Lehrveranstaltungen erworbenen Fähigkeiten unter Beweis stellen müssen. Für die Studenten am Hochschulstandort Görlitz ergibt sich der günstige Umstand, dass in der Stadt mehrere kooperationswillige IT-Firmen ansässig sind. So hat sich auch Saxonia Systems (seit 03/2020 ZEISS Digital Innovation) bereiterklärt, eine Gruppe von Studenten bei ihrem Praxisprojekt zu unterstützen.

Mit dem Ziel, den Studenten einen realistischen Einblick in die agile Softwareentwicklung zu gewähren, hat sich Saxonia dazu entschieden, das bewährte Vorgehensmodell Scrum anzuwenden. Dabei werden von einem Entwicklerteam unter Leitung des Scrum-Masters in Iterationen bzw. Sprints Softwareinkremente entwickelt, die dem Kunden von Beginn an einen gewissen Mehrwert bieten. Mit jedem Softwareinkrement werden neue Funktionalitäten entsprechend der Priorisierung des Kunden umgesetzt. Die Aufgaben des IT-Unternehmens bestehen darin, das Thema des Projekts vorzugeben und die Rolle des Product Owners einzunehmen. Somit repräsentiert Saxonia Systems den Kunden, der gegenüber dem Scrum-Team durch den Product Owner in Person von Nico Förster (Softwareentwickler) vertreten wurde. Das Scrum-Team setzte sich hauptsächlich aus den drei Studenten Marco Gotthans (Scrum-Master und Entwickler), Paul Bachmann und Johannes Thies (beide Softwareentwickler) zusammen, welche sich folgender Herausforderung stellten:

Es wird eine Software angefordert, die den Benutzer bei der Auswahl und Bestellung von Pizza unterstützt. Dafür sind die Speisekarten von drei Görlitzer Pizzalieferdiensten im Programm zu hinterlegen und auch Besonderheiten wie Pizzapakete und Rabatte zu berücksichtigen. Der Benutzer hat die Möglichkeit, die Anzahl an Personen und die durchschnittlich verspeiste Pizzamenge anzugeben und erhält anhand dieser Eingaben eine optimale Pizzabestellung (bestes Preis-Leistungsverhältnis) zu jeder der drei Pizzerien ausgegeben. Da diese Bestellung zwar den Pizzabedarf deckt, jedoch unter Umständen wenig abwechslungsreich ist, soll der Benutzer die Möglichkeit haben, das Ergebnis durchzuwürfeln. Dadurch werden zufällig unterschiedliche Pizzen ausgewählt, so dass die Bestellung immer noch den Bedarf deckt, jedoch teurer ausfallen kann. Die Software soll auch einen Maximalbetrag berücksichtigen können, um ein gewisses Budget nicht zu überschreiten. Die letzte Anforderung bestand darin, durchgeführte Bestellungen speichern zu können, um sie später z.B. für Abrechnungszwecke erneut aufrufen zu können. Bei der Auswahl der Technologien wurde den Studenten freie Wahl gelassen, so dass sie sich für eine Spring Applikation mit Webfrontend entschieden. Es wurde folgender Technologiestack verwendet: Java, Spring Boot, Hibernate, H2- und MySQL-Datenbank, Thymeleaf, Lombok, HTML, JavaScript.

Bereits am Ende der ersten Iteration konnte das Team dem Product Owner ein überraschend umfangreiches Softwareprodukt präsentieren. Die Optik des Webfrontends hat direkt überzeugt, da sie sich am Design der Saxonia Webseite orientiert. Nach der Abnahme des Inkrements durch den Product Owner wurden durch selbigen die zu realisierenden Anforderungen für das nächste Softwareinkrement vorgestellt. Aufgetretene Fragen wurden gemeinsam geklärt, Probleme und Vorgehensweisen diskutiert. Bei der im Anschluss stattfindenden Retrospektive erhielt das Scrum-Team wertvolle Unterstützung vom Saxonia Mitarbeiter Michael Klose (Softwareentwickler), welcher durch jahrelange Projekterfahrung und die Vorstellung verschiedener Varianten der Scrum-Retrospektive das Praxisprojekt bereicherte.

Mit jedem Sprint im Zweiwochenrhythmus wuchs der Funktionsumfang der Anwendung zur Zufriedenheit des Product Owners. Bei Test und Probebestellungen wurde deutlich, dass sich der ein oder andere Bug eingeschlichen hatte und das Scrum-Team selbst den Drang nach Refactorings (Verbesserung und Härtung des Programmcodes) verspürte. Fehlende Softwaretest (Unit Tests) erschwerten die Refaktorisierung und hätten bereits präventiv Bugs, vor allem in der Berechnungslogik verhindern können. Michael Klose und ich haben auf Wunsch des Teams auch ein Code-Review durchgeführt, dessen Ergebnisse dankend aufgenommen und entsprechende Verbesserungen vorgenommen wurden.

Das finale Produkt wurde sowohl bei der Abschlusspräsentation in der Hochschule Zittau/Görlitz, als auch im Rahmen eines Meetings am Standort Görlitz der Saxonia Systems vorgestellt. Die Reaktionen waren durchweg positiv und das Team hat zu Recht Lob für die gute Arbeit erhalten. Besonders wichtig ist es, dass den Studenten die Vorteile von bewährten Verfahren der Softwareentwicklung wie Scrum, Test-Driven-Development, Clean Code und Refactorings vermittelt wurden. Die intensive Betreuung durch Saxonia, die deutlich über die Anforderungen der Hochschule an das Unternehmen hinausging, hat sich am Ende bezahlt gemacht. Die Studenten haben wertvolle Praxiserfahrungen sammeln können und Saxonia hat im Gegenzug ein optisch und funktional tolles Produkt erhalten, wie die nachfolgenden Bilder beweisen.

Pizza bestellen
Empfohlene Bestellung
Auswahl Pizza
Bestellhistorie

Erfolgreiche Kooperation zwischen Studenten der Hochschule Zittau/Görlitz und Saxonia Systems!!!

Paartherapie – Dienstleister erfolgreich integrieren

In einer Studie der Capgemini (Capgemini Consulting, 2016) benennen die Befragten „Zu wenig Mitarbeiter mit entsprechendem Know-how“ als größte Hürde der Digitalisierung in ihrem Unternehmen. Nicht selten versucht man, diesem Problem durch die Integration eines oder mehrerer externer Dienstleister beizukommen. Aus gleicher Studie geht zudem hervor, dass diese Dienstleister zusehends in Bereichen oder Projekten eingesetzt werden, in denen innovative Lösungen geschaffen werden sollen. Vermutlich in diesem Zusammenhang gehen durchschnittlich bereits 23,3% der Befragten in Projekten nach agilen Frameworks, Methodiken oder Philosophien wie Scrum, Kanban, DevOps oder Scaled Agile Framework vor.

Wir setzen als Dienstleistungsunternehmen schon seit Langem auf agile Vorgehensweisen. Seit 2013 bilden wir gemischte Teams aus Auftraggeber und Dienstleister nach unserem Konzept für verteilte agile Entwicklung: Ein Team, ein Office, kurz ETEO und geben diesen Teams Werkzeuge und Good Practices für diese anfangs außergewöhnliche Arbeitssituation an die Hand. Das Konzept bedient sich der Erkenntnisse aus der Befragung unserer Teams, die bereits nach diesem Muster arbeiteten und wurde anschließend in einem crossfunktionalen Team wissenschaftlich fundiert weiterentwickelt, wobei immer neue Erkenntnisse aus unseren Teams einflossen.

Bei uns sitzt das Team gemeinsam in einem Projektraum. Die typischerweise 2-3 physischen Räume an den einzelnen Standorten sind über permanente Videokonferenz verbunden. Jeder Standort verfügt idealerweise über einen 80-Zoll-Bildschirm pro Standort, sodass der Eindruck entsteht, das andere Teilteam durch ein Fenster zu sehen.

Ein Werkzeug, mit dem wir sowohl in unseren Teams, als auch bei externen Coachings arbeiten, ist der ETEO Wertekompass, welcher die fünf Scrum Werte Offenheit, Verpflichtung, Fokus, Respekt und Mut mit weiteren Werten vereint, die speziell – aber nicht nur – in verteilten Teams kritisch zu sein scheinen: Identität, Vertrauen, Empathie, Zusammenarbeit und Einfachheit.

Während der Coachings befragen wir die Teams meist, welcher Wert für sie der wichtigste ist. Wenig überraschend wird hier häufig der Wert Vertrauen genannt. Schon Patrick Lencioni beschrieb in seinen „Five Dysfunctions of a Team“ (Lencioni, 2002) das Vertrauen als die Basis jeglicher Zusammenarbeit im Team. Und letztlich scheinen auch die einzelnen Werte in Wechselwirkung zueinander zu stehen. Beispielsweise schafft Offenheit im Team Vertrauen untereinander. Auch ist es bei Scrum – wo nicht der einzelne Beitrag, sondern die Teamleistung zählt – nur dann möglich, sich auf ein gemeinsames Sprintziel zu verpflichten, wenn man einander vertraut.

Doch wie schafft man in einem verteilten Team Vertrauen, in dem man sich nur vergleichsweise selten sieht und kleine Missverständnisse sich nicht mal eben in der Mittagspause oder bei einem gemeinsamen Heißgetränk in der Kaffeeküche aufklären lassen? Unausgesprochene Dinge können schnell zu Konfliktherden heranschwielen und lassen das Vertrauen im Team sinken oder sogar ganz verschwinden.

Paartherapie

Deshalb ist es besonders wichtig, sich zunächst durch eine ausgiebige Präsenzphase über 4-6 Wochen kennenzulernen, um einander einschätzen zu können. Denn gerade über schriftliche, asynchrone Kommunikation wie E-Mail entstehen schnell Missverständnisse. Hier hat sich die ständige Videokonferenzschaltung bewährt, denn sie hilft zu sehen, wer gerade anwesend ist und wie sich jeder augenscheinlich fühlt. Doch selbst wenn man eine Videokonferenzanlage im Einsatz hat, sollte man darauf achten, diese nicht ausschließlich für den fachlichen Austausch zu nutzen. Ist das Vertrauen einmal gering, überrascht es uns immer wieder, wie schnell kleine verbale oder nonverbale Signale dazu führen können, dass das Vertrauen gänzlich erschüttert wird. Beispielsweise hatten wir in einem Projektteam die Situation, dass sich die Teammitglieder an einem Standort aus Bequemlichkeit im Daily vor der Videokonferenz an einen hinter ihnen stehenden Tisch lehnten. Die Kollegen am anderen Standort beschrieben, dass dies wie eine bedrohliche Front auf sie wirkte. Solche Missverständnisse treten vor allem dann auf, wenn nicht in die Stärkung des Vertrauens investiert wird und sich das Team nicht in regelmäßigen Abständen (alle 6-8 Wochen) wieder trifft.

Noch günstiger ist es, jeden Sprintwechsel an einem Standort verbringen zu können. Dies eröffnet auch die Möglichkeit, die Sprint Retrospektive gemeinsam in einem Raum durchzuführen – ein großer Vorteil bei einem Meeting, dass einen großen Mehrwert aus dem Vertrauen schöpft, das im Team herrscht. Denn Vertrauen bildet ein Fundament für den Respekt voreinander sowie für den Mut, Verbesserungspotential im Team mit kreativen, innovativen Lösungsansätzen zu entfachen.

Die Arbeit mit einem gemeinsamen Wertesystem ist jedoch nur eine Herausforderung bei der Integration eines externen Dienstleisters. Mehr erfahren Sie in unserem Vortrag „Liebling, ich habe einen Neuen – Dienstleister erfolgreich integrieren“ auf der solutions.hamburg. Der Track „Paartherapie 2.0“ bietet weitere spannende Eindrücke und Therapieansätze aus dem Spannungsfeld „IT meets Business“.


Verweise

  • Capgemini Consulting. (2016). IT Trends 2016. Von capgemini: https://www.de.capgemini.com/resource-file-access/resource/pdf/capgemini-it-trends-studie-2016_0.pdf abgerufen
  • Lencioni, P. (2002). 5 Dysfunctions of a Team. Jossey-Bass.

Der Agile Testmanager – ein Oxymoron? (Teil 3)

Im ersten Teil und zweiten Teil wurden die Aufgaben des Testmanagers erfolgreich einer agilen Transition unterzogen und für kleine Scrum-Teams nachgewiesen, dass kein Testmanager mehr benötigt wird. Eine andere Herausforderung ergibt sich bei mehreren Scrum-Teams, die gemeinsam an einem Produkt arbeiten. Lassen sich die beschriebenen Überlegungen, welche sich alle auf ein kleines Scrum-Projekt mit einem Team beziehen, auch auf die großen Projekte übertragen?

Benötigen wir für große Scrumprojekte wieder einen Testmanager?

In vielen Unternehmen, die Scrum einsetzten, arbeiten mehrere Teams gemeinsam an der Entwicklung eines Produkts. Es gibt bereits Überlegungen zu skalierten Scrum auf Unternehmensebene und wie die agilen Prinzipien trotz wachsender Komplexität eingehalten werden können. Boris Gloger sieht dabei zwei Problemfelder: “Einhaltung des skalierten Scrum Frameworks” und “Skalierung des Anforderungsprozesses”. Als Lösung führt er weitere Rollen ein: den Company Scrum Master und den Company Product Owner, die übergreifend die Scrum Master bzw. Product Owner des Projektes begleiten. Beide Rollen stimmen sich mit ihren Gegenstücken in den einzelnen Scrum-Teams ab und verwalten die Scrum-Werkzeuge auf Unternehmensebene wie Company Product Backlog und Company Scrumboard.

Lässt sich dieses Konzept auch auf den Test übertragen: Benötigen wir quasi einen Company Test Owner oder Company QA Master? Aufgabe dieses neuen Werkzeuges wäre die Abstimmung und Verantwortung für den übergreifenden und integrativen Testprozess, das Aufsetzen der notwendigen gemeinsamen Test-Strukturen sowie die Befüllung des Backlogs mit Stories, Tasks und Incidents rum um das Thema QA.

Abbildung 1: Abstimmungsmeeting zu QA-Fragen

Für Projekte mit einer übersichtlichen Anzahl (2 bis 8) von Scrum-Teams lassen sich diese Koordinationsaufgaben innerhalb des übergreifenden Abstimmungsmeeting, dem Scrum of Scrums, bewerkstelligen. Sollten die Abstimmungen testspezifischer und langwieriger werden, dann sollte bei Bedarf ein eigenes Test Meeting aufgesetzt werden. Dazu wird von jedem Team ein Teammitglied mit dem notwendigen Testwissen entsandt. Ist die Anzahl der Teams größer oder müssen Abstimmungen zwischen mehreren Projekten zu QA-Themen durchgeführt werden, dann können auch hier die Gilden zum Einsatz kommen. Die Gilden sammeln Best Practice Beispiele, die Sie allen Projekten zur Verfügung stellen oder benennen Coaches, die neuen Projekten agiles Testvorgehen näherbringen. Die Gildenmeister koordinieren wichtige Entscheidungen und moderieren die Scrum Teams, sofern die Definition von gemeinsamen Regeln und Lösungen notwendig ist.

Es lässt sich festhalten, dass ein Testmanager in agilen Unternehmen auch für große Projekte nicht mehr benötigt wird. Erreicht wird dies aber nur durch die vollständige Agile Transition der Aufgaben eines Testmanagers. Denn es ist notwendig jeder Aufgabe des Testmanagers speziell auch in der Kommunikation und Abstimmung ein agiles Werkzeug gegenüberzustellen.

Der Agile Testmanager – ein Oxymoron? (Teil 2)

Im ersten Teil wurden die operativen Aufgaben des Testmamagers erfolgreich einer agilen Transition unterzogen und für kleine Scrum Teams nachgewiesen, dass kein Testmanager mehr benötigt wird. Doch funktioniert das auch mit den strategischen Aufgaben eines Testmanagers bzw. Wer übernimmt die strategischen Aufgaben des Testmanagers?

Wer übernimmt die strategischen Aufgaben des Testmanagers in agilen Unternehmen?

Das strategische Aufgabenfeld eines Testmanagers ist das Qualitätsmanagement (QM), welches laut DIN ISO 8402 „alle Tätigkeiten der Gesamtführungsaufgabe, welche die Qualitätspolitik, Ziele und Verantwortungen festlegen sowie diese durch Mittel wie Qualitätsplanung, Qualitätslenkung, Qualitätssicherung und Qualitätsverbesserung im Rahmen des Qualitätsmanagements verwirklichen“ umfasst.

Aufgaben des Testmanagers (nach ISTQB)
Abbildung 1: Aufgaben des Testmanagers (nach ISTQB)

Ob eine Firma nach klassischen oder agilen Methoden entwickelt, das Qualitätsmanagement bleibt in der Verantwortung der Geschäftsführung des Unternehmens. Dieser Aufgabenbereich kann, sollte und darf nicht vom Scrum Team übernommen werden. Auf den ersten Blick ändert sich grundsätzlich nichts in Organisation und Aufgabenteilung. Auf dem zweiten Blick ergibt sich eine Problemstelle für agile Firmen. In der klassischen Welt diente der Testmanager als Schnittstelle zwischen operativer und strategischer Ebene. Er verteilte die Informationen zwischen dem Management und der operativen Ebene, übermittelte strategische Vorgaben und Methoden in die Testteams oder spielte Entwicklungen und Verbesserungen in Richtung Management.

Aber wie kommen Informationen im agilen Umfeld von der strategischen Ebene in die operative und zurück? Die Antwort ist: Die agile Transition ist nicht mit der Zuordnung der operativen Tasks des Testmanagers an das Scrum Team abgeschlossen. Die Lösung für die agile Transition der „Schnittstelle“ zwischen den Ebenen ist gleich der agilen Transition der operativen Aufgaben des Testmanagers. Für die vorhandenen Aufgaben der Unternehmenskommunikation stehen neue Konzepte und Werkzeuge bereit.

Eines der neuen Konzepte ist die sogenannten Gilde. Gilden (oder in unserem Unternehmen Kompetenzteams genannt) sind ein Werkzeug, welches das Wissens- und Informationsmanagement in geordnete Bahnen lenkt. Sie sind als Matrixorganisation aufgebaut und stehen neben der normalen Unternehmensstruktur. Die Gilden haben die Aufgabe die Knowhow-Träger des Unternehmens zu bündeln und bieten den Mitarbeitern einen Platz zum Austausch von Wissen oder der Umsetzung von Weiterbildungsmaßnahmen oder stimmen übergreifende Projektentscheidungen wie Testumgebungsaufbau oder Codequalitätsregeln ab. Je nach Zielsetzung des Unternehmens können der Aufbau und die Gliederung der Gilden unterschiedlich sein: So können die Gilden sich nach Kompetenzfeldern aufteilen wie Java-Entwicklung, .NET-Entwicklung, Test oder Prozessanalyse. Es können aber auch komplette Scrum Teams in Gilden zusammengefasst werden, die sich im Projekt gemeinsam einem bestimmten Thema widmen wie QA, Datenbankanbindung, GUI oder Schnittstellen (siehe Abbildung 1).

Beispiel für die Einordnung und Aufbau der Gilden nach Kompetenzfeldern
Abbildung 2: Beispiel für die Einordnung und Aufbau der Gilden nach Kompetenzfeldern

Die Gilden arbeiten nach folgenden Muster: Für jeden Mitarbeiter wird seine primäre Rolle (zum Beispiel Entwickler, Tester (QAlas), Product Owner und Scrum Master), die er im täglichen Arbeitsleben wahrnimmt, ermittelt. Mit dieser Rolle wird er einer passenden Gilde zugeordnet. Hier tauschen sich die Mitglieder nach Aufgabenfeldern aus, führen interne Schulungen durch, sammeln das vorhandene Wissen in Portalen oder tauschen sich über Best Practice in einzelnen Projekten aus. Die Moderation und Koordination innerhalb der Gilde übernimmt ein Gildenmeister. Er besitzt nach dem Motto „primus inter pares“ keine höheren Rechte als seine Gildenkollegen und wird aus dem Kreis der Gildenmitglieder gewählt. Der Gildenmeister ist zentraler Ansprechpartner für seine Gildenmitglieder, die anderen Gildenmeister und das Management. Dies ist notwendig, da die Gilden sich aktiv interdisziplinär austauschen, aber auch Feedback aus der operativen Ebene wie neue Entwicklungen oder Technologien an den Vertrieb weitergeben oder Hinweise für Schulungen an das Personal geben sollen.

Im letzten Teil gehen wir der Frage nach, was passiert, wenn mehrere Scrum Teams an einem Projekt gemeinsam arbeiten und der Abstimmungsaufwand auch für den Bereich QA zunimmt.

Der Agile Testmanager – ein Oxymoron? (Teil 1)

Ein Kollege stellte mir vor einiger Zeit die Frage, ob wir im agilen Entwicklungsprozess wie Scrum noch einen Testmanager benötigen. Meine erste Antwort war nein, da das Agile Manifest und das Scrum Framework nur drei Rollen kennt: Product Owner, Entwicklungsteam und Scrum Master. Im Scrum Team – der Gesamtheit der drei genannten Scrum-Rollen – ist also kein Testmanager vorgesehen. Aber auf den zweiten Blick ergab sich die Frage, wer aus dem Scrum Team übernimmt die Aufgaben des Testmanagers in und um den Sprint herum?

Studien wie der ASQF Branchenreport 2014[1] und Standish Chaos Report 2011 zeigen, dass agile Methoden bereits in den Unternehmen ein fester Bestandteil sind. Außerdem zeigt der Standish Chaos Report auf, dass Projekte in denen agile Verfahren zum Einsatz kommen, höhere Erfolgschancen haben als „klassische Projekte“.  Grundlage dieser Entwicklung war das Agile Manifest von Ken Schwaber und Jeff Sutherland. In ihm wurden Grundregeln und Vorgaben definiert, die „bessere Wege auf[zeigen], Software zu entwickeln, indem [die Prozessbeteiligten] es selbst tun und anderen dabei helfen, es zu tun“[²].

Scrum Prozess und Beteiligte
Abbildung 1: Scrum Prozess und Beteiligte

Die wichtigsten Grundsätze aus dem Agilen Manifest sind:

  • Menschen und Interaktionen sind wichtiger als Prozesse und Werkzeuge.
  • Funktionierende Software ist wichtiger als umfassende Dokumentation.
  • Zusammenarbeit mit dem Kunden ist wichtiger als die ursprünglich formulierten Leistungsbeschreibungen.
  • Eingehen auf Veränderungen ist wichtiger als Festhalten an einem Plan.

Unternehmen, die ihre Entwicklung auf die agile Arbeitsweise umstellen, haben einen Wettbewerbsvorteil gegenüber Firmen, die nach klassischen Vorgehen arbeiten. Aber die Umstellung der Prozesse auf Entwicklungsmethoden, wie Scrum – auch agile Transition genannt – stellt eine große Herausforderung dar. Agilität erreicht man nicht mit der Aufteilung der Entwicklungsmeilensteine in Sprints und der Benennung eines Product Owners (siehe Abbildung 1). Es müssen umfangreiche Änderungen der Organisation, hin zu einer agilen Arbeits- und Lebensweise, stattfinden.

Am Beispiel des Testmanagers lässt sich die Herausforderung der agilen Transition sehr schön nachvollziehen. Die Frage lautet: Wenn wir in Scrum keinen Testmanager benötigen, wer übernimmt seine Aufgaben? Der Product Owner? Der Scrum Master? Das Team?

Nach der Scrum Alliance ist der Product Owner die Person, die für die punktgenaue und pünktliche Erstellung des Produktes verantwortlich ist. Der Product Owner füllt und verfeinert das Product Backlog und stellt sicher, dass jeder weiß was darin enthalten und mit welcher Priorität es versehen ist. Damit ist er in der Regel am nächsten an der “Business-Seite” des Projekts. Scrum erfordert, dass das Entwicklungsteam eine nach Funktionen gemischte Gruppe ist – die alle notwendigen Fähigkeiten vereint – die für die Entwicklung des Produktes notwendig sind. Das Team organisiert sich selbst: das heißt es wählt selbständig den umzusetzenden Inhalt des Sprints und kümmert sich um die Planung, Steuerung und Umsetzung. Der Scrum Master ist der “Lotse” durch die Untiefen des Scrum Frameworks. Er hilft dem Rest des Scrum Teams bei der Einhaltung der Scrum-Regeln. Eine weitere Aufgabe des Scrum Masters ist es, Hindernisse für den Fortschritt des Teams aus den Weg zu räumen.

Auch nach Studium der Rollen von Scrum ist nicht ersichtlich: Wer die Aufgaben des Testmanagers übernimmt? bzw. Wie sie verteilt werden? Um die Fragen zu beantworten, ist es notwendig erst einmal festzustellen, welche Aufgaben ein Testmanager im klassischen Test- und Qualitätssicherungsprozess wahrnimmt. Laut dem International Software Testing Qualifications Board (ISTQB), der Zertifizierungsstelle für Tester, gehen die Aufgaben und Einsatzgebiete des Testmanagers über die Steuerung des Testprojektes hinaus. Er leitet die Testabteilung oder das Testteam und damit die Ressourcen für die Tests. Er erstellt Berichte, eskaliert in Richtung Entwicklung, Fachabteilung und Projektleitung, schätzt Testprojekte, setzt die Einhaltung der Qualitätsprozesse und -verfahren des Unternehmens durch, beschafft die Testing-Tools für die Organisation und überprüft die Testpläne, sowie die Testfälle.

Die Aufgabenebenen lassen sich in zwei Felder aufteilen: strategisch und operativ (siehe Abbildung 2). Die operative Ebene beschäftigt sich mit der Planung und Konzeption der Testfälle und Tests, der Steuerung der Testdurchführung, sowie der Kommunikation innerhalb des Projektes. Die strategische Ebene beinhaltet die Aufgaben des Qualitätsmanagements.

Aufgaben des Testmanagers (nach ISTQB)
Abbildung 2: Aufgaben des Testmanagers (nach ISTQB)

Die operativen Aufgaben können nicht vom Scrum Master oder Product Owner übernommen werden. Der Product Owner mischt sich nicht in die Umsetzung ein und der Scrum Master nicht in die Entwicklung. Die Testaufgaben werden in der agilen Entwicklung durch das Team übernommen. Und nach der Definition und Aufteilung der Aufgaben des Testmanagers ist es nun möglich zu untersuchen wie diese in den agilen Prozess eingebracht werden können. Es ergibt sich aber ein Problem: Eine klare Zuordnung zu einer Person ist nicht möglich, da in Scrum alle Aufgaben auf das agile Team verteilt werden.

Die Lösung des Problems liegt im Framework Scrum selbst. Es stellt ein umfangreiches Paket an Werkzeugen und Artefakten bereit. Und diese lassen sich den Aufgaben des Testmanagers gegenüberstellen. Wir haben in unseren Scrum Teams eine vollständige agile Transition der Aufgaben durchgeführt und festgestellt, dass Scrum jeder Aufgabe des Testmanagers ein Werkzeug oder Artefakt gegenüberstellen lässt.

Agile Transition des Testmanagers – Testkoordination
Abbildung 3: Agile Transition des Testmanagers – Testkoordination

So erfolgen die Überlegungen zur Teststrategie und die im Vordergrund stehenden Qualitätsmerkmale im Planning des Sprints und Backlog Grooming. Die Pass-Fail-Kriterien, also die Kriterien ob ein Sprint erfolgreich bzw. der Test abgeschlossen ist, werden in der Definition of Done definiert (siehe Abbildung 3).

Agile Transition des Testmanagers – Testumsetzung
Abbildung 4: Agile Transition des Testmanagers – Testumsetzung

Im Sprint Review wird die Umsetzung der Anforderungen verifiziert und validiert (siehe Abbildung 4).

Agile Transition des Testmanagers – Testkoordination
Abbildung 5: Agile Transition des Testmanagers – Testkoordination

Zusätzlich ermöglichen die Stories bzw. ihre Repräsentation am Scrum Board und in den Backlogs eine Dokumentation des Fortschritts sowie der Qualitätsgradbemessung (siehe Abbildung 3).

Jeder Aufgabe des Testmanagers lässt sich also ein agiles Werkzeug oder Artefakt gegenüberstellen. Damit ist die vollständige agile Transition der Aufgaben eines Testmanagers erreicht. Unter der Voraussetzung, dass das Scrum Team das notwendige Testwissen für die Umsetzung der anstehenden Entwicklungs- und Testaufgaben besitzt, wird für kleine Projekte kein Testmanager benötigt. Steht das Wissen noch nicht zur Verfügung muss das Team ausreichend gecoacht werden.

Im nächsten Teil wird beleuchtet wer die Aufgaben der strategischen Ebene übernehmen kann und was in Projekten mit mehreren Scrum Teams passiert, die gemeinsam an einem Produkt arbeiten.