Артем Быковец, Scrum-master, Agile Coach, QA, PM, CEO в StartIT. Умеет объяснить что такое Story Point, знает толк в нахождении багов, преподает.

https://www.facebook.com/ABykovets/
https://twitter.com/abykovets

«Многие преподаватели повлияли на становление и формирование моей личности больше, чем дали материал, который был мне актуален»

Как ты пришел к преподаванию в КПИ, в котором учился?
О том, что я буду учиться в КПИ, решил еще в классе восьмом. Было четкое взвешенное решение — не подавал никуда документы, кроме КПИ. ФИВТ (Прим. Факультет информатики и вычислительной техники.) был у меня первым по приоритету, вторым был Институт телекоммуникационных систем, а третьим — Издательско-полиграфический институт (ВПИ). Так вышло, что сфейлился на физике и не добрал баллов для ФИВТ, потому пошел в ВПИ. Поступил на тот момент новую специализацию — Технологии электронных мультимедийных изданий. Звучало круто, нам обещали какие-то мультимедийные энциклопедии, может быть, Web, может быть, 3D и тому подобное. Специализация была новым форматом, никто не знал, что это. Но в итоге образование проходило по старой программе для репрографов. Тем не менее в КПИ приобрел навык обучения. Умение в сжатые сроки — например, одну ночь — сделать такой объем работы, которые многие и за семестр не могут выполнить, умение в кризисные моменты собираться и довести дело до конца. Могу даже сказать, что многие преподаватели повлияли на становление и формирование моей личности больше, чем дали материал, который был мне актуален. Потому, когда спустя годы, открыл свой тренинг центр, мне хотелось связать это как-то с институтом. Так как остались положительные воспоминания, которые привели к желанию делиться полезным со студентами этого ВУЗа. Оказалось неожиданно сложно реализовать данную идею. Не ожидал, что даже бесплатно прийти и прочитать лекцию студентам, вызовет такие препятствия и многочисленные согласования, необходимость выполнения условий. По крайней мере, так было в 2015 году, возможно, сейчас уже что-то поменялось. В институте был современно оборудованный кабинет, который хотел использовать для проведения курсов. Основательно тогда подготовился к разговору с деканом, пока ожидал с ним встречи по договоренности. Успел провести небольшую лекцию студентам того же потока по просьбе преподавательницы, которую случайно встретил в коридоре. Пожалуй, это был первый раз, когда я по-настоящему кайфанул. Но, к сожалению, декан отказал по причине того, что кабинет находился в государственной собственности и было запрещено проводить коммерческую деятельность. Можно только, если бы я был сотрудником в штате. Тогда снял аудиторию в другом месте. А потом, где-то в 2016 году, ко мне «постучались» сами от имени института и предложили преподавание, так как некому было читать дисциплину «Качество программного обеспечения». Сначала не было энтузиазма, но ввязался в эксперимент. Думаю, будет очевидным, что зарплата - не та причина, по которой решил принять участие, тем более, что устроился на четверть ставки. На самом деле, условия оплаты преподавателям и смешны, и обидны. Свое же вознаграждение, от которого не дали отказаться, переводил на благотворительность или своей бабушке, как прибавку к пенсии. Последний год был сложным, пропустил много лекций из-за поездок по бизнесу, был уже на грани того, чтобы доучить последнюю группу и отказаться от этой затеи, но получил от студентов фидбек, что даже те лекции, которые провожу, очень эффективны. И такие отзывы добавляют мотивацию и желание не останавливаться. Хотя в этом году пока под вопросом мое преподавание по организационным причинам института и переменам, происходящим в нем. Благодарен этому опыту преподавания, рад был видеть такое количество ребят с потенциалом, гибких к получению новых знаний. Есть и обратная сторона — доводилось встречать ранних «звезд», которые только получили свою первую долларовую зарплату, и им уже кажется, что они все знают, а обучение ни к чему. Считаю, что это неверный путь, который может привести как к стремительному взлету, так и стремительному падению. Даже спустя 10 лет после окончания своего обучения, подумываю, что надо было больше слушать и уделять внимания.

«Сейчас из интернета можно получить любую информацию и это дает ложное представление о том, что знаешь эту информацию. И ведь никто не проверяет, нет точки контроля, а она нужна»

