Home

Themenspecial

8 Tipps zur Verbesserung der Kommunikation in einem Softwareentwicklungsteam

 

Zwar haben Programmierkenntnisse einen großen Einfluss auf den Verlauf eines Softwareprojekts, aber es spielen noch weitere Faktoren eine Rolle. Auch die Art und Weise, wie Ihre Spezialisten bei ihrer Arbeit miteinander umgehen, hat einen großen Einfluss auf das Ergebnis. In diesem Artikel werden wir uns verschiedene Möglichkeiten zur Verbesserung der Kommunikation im Entwicklerteam ansehen.


Foto von Jason Goodman auf Unsplash

Warum ist es wichtig, die Kommunikation in Teams von Softwareentwicklern zu verbessern?

Die allgemeine Antwort wäre „um die Arbeit zu verbessern.“ Das ist zwar richtig, aber lassen Sie uns einige spezifischere Gründe aufzählen: 

 

  • Deutlich reduzierte Ausfallzeiten. Das sind keine leeren Worte: Die Verbesserung der Kommunikation im Software-Team war ein wesentlicher Faktor für die Verkürzung des Benutzergeschichtenzyklus für die Testmanagement-Software aqua cloud von 166 Tagen auf nur 43 Tage
  • Geringere Fehlerquote, sowohl bei der Prüfung als auch bei der Produktion. Bessere Kommunikation ermöglicht es Ihren Mitarbeitern, Probleme frühzeitig zu erkennen, sie zu lösen, ohne in Engpässe zu geraten, und letztendlich ein stabileres Produkt zu entwickeln
  • Höhere Arbeitszufriedenheit. Eine Umfrage  unter 400 IT-Fachleuten in Großbritannien zeigt, dass die häufigste Frustration am Arbeitsplatz langsame Feedbackschleifen sind. Sie wurde von mehr als 50 % der Teilnehmer angesprochen. Obwohl es nicht direkt damit zusammenhängt, beschwerten sich über 50 % der Befragten über die schwierige Kommunikation zwischen Software-Teams und funktionalen Gruppen. Die Bewältigung dieser Probleme wird Wunder für Ihre Mitarbeiterbindung bewirken
  • Tipp 1: Beseitigen Sie überflüssige Kommunikation

Abgesehen vom Aspekt der Arbeitszufriedenheit ist eine bessere Kommunikation nicht das Ziel an sich. Das Ziel ist es, ein besseres Produkt zu entwickeln. Manchmal könnte das bedeuten, dass Sie die Anzahl der Situationen, in denen Sie kommunizieren müssen, reduzieren.

 

Ein Beispiel hierfür wäre das frühe Testen. Zu den traditionellen Softwaretests gehören Smoke Tests, bei denen die QS-Spezialisten im Wesentlichen feststellen, ob sie den anstehenden Build überhaupt testen sollten. Wenn die potenzielle Freigabe zu einer kritischen Instabilität führt, sollte diese zuerst behoben werden, bevor sich die Tester mit weniger offensichtlichen Problemen beschäftigen. Hier sind Entwickler-QS und QS-Entwickler zwei Übergaben, die Sie einer stabilen Version nicht näher bringen.

 

In diesem Szenario besteht die Lösung in der Einführung von Komponententests (Unit-Tests), die von den Entwicklern erstellt und ausgeführt werden. Wenn die Entwickler wichtige (manchmal auch kleine) Fehler frühzeitig erkennen, verringern sie sowohl die Ausfallzeiten der Entwickler als auch die Arbeitsbelastung der Tester. Es hilft auch , ein effektives QS-Team aufzubauen: Selbst wenn die Tester aktiv an der Erstellung von Komponententests beteiligt sind, spart dies letztendlich Zeit im Vergleich zum ständigen Hin und Her bei frühen Problemen.

Tipp 2: Machen Sie sich mit Lösungen zur Problemverfolgung vertraut

