Привет, меня зовут Аделя, я ведущий менеджер продукта в Авито. За 4 года я успела поработать в разных командах над несколькими продуктами и у меня накопилась масса историй.

Сегодня я расскажу, как создают новые фичи — от идеи до полномасштабной раскатки на всех пользователей. Расскажу, о чём важно не забыть на каждом шаге и как общаться с разработчиками, менеджерами и тестировщиками, чтобы всё получилось хорошо. Но сначала небольшой дисклеймер.

Delivery и discovery-команды

Для начала нужно знать две вещи. Написание кода само по себе — небольшая часть большого процесса. А также, что над созданием продукта или новых фич работают две команды — Delivery и Discovery.

Discovery — этап формирования образа продукта и определение того, что и как мы строим. За  этот этап отвечает команда, прозванная в честь самого этапа — Discovery-команда, состоящая из продакт-менеджеров, аналитиков, дизайнеров и исследователей.

Delivery — этап реализации задуманного на первом этапе Discovery, то есть сама разработка или product delivery. За этот этап отвечает команда инженеров с тимлидом и продакт-менеджер.

Delivery — исследуют и проверяют.

Discovery — пишут код и запускают продукт.

Вместе эти две команды образуют одну большую, которая работает над определенным продуктом или, если речь о большой компании, над его частью.

Понятно, что в изучение того, что нужно пользователю, исследователь вовлечен больше, чем инженер, а в процесс тестирования кода инженер больше, чем дизайнер. Однако Delivery и Discovery-команды очень много взаимодействуют друг с другом, а продакт-менеджер всегда участвует во всех процессах двух команд, поэтому вполне честно сказать, что это всё одна большая команда.

Из чего состоит разработка продукта

В реальности каждый этап может повторяться несколько раз и это нормально. Например, мы не пойдем в разработку, если не проверим гипотезы и решения экспериментом. А эксперимент может не получиться, тогда нужно пересмотреть реализацию, решение или потребность, или вообще никогда не раскатаем то, что сделали, и начнем заниматься чем-то другим.

Но для упрощения представим, что разработка — линейный процесс.

Пример, что разработка — линейный процесс

✅ Шаг 1. Определить стратегию и цели

🏢 На уровне компании. Решаем, что мы вообще хотим построить, и чем будет являться компания и продукт через 3-5 лет.

На уровне команды. Какой у нас продуктовый фокус, целевая метрика, основная задача, сегмент. Куда и как мы придем в продукте. Стратегию обычно пишет продакт, но участвовать могут все члены команды.

👏 Результат этапа. сформированная продуктовая стратегия команды (документ, где команда рассказывает куда и как идет, какой потенциал и какие большие ставки), а также метричная цель на ближайший год, верхнеуровневый роадмап.


✅ Шаги 2-3. Придумать, как и чем помочь пользователю

Команда. Discovery.

В чем суть. Команда продактов, аналитиков, исследователей и дизайнеров изучает и проверяет всё, что смогла придумать. На этом этапе команда проверяет все гипотезы о продуктовых проблемах и точках роста, которые нашли в процессе исследования. В итоге команда Discovery приносит разработке только те решения, в которых она уже уверена.

Зачем это нужно. Чтобы понять потребности пользователя, найти точки роста продукта и способы достижения целей из шага 1.

Участвует ли разработка? Зависит от личного желания, загрузки и темы. Бывают команды, где программисты участвуют даже в пользовательских интервью, в других предпочитают анализировать уже готовые результаты. В любом случае, команда Discovery регулярно информирует инженеров о промежуточных результатах и дальнейших планах.

Серёжа кричит в мегафон
Пользователи ждут фичи и иногда делают это очень громко. Например, в отзывах к приложению или в соцсетях

✅ Шаг 4. Техническое исследование

Команда. Delivery.

В чем суть. После презентации решения команда инженеров проводит техническое исследование. Иногда это приводит к тому, что решение меняется — например из-за того, что его слишком дорого делать.

Зачем это нужно. Понять продуктовые и бизнес-требования, сформировать образ технического решения (то есть понять, что и как делать), разобрать продукт на мелкие задачи и прикинуть время на их выполнение. Договориться о том, как изменения повлияют на работу других команд.


✅ Шаг 5. Разработка

Команда. Delivery.

В чем суть. Когда исследование завершено, команда приступает к разработке. В Авито все команды работают по методологии >scrum, и обычно это двухнедельные спринты. На практике это значит, что каждые 2 недели команда выпускает новые фичи. Часто может быть, что одного спринта недостаточно для разработки целого эксперимента, это нормально, но какая-то завершенная осмысленная часть должна быть готова.