Нужно ли высшее образование в целом и для QA?
На самом деле, ответ один и тот же. В том виде, в котором сегодня существуют классические программы государственного высшего образования (особенно, если говорить об IT), невозможно предоставить уровень знаний, который при получении диплома будет актуальным и важным. И проблема вовсе не в преподавателях, а в системе в целом. Фундамент необходим, как минимум бакалавриат, но дальше нужно задаться целью найти ВУЗ, который будет давать не только фундаментальные знания, но и спрашивать. Чтобы не было коррупции, а по-настоящему встряхивали на сессии и тогда студент выйдет к реальной практике подготовленным. Ребята, которые не сталкивались с сессиями, приступая к работе, а там — релизы, будут просто сознание терять или тупить жестко. До КПИ я прошел хорошую подготовку еще в лицее. Потому, на первой работе, если говорили про горячие дедлайны, для меня это было нормой - значит, работаем до 12 ночи. А для многих это было шоком. Мне кажется, что нынешнее поколение более избалованное, чем наши родители, или даже 10 лет назад, — гораздо больше возможностей. Сейчас из интернета можно получить любую информацию и это дает ложное представление о том, что знаешь эту информацию. И ведь никто не проверяет, нет точки контроля, а она нужна. Потому считаю, что универ — и есть точка контроля, в чем-то самоконтроля. Плюс, это среда конкуренции, где ты можешь проверить себя и сравнить с людьми, которые вращаются в аналогичных условиях.

«Неосознанная некомпетентность — когда человек в силу отсутствия навыков и опыта, слепо следует указаниям, не анализируя, что есть тоже рискованным»

Что должен уметь Junior/Middle/Senior QA?
Я бы не привязывался к QA. Junior должен уметь слушать, слышать - это две разные вещи. Хороший Junior должен уметь думать. Вот если бы мог прямолинейно написать описание к вакансии по поиску такого специалиста, то указал бы, что мне нужен «не тупой, коммуникабельный человек, умеющий слушать, слышать и приносить решения, а не проблемы». Если ты готов к найму нового сотрудника, это говорит о том, что не хватает ресурсов для выполнения определенной функции. Ты осознаешь, что первое время будешь инвестировать — обучать, отвечать на вопросы. И со временем, конечно же, будешь ожидать, чтобы вопросов становилось меньше, а решений — больше, тогда это хорошая инвестиция.
Вспомнилась история о собеседовании на позицию Junior QA. Начинали с такого вопроса: надо начать автоматизировать через месяц, как ты на это смотришь? Если кандидат отвечал, что он не умеет и не готов, можно было считать собеседование оконченным. Ведь если он сразу отказывается, то что будем с ним делать, когда действительно придет время. Если кандидат отвечал, что он будет готов, мы говорили, что надо учить Java, а дальше перечисляли причины, по которым ему надо будет часто начинать изучать другой язык программирования для автоматизации тестирования. И были ответы, что каждый раз он будет делать то, что говорят. Это называется неосознанной некомпетентностью — когда человек в силу отсутствия навыков и опыта, слепо следует указаниям, не анализируя, что есть тоже рискованным. Правильным ответом было бы уточнить, почему так часто меняем технологии и точно ли мы понимаем, что делаем и куда движемся. Или по каким критериям мы выбираем язык программирования и так далее. Таким образом, Junior должен уметь думать, задавать вопросы, слушать и слышать. Middle должен быть в состоянии минимально задавать вопросы и просто приходить с решениями. Например, по такому подходу: что можно сделать быстро, но «грязно» / дольше, дороже, но «чище» / идеально, но долго и дорого. Senior должен способен обучать, передавать экспертизу и брать на себя ответственность, быть проактивным и не ждать, что придут и дадут задачу.

«Если мы видим, что человек вкладывается и делает качественно, прислушиваясь к обратной связи, даже когда это не оплачиваемо, будем рекомендовать его»

Как найти первую работу QA на нашем «горячем» рынке труда?
Да, действительно, если рассматривать топовые компании, которые могут разместить вакансию открыто для начинающих специалистов, они могут получать до 300 резюме за неделю легко. При этом вакансий для таких людей без опыта существует в 2, а то и в 5 раз больше, чем на сайтах по поиску работы. Их не публикуют из-за такого активного спроса. Где же они находят кандидатов? Ответ прост - по рекомендациям. Могу точно сказать, что 3-4 человека в неделю рекомендую. Это мои выпускники, которые хорошо сдали экзамен, плюс у нас есть обязательная практика. После экзамена ребята могут сдавать практику на реальных проектах. К примеру, сейчас тестируют «Intertop». Если мы видим, что человек вкладывается и делает качественно, прислушиваясь к обратной связи, даже когда это не оплачиваемо, будем его рекоммендовать. Можно также искать друзей, круг знакомых, кто работает в стартапах, и попросить их предоставить такую возможность попрактиковаться. И не важно, как ты приобрел эти знания: книжки, самообучение, курсы. Важно, что ты можешь грамотно тестировать, писать баг репорты и делать хорошее тестовое покрытие. А взамен попросить в резюме подтверждение получения практического опыта на их проекте. Знаю, что многие такие истории заканчиваются наймом. Это одна из самых выигрышных стратегий. А еще — не писать шаблонные письма (cover letters), необходимо себя продать и донести, какую ты принесешь пользу.

