Как создать команду QA и эффективно ею управлять
Команды по обеспечению качества (quality assurance, QA) гарантируют, что продукция компании соответствует установленным стандартам. Специалисты QA используют разные методы тестирования, чтобы определить качество продукта, сообщают об обнаруженных проблемах и предлагают улучшения или исправления.
К сожалению, не во всех компаниях знают, как лучше построить работу команды, и какими качествами должны обладать её члены. Мы разработали руководство по формированию и управлению командой QA, основываясь на лучших практиках и собственном большом опыте управления обеспечением качества. Мы собрали полезные советы, которые помогут создать успешную команду QA в любом из перечисленных случаев:
• у вас пока нет команды, и вам предстоить создать отдел QA;
• нужно улучшить работу имеющихся QA-специалистов и наладить сотрудничество между командами;
• у вас уже есть команда QA, но она не настолько хорошо справляется с работой, как могла бы.
Подбор персонала и онбординг
Можно создать собственную команду QA или воспользоваться аутсорсинговыми услугами. Независимо от метода, к онбордингу команды нужно подходить так же, как к адаптации любого нового сотрудника. Чтобы QA-специалисты быстро вошли в курс дела и могли обеспечить высокое качество продукции, нужно познакомить их с корпоративной культурой, существующими процессами и продуктами.
Преимущество аутсорсинга услуг QA в том, что у команды уже разработаны процедуры адаптации, которые позволят приступить к работе как можно скорее. Поставщик с правильно организованным процессом онбординга запросит стратегию тестирования, предоставив команде всю необходимую информацию о проекте и желаемых результатах. В свою очередь команда будет информировать заказчика об этапах тестирования и специалистах, так что он будет точно знать, в какой стадии находится работа.
Воспользовавшись аутсорсингом QA, можно быстро получить полноценную, сформировавшуюся команду, готовую приступить к работе. Этот способ гибче и позволяет создавать собственные процессы QA, которые можно корректировать в соответствии с меняющимися требованиями.
Роли и обязанности специалистов QA
Чтобы правильно использовать возможности команды и управлять ею, необходимо чётко распределить роли в QA. Нужно учесть навыки каждого тестировщика и понять, кто для какой позиции лучше подходит. Например, специалист, имеющий опыт работы с языками программирования, сможет разрабатывать автоматизированные тесты для остальной части команды. А его коллега, хорошо разбирающийся в мобильных девайсах, займется тестированием приложений под Android и iOS.
Требования к QA-специалистам постоянно растут, и в будущем такие специалисты смогут разрабатывать инструменты, создавать автоматизированные тесты и даже писать программы. На данный момент существуют следующие роли для QA-инженеров, исполняющих разные обязанности в группе тестирования:
• Инженер по тестированию ПО — отвечает за тестирование всей системы.
• Аналитик — определяет тестовые условия и функции, которые необходимо протестировать, разрабатывает сценарии тестирования и документацию.
• Инженер по автоматизации тестирования — разрабатывает автоматизированное тестирование.
• Архитектор тестирования — проектирует сложные тестовые инфраструктуры и определяет необходимые инструменты.
• Тест-менеджер — создает стратегию тестирования, управляет командой и процессами тестирования.
Мотивация QA-команды
Важная задача QA-менеджера — поддерживать мотивацию команды в процессе agile-разработки. Когда проект только начинается и есть много новых интересных задач, члены команды заинтересованы. Однако когда все крупные проблемы решены и остается только перепроверять отчёты об ошибках, QA-специалистам может не хватать мотивации.
Существует пять методов управления, которые помогут повысить вовлеченность и мотивировать тестировщиков, а также способствовать хорошему настроению сотрудников и успешной работе.
1. Поощряйте обмен знаниями
Если сотрудники чувствуют, что занимаются малопродуктивной работой, мотивация падает. Очень важно поощрять участников команды QA делиться знаниями и мотивировать друг друга постоянно расти.
Обмен знаниями приносит пользу обеим сторонам. Тот, кто обучает, ощущает, что вносит значительный вклад в общее дело, а тот, кто учится, приобретает новые навыки и перспективы развития. Когда вы поощряете обмен знаниями, возможности членов вашей команды растут, и это подталкивает их к постоянному совершенствованию. Они также могут меняться ролями в рамках одного проекта, им становится интереснее работать, ведь предыдущий функционал был полностью изучен и стал рутиной. Кроме того, это расширяет знания команды о проекте и помогает избежать эффекта «бутылочного горлышка».
2. Признавайте заслуги
Никому не нравится, когда его обделяют вниманием или не замечают вклад в общее дело. Поэтому, несмотря на сроки, которые нужно соблюдать, кучу тестов, которые нужно выполнить, срочные отчёты и прочее, нужно выкроить время, чтобы похвалить, выразить признательность или поощрить сотрудников за отличную работу. Такое признание успехов не только улучшит отношения с членами команды, но и создаст атмосферу, в которой они будут чувствовать себя ценными и мотивированными сотрудниками.
3. Используйте неудачи для обучения
Если вы совершаете ошибку, постарайтесь, чтобы члены вашей команды могли извлечь из неё уроки и избежать подобных неудач. Людям свойственно ошибаться, из-за вашего признания собственных ошибок команда не будет думать о вас хуже. Наоборот, то, что вы их не утаили и помогаете другим извлечь из них уроки, вызывает уважение.
4. Доверяйте команде
Никто не любит чрезмерного контроля. Если вы постоянно заглядываете через плечо членам своей команды, они будут чувствовать, что вы не верите в их способность справиться с работой. Вполне естественно следить за прогрессом и запрашивать отчеты о состоянии дел у новых сотрудников, которые ещё не доказали свою компетентность. Но не раздражайте остальных членов вашей команды, постоянно подвергая сомнению их работу и давая указания насчёт любой мелочи.
Микроменеджмент в тестировании вызывает недовольство членов команды — они чувствуют, что вы не доверяете их навыкам или трудовой этике. Недовольные этим сотрудники могут уйти в поисках лучшей рабочей обстановки. Нанимайте квалифицированных специалистов и доверяйте им.
5. Выясните, что мотивирует членов вашей команды
Каждый из членов команды индивидуальность, и то, что важно для одного, может не интересовать другого. Узнайте своих людей и определите, что их мотивирует. Это поможет выстроить систему поощрений и вознаграждений, которая будет поддерживать вдохновение каждого. Зачастую стоит добавить дух соревнования и элемент игры в тестировании и QA, ведь немного здоровой конкуренции делу только на пользу.
Пообщайтесь с глазу на глаз с каждым из команды
Чтобы успешно руководить командой, нужно знать людей, которые к неё входят. Познакомьтесь с ними, узнайте об их навыках и способностях, как тестировщики видят свою карьеру и развитие. Лучше всего это выяснить во время личной беседы.
Разговаривая один на один, постарайтесь узнать, в каком направлении человек хочет расти и совершенствоваться, какие новые навыки хотел бы развить, доволен ли он своей нынешней ролью и обязанностями в обеспечении качества.
Общение с глазу на глаз позволяет лучше справляться с конфликтами и выявлять потенциальные проблемы прежде, чем они повлияют на команду, это помогает создать приятную рабочую среду для каждого члена команды. Раз в квартал вы должны находить время для индивидуальных встреч с каждым. Выясните, что можно сделать, чтобы помочь им в карьерном росте и сохранить их мотивацию к дальнейшему совершенствованию.
Регулярно оценивайте вашу аутсорсинговую команду
Оценивать документацию при работе с аутсорсинговой командой нужно не реже одного раза в месяц. Это поможет убедиться, что тестирование идёт должным образом, и что вы получаете качественную работу за свои деньги. Ищите неэффективные процессы или ненужные действия, которые приводят к увеличению затрат, и при необходимости вносите коррективы как со стороны заказчика, так и исполнителя. Регулярная оценка работы аутсорсингового QA-агентства помогает гарантировать высокое качество и правильную работу конечного продукта.
К тому же обсуждение разногласий при взаимодействии разработчиков и тестировщиков на ранней стадии позволяет быстро скорректировать работу и убедиться, что вы друг друга понимаете. Обратная связь чрезвычайно важна: она позволяет экономить ресурсы и способствует открытому общению.
Показатели эффективности работы команды QA
Существует множество методов для измерения производительности QA. Однако показатели эффективности могут ввести в заблуждение или не раскрывать полной картины, поэтому важно верно интерпретировать эти цифры. Следующие показатели процесса QA могут дать общее представление о качестве работы команды тестирования и оценить её (хотя этот список не является ни окончательным, ни идеальным):
• количество найденных в каждом релизе ошибок;
• количество ошибок, найденных в стейджинге по сравнению с продакшеном;
• серьезность ошибок, найденных в рабочем окружении;
• количество ошибок, отправленных обратно для уточнения;
• соотношение количества оповещений об ошибках и исправленных ошибок;
• время, затраченное на решение проблем;
• общее количество ошибок;
• количество созданных и выполненных автоматизированных тестовых случаев;
• время выполнения цикла тестирования;
• оценка покрытия автотестами функциональности продукта.
Это лишь некоторые из способов оценки работы команды QA, и очень важно учитывать контекст результатов. Если какой-то показатель вас насторожил, выясните его причину, чтобы определить, насколько серьёзна проблема.
Сертификация специалистов QA
Сертификация расширяет навыки и знания специалистов, к тому же она важна для постоянного соблюдения стандартов качества. В каждой стране и отрасли существуют свои стандарты для продукции, и QA-специалисты несут основную ответственность за соответствие продукта этим стандартам. Ниже перечислены некоторые авторитетные сертификаты для специалистов по обеспечению качества:
• Сертифицированный инженер по тестированию ПО (Certified Test Engineer, CSTE). Сертификат подтверждает, что IT-специалист имеет базовый уровень знаний в области контроля качества.
• Сертифицированный аналитик по контролю качества ПО (Certified Software Quality Analyst, CSQA). Этот сертификат можно получить только после того, как получен CSTE. Сертификат CSQA получает специалист, который разбирается как в контроле, так и в обеспечении качества.
• Сертифицированный специалист по тестированию ПО (Certified Associate in Software Testing, CAST). Сертификат подтверждает понимание принципов тестирования качества ПО, а также способность его выполнять.
• Сертифицированный менеджер по обеспечению качества ПО (Certified Manager of Software Quality, CMSQ). Сертификат показывает глубокую компетентность и понимание обеспечения качества ПО, а также наличие навыков управления командой QA.
• ISTQB (International Software Testing Qualifications Board) — международная организация, которая работает в сфере тестирования ПО. QA-специалисты могут получить международно признанные сертификаты ISTQB трёх уровней: базового, продвинутого и экспертного.
Конечно, важно уделять внимание сертификации специалистов, но лучше сфокусироваться на практических навыках в работе.
Масштабирование команды QA
Руководители QA-команд в растущих организациях со временем со временем сталкиваются с необходимостью нанять больше специалистов. Расширение команды тестирования может оказаться непростой задачей, поэтому следует убедиться, что это действительно необходимо. Приводим несколько распространенных случаев, когда нужно пополнить команду, а также советы, как нанять хорошего QA-инженера.
1. Недостаток технических знаний
Если отделу не хватает технических знаний и опыта, то однозначно нужно расширить команду QA, поскольку технические знания могут значительно повысить производительность. Например, если добавить всего одного QA-инженера с большим опытом в области автоматизации, вы быстро автоматизируете множество рутинных задач и тестов и освободите массу времени для более сложных задач.
2. Всё автоматизировано по максимуму
С другой стороны, если вы автоматизировали всё, что можно, а ручной работы по-прежнему слишком много, то пришло время привлечь новых специалистов. Автоматизация уже исчерпала свои возможности, и для эффективного выполнения задач требуется дополнительная рабочая сила.
Если же дополнительная помощь нужна лишь время от времени, то лучше использовать аутсорсинговую службу QA. Она позволит эффективно работать в периоды пиковой нагрузки, не включая в штат дополнительных членов команды, которым нечем будет заняться в остальное время.
3. Ушёл член команды
Когда специалист покидает команду QA, нужно как можно скорее найти ему замену, чтобы поддержать баланс в команде и сохранить индивидуальные роли и обязанности. Поскольку в этой ситуации так или иначе придется пройти через трудоемкий процесс подбора и найма, можно сразу нанять и дополнительного сотрудника, если он необходим.
Обязанности QA lead
Для эффективного управления распределенными командами тестирования нужен надежный тим-лид. Важно убедиться, что этот человек обладает необходимыми навыками для руководства командой тестировщиков. Он должен иметь лидерские качества и обширные знания в области QA, а также справляться со следующими обязанностями:
• набирать и обеспечивать адаптацию и интеграцию новых специалистов в команде.
• внедрять обучающие и оценочные программы и помогать членам команды развивать свои навыки;
• оценивать трудозатраты и ROI;
• разрабатывать инфраструктуру и планы тестирования;
• собирать и анализировать показатели качества продукции;
• создавать, совершенствовать и масштабировать процессы обеспечения качества.
Способность руководить командой не сводится только к наличию соответствующих технических навыков. Нужен человек, который понимает, как стать лидером команды, внушает уважение и умеет управлять конфликтами. Успешный тим-лид:
• Принимает во внимание потребности клиента. QA тим-лид должен принимать участие в совещаниях по разработке продукта, учитывать отзывы клиентов и объяснять своей команде, как будет использоваться та или иная фича, чтобы специалисты находили лучшие решения при тестировании.
• Постоянно информирует команду. Тим-лиды глубже разбираются в особенностях компании и получают больше информации о её планах и развитии. Успешный лидер делится (когда это возможно) информацией с командой, чтобы специалисты знали, чего ожидать, и чувствовали себя увереннее.
• Решает проблемы команды. Множество раздражающих проблем могут затруднять работу, например, сбой тестовых сред, а также неполные или неточные данные. Хороший руководитель берет на себя инициативу и помогает членам команды справиться с проблемами.
• Предоставляет возможности для роста. Деятельный тим-лид побуждает членов своей команды развивать навыки и повышать уровень знаний, предлагая им ответственные задачи, программы обучения, или превращая развитие навыков в подобие соревнования. Руководитель группы должен также обеспечивать поддержку, руководство, обратную связь и признание, когда член команды преуспевает в челлендже.
• Ценит и вознаграждает свою команду. Тим-лиды должны отмечать отличную работу, чтобы члены команды чувствовали, что их выдающиеся заслуги оценили по достоинству. Когда сотрудников ценят, это способствует хорошему настрою, сплоченности и сотрудничеству в команде.
• Приписывает успех команде. Тим-лид обращает внимание на вклад членов своей команды и ставит успех отдела им в заслугу, а не присваивает всю славу себе. Это вдохновляет команду усердно работать и стремиться к совершенству, ведь они уверены, что их работа будет признана и оценена.
• Принимает на себя вину за неудачи. С другой стороны, когда что-то не ладится,хороший тим-лид принимает вину на себя, а не пытается переложить ответственность на команду. Он рассматривает неудачу как возможность для обучения, и пытается предотвратить подобные проблемы в будущем.
Заключение
Обеспечение качества — жизненно важная часть разработки, и команда QA, которой правильно руководят, помогает создать более качественные продукты, которые выигрывают на фоне продукции конкурентов. Различные методы поддержания мотивации QA-команды, например геймификация рабочих процессов в команде QA или постановка целей, помогут стать эффективным управленцем.
Мы надеемся, что эти советы и процессы помогут вам создать или улучшить команду QA и получить максимальную отдачу от работы отдела обеспечения качества. Если вам нужна дополнительная информация о том, как и когда создавать отдел обеспечения качества, или вы хотите узнать об услугах аутсорсинга QA, обращайтесь к нашим специалистам.