Es ist kein Geheimnis, dass Dinge verloren gehen, wenn man sie nur in Chats diskutiert. Dies ist wohl die drittschlechteste Art der Planung, wenn man will, dass die Dinge tatsächlich geschehen. Die beiden anderen, weniger guten Optionen sind Besprechungen ohne formalisierte Pläne (und nicht in einer Chat-Nachricht) und die spontane mündliche Kommunikation im Büro.

 

Eine gute Planung braucht eine einzige Quelle der Wahrheit, und hier kommen Systeme zur Verwaltung von Problemen ins Spiel. Die transparente Speicherung von User Stories und Spotted Effects erhöht die Verantwortlichkeit und stellt sicher, dass nichts nach außen dringt. Dies gilt nicht nur für die Entwicklung selbst: Designer, Tester und Inhaltsspezialisten profitieren alle von einer kollaborativen und nachvollziehbaren Umgebung.

 

Die optimale Lösung ist hier die Einführung einer Application Lifecycle Management-Lösung. Sie sind so konzipiert, dass sie alles, was das Produkt betrifft, selbst erledigen. Das spart viel Zeit, und es wird noch besser, wenn der Anbieter sich die Zeit nimmt, Ihnen die Konfiguration von effizienzorientierten Arbeitsabläufen zu ermöglichen.

Tipp 3: Vermeiden Sie nach Möglichkeit direkte Nachrichten

Obwohl Problemverwaltungssysteme und ALMs so konzipiert sind, dass sie Rückverfolgbarkeit im Großen und Ganzen bieten, kann es vorkommen, dass Sie eine Frage haben, die sich besser im Chat klären lässt. Das heißt, Sie öffnen einfach den Messenger des Unternehmens und schreiben eine Nachricht direkt an die zuständige Person, richtig? 

 

Wir haben die Erfahrung gemacht, dass es besser ist, auf private Nachrichten zu verzichten, wenn Sie es vermeiden können. Wenn Sie eine Frage an einen Softwareentwickler haben, fragen Sie ihn stattdessen in einem Entwicklungs-Chat mit anwesenden Kollegen. Es funktioniert besser, wenn die Benachrichtigungen für alle stumm geschaltet sind, es sei denn, sie werden erwähnt. In 99 % der Fälle enthält Ihre Frage ohnehin keine Geheimnisse. 

 

Die Teilnahme an einem öffentlichen Chat hat eine Reihe von Vorteilen. Erstens bietet es eine zusätzliche Nachvollziehbarkeit, weil die Kollegen und/oder die Geschäftsleitung die Diskussion sehen können. Dann hat jede Entscheidung, die im Chat getroffen wird, eine zusätzliche Ebene der Verantwortlichkeit, weil auch Ihre Kollegen wissen, dass Sie einer Sache zugestimmt haben. Nicht zuletzt gibt es in Ihrem Team wahrscheinlich den einen oder anderen Kollegen, der davon profitiert, passiv zu beobachten, wie andere Mitarbeiter eine bestimmte Angelegenheit gelöst haben. Dies gilt umso mehr für mittelständische Unternehmen, in denen die Arbeitsprotokolle viel dynamischer sind als in großen Unternehmen.

Tipp 4: Ermutigen Sie Ihre Kollegen, sich zu äußern

Unabhängig davon, ob Sie nach agilen Methoden arbeiten oder nicht, hat Ihr Team höchstwahrscheinlich regelmäßige Besprechungen, um Fortschritte und nächste Schritte zu besprechen. Sie sind gut geeignet, um potenzielle Engpässe schnell zu erkennen und Hindernisse auf dem Weg zu beseitigen. Solche Besprechungen schaffen auch eine Kommunikationsroutine, die an sich schon eine bessere Kommunikation fördert.

 