«Не думаю, что аутсорс компании заинтересованы в том, чтобы развивать это направление»

Почему большинство QA - мануальщики, как перейти в автоматизацию?
Человек работает на той должности, на которую его наняли. Но да, есть такая тенденция, что вакансий для автоматизаторов меньше, что обусловлено спецификой профессии. Как правило, на небольших проектах достаточно 1-2 человек для автоматизации тестирования, а иногда даже нет такого объема работ, чтобы она понадобилась, и дешевле протестировать мануально. Плюс, если рассматривать наш рынок, то 60-70% — это аутсорс, а аутсорс заинтересован в человеко-часах. Соответственно, чем больше людей, тем выше прибыль. Потому, не думаю, что аутсорс компании заинтересованы в том, чтобы развивать это направление. Одной из причин может быть еще то, что люди не хотят выходить из зоны комфорта и что-то менять. Сейчас все больше специалистов, кто пришел в тестирование, не инженеры. Руками тестировать не страшно, страшно начинать учить ООП и какой-то язык программирования. Но у меня вот есть пример на знакомом, который всю жизнь играл на скрипке в филармонии, а потом за год стал Java Automation инженером.

«Работающий Scrum выглядит как классно слаженный комбайн, которому все равно что будет на входе»

Как выглядит работающий Scrum?
Весело :) Он выглядит как Северное сияние, или как Белые ночи в Питере. Все это прекрасно, чудесно, но эффект долго не сохраняется и редко в году можно увидеть. Необходимо хорошо поработать, подгадать время и потом беречь, как, не знаю, музей ледяных фигур, которые растают, если потеплеет резко. Работающий Scrum выглядит как классно слаженный комбайн, которому все равно что будет на входе. Можно сравнить с кухонным. Закинул апельсин — пошел апельсиновый сок, поменял нож и закинул сыр — у тебя тертый сыр для пасты. В целом, я говорю о наборе инструментов и взаимодополняющих квалифицированных участниках команды, которые могут любой тип задач перемалывать в готовый продукт. И при правильном сотрудничестве с Product Owner (например, со стороны клиента), который действительно сотрудничает с командой, а не работает по принципу «я плачу, вы молча делаете», это дает крутые результаты. Тогда данная методология позволяет команде в сжатые сроки реализовать часть бизнес идеи и выпустить на рынок, чтобы проверить, стоило ли вкладывать инвестиции и стоит ли продолжать. Scrum дает возможность как команде, так и отдельному участнику, видеть свое влияние сегодня уже через пару недель на продакшне и исправлять то, что идет не так. В отличие от классических энтерпрайз моделей разработки, в которых ты «педалишь» 4 месяца, и только через 3 года это может оказаться в продакшн, но ты там уже работать не будешь. Вижу в Scrum плюсы только, если мы что-то делаем новое или в комплексно изменяющейся среде. Но если мы, например, делаем лендинги одинаковые и меняем только логотип, цветовую гамму, возможно, нам не нужны такие подходы. Дешевле будет работать по Waterfall методологии, например. А если мы разрабатываем новую социальную сеть или что-то связанное с криптовалютой — однозначно Scrum. Waterfall был разработан в послевоенное время под существующие реалии и мир. Тогда релиз раз в 5 лет был за счастье, а сейчас раз в 3 месяца — уже горе, условно. Потому, надо ориентироваться на актуальную ситуацию в мире, на рынке и так далее.

