Warum Tester und Entwickler in Konflikt geraten und wie man ihn vermeidet / Sudo Null IT News

Es gibt viele Anekdoten über das Verhältnis und die spezifischen Widersprüche zwischen Testern und Entwicklern heute. Aber es ist wichtig, dass sich Vertreter zweier Professionen in einem einzigen Ökosystem vertragen, um die Probleme des Arbeitgebers und der Kunden zu lösen.

Tester: Die Veröffentlichung sollte verschoben werden!

Entwickler: Warum, was ist passiert?

Tester, betroffen: Alle Tests erfolgreich bestanden. Ich kann mir nicht erklären warum das passiert…

Wenn Entwickler und Tester im Ministerium für Notsituationen gearbeitet haben:

– Hallo! Komm, hier brennt das gelbe zwölfstöckige Gebäude!

– Nun, ich weiß nicht, ich habe das gleiche gelbe zwölfstöckige Gebäude gegenüber und es brennt nicht.

Als ich das Team traf, war das Erste, was ich vom Entwickler hörte: „Ich hoffe, wir nerven uns nicht zu sehr.“ Dies beschreibt allgemein das Problem der Interaktion zweier Strukturen. Mal sehen, wo der Konflikt liegt.

Konflikt ist eine besondere Art der sozialen Interaktion zwischen Teilnehmern, die sich gegenseitig ausschließende oder unvereinbare Werte haben. Jede Person ist eine Person mit eigenen Ansichten und Werten, was zu logischen Konsequenzen führt, wenn jedes Problem aus subjektiver Sicht betrachtet wird.

Die hauptsächlichen psychologischen Ursachen von Konflikten, die während gemeinsamer Aktivitäten entstehen, sind auf das Konfliktpotential des Umfelds der gemeinsamen Interaktion, unterschiedliche Ziele, bestehende psychologische Widersprüche, psychologische Manipulation und Druck, der von den Teilnehmern zugelassen wird, bewusste Verzerrung von Informationen, Interessenkonflikte und Andere. Unter Bedingungen der engen Interaktion zwischen zwei Abteilungen, wo die eine programmiert und die andere testet, wirft das Auftauchen von Widersprüchen und Missverständnissen irgendwie nicht einmal Fragen auf, es ist so vorhersehbar.

Antsupov A. Ya., Shipilov A. I. Konfliktologie. M., 2009.

Entwicklerseite

Der Entwickler ist damit beschäftigt, das Produkt zu erstellen und zu entwickeln. Seine Denkweise kann einige Elemente der Denkweise des Testers enthalten. Aber erfolgreiche Programmierer sind leidenschaftlicher daran interessiert, kreative Lösungen zu implementieren, als darüber nachzudenken, was an diesen Entscheidungen falsch sein könnte.

Fehler passieren jedem bei der Arbeit. Aber nicht jeder hat die Qualitäten, die es ihm ermöglichen, sie unabhängig zu erkennen und zu korrigieren. Für die meisten Menschen wird es als Demütigung empfunden, wenn auf ihre Fehler hingewiesen wird. Es gibt einen psychologischen Effekt: Wer einen Fehler meldet, hängt sozusagen im Image eines kompetenteren Spezialisten. Er tritt als Zeuge des Entwicklungsfehlers eines anderen auf, ebenso wie, wenn auch Mikro, aber Misserfolg.

Artyom Alekseev, leitender Entwickler:

Ich kann kurz meine Erfahrung in der Interaktion mit Testing Engineers alias QA teilen.

Ich habe oft die Meinung gehört, dass der Tester und der Entwickler in einer Art Gegenposition stehen, obwohl ich nie ganz verstanden habe, was eigentlich die Meinungsverschiedenheiten zwischen ihnen sind.

Und hier möchte ich direkt vom Endziel ausgehen – der Implementierung eines bestimmten “Features”.

Der Entwicklungsprozess selbst umfasst viele Aspekte – von der Anforderungs- und Problemdefinition bis zur Inbetriebnahme. Der Entwickler ist in der Regel daran interessiert, dass das Endergebnis den erwarteten Anforderungen entspricht.

Bei der Implementierung einer Funktionalität ist es wichtig, nicht nur die Anforderungen im Code zu implementieren, sondern auch die architektonische Integrität zu wahren und qualitativ hochwertigen und verständlichen Code zu schreiben. Während dieses Prozesses können Sie oft einige Kleinigkeiten übersehen. Und sagen wir mal, wenn sich das auf die Qualität des Codes bezieht, bleibt das Gewissen des Entwicklers und seiner Kollegen, die den Code überprüfen. Wenn sich die Auslassungen jedoch auf die Geschäftslogik und die direkt implementierte Funktionalität beziehen, werden die Probleme nicht nur für den Entwickler, sondern auch für diejenigen, die die zu entwickelnde Lösung verwenden werden.

Nach der Implementierung der Funktionalität steht die Qualität im Vordergrund. Es ist der Tester, der dem Entwickler hilft, es zu einem akzeptablen Ergebnis zu bringen. Ich würde sogar sagen, dass während des Entwicklungsprozesses ein Beteiligter den Staffelstab an einen anderen weitergibt.