В двухнедельный спринт продуктовой команды в Авито входят следующие элементы:

  • Планирование спринта. В понедельник. Проходит совместно с продакт-менеджером для уточнения требований и распределения задач.
  • Дейли или stand up meeting. Ежедневная встреча, где команда рассказывает о текущем статусе работы над задачами, подсвечивает риски, блокеры, изменение в планах и просит помощи, если что-то пошло не так.
  • Груминги. 1-2 раза в неделю, если нужно — встречи, где команда обсуждает подход к решению задачи.
  • Демо. Встреча, где команда презентует, что она сделала за спринт, показывает лайв-демо функционала и рассказывает, достигла ли поставленных целей (и что помешало, если нет).
  • Ретро. Команда обсуждает, что было хорошо, а что можно улучшить, и как это сделать. Например, команда решает, что обо всех общественных договорённостях лучше писать в общем чате, или что в описании задачи нужно фиксировать все изменения, которые произошли во время разработки.

✅ Шаг 6. Проведение эксперимента

Команды: Delivery, Discovery.

В чем суть. Запуск и проведение эксперимента на небольшую часть пользователей. За ходом эксперимента наблюдает аналитик. Если есть какие-то проблемы с корректным сбором данных, подключаются инженеры.

Длительность эксперимента зависит от размера тестовой выборки и выбранных метрик для наблюдения, в каждой компании своя специфика. В Авито обычно хватает двух недель, чтобы собрать данные.

Зачем это нужно. чтобы понять, всё ли идёт по плану. ​Мы пробуем новые идеи на небольшой части пользователей, чтобы увидеть какой эффект это оказывает на наши метрики. Так мы можем с меньшими потерями для бизнеса убедиться в жизнеспособности эксперимента.


✅ Шаг 7. Результаты эксперимента и следующие шаги

Команда. Discovery.

В чем суть: команда подводит итоги эксперимента и сравнивает их с критериями успеха. После этого принимается решение что делать дальше: масштабировать, переделывать или проводить новые эксперименты в другой конфигурации. Затем результаты обсуждаются с командой инженеров и принимается решение о следующих шагах. В случае успешного эксперимента команда готовится к масштабированию функциональности.


✅ Шаг 8. Масштабирование

Команды. Delivery, Discovery.

В чем суть. Команда Delivery составляет план масштабирования, например, может потребоваться настройка дополнительных процессов. Команда Discovery проводит бизнес-договоренности и согласует масштабирование с другими командами.

Зачем это нужно. Инженеры дорабатывают функциональность для масштабирования (технический долг, покрытие тестами) и встраивают её в процессы технической поддержки (покрытие мониторингом). На этом этапе команде важно убедиться, что результат будет качественно масштабирован на всю аудиторию и в процессе не возникнет каких-то критических багов, из-за которых пострадает компания и пользователи.


«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.

ТелеграмПодкастБесплатные учебники

Читать дальше

Портфолио разработчика. Все секреты

Портфолио разработчика. Все секреты

Портфолио — это важный инструмент для любого разработчика, особенно для начинающего. Оно показывает ваши навыки, опыт и квалификацию, привлекает внимание работодателей и повышает шансы на получение оффера мечты.

Читать дальше
Айти
  • 3 июля 2023
Верстальщик. Гайд по профессии

Верстальщик. Гайд по профессии

В нулевых никаких фронтов не было, и человек, который делает сайты, был просто человеком, который делает сайты. Мог и на HTML что-то собрать, и стили прописать, и на JavaScript алерты наставить, где нужно. Веб-разработка была маленькой, смешной, но самодостаточной. А потом понеслось.

Верстальщики стали больше писать на JavaScript и начали поглядывать в сторону именования «фронтендер», но всё ещё очень любили делать файлы style.css на десять тысяч строк.

Сейчас же грань размылась — теперь нет разработчиков на React, которые не понимают, как сверстать макет и обвязать всё стилями. При этом спрос на чистых верстальщиков ещё остался — им не обязательно в совершенстве владеть JavaScript, а вот глубоко понимать, как быстро, точно и качественно из макета сделать страницу — обязательно.

В этом и заключается суть работы верстальщиков. Они берут у дизайнеров макет (это картинка, на которой нарисован сайт — К.О.) и собирают из него страницу. Пишут HTML, CSS, используют магию гридов, флексов, какой-нибудь БЭМ. Стараются, в общем, делают. Молодцы.

С другой стороны, HTML сейчас даже в некоторых школах изучают — но отчего-то сразу после школы никто не спешит платить первокурсникам по 500$ за вёрстку. И тут мы приходим к тому, что в 2023 году требуют от верстальщика работодатели.

Мы в HTML Academy работаем над тем, чтобы верстальщики после двух наших интенсивов по вёрстке находили работу, а после интенсива по JavaScript делали это вообще без проблем. И для того, чтобы чему-то обучать, мы должны понять, что требуется рынку сейчас и какие требования выставляет работодатель к верстальщику, чтобы мы могли покрывать такие требования на курсах.

