Идентификация вклада команды в автоматизацию и влияние на это, часть 1 |
19.06.2018 12:58 |
Автор: Катрина Клоки (Katrina Clokie) Оригинал статьи: http://katrinatester.blogspot.ru/2017/10/identifying-and-influencing-how-people.html Перевод: Ольга Алифанова Это письменная версия моего выступления на официальной конференции по Selenium в Берлине. Если вы предпочитаете посмотреть доклад, он доступен здесь: Selenium YouTube channel. Как ваши коллеги вкладываются в автоматизацию? Кто участвует в дизайне, разработке и поддержке наборов тестов? Что произойдет, если люди в вашей команде изменят свой вклад в автоматизацию? Как вы можете повлиять на эти перемены? Эта статья поможет вам рассмотреть эти вопросы. ВведениеКогда мне было 13, я играла в хоккей на траве. У меня множество дорогих мне воспоминаний о команде старшей школы. Было очень весело быть частью этой команды, и я чувствовала эту причастность к общему делу. Когда мне было 10, я очень хотела играть в хоккей. Четко помню, что спрашивала об этом родителей, возможно, потому, что это случалось не раз. Хорошо помню, как сильно я этого хотела. Что же произошло за эти три года, между моими 10, когда я хотела играть в хоккей, и 13, когда у меня появились хорошие воспоминания о команде хоккея на траве старшей школы? Три вещи. Первым барьером к игре в хоккей было то, что у меня не было никакого обвеса. Я жила в небольшом городке в Новой Зеландии, мои родители были учителями, а хоккейное оборудование стоило для моей семьи приличных денег. Чтобы участвовать в этом виде спорта, мне нужна была клюшка, капа, защита коленей, носки. Покупка всего этого открывала мне дорогу к спорту. Как только я получила оборудование, мне надо было учиться его использовать. Оказалось, что мой энтузиазм попадания на поле не имел ничего общего с врожденным талантом. Напротив, изначально мне было очень страшно участвовать в игре. Мне нужно было научиться бить по шайбе, захватывать ее, выучить различные позиции на поле, и знать, что делать в угловой позиции. Когда я этому научилась, у меня появилась уверенность, которая означала, что игра начала приносить мне удовольствие. Третьей причиной моего появления в хоккейной команде в 13 лет было присутствие там моих друзей. Я была подростком, и стремление проводить время с друзьями после школы было отличной мотивацией для игры в хоккей. Доступ, навыки, мотивация. Вот что отделяло меня десятилетнюю от тринадцатилетней. Они отделяли ребенка, который очень хотел заниматься спортом, от того, кто чувствовал себя частью команды. Этот водораздел созвучен многому. Командные виды спорта – опыт, которые многие из нас разделяют (как чувство причастности, так и отчуждения). Доступ, навыки, мотивация также ложатся в основу других водоразделов в нашей жизни. Разделение в автоматизацииЕсли вы посмотрите на команду разработки на стенд-апе, то все они стоят вместе. Люди физически близки друг к другу, а не рассредоточиваются, как будто между ними пропасть. Но внутри них есть деления на группы, и разделить их можно по-разному – в зависимости от того, как вы смотрите на них. Если мы думаем о разделении в плане автоматизации в команде разработки ПО, то, учитывая вышенаписанное, вы можете представить нечто вроде этого: Линейная диаграмма разделения Люди делятся на категории и прогрессируют в каждом из этих загончиков, слева направо. Чтобы преуспеть в автоматизации, мне нужен доступ к исходному коду, умение писать код, и энтузиазм. Йес! За вычетом того, что, возможно, все не так линейно и просто. Что, если я новенький тестировщик в команде? Я умею программировать, но у меня нет полномочий коммитить код в репозиторий? Что, если я полна энтузиазма, но ничегошеньки не понимаю в том, что делаю? Это не всегда идет слева направо. Я не обязательно развиваю каждый атрибут по очереди. Я считаю, что реальное разделение выглядит примерно так: Диаграмма разделения Венна Диаграмма Венна делит доступ, навыки и мотивацию. Человек может владеть всеми тремя сразу или любой комбинацией этой троицы, или вообще ничем из перечисленного. Чтобы эта диаграмма имела смысл, я бы хотела обсудить реальные примеры команд, с которыми я работала, и которые включали пять основных персонажей: Пять типов примерной команды Серая утка – это менеджер. Темно-красные фигурки – это люди бизнеса: собака – продакт-оунер, а лошадь – бизнес-аналитик. Оранжевые курицы – разработчики, а желтый олень – тестировщики. Команда номер один Команда номер одинЭто была Agile-команда в большой финансовой группе. Я была одним из двух тестировщиков. Мы были единственными участниками команды, которые коммитили код в набор автотестов. Мы – два желтых оленя в середине диаграммы, владеющие доступом, навыками и мотивацией. Разработчики команды могли нам помочь – навыки у них были. Но они не демонстрировали стремления помогать, а мы не давали им доступа к нашему коду. Три оранжевых цыпленка наверху диаграммы показывают, что у разработчиков были навыки, но не было ни мотивации, ни доступа. Бизнес-аналитик даже не знал о наличии автоматизации, а продакт-оунера в этой команде не было. Однако в ней был менеджер по разработке ПО, сильно поддерживающий автоматизацию в проекте, но ничего в ней не понимающий. Темно-красная лошадь сверху справа стоит вне диаграммы, а серая уточка – единственная, у кого есть только мотивация. Автоматизация, взращенная на этой ферме, была низкоуровневой, выполняя запросы к базе данных. Мы тестировали вне пользовательского интерфейса, где бизнес чувствовал себя как дома, и они радовались, что им не надо нам помогать. Код в наборе тестов был неплохим. Он был не так хорош, как если бы нам помогли разработчики, но он работал и тесты были стабильными. Команда номер два Команда номер дваСтранноватая команда, с моей точки зрения. Можно отметить, что в качестве тестировщика – желтого оленя – у меня были навыки и мотивация для вклада в автоматизацию, но не было доступа. Меня купили как консультанта, чтобы помочь существующей команде разработчиков и бизнес-аналитиков внедрить автоматизацию. У разработчиков и бизнес-аналитиков были различные навыки. Несколько разработчиков были основными, вкладывавшимися в набор автотестов. У бизнес-аналитиков был доступ и энтузиазм, но они не умели писать или читать код. Часть разработчиков имела доступ и навыки, но была твердо убеждена, что автоматизация – не их задача. Это цыплята слева, у них нет мотивации. Эта команда создала массивный бэклог технического долга в своих автотестах, потому что разработчики, пишущие их, предпочитали тратить время на разработку. Тест-код был элегантным, но тестовое покрытие было плохим. Команда номер три Команда номер триВ этой команде у всех был доступ к коду, кроме проектного менеджера. Разделение происходило по навыкам и мотивации. Я в итоге работала над набором тестов вместе с одним из бизнес-аналитиков. Он владел всем доменным и бизнес-знанием, помогал искать тестовые данные, и убеждался, что наборы тестов хорошо покрывали все странные сценарии. Я отвечала за навыки программирования для -внедрения автоматизации. В этой команде я не могла заинтересовать автоматизацией никого из разработчиков. У половины были подходящие навыки, у половины их не было, но никто из них не хотел этим заниматься. Продакт-оунер и второй бизнес-аналитик, имевшие доступ к коду, тоже не проявляли интереса. Они говорили, что доверяют нам двоим и результатам нашей работы, и у них нет необходимости помогать. С моей точки зрения, мы создали неплохую автоматизацию. Мы могли бы стать лучше, если бы смогли провести ревью. Бизнес-аналитик просматривал мою работу, а я оценивала его труд, но у нас не было глубокого кросс-доменного понимания. Команда номер четыре Команда номер четыреЭто была небольшая команда, где вообще не было автоматизации. У нас было несколько юнит-тестов, но ничего больше. Это означало, что нам приходилось повторять тестирование несколько раз, что, глядя назад, кажется слегка идиотским. Я работала с двумя разработчиками. У нас был бизнес-аналитик и продакт-оунер, но больше никакого менеджмента. Техническая сторона команды имела доступ к коду и навыки для создания автотестов, но ни времени на них, ни мотивации их писать у нас не было. Бизнес тоже не давил на нас с внедрением. Возможно, мои описания совпадают с вашей ситуацией. Попробуйте оценить свою команду в этом ключе. В какие загончики фермы вы бы поместили своих коллег? Продолжение следует... |