Und wenn wir diese Idee weiterentwickeln, dann ist der Testing Engineer tatsächlich derjenige, der dem Entwickler versichert: Er wird die Funktionalität von der anderen Seite betrachten – von der Seite der Nutzung, die Nuancen bemerken, die der Entwickler nicht gesehen hat bemerken oder nicht sofort bemerken würden. Dadurch erhalten Sie eine bessere Ausgabelösung und rücken damit unter anderem den Entwickler selbst in ein günstigeres Licht.

Der einfachste Weg wäre wahrscheinlich, die Situation von der Seite Ihrer eigenen Entwicklungserfahrung zu betrachten. Ich habe immer akribische und hartnäckige Testingenieure als die besten Verbündeten angesehen, um hervorragende Ergebnisse zu erzielen.

Testerseite

Der Tester zielt auf Zerstörung ab, d. h. auf eine voreingenommene Suche nach den Fehlern anderer Personen, wodurch das System durch dynamisches Testen in einen Zustand des Versagens gebracht wird. Versuchen Sie sich zu erinnern, ob Sie sich jemals über eine Person gefreut haben, die mit einer Liste Ihrer Fehler in einem Job kam, der viel Zeit gekostet hat? Es ist ziemlich schwer vorstellbar, auch wenn Sie im Allgemeinen verstehen, dass dies nur ein Workflow-Algorithmus ist und so ist es. Das Treffen mit einem Testspezialisten hat an sich schon einen Hintergedanken – „Sie sind kein Profi“. Stimmen Sie zu, dass die psychologische Seite eines solchen Kontakts ganz organisch zu passiver Aggression seitens des Entwicklers des geschaffenen Produkts und zur Provokation von Reibung führen kann.

Und ein solches Element der Psychologie wie Voreingenommenheit kann die Akzeptanz von Informationen aus einem Fehlerbericht oder Kommentar weiter erschweren. Mit der richtigen Denkweise kann ein Entwickler zwar seinen eigenen Code testen, aber die notorische Voreingenommenheit wird es ihm nicht erlauben, dies objektiv genug zu tun. Sonst gäbe es den Beruf des Testers nicht.

Irina, Testerin:

Einige Entwickler halten Tester für weniger kompetent, also wollen sie ihnen nicht zuhören. Es ist klar, dass es diesbezüglich einige Vorurteile gibt.

Arsenij, Tester:

Es gab Konflikte mit den Entwicklern. Sie haben mir tausend Jahre lang auf Aufgaben geantwortet, wollten meine Käfer nicht mit in die Arbeit nehmen und sagten, dass alles für ihn funktioniert hat, und das sind in der Tat Funktionen.

Nun, sie könnten sich auch wie ein Hamlo verhalten, mit dem es schwierig ist, zu interagieren. Von Zeit zu Zeit weigerten sie sich zu helfen. Ich habe eine wichtige Aufgabe in Flammen, und sie sagten mir: „Nun, es ist keine Zeit für später.“ Wenn wir jedoch keine Zeit haben, die Aufgabe freizugeben, werden Ansprüche seitens des Managements geltend gemacht.

Wurzel des Konflikts

Damit haben wir die Wurzel des Konflikts aufgedeckt – unterschiedliche Ziele! Wenn Menschen unterschiedliche Ziele haben, egal wie man sie kombiniert, werden sie im Ergebnis trotzdem ihren eigenen Weg gehen – in unterschiedliche Richtungen.

Folglich ist eines der Hauptthemen, das von Fachleuten angesprochen werden sollte, die Motivation zu verstehen, dass sowohl das Programmieren als auch das Testen nur Mittel sind, um eine gemeinsame Aufgabe zu lösen, vor der sie stehen. Und diese Aufgabe ist eine Erlösung.

Um eine Kollision zweier Strukturen in einem Fall zu vermeiden, wenden wir bei Innotech die folgenden Prinzipien an:

  1. Minimieren Sie Konfliktsituationen, Testergebnisse müssen in möglichst neutraler Form präsentiert werden, sachorientiert und nicht auf Kritik am Autor.

  2. Die Ziele und Ziele der Arbeit sollten klar sein. Seien Sie nicht faul, sich noch einmal zu vergewissern, ob Sie sich verständigt haben, fragen Sie sich, ob Ihr Gegenüber Sie richtig verstanden hat.

  3. Beide Parteien müssen sich an das gemeinsame Ziel erinnern – das Arbeitssystem von höchster Qualität.

  4. Es ist notwendig, die Mechanismen des Arbeitsprozesses von beiden Seiten zu koordinieren, wobei die Meinung sowohl des Entwicklers als auch des Testers zu berücksichtigen ist.

  5. Empathie verbinden, versuchen, die Gefühle eines Kollegen zu berücksichtigen.

  6. Schaffen Sie keine zusätzliche Spannung, vermeiden Sie giftige Aussagen und Auslassungen.

  7. Wenn Sie längere Zeit im selben Team arbeiten müssen, fragen Sie einen Kollegen nach seinen Interessen, Erfahrungen und anderen Aspekten des Lebens, um Gemeinsamkeiten zu finden.

Anstelle eines Fazits

Nach einfachen Ratschlägen verpflichten sich Tester und Programmierer, sich gegenseitig zu helfen, wenn sie keine besten Freunde werden, und alle werden davon profitieren.

Similar Posts

Leave a Reply

Your email address will not be published.