Заставить всю команду на самом деле хотеть одно и то же может быть довольно сложно. Часто бывает так, что одного взгляда на что-то недостаточно, чтобы побудить людей изменить укоренившееся поведение. Даже те, кто ценит изменение и кто конкретно хочет его, иногда также могут нести ответственность за его подсознательную борьбу.
Проблема на самом деле заключается в индивидуальной мотивации, а не в мотивации команды как таковой. Наступает момент, когда наступает момент ясности, или в результате чего-то, что вы почувствовали, что наконец-то поняли, или из-за какого-то нового инструмента или какой-то другой субъективной вещи, которая заставляет обычного программиста все бросить и полностью изменить процесс. Ваша работа - если вы решите ее исключить - это посмотреть, есть ли способ для вас или для команды выяснить, какие вещи станут причиной ясности для каждого отдельного члена команды.
Лично для меня это было просто открытие инфраструктуры StoryQ для BDD в DotNet, которая слишком легко игнорировала, и заставила меня полностью преодолеть «барьер» тест-первый-тест-одновременно. Позже я подтвердил свой выбор, когда нашел NCrunch для Visual Studio. Иногда залог успеха заключается не в продаже идеи, а в простом снижении усилий, необходимых для внесения радикальных изменений в привычки ... и даже тогда это может занять немного времени и работы. Однако этих же личных триггеров было недостаточно, чтобы повлиять на подход моих коллег в то время, которые все еще пишут столько же тестового кода одновременно или даже после кода реализации.
Иногда также возникает нежелание менять способ выполнения действий из-за присущего ему страха, недоверия или неприятного взгляда на усилия, необходимые для того, чтобы научиться делать что-то по-другому, даже когда обоснование изменения является обоснованным. Если вся ваша тестовая платформа настроена так, чтобы работать определенным образом, может быть трудно оправдать изменение способа выполнения работы и, возможно, изменение инструментария , особенно когда старые и новые тесты должны будут продолжать сосуществовать в течение всего срока службы проект - и вам, конечно, не захочется переписывать каждый тест, который вы когда-либо создавали. Странно то, что иногда люди чувствуют, что это единственный способ принять новую методологию тестирования, и это само по себе затрудняет принятие разумных изменений в лучшую сторону.
На самом деле, единственный способ сделать что-то рефлексивным - это заставить себя делать это снова и снова, пока вы не перестанете замечать, что вам нужно чрезмерно концентрироваться на том, как это сделать. Иногда, единственный способ сделать это в команде - это установить политики, которые могут показаться немного драконовскими, и попрактиковаться в парном программировании и обзорах кода, а также всего, что может помочь членам команды поддержать друг друга и буквально форсировать изменения. в поведении произойти. Тем не менее, для того, чтобы такая стратегия действительно была успешной, она по-прежнему требует твердой и честной приверженности каждого отдельного члена команды принять такие меры по мере необходимости и участвовать в процессе ... и большое терпение со стороны всех участников ,