Product Developer – Telegram
Product Developer
11.6K subscribers
8 photos
2 files
148 links
Канал о продуктовой разработке изнутри. Открыт для связи: @engineering_memeger
Download Telegram
Channel created
Щелчок тумблера, и теперь мы не программисты, но разработчики продукта :)
Шутка. Нет волшебного переключателя, которым можно было бы щёлкнуть, чтобы все сразу заработали по-новому. Кто-то уже несколько лет делал работу на всех слоях, а кто-то не начнёт и в новой должности.
Фактически уже несколько лет мы двигались в Scrum и LESS. Теперь и на формальном уровне. Никаких больше узко специализированных должностей. Нет больше фронтендеров, мобильников, бэкендеров, дбд, тестировщиков. Есть разработчики продукта с Т-shape или Ш-shape экспертизой. Не всем это подходит, но вариантов нет. Больше не получится тыкать пальцем "это вон у бэкендеров апи кривое". Придётся всей командой проектировать контракт апи.
Придётся брать на себя больше ответственности.
Никого не увольняют, но подозреваю что не всем подойдёт новая реальность, и кто-то уйдет искать привычное болото в менее прогрессивные конторы.
2👍2
Channel photo updated
Product Developer pinned Deleted message
Продуктовый. Разработчик.

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

IT с точки зрения программиста, который не ограничивает свою зону ответственности кодированием. И имеет от этого некоторые явные и не очень профиты.

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

Этот канал - про взгляд изнутри на образ мышления, роли, процессы, события и артефакты продуктовой разработки.
2👍1
Product Developer pinned «​Продуктовый. Разработчик. Прежде всего, надо пояснить за название канала. Какие такие продукты разрабатывает этот парень? Обойдемся без пошлых шуток про арбузы. Всё, о чем буду писать, - про IT. IT с точки зрения программиста, который не ограничивает свою…»
Продукт vs Проект

Попробую объяснить, что такое продукт, через сравнение с проектом.

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

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

Так что отличает инженера в проекте от продуктового разработчика? Я убежден, что главное отличие - образ мышления, направленный на преуспевание продукта. На этом образе мышления выстраиваются процессы, позволяющие делать нужные функции своевременно, получать обратную связь от вселенной и меняться с учетом этой обратной связи.
1👍1
Scrum - это ответ! А какой был ваш вопрос?🙃

Очень часто слышу от людей из разных контор, что вот мол у них Scrum.
А потом от них же слышу “этот _ваш_ скрам не работает”. Потом оказывается, что они просто отсчитывают итерации по две недели. А еще у них четко разделены функции: вот спринт бэкендеров, вот спринт фронтендеров, вот спринт разработчиков баз данных. И планирование спринтов у них раздельное. И каждая функциональная команда является “внешней” для другой функциональной команды. И когда фронтендерам нужно какое-то API, они заводят задачу бэкендерам. Вот такой “этот ваш скрам” точно не работает.

А у нас работает. Но не совсем скрам. Мы руководствуемся теорией ограничений и понимаем что тру-скрам трудно достижим. Это обусловлено в первую очередь нашими ограничениями: большой продукт, большая популяция айтишников, большая база легаси кода и легаси процессов, смежные IT подразделения, работающие с процессами локальных очередей. Мы работаем по фреймворку, который скромно называем Scrum-based LeSS-like.
Основных идей три:
📌- уменьшать количество бэклогов
📌- собрать все нужные компетенции в одной команде
📌- уменьшать внешние зависимости
Роли

В этом нашем Scrum-Based LeSS-Like мы выделяем 5 ролей, хотя скрам подразумевает всего 3.

Chief Product Owner - Имеет верхнеуровневое видение вектора развития продукта в целом. Взаимодействует с продуктовыми командами, передает это видение.

Area Product Owner - отвечает за определенную зону продукта. Приоритезирует задачи в бэклоге зоны, чтобы максимизировать ценность своей зоны продукта; Плотно работает с командами в своей зоне;

Product developer - создает качественный регулярный инкремент в продукт. Обычно работают со своим APO;

Product IT Manager - помогает разработчикам продукта поддерживать вектор развития инженерных практик и процессов разработки. И индивидуального развития самих разработчиков;

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

Нас, айтишников, в продукте примерно сто-двести человек. То, что написано в трудовой, кажется формальностью.
Но на подсознательном уровне узко-специализированная должность, например, “инженер по тестированию”, может быть стоп-фактором, чтобы начать погружаться в вёрстку. Поэтому сейчас запущен процесс переоформления должностей, чтобы в трудовой так и было написано: “продуктовый разработчик”.
​​Ок. Теперь ты продуктовый разработчик. Что дальше?

В серии из 4 постов расскажу о цикле разработки с точки зрения изнутри.

Часть 1 - проработка бэклога.

Работа над задачей начинается гораздо раньше, чем у программиста. До взятия задачи в спринт, команда проясняет все вопросы.
📌- Выпытывает у владельца продукта критерии приемки;
📌- Проводит предоценку: сколько примерно задача принесет денег, и сколько будет стоить в разработке;
📌- Прорабатывает все архитектурные аспекты;
📌- Согласовывает будущие изменения со всеми внешними заинтересованными сторонами;
📌- Понимает, как будет проводить постоценку;
📌- Решает, какой нужен мониторинг работоспособности фичи после спринта;
📌- Составляет верхнеуровневый план спринта.

Это не исчерпывающий список, я покажу наш Definition of Ready for sprint (DoR) позже.
Часть 2 - планирование спринта

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

На планировании мы декомпозируем предварительный план на задачи размером не больше дня. Участники берут на себя задачи и распределяют их по дням. При этом желательно оставить время на проработку бэклога и на улучшение процессов и инженерных практик.

После планирования команда расходится работать. Работа может быть как парной, так и индивидуальной. Но каждый понимает вклад его индивидуальной работы в общую цель спринта.

Общая цель - на мой взгляд основное отличие команды от рабочей группы. Конец планирования ознаменует для нас очередную возможность сделать что-то полезное. Мы не фанатики, но в конце планирования в шутку поздравляем друг друга с началом нового спринта🚀