Es kann ziemlich schwierig sein, ein ganzes Team dazu zu bringen, dass alle dasselbe wollen . Oft reicht es nicht aus, den Wert von etwas zu sehen, um die Menschen zu ermutigen, ihr tief verwurzeltes Verhalten zu ändern. Sogar diejenigen, die den Wandel wertschätzen und ihn gezielt wollen, können manchmal auch dafür verantwortlich sein, ihn unbewusst zu bekämpfen.
Das Problem ist in Wirklichkeit die Motivation des Einzelnen und nicht die Motivation des Teams. Es kommt eine Zeit, in der ein Moment der Klarheit auf Sie zukommt, entweder als Ergebnis von etwas, von dem Sie glaubten, dass Sie es endlich verstanden haben, oder aufgrund eines neuen Werkzeugs oder einer anderen subjektiven Sache, die den durchschnittlichen Programmierer dazu bringt, alles hineinzuwerfen und den Prozess vollständig zu verändern. Ihre Aufgabe ist es, - falls Sie dies ablehnen möchten - zu prüfen, ob es für Sie oder das Team eine Möglichkeit gibt, herauszufinden, welche Dinge für jedes einzelne Teammitglied die Auslöser für Klarheit sind.
Für mich persönlich war es einfach, das StoryQ- Framework für BDD in DotNet zu entdecken, was es zu einfach machte, es zu ignorieren, und mich völlig über die "Barriere" von Test zuerst gegen Test gleichzeitig brachte. Später wurden meine Entscheidungen bestätigt, als ich NCrunch für Visual Studio fand. Die halbe Miete besteht manchmal nicht darin, die Idee zu verkaufen, sondern lediglich den Aufwand für radikale Gewohnheitsänderungen zu verringern ... und selbst dann kann es ein wenig Zeit und Arbeit kosten. Dieselben persönlichen Auslöser waren jedoch nicht genug, um die Herangehensweise meiner damaligen Kollegen zu beeinflussen, die immer noch so viel von ihrem Testcode gleichzeitig oder sogar nach ihrem Implementierungscode schreiben.
Manchmal ist es auch widerstrebend, die Art und Weise zu ändern, wie Dinge getan werden, weil man Angst, Misstrauen oder eine abscheuliche Sicht auf die Anstrengungen hat, die erforderlich sind, um zu lernen, etwas anderes zu tun, selbst wenn die Gründe für die Änderung stichhaltig sind. Wenn Ihre gesamte Testplattform für eine bestimmte Funktionsweise eingerichtet ist, kann es schwierig sein, Änderungen an der Arbeitsweise und möglicherweise an den Tools zu rechtfertigen , insbesondere wenn alte und neue Tests während der gesamten Lebensdauer von weiterhin nebeneinander bestehen müssen Projekt - und Sie würden sicherlich nicht jeden Test, den Sie jemals erstellt haben, neu schreiben müssen. Das Seltsame ist, dass die Leute manchmal das Gefühl haben, dass dies der einzige Weg ist, eine neue Testmethode anzuwenden, und dass es für diese Leute an sich schwieriger ist, vernünftige Veränderungen zum Besseren hinzunehmen.
Wirklich, der einzige Weg, wie etwas reflexiv wird, besteht darin, sich zu zwingen, es immer wieder zu tun, bis Sie nicht mehr bemerken, dass Sie sich zu sehr darauf konzentrieren müssen, wie es gemacht wird. Manchmal ist die einzige Möglichkeit, dies in einem Team zu tun, das Festlegen von Richtlinien, die möglicherweise etwas drakonisch sind, und das Üben von Pair-Programming und Code-Reviews sowie alles andere, was Teammitgliedern dabei helfen kann, sich gegenseitig zu unterstützen und die Änderung buchstäblich zu erzwingen im Verhalten auftreten. Damit eine solche Strategie jedoch wirklich erfolgreich ist, bedarf es einer festen und ehrlichen Verpflichtung jedes einzelnen Teammitglieds, die erforderlichen Maßnahmen zu akzeptieren und am Prozess teilzunehmen ... und viel Geduld von allen Beteiligten .