Sprawienie, by cały zespół naprawdę tego samego chciał , może być dość trudne. Często zdarza się, że samo postrzeganie wartości w czymś nie wystarcza, aby zachęcić ludzi do zmiany zakorzenionego zachowania. Nawet ci, którzy cenią zmianę i którzy jej szczególnie pragną, mogą czasami być odpowiedzialni za podświadomie z nią walkę.
Problem dotyczy naprawdę motywacji indywidualnej, a nie motywacji zespołowej jako takiej. Przychodzi moment, gdy dociera do ciebie chwila jasności, albo w wyniku czegoś, co w końcu zrozumiałeś, albo w wyniku jakiegoś nowego narzędzia lub innej subiektywnej rzeczy, która powoduje, że przeciętny programista rzuca wszystko i całkowicie zmienia proces. Twoim zadaniem - jeśli zdecydujesz się na to, z wyjątkiem - jest sprawdzenie, czy istnieje sposób dla ciebie lub zespołu, aby dowiedzieć się, które rzeczy będą wyzwalać jasność dla każdego członka zespołu.
Dla mnie osobiście było to po prostu odkrycie frameworku StoryQ dla BDD w DotNet, co sprawiło, że zbyt łatwo było to zignorować i całkowicie mnie przekroczyło „barierę” test-pierwsza kontra test-jednocześnie. Później potwierdziłem mój wybór, kiedy znalazłem NCrunch dla Visual Studio. Połowa bitwy czasami nie polega na sprzedaży pomysłu, ale raczej na zmniejszeniu wysiłku wymaganego do wprowadzenia radykalnej zmiany nawyków ... a nawet wtedy może to zająć trochę czasu i pracy. Te same osobiste wyzwalacze nie były jednak wystarczające, aby wpłynąć na podejście moich kolegów w tym czasie, którzy wciąż piszą tyle samo kodu testowego jednocześnie, a nawet po kodzie implementacyjnym.
Czasami również nie chce się zmienić sposobu, w jaki się to robi, z powodu nieodłącznego strachu, nieufności lub niesmacznego spojrzenia na wysiłek wymagany do nauczenia się robić coś inaczej, nawet jeśli uzasadnienie zmiany jest rozsądne. Jeśli cała platforma testowa jest przystosowana do pracy w określony sposób, może być trudne uzasadnienie zmiany sposobu wykonywania zadań i potencjalnej zmiany oprzyrządowania , zwłaszcza gdy stare i nowe testy będą musiały nadal współistnieć przez cały okres istnienia projekt - i na pewno nie będziesz musiał przepisywać każdego testu, który kiedykolwiek stworzyłeś. Dziwne jest to, że czasami ludzie uważają, że jest to jedyny sposób na przyjęcie nowej metodologii testowania, a to samo w sobie utrudnia zaakceptowanie rozsądnych zmian na lepsze.
Naprawdę, jedynym sposobem, w jaki coś staje się refleksyjne, jest zmuszanie się do robienia tego w kółko, dopóki nie zauważysz, że musisz zbytnio koncentrować się na tym, jak to zrobić. Czasami jedynym sposobem na zrobienie tego w zespole jest ustalenie zasad, które mogą być nieco drakońskie, oraz ćwiczenie programowania par i recenzji kodu oraz wszystkiego innego, co może pomóc członkom zespołu wspierać się i dosłownie wymusić zmianę w zachowaniu, które ma nastąpić. Jednak, aby taka strategia była naprawdę skuteczna, nadal wymaga silnego i uczciwego zaangażowania ze strony każdego członka zespołu, aby zaakceptować niezbędne środki i wziąć udział w procesie ... oraz dużo cierpliwości ze strony wszystkich zaangażowanych .