Wir empfehlen Ihnen auch eine andere Maßnahme, die für Agile üblich, aber nicht exklusiv ist. Rückblicke am Ende eines Sprints oder einer Arbeitsphase helfen Ihnen dabei, zu untersuchen, wie und warum etwas getan wird, anstatt sich mit Details aufzuhalten. Dies ist ein guter Zeitpunkt, um mögliche Probleme und Verbesserungen in der Teamkommunikation anzusprechen. Ermutigen Sie die Mitarbeiter, ihre jüngsten Erfahrungen innerhalb und außerhalb des Teams mitzuteilen.

 

Foto von Campaign Creators auf Unsplash

 

Natürlich können oder sollten auch die Führungskräfte mit einigen Erkenntnissen zu solchen Besprechungen kommen. Man könnte sich die letzten User Stories ansehen, um diejenigen zu entdecken, die untypisch lange feststeckten. Wahrscheinlich gab es einige Ausfallzeiten aufgrund unzureichender Kommunikation. Wenn es angebracht ist, eine solche Geschichte in einer rückblickenden Besprechung zur Sprache zu bringen, könnten die Mitarbeiter sagen, wie sie mit einer solchen Verzögerung beim nächsten Mal anders umgehen wollen.

Tipp 5: Eliminieren Sie den Bus-Faktor

Hier ein weiterer Ratschlag zur Verbesserung der Kommunikation durch deren Minimierung. 

 

Erfahrene Entwickler, die eifrig Ins und Outs der Softwarelösung teilen, sind in vielerlei Hinsicht ein Segen. Sie kennen ihre Arbeit sehr gut, können eine neue Person leicht einarbeiten und man kann sich darauf verlassen, dass sie Herausforderungen auf vernünftige Weise angehen. Wenn Sie sich nicht sicher sind, ob ihre Vorgehensweise sinnvoll ist, werden sie gerne Ihre Anregungen entgegennehmen und einige Anpassungen vornehmen.

 

Sich auf eine einzige Person zu verlassen, ist jedoch nicht nachhaltig. Selbst wenn erzwungene Zeiten der Fernarbeit die Mitarbeiter verfügbarer denn je machen, kann und sollte man sich nicht ständig darauf verlassen. Stellen Sie sich vor, Sie planen eine wichtige Änderung an Ihrem firmeninternen CRM-System, aber nur eine Person kennt wirklich die potenziellen Regressionsprobleme. Sie wollen die Umstellung vornehmen, aber der Guru musste einen Noturlaub nehmen. Was nun?

 

Der beste Weg, solche unangenehmen Situationen zu vermeiden, ist die Einführung einer guten Dokumentationsroutine. Wenn Ihre Entwickler ihre Arbeit schriftlich festhalten, haben es ihre Kollegen leichter, sie aufzugreifen. Eine gute Dokumentation beschleunigt auch die Einarbeitung von Mitarbeitern jeder Position.

 

Tipp 6: Machen Sie die Dinge sichtbar

Man sagt, es ist besser, etwas einmal zu sehen, als tausendmal davon zu hören. Wir haben bereits erläutert, warum Sie das Schreiben dem Sprechen vorziehen sollten. Hier ist eine noch bessere Alternative: Nehmen Sie es auf.

 

Heutzutage wird von Fehlerberichten erwartet, dass sie einen visuellen Kontext haben. Von Ihren Testern wird erwartet, dass sie zumindest Screenshots der aufgetretenen Probleme zur Verfügung stellen. Das Gleiche würden Sie auch von Kollegen verlangen, die nicht in der Qualitätssicherung tätig sind und mit einer internen Lösung arbeiten. Es gibt jedoch noch eine ganz andere Ebene.

 

Screenshots und Videoaufnahmen funktionieren viel besser, wenn sie einen Kontext haben. Sie können Tools von Drittanbietern verwenden, um Screenshots mit Anmerkungen zu versehen oder ein Video mit Untertiteln zu versehen. Wenn Sie Ihren Entwicklern einen eigenständigen Fehlerbericht geben, ist das ein gutes Stück Kommunikation, das auch einige unnötige Glieder in der Kette reduziert.

 