Как быть, когда команда не выпускает за двухнедельный спринт хоть что-то достойное Демо-версии? Как с этим бороться?
Создатели Scrum сами утверждают, что это очень минималистичный фреймворк. То есть, он говорит только о том, как синхронизировать стейкхолдеров с девелопментом, о том, как учиться на своих ошибках и победах, как синхронизировать людей на ежедневной основе, как добавить прозрачности в процессы. Можно также использовать практики из ХР (экстремальное программирование), которое было придумано еще на 7 лет ранее, чем Scrum. Брать continuous integration, автотесты, unit тесты, парное программирование. И также внимательно подходить к тому, что именно вы разрабатываете, не стараться сделать все и сразу. Надо делать то, что от тебя хотят. Существует даже исследование от The Standish Group, называется «Chaos report», которое говорит о том, что 60% функционала продукта никогда не используется юзерами или крайне редко. Вот представь, если все лишнее выкинуть из Photoshop или Excel. И выйдет, что и памяти он будет занимать гораздо меньше и стоить также в разы дешевле. А если вспомнить, с чем вышел в свет Instagram? Пара фильтров, ни возможности оставить комментарий, лайк и все. И ничего — отлично, удачно продали проект.

«Ни в коем случае не замерять, сколько один и тот же разработчик делает story points за спринт»

Что такое Story point?
Story point — прежде всего, попытка уйти от оценивания с привязкой ко времени. Давай разберем на примере, для чего это надо. Например, если задать вопрос, за сколько времени ты выпьешь 1000 литров воды, вряд ли ты сможешь спрогнозировать. А если спросить, сколько ты выпьешь воды за следующую неделю, уже будет точнее ориентир. Вот Scrum-планирование — это о том, сколько ты выпьешь воды за следующую неделю, а не давайте посчитаем, когда мы допьем всю воду. И ты делаешь гипотезу, что, наверное, командой мы сделаем 15 стори поинтов воды, а по факту делаешь 12. Но теперь ты проверил свою гипотезу и точно знаешь, что делить теперь надо на 12. Таким образом погрешность оценки с каждой итерацией становится все меньше, и ты можешь своевременно предупредить стейкхолдеров или инвесторов о том, что сроки сдвигаются, если есть такая необходимость, и аргументировать это математически. Оценивать необходимо задачи не по техническим параметрам. Например, мы очень часто оцениваем задачи, которые делает несколько человек — добавить кнопку и привязать к ней JS. А оценивать необходимо по бизнес флоу, так как бизнесу важно, какая именно функция будет выполняться этой самой кнопкой, а не как она будет технически реализована. Человеко-часы в данном случае не будут работать корректно и я в них не верю, так как люди работают при разных условиях с разной производительностью. Но я — сторонник того, что если команда научилась оценивать в часах и у них получается попадать в план на 80-100%, то лучше не трогать. Опять же, если привязываться к часам, то как измерять продуктивность команды. Команда из 5 человек в неделю как будет работать, допустим, 150 часов (вычтены перерывы и отвлечения), так и будет из недели в неделю. А если говорить про story points, то мы разделяем задачи по сложности: маленькие — 1, средние — 5-7, большие — 13. И мы не знаем, сколько это будет «стоить» времени, так как у story point есть 3 величины: сложность задачи (complexity), объем (volume), риски (risks). Пример: задача может быть очень объемной — в 1000 шаблонов поменять какой-то параметр CSS, при этом сложности никакой, но мы оценим это в 13 стори поинтов. Или в коэффициентах ставок на футбол на третью четверть поправить цифры, чтобы не терять деньги при калькуляциях, что будет сложной задачей. И обе задачи соизмеримы — по 13 стори поинтов, и займет одинаковое количество спринта и наших усилий. Вот мои аргументы. Еще одно важное предостережение — ни в коем случае не замерять, сколько один и тот же разработчик делает story points за спринт. В таких ситуациях каждый начинает работать за себя, чтобы выполнить свое количество, чего категорически необходимо избегать в командах.

Посоветуй актуальные с твоей точки зрения книги:
Честно признаю, что лентяй в отношении книг. Больше читаю статьи из интернета, блоги и общаюсь с людьми. Хотя сейчас стараюсь исправляться, начал работать с «Наш формат». Очень рад, что они стали выпускать бизнес литературу на украинском языке. Так вышло, что я сделал скидку на тренинг, а мне подарили 50 книг. Выделил бы «Toyota way» однозначно, которую сейчас разыгрываю. Еще рекомендую «The Lean Start Up» от Eric Ries. Эта книга отвечает на вопросы, как инвестору не потерять свои деньги и не создать то, что никому не надо, или вообще ничего не создать. И из легких книг — «Scrum и XP: заметки с передовой» от Хенрика Книберга. Читается легко, с примерами.

