Всем привет! Меня зовут Михаил Берёзин, я — тимлид в HFLabs. Мы делаем очень сложный enterprise-софт для банков, сотовых операторов, страховых компаний, ритейлеров.
Полгода назад мы совершили большую ошибку: набрали в команду сразу 8 человек, штат вырос в 2 раза. Раньше никогда не брали так много людей скопом, поэтому забуксовали с онбордингом новичков. Расскажу, как справились с проблемой.
Тимлиды не успевали вводить разработчиков в команду
К моменту коллапса ключевые разработчики и тестировщики трудились вместе больше пяти лет, команда устоялась.
Нагрузка росла каждый год, но мы справлялись. О взвешенном расширении команды не думали, хватало других проблем. В результате пропустили момент, когда пора было набирать новых людей и спокойно, без аврала готовить к будущим задачам.
Когда пришли сразу несколько новых клиентов, пришлось срочно искать людей. Вместо того чтобы заранее набирать и адаптировать специалистов, мы за полгода увеличили команду в 2 раза. Советую будущему себе никогда так больше не делать.
Начались проблемы. Общая эффективность упала, потому что новички не только не помогали, но еще и отвлекали от работы старожилов. Выстроенного процесса онбординга не было, ресурсов на полноценного наставника для каждого новичка — тоже. При этом продукты очень сложные, а планка уровня сотрудника очень высока.
Я работаю в HFLabs чуть больше года и прекрасно помню ощущения от первого дня. Ты как бы попала на космолет Звездного Флота «Энтерпрайз» безо всякой подготовки. Ничего не понимаешь и не знаешь, офис — лабиринт, коллеги на одно лицо (правда, дружелюбное).
В конце концов, ты просто не понимаешь, чего от тебя хотят. Вижу таск: «General не заказчик, удалить mmwt general, не собирать билд general». WAT
Татьяна Бунто, аналитик
Поначалу ситуация выглядела как средней толщины палка в колесе: сейчас чуток поднажмем и покатим дальше. Но чем дальше, тем хуже шли дела: новички адаптировались медленно, им нельзя было поручить реальные задачи, работа стояла.
Документация и даже видео не помогли
Когда в HFLabs приходил один человек в пару месяцев, мы думали, что довольно легко адаптируем новых людей в команде. Для этого было целых три, казалось, замечательных инструмента.
Документация. В нашей confluence лежит много подробной, актуальной документации. Мы вкладываемся в нее, по-настоящему заморачиваемся.
На деле вышло, что в документации без поллитра не разберешься. Для того, кто видит ее в первый раз, — это полный хаос.
Столько информации в confluence об одном-единственном клиенте HFLabs. У нас их больше сорока
Все из-за того, что доки писали те самые 5+ лет люди, которые прекрасно разбирается в вопросе. Старожилам все понятно и элементарно, для остальных же это совершенно не так.
Для полного погружения вот что мне нужно было прокопать:Записи выступлений аксакалов. Чтобы как-то помочь людям, мы записывали выступления опытных коллег. Они рассказывали о продуктах, клиентах, процессах в компании.
- 5 спэйсов в confluence с описанием продуктов;
- 16 спэйсов с документацией заказчиков;
- спэйс с описанием внутренних офисных процессов;
- 6 телеграм-чатов под разные продукты и заказчиков;
- JIRA, Mercurial, Idea, SOAP UI, cloud и бог знает что еще;
- дев-стенд для каждого заказчика;
- 3225 автотестов.
Голова шла кругом, хотелось свернуться калачиком в углу кабинета и плакать.
Татьяна Бунто, аналитик
Со временем ролики обросли текстовыми комментариями и уточнениями. Мы собрали все вместе, разбили по продуктам и выложили в раздел «Обучение» в confluence. Вот так выглядит раздел продукта «Единый клиент».
Мы взяли ключевые мысли из выступлений и оформили в конспект
Видео поживее текстовой документации, но проблемы остались. Роликов вышло слишком много, общая продолжительность — десятки часов. Сложно понять, что и зачем смотреть, что нужно с первых дней, а что — потом. Материал усваивается слабо.
Личные консультации. Взаимопомощь — важное правило HFLabs, у нас не принято сидеть сычом в стороне. Мы думали, что новички основную часть информации переварят сами, а в редких сложных случаях помогут опытные ребята. Не сработало.
Сложные случаи оказались не редкими, а регулярными. Старожилы просто не находили времени, чтобы отвечать на всё. Плюс вопросы повторялись, приходилось разным людям объяснять одно и тоже.
Часто новички не знали, к кому подойти с вопросом. Все в команде плюс-минус универсальны, но все равно в некоторых областях лучше всех разбирается кто-то конкретный. Кто — непонятно. В итоге помогали соседи по кабинету, что не всегда оптимально.
Пошаговый квест спас положение
Чтобы решить проблему, нужно было ускорить и автоматизировать погружение новичков в проект. Для начала мы прикинули, что? вообще нужно новым людям. Нашли такие потребности:
- социальная адаптация;
- понимание внутренних коммуникаций;
- структурированные знания о продуктах;
- практика, много практики!
Мне пришло в голову, что все любят игры, даже взрослые (особенно взрослые!). Было бы классно сделать пошаговый квест. Он и познакомит новичков с компанией, и даст практику с теорией. Сели за сценарий.
Получился квест из шести этапов:
- «Первое знакомство».
- «Кому это вообще нужно».
- «We Need to Go Deeper».
- «Пора приносить пользу проекту!».
- «Для самых любознательных».
- «Как мы тестируем и общаемся с заказчиками».
Квест выполняют на 90% автономно, уже через одну-две недели новички получают минимум для первых задач. Дальше человек развивается на реальных тасках.
Выкладывать полный текст квеста не вижу смысла: очень уж он специфичный, все замкнуто на наши внутренние процессы. Если нужен, напишите комментарий, пришлю.
Ниже просто кратко расскажу, как у нас все устроено.
На каждом этапе участник выполняет три вида задач.
Теоретические. Без них ничего не выйдет, как бы мы ни хотели обратного. Придется читать и смотреть видео.
Например, теоретическое задание на этапе «Первое знакомство»: «Просмотри три видео из серии «Знакомство с „Единым клиентом“ и прочитай соответствующую статью».
Задание на третьем этапе: «Посмотри рассказ Егора о стандартизации данных и поиске дублей». Здесь новичок не только изучает продукт, но и с коллегами понемногу знакомится.
Естественно, я не стал перегружать раздел с теорией, потому что это самое скучное, что может быть.
Практические. Закрепляем теорию, пока она держится в голове. Для каждого раздела я придумал задачи, похожие на настоящие.
На этапе «Первое знакомство» задания такие:
- «Создай себе в джире задачу «Знакомство с „Единым клиентом“ в проекте CIA. В ней нужно будет фиксировать результаты и ворклоги. Закрывающим поставь Мишу.
- Зайди в веб-интерфейс демостенда и посмотри, сколько там контрагентов-физлиц. Подключись к БД демостенда и получи количество контрагентов-физлиц SQL-запросом. Количество совпало? Задачка непроста, нужно подумать и поисследовать таблицу, разобраться в колонках. Не бойся спрашивать.
- Создай нового контрагента-физика через SoapUI. Найди его в веб-интерфейсе и посмотри, что все получилось.
- Зафиксируй ворклоги, результат и получившиеся запросы в джире».
В четвертом этапе «Пора приносить пользу проекту!» практика интереснее и сложнее:
- «Возьми небольшую задачу из релиза, закрой ее по феншую (без правильного заключительного комментария задачу переоткроют).
- Возьми задачу на регресс. Познакомься с особенностями заказчика и проведи регресс за 1,5 часа».
Коммуникационные. Во время квеста мы знакомим новичков с командой. По крайней мере, с ключевыми людьми, с которыми предстоит плотно работать. Примеры из разных этапов:
- «Найди Пашу Абдюшева и задай три вопроса по теоретической части. Зафиксируй комментарием к задаче свои вопросы и ответы Паши».
- «Скинь задачу в чат „Тест-ревью“, попроси проверить. Допинай Лену или Олю, чтобы они проверили, все ли ты правильно сделал».
- «Найди Костю Степанова и задай 3 любых вопроса по материалу. Также расскажи про особенности данных, которые нашел».
Иногда задания превращаются в самый настоящий квест. Например, найти Пашу и заставить его отвечать на вопросы — задачка для сильных духом и упорных. Так новый человек прокачивает навыки коммуникации, переговоров и тайм-менеджмента.
Эффект намного превысил затраты
Первый вариант квеста мы написали с коллегой-добровольцем за день. Уже на следующий день его начал проходить новый тестировщик (протестировал, да).
Очень удобно, что не приходится следить за актуальностью теоретической части: с этим справляются участники. Когда новичок понимает, что теории не хватает для решения задачи, он рассказывает об этом мне. Я смотрю, что не так: скорее всего, пора апдейтить документацию. Дело простое, почти не отвлекает.
Теперь о результатах.
Раньше | Сейчас | |
---|---|---|
Время погружения в проект | Двенадцать недель минимум | Две недели |
Время, которое опытные коллеги тратят на обучение | До двадцати часов в неделю | До десяти часов в течение недели |
В начале этой статьи я сформулировал, что нужно новым людям в компании. Вернемся к этому.
Социальная адаптация. Пока человек выполняет квест, он знакомится с половиной команды. По крайней мере, коллегами, которые будут нужны в работе чуть ли не ежедневно. Новички понимают, к кому человеку с каким вопросом подойти.
Понимание внутренних коммуникаций. Создать таск в джире, написать в нужный чат, отметить время — все это задачи на закрепление внутренних процессов и регламентов, изучение сленга.
Структурированные знания о продуктах. Здесь все понятно: мы выстроили обучение от простого к сложному, разбили на небольшие понятные кусочки. Так проще усваивать.
Практика, много практики! С первого этапа человек идет в бой, к четвертому приносит реальную пользу. Зубрить ничего не приходится, теорию закрепляем через задания. Задачи похожи на настоящие, с четвертого этапа — уже реальные.
Новичкам понравилось.
Квест составлен очень хитрым образом:
- Нельзя просто как-то почитать, полистать и пойти дальше.
- Увидишь продукт и процесс с разных сторон.
- Узнаешь тех с кем будешь работать.
- Подготовишься к выполнению задач.
Анастасия Дудник, тестировщик
Квест помог хотя бы тем, что там точно написано, к кому по какому вопросу можно подойти.Теперь мы готовы принимать новых людей. Но по-прежнему стараемся делать это осторожно и точечно, чтобы не разрушать сложившуюся культуру.
Вадим Зайцев, руководитель проектов
Приходите к нам работать, если нравится сложный enterprise. Сейчас ищем инженера сопровождения (от 80 000 ? на руки) и тестировщика (от 90 000 ?). Тому, кто порекомендует подходящего человека, подарим первую зарплату специалиста после трех месяцев испытательного срока.
Комментарии (8)
zoonman
24.08.2018 07:38Какая-то странная у вас зарплата. Инженер получает меньше тестера.
mehanizm Автор
24.08.2018 09:55А если назвать «тестера» «Инженером по тестированию», все встанет на свои места? :)
zoonman
24.08.2018 18:52-1Не станет. Инженер сопровождения это должность уровня Tier 3 support, которая требует нетривиальных знаний и навыков.
Во-первых, это человек, который умеет общаться с клиентами, разработчиками и руководителями.
Во-вторых это человек, который знает предметный домен и бизнес-процессы.
В-третьих, это человек, который знает кодовую базу на уровне всей команды, вместе взятой.
Эта должность соответствует уровню технического лидера.
Обычно, таких людей не нанимают со стороны, а выдвигают изнутри. И да, заплата у них раза в полтора выше, чем у тестера.mehanizm Автор
24.08.2018 19:38+1У нас в команде не совсем обычные тестировщики. Они делают и умеют больше, чем «тестеры» в вашем понимании. Оля хорошо описала примерный круг задач. По объему это сопоставимо с тем, о чем говорите вы.
denis-19
Ну вот, а по первой картинке подумалось, что сначала все проходят Space Quest V: The Next Mutation…
nick_gabpe
Это было бы прекрасно… :)