Aus unserer Erfahrung heraus empfehlen wir Lösungen, die Ihnen helfen, die Testausführung zu automatisieren und zu visualisieren. Einige können automatisch ein Protokoll Ihrer Eingaben speichern und das Video Ihrer Aktionen aufzeichnen, während sie die Prüfschritte überlagern. Das Protokoll und die Videos/Screenshots können dann lokal gespeichert, in einen Issue Tracker exportiert und sogar auf Slack oder Teams geteilt werden. Capture und BirdEatsBug sind beides gute Optionen, die von Testern und Nicht-Testern gleichermaßen verwendet werden können. 

Tipp 7: Planen Sie die Kommunikation mit ein

Einer der häufigsten Gründe für das Scheitern der Kommunikation in einem Software-Entwicklungsteam ist der Zeitmangel. Wenn jeder fast 40 Stunden lang mit Programmieraufgaben beschäftigt ist, hat er eigentlich keine Zeit, darüber zu sprechen. 

 

Eine einfache, aber wirksame Lösung, die Sie anwenden können, ist eine konservative Planung. Wenn Sie überlegen, welche User Stories Sie in einen Sprint aufnehmen wollen, gehen Sie davon aus, dass Ihre Entwickler nur 30 Stunden pro Woche Zeit haben. So bleiben ihnen etwa 2 Stunden pro Tag für tägliche Besprechungen, Rückblicke auf die Sprints und vor allem für die Kommunikation.

 

Manchmal kann es jedoch unangenehm sein, eine etwas fragmentierte Zeit ohne Programmierung zu haben. Wenn Ihr Kollege einen großen Teil der Arbeit, die er gerade erledigt hat, dokumentieren muss, kann das durchaus über 2 Stunden dauern. Wenn dies der Fall ist, sollten Sie ihnen an einem bestimmten Tag mehr Zeit geben und ihren Wochenplan entsprechend anpassen.

Tipp 8: Definieren Sie die Verfügbarkeit der Kommunikation

Manchmal beeinträchtigt eine solide Kommunikation die eigene Leistung nicht nur bei der Einhaltung von Fristen. Die ständigen Benachrichtigungen per E-Mail, Messenger und Issue Tracker stören die Konzentration. Dies macht die Entwickler fehleranfällig und/oder behindert ihre Fähigkeit, sich in die Situation hineinzuversetzen und kreative Lösungen umzusetzen. 

 

Wir empfehlen Ihnen, eine Art Timeboxing anzuwenden, damit Ihre Kollegen wissen, wann Sie verfügbar sind. Tägliche Besprechungen und einige Zeit davor und danach, bevor Sie mit der Arbeit an Ihren Aufgaben beginnen, so dass Sie hochverfügbar sind. Dann wird es Stunden geben, in denen Sie wahrscheinlich leichtere Arbeit haben und auf Kommentare ohne große Unterbrechung reagieren können. Schließlich sollten Sie unbedingt Stunden festlegen, in denen Sie hochkonzentriert arbeiten und das Team keine Antwort von Ihnen erwarten kann. 

 

Dieser Ansatz mag zunächst ungewöhnlich und sogar kalt erscheinen. Es wird jedoch Wunder bewirken, sowohl für die Kommunikation als auch für die tatsächliche Arbeitsleistung Ihres Teams. Selbst wenn Ihnen die verschiedenen Verfügbarkeitsstufen zu umständlich erscheinen, sollten Sie dennoch dafür sorgen, dass sich die Mitarbeiter bei Bedarf zu 100 % auf ihre Aufgabe konzentrieren. Sie können diese E-Mail später beantworten.

Schlussfolgerung

Eine bessere Kommunikation ist höchstwahrscheinlich kein Selbstzweck, aber sie ebnet den Weg für ein besseres Produkt. Die Umsetzung einiger grundlegender Tipps zur Kommunikation im Softwareteam wird auch Ihr Unternehmen zu einem besseren Umfeld für derzeitige und neue Mitarbeiter machen.