Überall, wo Menschen zusammenarbeiten, entstehen Konflikte – auch in der Softwareentwicklung. Unterschiedliche Meinungen, widersprüchliche Interessen und enge Deadlines sorgen dafür, dass Reibungspunkte im Team unvermeidbar sind. Doch was genau ist ein Konflikt? Warum reagieren wir darauf oft so emotional? Und welche Strategien gibt es, um Konflikte konstruktiv zu lösen?
Unser Team aus Scrum Mastern und Agile Coaches hat sich intensiv mit diesen Fragen auseinandergesetzt und an einer Weiterbildung zum Thema Konfliktbearbeitung teilgenommen. Weil uns der Austausch von Wissen im gesamten Unternehmen wichtig ist, haben wir die wichtigsten Erkenntnisse intern geteilt – und nun möchten wir sie auch nach außen tragen.
Was ist ein Konflikt?
Per Definition ist ein Konflikt eine schwierige Situation, die durch das Aufeinandertreffen gegensätzlicher Auffassungen oder Interessen entsteht. Damit ein Konflikt überhaupt existiert, müssen zwei Bedingungen erfüllt sein:
- Zwei Elemente (z. B. Motive, Bedürfnisse, Interessen) stehen im Gegensatz zueinander oder sind unvereinbar.
- Es besteht Druck, Stellung zu beziehen oder eine Entscheidung zu treffen. Konflikte sind dabei weder gut noch schlecht – sie sind ein natürlicher Bestandteil des menschlichen Miteinanders und damit auch des Arbeitsalltags in Entwicklungsteams.
Wie reagieren wir auf Konflikte?
Konflikte lösen in uns eine Stressreaktion aus. Ein einfaches Beispiel aus einem Softwareentwicklungsteam zeigt das deutlich:
Toni (Softwareentwicklung) erhält kritisches Feedback von Sascha (Product Owner). Sofort reagiert Tonis Körper mit einer Reihe typischer Stresssymptome:
- Körperlich: Adrenalinausschüttung, erhöhter Puls, flache Atmung, Schwitzen.
- Kognitiv: Die Wahrnehmung verengt sich auf die „Bedrohung“, Bestätigungsfehler treten auf („Sascha will mir nur schaden“), die Empathie-Fähigkeit sinkt.
- Verhaltensmuster: Fight-or-Flight-Reaktion – Toni ist entweder geneigt, sich zu verteidigen oder sich aus der Situation zurückzuziehen.
Diese Reaktionen sind tief in uns verankert. In Konflikten greifen wir oft auf einfache Denk- und Kommunikationsmuster zurück, wie sie die Psychologin Virginia Satir beschrieben hat.
Denk- und Kommunikationsmuster nach Satir
Virginia Satir unterscheidet vier Reaktionsmuster in Konfliktsituationen:
- Der anklagende Typ: Sucht Fehler beim Gegenüber, wird laut und tyrannisch, zeigt keine Schwäche.
- Der beschwichtigende Typ: Stellt eigene Bedürfnisse zurück, versucht um jeden Preis zu gefallen.
- Der ablenkende Typ: Reagiert ausweichend, wechselt das Thema, um der Konfrontation zu entgehen.
- Der rationalisierende Typ: Bleibt emotionslos, analysiert nur sachlich, zeigt keine Gefühle.
Jeder Mensch trägt Anteile aller Typen in sich – doch in Stresssituationen setzt sich meist ein dominantes Muster durch. Das kann den Handlungsspielraum einschränken, weshalb es hilfreich ist, sich dieser Muster bewusst zu werden.
Konfliktlösungsstrategien nach Karl Berkel
Wie geht Toni nun mit dem Konflikt um? Je nach Fokus – auf die eigenen oder auf die Interessen des Gegenübers – ergeben sich verschiedene Strategien:
- Nachgeben: Toni erkennt die Kritik an und verspricht, sich im nächsten Sprint zu verbessern, vertritt dabei aber nicht die eigenen Interessen.
- Durchsetzen: Toni besteht auf ihre Sichtweise, droht im Extremfall sogar mit Konsequenzen (z. B. das Team zu verlassen).
- Vermeidung: Der Konflikt wird ignoriert, was ihn jedoch oft nur verschärft.
- Kompromiss: Beide Seiten gehen aufeinander zu, müssen aber auch Zugeständnisse machen.
- Gemeinsame Problemlösung: Die Konfliktparteien arbeiten zusammen konstruktiv an einer Lösung, die beide Interessen berücksichtigt.
Je nach kultureller Prägung werden bestimmte Strategien unterschiedlich bewertet („Der Klügere gibt nach“ vs. „Konflikte müssen gelöst werden“). Keine Strategie ist grundsätzlich besser oder schlechter – es kommt immer auf die jeweilige Situation an.
Welche Funktionen haben Konflikte?
Konflikte wirken auf den ersten Blick oft störend, doch sie erfüllen wichtige Funktionen – insbesondere in agilen Entwicklungsteams. Klaus Eidenschink beschreibt verschiedene Funktionen, die Konflikte spielen können. Gerade in der Softwareentwicklung sind diese besonders relevant:
1. Konflikte fordern Entscheidungen zwischen Alternativen:
Entwicklungsteams stehen regelmäßig vor technischen oder strategischen Entscheidungen, bei denen unterschiedliche Interessen aufeinandertreffen.
- Beispiel: Ein Scrum-Team diskutiert im Refinement mit den Stakeholdern. Während das Entwicklungsteam technische Verbesserungen zur Erhöhung der Wartbarkeit und Sicherheit priorisieren möchte, legen die Stakeholder den Fokus auf neue Features für den Kunden. Der Konflikt zwingt das Team, eine klare Entscheidung zu treffen und dabei abzuwägen, welche Option langfristig den größten Mehrwert bietet.
2. Konflikte verhindern Stagnation und treiben Innovation voran:
Wenn alles reibungslos läuft, gibt es wenig Anreize zur Veränderung. Konflikte stören bestehende Routinen und können so neue Ideen und Innovationen anstoßen.
- Beispiel: Ein neues Teammitglied bringt frische Perspektiven und andere Arbeitsweisen mit. Die etablierten Teammitglieder empfinden das zunächst als Herausforderung, da ihre bisherigen Methoden hinterfragt werden. Doch genau diese Diskussionen führen dazu, dass bewährte Prozesse reflektiert und möglicherweise verbessert werden.
3. Konflikte erhöhen die Resilienz eines Teams und helfen sie zu stabilisieren:
In agilen Teams müssen sich Strukturen und Prozesse kontinuierlich an neue Anforderungen anpassen. Konflikte können helfen, blinde Flecken und Lücken in Prozessen aufzudecken sowie Teams widerstandsfähiger gegenüber zukünftigen Herausforderungen zu machen.
- Beispiel: Ein Entwicklungsteam merkt, dass es an einer entscheidenden Stelle Unklarheiten im Prozess gibt – etwa, wer die Verantwortung für eine bestimmte Code-Review trägt. Der Konflikt über diese Verantwortlichkeiten sorgt dafür, dass die Teammitglieder eine klare Regelung erarbeiten, die langfristig für effizientere Abläufe sorgt.
4. Konflikte helfen im Umgang mit Unsicherheit und Erwartungen:
Softwareentwicklung ist komplex, und Erwartungen an Qualität, Geschwindigkeit und Zusammenarbeit sind nicht immer eindeutig. Konflikte entstehen oft, wenn sich diese Erwartungen nicht decken – doch sie ermöglichen es, Unklarheiten bewusst zu machen und zu bearbeiten.
- Beispiel: Ein Scrum-Team befindet sich in der Storming-Phase, in der sich Teammitglieder erst aufeinander einspielen. Unterschiedliche Auffassungen über Code-Qualität, Pünktlichkeit oder Kommunikationswege führen zu Reibung. Diese Konflikte zwingen das Team, über gemeinsame Standards zu sprechen und eine Basis für eine erfolgreiche Zusammenarbeit zu schaffen.
Fazit: Konflikte als Motor für bessere Zusammenarbeit in der Softwareentwicklung
Konflikte gehören zum Arbeitsalltag – besonders in der Softwareentwicklung, wo unterschiedliche Perspektiven aufeinandertreffen. Ob es um technische Entscheidungen, Prioritäten im Backlog oder Teamdynamiken geht: Reibungspunkte sind unvermeidlich. Entscheidend ist, wie mit diesen Spannungen umgegangen wird – denn gut gehandhabte Konflikte schaffen neue Perspektiven, ermöglichen nachhaltige Entscheidungen und führen langfristig zu einer effektiveren Zusammenarbeit.
Ein bewusster Umgang mit Konflikten schafft Handlungsspielraum. Wer versteht, welche psychologischen Mechanismen dabei wirken und welche Lösungsstrategien es gibt, kann souveräner reagieren und produktive Diskussionen fördern. Statt Blockaden entstehen so neue Perspektiven und nachhaltige Entscheidungen.