Какие роли у тебя есть на сегодня, как ты себя позиционируешь?
С некоторыми клиентами я — коуч, иногда учитель, иногда — ментор. Еще у меня есть роль СЕО в стартапе, о котором говорил. И одна из самых главных — роль папы. У меня есть дочь. Не ожидал, но эта роль развивает меня больше, чем многие другие. Приходится себя местами ломать, потому как выстраивать отношения со взрослыми гораздо проще. А когда тебе ребенок бросается на шею или плачет пятую минуту, ты решаешь сделать шаг назад, чтобы сделать потом пару вперед, чтобы мы услышали друг друга. И это тяжело, плюс ты жертвуешь привычным образом жизни. Но очень рад, что когда моей дочери будет 18, мне всего лишь будет 45, и мы будем находить общий контакт. Конечно же, у меня есть роль мужа. Возможно, с ней справляюсь хуже, чем с ролью папы, но раз я стал папой, то с большей частью таки справился :). Занимательно то, что моя супруга является моим «Директором по маркетингу» и во многом помогла создать бренд. Это ее заслуга. В моменты моих сомнений она поддерживала, и я двигался вперед.

Какие профессиональные деформации ты в себе замечаешь?
Из тренинговой деятельности слишком часто есть соблазн рассказывать людям, как делать правильно, и это их раздражает. К тому же, если человек находится не в твоем инфо поле, он не всегда поймет. Или есть риск, что неправильно применит совет и навредит себе. Из коучинга — могу задавать слишком много вопросов. Из QA иногда в мелочах: ненавижу бокалы, которые стоят на краю стола, не могу видеть открытые шампуни в ванной — слишком анализирую риски. И мне, как предпринимателю, это больше мешает, так как часто надо принимать смелые решения.

«Хороший Scrum-мастер либо меняет компанию, либо меняет компанию»

Выгораешь ли ты и как с этим борешься?
Да, была такая история и периодически есть. Во-первых, динамично меняю то, что делаю. Не работал более двух с половиной лет в одной компании. Пришел к такому подходу даже раньше, чем услышал, что хороший Scrum мастер либо меняет компанию, либо меняет компанию. Были ситуации, когда все процессы уже поставлены и нужна была только их поддержка, но поддержка не про меня. Можно сказать, что я — change challenger — нравится менять, совершенствовать, улучшать. Как еще борюсь с выгоранием… Перед новым годом сел и проанализировал все свои активности, расставил приоритеты. Учел то, что больше всего забирает сил и не приносит кайфа. Деньги были одним из приоритетов, но не основным, где-то третьим. Мне пришлось исключить некоторые или сократить до частичной занятости. Конечно, это сократило мои доходы, но освободило время и энергию, чтобы набраться сил и ринуться в бой вскоре.

«Когда начинаю какой-то бизнес, не вкладываю в него деньги из других источников, стремлюсь, чтобы он начал зарабатывать сам»

Какие у тебя сейчас цели?
Начал развивать видеоблог, опять же, подтолкнула жена. Сначала сопротивлялся, так как не люблю такие вещи. Но если разобраться, у меня очень много мыслей, которыми хотел бы делиться, а писать очень не люблю. Говорить я могу бесконечно :) Меня всегда сдерживало то, что по натуре перфекционист и хотелось делать изначально идеально — с хорошим монтажом, спецэффектами. В итоге спросил у своей аудитории, как бы они хотели: редко, но супер классно, или чаще, но приемлемо. Все проголосовали за второй вариант. У меня есть такой принцип — когда начинаю какой-то бизнес, не вкладываю в него деньги из других источников, стремлюсь, чтобы он начал зарабатывать сам. Потому сейчас делаю для блога почти все самостоятельно. Вот, планирую со временем сделать из видеоблога серьезный канал.

Где тебя можно будет увидеть в ближайшее время?
Осенью выступаю много где:

  • 21/09/2018 QA Fest 2018 - Расскажу про Agile вне IT
  • 22/09/2018 Agile Rock Conference 2018 - буду говорить про внедрение Agile в Intertop
  • 13/10/2018 @Kyiv Project Management Day Main - пока еще утверждаем тему.
  • 19-20/10/2018 Exciting journey to Agile and Scrum - дам авторский двух-дневный воркшоп по Agile & Scrum и развитие лидерских навыков.
  • 3/11/2018 Simplicity Day. Agile & QA - мы с командой Start-IT training center организовываем конференцию, будем говорить простыми словами и кейсами о сложных и интересных темах
  • 24/11/2018 ITNetwork BACon AllStars '18 - буду проводить воркшоп Agile направленности
    Как-то так.