Читать дальше
Айти
  • 8 июня 2023
Веб-разработка. С чего начать

Веб-разработка. С чего начать

На старте бывает непонятно, какой язык программирования выбрать первым. На самом деле, нет идеального языка, который раз и навсегда определит вашу карьеру. Освоить новый язык программирования — всё равно что выучить ещё один иностранный. Сначала надо определиться, что вам больше подходит: фронтенд или бэкенд.

Читать дальше
Айти
  • 2 июня 2023
Как устроиться туда, где закрыты все вакансии

Как устроиться туда, где закрыты все вакансии

Если вы мечтаете работать в определённой компании, но не нашли вакансий на сайтах по поиску работы — ещё не всё потеряно. Проверьте объявления на других площадках. Если и там ничего нет, воспользуйтесь «обходными путями»: начните со стажировки или познакомьтесь с рекрутёром.

Читать дальше
Айти
  • 14 февраля 2023
Хочу работать в IT, но…

Хочу работать в IT, но…

Изучать что-то новое всегда — волнительное и завораживающее событие. Но некоторые останавливаются, даже не начав. Почему так происходит? По разным причинам, но бывают случаи, что из-за мыслей «ещё рано», «уже поздно», «нет технического образования», «не знаю английский». Мы покажем на примерах, что возраст, наличие образования и знание английского — не проблема для смены профессии.

Читать дальше
Айти
  • 19 января 2023
Как стать фулстек-разработчиком

Как стать фулстек-разработчиком

В отличие от фронтендеров и бэкендеров, фулстек-разработчик способен полностью самостоятельно создать сайт или приложение. Такой специалист отлично разбирается в технологиях, базах данных, серверах, умеет разрабатывать веб-приложения и сайты, знает как фронтенд, так и бэкенд. Давайте узнаем, в чём преимущества профессии, насколько она востребована на рынке и как стать топовым специалистом.

Фулстек-разработчик сочетает несколько направлений и может заменить собой пару более узких специалистов. Главная его особенность — это универсальность. Именно поэтому спрос на таких специалистов всегда есть и постоянно растёт. Многим компаниям выгоднее нанять одного универсального разработчика, чем содержать штат программистов.

Топовых фулстек-разработчиков очень мало, они востребованы и имеют возможность выбирать из ряда предложений то, что им интересно. Джуны с небольшим опытом в сфере фулстек-разработки могут рассчитывать на зарплату от 30 до 100 000 ₽ в месяц. Опытный разработчик получает в среднем вдвое больше — 120—200 000 ₽.

💡 Что должен уметь топовый фулстек-разработчик:

  • Понимать полный цикл процесса разработки.

  • Уверенно знать современный JavaScript (ECMAScript), применять TypeScript.

  • Строить архитектуру клиентских и серверных приложений.

  • Применять ООП и паттерны проектирования на практике.

  • Проектировать и разрабатывать REST API.

  • Проводить автоматизированное тестирование фронтенда и бэкенда.

  • Работать с базами данных.

Зарплаты фулстек-направления

Исследования компании Хабр Карьеры за 2022 год говорят, что средняя зарплата разработчиков в России составляет 140 000 ₽. Сумма немного различается по регионам. В Москве зарплата подросла за год и составляет 180 000 ₽, в Санкт-Петербурге осталась на уровне начала года — 150 000.

Зарплата фулстек-разработчика в среднем составляет 200 000 ₽ в Москве, 160 000 ₽ в Санкт-Петербурге и 130 000 ₽ в регионах.

Этот анализ зарплат составлен по вакансиям сайта hh.ru.

Также специальность фулстек ценится за границей, зарплаты в Европе и в Америке очень достойные. В Нью-Йорке опытный фулстек зарабатывает 3000—3500 $. В Германии работодатели указывают в вакансиях зарплату 2500—4000 $.

Изучив вакансии и уровень дохода, скорее хочется прокачать навыки и стать фулстек-разработчиком. Что же для этого нужно?

Читать дальше
Айти
  • 20 декабря 2022
К чему готовиться на IT-собеседовании

К чему готовиться на IT-собеседовании

Перед первым собеседованием фронтендеры часто сидят и переживают — а что будут спрашивать? А как себя вести? А нужно знать всё-всё или достаточно конкретных вещей?

Короткий ответ — всегда и везде по-разному, угадать тяжело. Некоторые компании составляют собственные уникальные задания, другие берут списки популярных вопросов из интернета. Как повезёт.

Чтобы хоть как-то помочь вам, мы поговорили с коллегами из компаний Affinage и Takeoff-staff, компании Pitchстудии Лепёхина и веб-студии Thmoon. Они рассказали, что спрашивают на собеседованиях, как у них проходит тестовое задание и нужно ли фронтендеру уметь вообще всё, чтобы найти работу.

Читать дальше
Айти
  • 1 декабря 2022