Текст книги "Agile-тестирование. Обучающий курс для всей команды"
Автор книги: Лайза Криспин
Жанр: Управление и подбор персонала, Бизнес-Книги
Возрастные ограничения: +12
сообщить о неприемлемом содержимом
Текущая страница: 6 (всего у книги 30 страниц) [доступный отрывок для чтения: 10 страниц]
Глава 6. Образовательные ресурсы
В главе 3 мы объяснили, почему важно быть специалистом широкого профиля и во время работы взаимодействовать с людьми разных специальностей. В главе 4 и главе 5 поговорили о множестве навыков, благодаря которым команды, занимающиеся ПО, повышают качество тестирований и конечного продукта. Развитие всех этих навыков расширяет наши представления и позволяет подойти к работе творчески. В этой главе остановимся на том, как овладеть всеми этими разнообразными навыками. Да, есть множество обучающих ресурсов, но задумайтесь о вашем стиле обучения и о корпоративной культуре вашей компании. Безусловно, и то и другое влияет на то, как вы будете постигать новые знания.
СТИЛИ ОБУЧЕНИЯ
Каждому из нас подходит определенный стиль обучения. Аудиалы лучше учатся, когда слушают. Визуалам нужно видеть картинки. Многие учатся, когда что-то делают, – таких людей иногда называют кинестетиками. Однако чаще всего нам приходится впитывать информацию разными способами. Джанет, например, аудиал, но ей необходимо практиковать навыки, чтобы усвоить их. Когда ей нужно донести мысль до других, она рисует схемы. К каждому человеку в разной степени можно применить различные методы обучения.
На то, как мы воспринимаем информацию, влияют и эмоции. У каждого есть пробелы, которые могут помешать обучению, триггеры, из-за которых мы закрываемся и перестаем слушать. Для познания необходима комфортная среда. Если вы помогаете в обучении коллегам, имейте в виду, что люди иногда эмоционально реагируют на то, что вы говорите и как. Они могут не воспринять суть, если им не нравится форма подачи. То, что работает для одного, может быть совершенно неэффективно для другого.
В процессе обучения, будь то тренинг, онлайн-курсы или индивидуальные уроки, старайтесь замечать, какие темы для вас являются «больными» и вызывают эмоциональную реакцию. Как только чувствуете, что начинаете блокировать информацию из-за того, как она подается, пробуйте сосредоточиться на преимуществах, которые вы можете извлечь из материала, или на том, чему можете научиться у преподавателя. Помните об этом, когда общаетесь с разработчиками или коммерческими экспертами, принимайте во внимание любую информацию, которая может быть полезна в тестировании. Ищите в своих знаниях пробелы, препятствующие обучению, и пытайтесь помочь с этим другим (Gregory, 2010).
Дэвид Хассман и Джин Табака координировали мастер-класс «Дзен. Сознание новичка» (Zen, the Beginner’s Mind; Levison, 2008), призванный открыть умы новым идеям, на конференции Agile–2008. Джанет принимала в нем участие и поняла: когда мы подходим к проблеме с закрытым сознанием и начинаем каждое предложение со слов «Это не будет работать, потому что…» или «Это не работало, когда мы попробовали…», мы упускаем возможности. Если какая-то незначительная решаемая проблема привела к неудовлетворительным результатам, это не значит, что изначально идея была плоха. Возможно, вы просто не были готовы к ней. Иногда мы не владеем общей информацией, и это не позволяет ухватить суть. Откройте свой ум чудесам обучения. Чтение книг по философии или другим наукам поможет взглянуть на проблему иначе.
Ищите возможности за пределами тестирования софта или профессии разработчика. Инструкторы, тренеры и наставники в других областях могут подойти вам по стилю обучения и привнести свежий взгляд на вещи. Правильно выбранный помощник может открыть путь к новым идеям.
История Джанет
Когда мы с Лайзой начали разрабатывать и преподавать курсы Agile, я стала читать о стратегиях обучения. Взяла несколько идей из книг и применила их на практике. Пытаясь нащупать свой стиль, наблюдала за другими преподавателями. Однако одним из тех, к кому я чаще всего обращалась за советом, была моя сестра Кэрол Вааж, первоклассный учитель со степенью в дошкольном образовании. Именно она помогла мне увидеть новые методики и подходы к обучению и работе со студентами.
Например, она научила меня методу открытых вопросов. Это помогает ученикам начать размышлять над темой. Приведу некоторые из них. Понятно, что полный их список гораздо длиннее (полностью его вы найдете в Приложении Б «С чего начать»):
• Давайте подумаем, как такое могло быть…
• Что случится потом?
• Почему это может быть?
• Почему, как вы думаете, это произошло?
• Вы заметили?
Если мы задумаемся, как учатся дети, и позволим природному любопытству вести нас по пути познания мира, представьте, как далеко мы можем зайти.
У Кэрол также есть несколько потрясающих историй, как далеко в обучении могут зайти дети. Мы включили их в список литературы ко второй части.
Вы можете учиться у людей, которыми восхищаетесь, даже без формальных уроков. Большинство рады помочь, так что не бойтесь спрашивать.
ИСТОЧНИКИ ЗНАНИЙ
Ищите, где отточить свои навыки. Можно найти хорошие источники онлайн или офлайн. Несколько примеров отличных возможностей обучения приведены в списке литературы ко второй части.
КОНФЕРЕНЦИИ, КУРСЫ, ВСТРЕЧИ И СОТРУДНИЧЕСТВО
Хорошая конференция может дать очень многое: от узконаправленных техник, которые вы начнете применять сразу же, до взрывных идей или технологий, которые вы будете продолжать изучать. Но что еще важнее: на конференциях вы встречаетесь с практикующими специалистами и лидерами мнений. Вы можете поддерживать с ними связь и использовать их как постоянные источники вдохновения.
Существует множество различных конференций. Конференции по тестированию – очевидный выбор тестировщиков, но не отбрасывайте и другие, которые помогут развить дополнительные навыки, например овладеть языками написания скриптов. Если ваш работодатель не может позволить себе отправить вас на конференцию, а вы не в состоянии оплатить ее сами, рассмотрите возможность выступить в качестве докладчика. Помните: обучение кого-то определенным навыкам – лучший способ научиться самому. Узнайте, не требуются ли на конференцию волонтеры, нельзя ли получить грант или скидку. Если у вас нет возможности ездить на подобные мероприятия, рассмотрите виртуальные, которые набирают все большую популярность, или зарегистрируйтесь на вебинар.
Конференции – это не только способ овладеть какими-то техническими навыками. Многие конференции по программному обеспечению включают лекции и курсы по сотрудничеству, корпоративной культуре, обучению, коучингу, работе с клиентами и кураторству. Джанет посетила даже сессию Портии Танг «Сила игры». Самое важное на конференциях, как правило, проходит во время перерывов, в коридорах и буфетах. Именно там обычно встречают людей, с которыми завязываются долгие отношения.
Во многих больших городах постоянно проводятся встречи и собрания тестировщиков и разработчиков. Эти мероприятия – отличная возможность для бесплатной практики и получения знаний, к тому же там можно познакомиться с людьми, владеющими разными инструментами и методами. Извлекайте максимум из подобных встреч.
Если вы хотите улучшить свои обучающие и тренерские навыки, рассмотрите возможность участия в соответствующих тренингах, например в Agile Coach Camp. Игровые мероприятия типа Play4Agile – прекрасная возможность обогатиться идеями по поводу коллективного обучения и укрепления доверия в команде. Портия Танг (Tung, 2011) говорит, что во время игры рушатся барьеры между людьми, а ум открывается новым знаниям.
Существуют мастер-классы и курсы для повышения лидерских и коммуникативных качеств. Среди них, например, тренинг Problem Solving Leadership (Derby et al., 2014), организованный Satir Global Network.
Чем бы мы ни занимались, для совершенствования навыков нужна практика. Музыканты, спортсмены и даже любители компьютерных игр – все практикуются. На специализированных слетах (Haines et al.) программисты упражняются в написании кодов, пусть даже это не потребуется им в дальнейшей работе. Лайза считает такие мероприятия крайне полезными даже для тех, кто не пишет коды. Она сама научилась таким образом решать проблемы и понимать, что делают остальные. Есть отличные способы практиковаться и в тестировании, например поучаствовать в конкурсе тестировщиков или организовать нечто подобное.
В группах типа Weekend Testing можно поупражняться в разных методах в режиме реального времени с тестировщиками с вашего континента или со всего мира. Если у вас есть свободный час и вы хотите потренироваться в чем-то, попросите кого-нибудь составить компанию. Недавно Лайза обратилась к своим подписчикам в Твиттере, и несколько человек согласились попрактиковаться вместе с ней в Ruby Koans. Товарищи по команде с удовольствием составят вам компанию.
Ищите курсы по интересующим вас предметам. Многие из них посвящены конкретным темам, таким как автоматизация тестов на уровне пользовательского интерфейса. Некоторые компании приглашают тренеров, чтобы провести обучение для всего коллектива. Так у сотрудников появляется общее понимание.
Онлайн-курсы, видеоуроки, вебинары и семинары предлагают удобные формы обучения мастерству тестировщика и разработчика, а также нетехническим интеллектуальным навыкам. Существуют бесплатные и недорогие онлайн-курсы, однако более продвинутые, включающие видеозанятия с инструктором, стоят дороже. Как правило, вы можете выбрать свой индивидуальный ритм.
История Джанет
Недавно я прошла персональный курс по Kanban на www.udemy.com. Я могла составить свое расписание, учиться, находясь в любой точке мира и с удобной для меня интенсивностью. Все это было очень важно. То, чему я научилась, помогло сосредоточиться на приоритетных задачах и не отвлекаться на менее значимые в данный период времени дела.
Если есть что-то, чему вы хотите научиться, поищите видеоуроки в сети, записи с конференций, сходите на встречи, запишитесь на курсы.
СТАТЬИ, ПОДКАСТЫ И ИНТЕРНЕТ-СООБЩЕСТВА
Информация обо всех аспектах тестирования софта доступна как в печатных источниках, так и в интернете. Нам повезло, что сейчас издается так много самых разных книг по этому вопросу. В этой книге вы найдете ссылки на другие печатные издания, статьи и блоги. Все источники – в списке литературы ко второй части.
Подкасты – еще один удобный способ обучения. Вы можете слушать интервью с экспертами, уроки на определенные темы, заметки с конференций, вебинары и обсуждения.
Подкасты изменили мою жизнь
Стив Рогальски, Agile-специалист в компании Protegra, рассказывает о своем опыте обучения с помощью подкастов.
Моя жена любит рассказывать всем об одном случае. Как-то я вернулся домой с работы и заявил, что «подкасты изменили мою жизнь». Ее логичным ответом было: «Что? Подкасты? Не я, не твои дети, а подкасты?». Я твердо повторил: «Да, подкасты. Они изменили мою жизнь».
До того времени я по большей части полагался на компании, где работал, относительно того, что и как мне нужно было изучать. Когда несколько лет назад приятель сказал мне, что слушает подкасты по дороге на работу, я тоже решил попробовать. Подсел, прослушав буквально несколько выпусков. Я не мог дождаться, когда снова окажусь в машине, чтобы узнать о новинках в области разработки софта, тестирования, менеджмента и других тем. Много раз, когда слышал о новом термине, методе или встречал незнакомую аббревиатуру, загружал соответствующий подкаст перед тем, как уйти с работы, и на следующий день возвращался достаточно образованным, чтобы применить информацию на практике.
Я нашел отличный способ обучения, подходящий моему расписанию и делающий мою работу еще более интересной. Подкасты помогли мне познакомиться с новыми людьми, узнать много полезного, что сделало мой опыт более ценным и успешным. Да, подкасты превратили мою машину в средство обучения, тем самым изменив жизнь.
Вступайте в мировые сообщества разработчиков, ищите тех, с кем сможете обмениваться идеями и опытом. Это отличная возможность узнать, не сталкивался ли кто-либо с проблемой, подобной вашей, если да, то как ее решали. Онлайн-сообщества, такие как Software Testing Club, позволяют учиться посредством участия в форумах и обсуждениях. Базы рассылки и социальные сети (твиттер, например) – прекрасные источники интересных статей и постов.
На открытых ресурсах можно практиковаться в написании кодов. Там же вы подтянете и навыки в тестировании, написании руководств, обучении. (Ссылки на упомянутые здесь ресурсы найдете в списке литературы ко второй части, в разделе «Курсы, конференции, онлайн-сообщества, подкасты».)
Если в вашей компании тестировщики активно участвуют в процессе разработки ПО, Community of Practice (CoP) – хороший способ поделиться знаниями с коллегами. Другие отличные варианты – обеды-тренинги или группы по интересам внутри компании. Например, несколько команд прочли нашу первую книгу – по главе в неделю. За обедом или во время специально организованных встреч они обсуждают прочитанное и то, как это можно применить на практике в их ситуации (Ruhland, 2013a). В качестве бонуса при ведении встреч подобных клубов вы прокачаете свои координаторские способности!
Поработайте с коллегами, с разработчиками из других компаний. Сотрудники отдела маркетинга и продаж многое знают о клиентах, как и UX-дизайнеры. Сотрудники отдела персонала или бухгалтерии могут помочь взглянуть на продукт свежим взглядом. Вы многому можете научиться у коллег, да и сами можете многому научить их.
История Лайзы
Я как-то работала в команде, где нас объединяли для выполнения каждой задачи по тестированию или написанию кодов. Работая в паре с программистом над автоматизацией приемочных тестов на уровне пользовательского интерфейса, необходимых для написания кода, я заметила, как легко коллега находил дублирующие участки в тестовом коде и тут же выгружал их в нашу библиотеку макросов. В результате этой совместной деятельности я значительно продвинулась в создании автоматизированных тестов.
Поэтапная демонстрация – еще один полезный метод обучения. Попробуйте поручать представлять разработки команды разным людям. Это отлично поможет в развитии навыков презентации и организаторских способностей.
ВРЕМЯ ДЛЯ ОБУЧЕНИЯ
Обучение требует времени. Если вы в постоянной запарке, чтобы только не отставать от сроков, у вас не будет времени на обучение и освоение новых идей. Во второй главе мы говорили о значимости поддержания культуры обучения, чтобы сотрудники чувствовали, что у них есть время для изучения, экспериментов с новыми методами или просто для размышлений.
Бернис Рухланд предлагает читать или учиться, когда вы полны энергии. Например, если вы жаворонок, пробуйте вставать чуть раньше. Сама Бернис читает во время обеда и по воскресеньям.
Постоянно совершенствуйтесь
Майк Токс, тестировщик из Новой Зеландии, объясняет, почему обучение связано с трудностями, к которым каждый должен быть готов.
У большинства людей карьера длится по крайней мере сорок лет. Если посмотреть на сферу разработки программного обеспечения, на то, насколько кардинально все меняется с течением времени, становится очевидным, что навыки сегодняшних студентов совершенно устареют к моменту окончания их карьеры. Просто оглянитесь на десять или двадцать лет назад – это совершенно другой мир. Смартфоны, планшеты, скоростной интернет – вещи, которые мы уже воспринимаем как должное, хотя все это вполне новые изобретения.
Когда пятнадцать лет назад я начинал работать программистом, мне говорили, что FORTRAN и C будут единственными языками, которые мне понадобятся, а их уже заменили Java, C++ и C#.
Это значит, что профессионалы в области ПО не могут работать всю жизнь, используя только имеющиеся у них навыки. Новые разработки потребуют новых знаний. Твердить мантру «Мы всегда делали именно так» – не слишком эффективно. Один из способов постоянно быть в тренде – непрерывно обучаться и применять новые идеи.
Что бы я действительно хотел сказать для истории, так это то, что обучение – уже само по себе Agile-процесс. Не рассматривайте его как нечто необъятное: сегодня вы ничего не знаете, прочтите книгу – и через два дня вы эксперт. Обучение – это свойство, что-то, чем вы занимаетесь постоянно, добавляя к своим знаниям кусочек за кусочком, а потом переходите к следующему этапу. Это не гонка до финиша, всегда есть что-то, чему можно научиться. Часто те, кто впитывают знания медленнее, учатся гораздо лучше и разбираются в теме на более глубоком уровне.
В заключении моей книги «Минное поле софта» (The Software Minefield; Talks, 2012) я говорю о каналах обучения, и это мой экспертный доклад по данному вопросу.
Если ваша команда сталкивается с «проверкой на вшивость Agile» (Hendrickson, 2010), ведет разработки ПО постоянно и на высоком уровне, у вас должно быть свободное время (помимо рабочего) для профессионального роста. Так же, как музыканты играют на инструментах не только на концертах, мы все должны оттачивать свои навыки и в нерабочее время. Если вы любите то, что делаете, для вас это должно быть удовольствием, а не бременем. Как говорит Стив Рогальски, чем больше нового вы узнаете, тем больше получаете удовольствия и радости.
ПОМОЩЬ ДРУГИМ В ОБУЧЕНИИ
Все сотрудники в коллективе, включая тестировщиков, могут использовать свои лидерские и личностные качества для помощи коллегам в обучении.
Обретение уверенности
Альдо Ролл, тест-менеджер из Южной Африки, рассказывает, как он помог новеньким обрести уверенность.
Новые тестировщики в нашей команде боялись принимать участие в обычных совместных практиках, принятых в коллективе. Они испытывали культурный дискомфорт, что мешало им отвечать на вопросы, создавало определенные трудности для процессов, происходящих в коллективе.
К тому же в компании не очень хорошо представляли, что именно включает в себя тестирование. Я многое сделал для дальнейшего просвещения клиентов, бизнес-аналитиков, программистов и менеджеров проектов, чтобы они могли более открыто смотреть на разные пути решения задач и повышать осведомленность об альтернативных подходах к разработке.
В результате наших усилий тестировщики превратились в слаженную команду. Они делились друг с другом проблемами и обсуждали наилучшие пути их решения.
Со временем возникла необходимость в больших объемах исследовательского тестирования. Однако тестировщики не боялись высказывать свои мысли коллегам по проекту. Их приняли как ценных сотрудников, вносящих значительный вклад в общее дело и взаимодействующих с остальными. Программисты со всей серьезностью принимали советы тестировщиков по поводу запуска в продакшн. Сбои значительно снизились. Что еще важнее: тестировщики развили весьма нужное качество – уверенность в собственном деле.
Избавление людей от страха перед неизвестным – огромный шаг на пути к побуждению контролировать свой профессиональный рост. Как говорит Альдо, обучение и поддержка помогают развиваться и сотрудничать с другими членами команды.
Обучение – часто своего рода побочный продукт при решении проблем, стоящих перед коллективом. И то, чему вы научитесь, может быть куда важнее, чем преодоление изначальных трудностей.
Неожиданное обучение
Клэр Мосс, тестировщик из США, рассказывает, как ее небольшой эксперимент помог решить проблему. Для команды это обернулось неожиданными возможностями повысить уровень коммуникации и научиться коллективно отвечать за процесс тестирования.
Будучи тестировщиком в многофункциональной Scrum-команде, я знала о дефектах. Я визуал, поэтому клеила стикеры на белую доску над своим столом. Никогда раньше не использовала доску таким образом, попробовала разделить информацию на категории, чтобы лучше подготовиться к разговору о результатах тестирования с коллегами по проекту. Хотя другие тоже видели доску, я всегда относилась к ней как к чему-то, что помогало именно мне оставаться собранной.
Однажды, войдя в офис, я обнаружила переклеенные бумажки. Меня поразило, что записи оказались полезными и интересными для коллег. Расстановка приоритетов в списке дефектов позволила команде руководителя продукта расширить информацию, необходимую для тестирования. Я ухватилась за возможность использовать эту наглядную таблицу в качестве средства достижения большего взаимопонимания.
Я внимательно отнеслась к изменениям, внесенным коллегами, разузнала, как используют наглядные таблицы в других Agile-командах. Так началась серия моих экспериментов.
Похоже, самый распространенный вопрос о дефектах: «Насколько все плохо?». Так что я попыталась перераспределить баги в зависимости от их серьезности (например, относительно пользователя). Поскольку мои разработчики быстро и эффективно решают самые трудные задачи, в итоге мы пришли к большому списку незначительных проблем. Несмотря на то что взаимопонимание между нами возросло, еще все же предстояло расставить коммерческие приоритеты. Не все ошибки данного уровня одинаково критичны с финансовой точки зрения.
Для решения этой задачи я попробовала иначе взглянуть на проблему. Несмотря на то что мне хотелось представить более подробную информацию о природе багов, я изначально сообщила лишь о том, что касалось пользователя. С помощью карты сайта, приготовленной для планирования тестирования, я представила более широкую картину того, где обнаруживались ошибки. Коллегам в прямом смысле нужно было отойти на шаг назад, чтобы увидеть проблемные кластеры, которые могли означать необходимость редизайна пользовательского интерфейса или доработку кода. Эта схема работала какое-то время.
Все это время наши сотрудники учились свободнее говорить друг с другом о своей работе. Наши навыки приобрели более Т-образную форму, понимание расширилось до областей за пределами специализации каждого. Мы поняли, что сами виноваты в том, что список ошибок отличается от списка требований заказчика, и исправили этот недостаток.
Мы перенесли баги в другой список, теперь на основе их важности, для чего потребовалось проанализировать взаимодействие с пользователем.
Далее соотнесли соответствующие ошибки с требованиями, чтобы получить более широкое представление о том, какие именно из них выполнялись. В процессе мы избавлялись от багов, либо устраняя их, либо откладывая по своему усмотрению. Принятие такого решения позволило сосредоточиться на продукте в целом, так что отдельная доска для ошибок была больше не нужна.
Представление работы всей команды в единой схеме было шагом в правильном направлении. Позже, обсудив все плюсы, мы внедрили большие визуальные схемы. Однако все эти этапы были направлены на понимание того, как сообщать об ошибках, что является основной частью тестирования. Мы отлично справлялись с тем, чтобы вовлечь в него всю команду, но нам все еще нужно было копать глубже и рассматривать не только поверхностные ошибки. Большие наглядные таблицы помогли наладить отношения, сотрудничество в коллективе, что привело к совместному проведению тестов.
Если вы видите кого-то, кому в состоянии помочь, не упускайте эту возможность. Составьте наглядные схемы, как сделала Клэр, создайте сообщество по обмену опытом, ведите дневник тестировщиков или организуйте книжный клуб. Порой найти новую идею так же просто, как увидеть и воспользоваться возможностью.
РЕЗЮМЕ
Много чего стоит иметь в виду при развитии Т-образных навыков, необходимых для успешного тестировщика. Расширьте поиски, рассматривайте менее вероятные варианты, ищите идеи и за пределами сферы разработки ПО.
• Определите предпочтительный стиль обучения и следуйте ему для оптимизации возможностей.
• Существует множество способов обучения. Попробуйте несколько и решите, какой подходит именно вам.
• Находите время для обучения.
• Экспериментируйте, чтобы вовлечь в проект всех членов команды. Работайте с представителями заказчика, помогайте им в понимании того, что им действительно нужно.
• Вступайте в большие сообщества тестировщиков, местные и онлайн-группы. Ищите новые идеи.
• Не забывайте практиковаться в навыках.
• Контролируйте свой профессиональный рост.
Правообладателям!
Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.Читателям!
Оплатили, но не знаете что делать дальше?