Получи случайную криптовалюту за регистрацию!

Product Developer

Логотип телеграм канала @product_developer — Product Developer P
Логотип телеграм канала @product_developer — Product Developer
Адрес канала: @product_developer
Категории: Технологии
Язык: Русский
Количество подписчиков: 9.09K
Описание канала:

Канал о продуктовой разработке изнутри. Открыт для связи: @nikita_development

Рейтинги и Отзывы

3.33

3 отзыва

Оценить канал product_developer и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

1

3 звезд

2

2 звезд

0

1 звезд

0


Последние сообщения 7

2021-03-29 10:00:05Open Space Technology - инструмент для проведения мероприятий с большим числом участников.

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

Если не все выскажутся, это может привести к трём проблемам:
— Упустят какие-то важные аспекты;
— Примут менее качественное решение;
— Тот, кто не смог высказаться, может почувствовать себя ненужным.

Open Space — фреймворк мероприятия, который решает эти проблемы в любом масштабе, вплоть до тысячи участников.
Он даёт возможность каждому внести свой вклад и рассмотреть тему со всех возможных сторон.

Основная концепция Open Space - выделять аспекты общей темы и отделять обсуждение аспекта в отдельную комнату, куда придут все желающие поговорить именно об этом.

Предлагаю попробовать на практике на нашем митапе 1 апреля после работы.
Регистрация на Timepad

В посты на канале я стараюсь закладывать пространство для мыслей и обсуждений. Например, серия постов про зоны ответственности разработчика.
1 апреля в 19:00 соберемся в зуме, чтобы потрындеть как раз про зоны ответственности разработчика.
Вместо докладов будет свободное общение в формате Open Space.

Единственное отличие от классического Open Space - мы не будем принимать решения.
Каждое мнение правильное, нет цели принять какое-то одно за единственно верное.

Цели:
— собрать вместе разрабов из разных компаний;
— получить удовлетворение от дискуссии;
— завязать новые знакомства;
— узнать, какие есть варианты границ зон ответствености разработчиков, какие у них особенности и как они влияют на продукт и самого разработчика.

Регистрация на Timepad

Увидимся!
2.6K viewsedited  07:00
Открыть/Комментировать
2021-03-26 10:00:04 Технический долг — как кредит, ч.2
Этот пост - продолжение предыдущего. По мотивам статьи Мартина Фаулера

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

Можно провести аналогию опыта и ответственности с разработкой и техдолгом:

«Какие такие слои архитектуры?» — Первый микрозайм;
«У нас нет времени на проработку архитектуры» — Когда нет денег на очередной платёж по микрозайму и человек берет для этого еще один микрозайм;
«Мы должны релизить сейчас и отвечать за последствия» — Кредит с адекватным процентом и понятным графиком платежей. Осознанный ответственный долг;
«Теперь мы знаем, как это следовало бы реализовать» — Если бы я знал о грядущих локдауне и удалёнке, то купил бы дом, а не студию в центре. В частном доме больше места, удобнее организовать рабочее пространство и есть свой двор. Спрос на частные дома сильно вырос, а с ним и цены.

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

Среду формируют отношение руководства и инструменты. Среди этих инструментов — Definition of Done. С помощью DoD мы избавляемся от первых двух вариантов безответственного техдолга.

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

От четвертого варианта техдолга не защищены лучшие команды. M. Fowler

Я призываю создавать такую среду и инструменты, чтобы системно не допускать первых трёх вариантов техдолга.
У нас и так есть риск породить техдолг, даже если будем ответственно и осознаннно подходить к проработке архитектуры.
689 viewsedited  07:00
Открыть/Комментировать
2021-03-22 09:45:18Технический долг как кредит, ч.1

Техдолг техническое несовершенство системы, порождённое в момент разработки.

Словосочетание Технический Долг — удобная метафора, чтобы объяснить не-технарям причину замедления поставки ценности.

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

Кредит: заёмщик не копит деньги, а берет их у банка. И сразу тратит их на какие-то блага, здесь и сейчас. А далее долгое время регулярно отдает часть своего дохода банку за пользование деньгами. Заёмщик накопил бы нужную сумму быстрее, чем погасит кредит. Он вынужден отказывать себе в других благах. Но он уже пользуется первоначальными благами и платит за это свою цену. Поначалу платёж почти полностью уходит в переплату.
Разумный заёмщик будет гасить тело кредита частичными досрочными погашениями.

Техдолг: разработчики не тратят время на корректное техническое решение. Они поставляют ценность здесь и сейчас. У этого есть цена: замедление поставки ценности в будущем, пока техдолг не будет выплачен. Зачастую техдолг только копится. Со временем поставка ценности становится всё медленнее.
Разумный владелец продукта заинтересован в долгосрочном сохранении скорости поставки, поэтому готов инвестировать во внутреннее качество продукта.

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

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

Мартин Фаулер разделяет техдолг на 4 квадранта, по степени осознанности и ответственности разработчиков, этот техдолг порождающих.

В следующем посте поговорим конкретно об этих видах техдолга, можно ли не порождать техдолг в принципе, и если да, то как.
870 viewsedited  06:45
Открыть/Комментировать
2021-03-19 11:50:18Привет! У меня сразу два анонса событий.

Первое - большая онлайн-конфа ТехноРеволюция 2.0 завтра, в субботу, 20 марта.
Я там буду говорить головой о нашей любимой теме продуктовой разработки в 11:20 Мск. Запись будет.
Еще будут господа из SimbirSoft, Точка, ВкусВилл, Ак Барс, Спортмастер, Skillbox, Магнит и других айтишных компаний.
На конфе три потока, разные форматы. Развернутое описание по ссылке выше, что-то наверняка вас заинтересует.

Второе - наш скромный онлайн OpenSpace-митап 1 апреля 19:00 - 21:00 Мск.
Тут не будет докладов и выступлений. Просто соберемся в онлайне и потрындим, где же граница зоны ответственности разработчика.
Приходите и приносите актуалные темы про зоны ответственности разработчика, каждая из которых найдёт заинтересованных в отдельной комнате-станции. Каждый участник сможет поделиться своим опытом и мнением, и услышать других.

Увидимся!
792 viewsedited  08:50
Открыть/Комментировать
2021-03-15 10:08:16Определение готовности задачи

По мотивам предыдущего поста «Что значит «задача сделана».

В Scrum есть офигенный инструмент, который стоит втащить к себе, даже если у вас другой процесс и вы ненавидите скрам.
Этот инструмент - чеклист Definition of Done.
!Не путать с бизнесовыми критериями приемки!

С помощью DoD можно однозначно договориться, когда говорить «готово».
Делать каждую задачу с соблюдением DoD — способ не рождать техдолг. Потратить чуть больше времени сейчас и не занимать время у себя из будущего.

Есть несколько важных свойств DoD:

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

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

Составляется разработчиками
Этот пункт следует из предыдущего. Составляя чеклист, разработчики договариваются друг с другом и обязуются выполнять эти договоренности. Нельзя заставить разрабов делать то, чего они не понимают и под чем они не подписывались.

На скрине наш DoD из 12 пунктов. Мы составляли его составом участников из шести команд и потратили на это в сумме 8 часов. С тех пор прошел год, мы получили опыт использования. Наш DoD не идеален, но я точно могу сказать, что он помогает. Мы проходимся по нему на планировании и в конце спринта. Создаем карточки, если забыли о чем-то. Это не только контроль качества, но и шпаргалка: что именно нужно сделать, чтобы было качественно.

Если у вас еще нет DoD, советую начать с нескольких самых простых пунктов и постепенно его дополнять. Не надо рождать сразу исчерпывающий. Попробуйте итерационный подход к формированию DoD.
Эффект будет, вот увидите!
900 viewsedited  07:08
Открыть/Комментировать
2021-03-12 11:03:53Что значит «задача сделана». Когда заканчивается работа разработчика?

Для программиста зачастую ответ - «когда я написал код».

Но для бизнеса нет прямой пользы от написанного кода.

Допустим, код дотащили до прода некие третьи лица через месяц. А еще через неделю он перестал работать. И мы узнаём об этом только от пользователей.
Хреново. Особенно, если это произошло ночью, а функция критичная, и звонком будят того самого программиста.
Еще хреновее, если у этого программиста нет возможности быстро понять причину поломки.

Допустим, программист переодевается в продуктового разработчика. Что изменится?

Работа продуктового разработчика заканчивается сильно позже написания своего куска кода.
Он заинтересован в еще нескольких аспектах:

собрать весь паззл фичи. После того как напедалил свой код, помочь товарищу, чтобы общими силами выдать инкремент.
Это про командную работу. Нет никакой ценности в том, чтобы в конце спринта говорить «фронт готов к релизу, но вот у бэкендеров апи недоделано».

вывести фичу в продакшен, чтобы результат его работы начал влиять на пользователя.
Это в том числе про Continious Delivery. Процесс релизов должен быть непрерывным, чтобы катить атомарные релизы. Тогда один релиз будет занимать меньше времени и нести меньше рисков.

обеспечить жизнеспособность фичи, чтобы результат его работы не сгинул незаметно.
Это про покрытие метриками, мониторинг, логи, трассировку. Нужно узнать о поломке от своего мониторинга, а не от пользователей. И нужно иметь четкий план действий на случай поломки, чтобы проснувшись быстро починить и пойти дальше спать.

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

Это версия значения «задача сделана» от Продуктового Разработчика.
А еще мне интересна версия от Тимлида. Мы договорились с Женей Антоновым, что каждый напишет пост на эту тему и мы выпустим их одновременно.
Его версия будет здесь: https://t.me/general_it_talks/102.
Я её еще не читал, пойду почитаю
798 viewsedited  08:03
Открыть/Комментировать
2021-03-09 09:45:05Разработчик в Discovery: профит для разработчика

Так, ладно, допустим для продукта есть польза от привлечения разработчика к проработке задачи.
А мне, разработчику, это зачем?

Скажу за себя:

- Дополнительная мотивация
Прорабатывая задачу, разработчик видит потенциальную ценность для продукта;

- Получение новых навыков
Есть возможность прокачать hard skills типа SQL. Или soft skills, например снять ментальный барьер и начать общаться с людьми за пределами команды;

- Прокачка бизнес-мышления
Научиться мыслить показателями продукта. Это проясняет в голове картинку: зачем, для кого и что разрабатывать;

- Расширение круга общения
Вытекает из необходимости много разговаривать на этапе проработки задачи;

- Справедливое вознаграждение и офигенный буст профессионального роста
Да, если приносить больше пользы для продукта, можно рассчитывать на взаимность. Такое вот откровение.

В общем, я это расцениваю как одну из ветвей эволюции программиста.
Занять ведущую роль в стартапе или известной компании можно только эффективно разбираясь во всех областях IT-разработки, чтобы построить продукт с нуля.
Разработчик продуктов - хороший старт для этой роли.
871 views06:45
Открыть/Комментировать
2021-03-05 10:50:10Разработчик в Discovery: профит для продукта

Непринуждённым движением программист переодевается в продуктового разработчика.
И вот он уже может участвовать в проработке задачи на ранних этапах.

Прорабатывая задачу, разработчик получает тонну мотивации потом её реализовать. Это теперь _его_ задача, от начала и до конца.

Чем же он может помочь?

В первую очередь, технической экспертизой.

— Примерно оценить стоимость разработки даже сырой задачи.
Можно не тратить время на проработку космических по сложности задач с сомнительным эффектом.

— Предложить вариант решения продуктовой проблемы по принципу Парето.
Иногда срезание 20% объема бизнесовой задачи дают экономию 80% в ресурсах на разработку. Важно: это не должно значить снижение качества решения.

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

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

Пунктов было больше. Для удобства читателя я разбил пост на два. Отдельно будет про то, как задействовать другое полушарие разработчика.
889 views07:50
Открыть/Комментировать
2021-03-01 10:07:56Discovery vs Delivery, ч.1

Что если разработчик будет не только кодить? Как встроить проработку задач в рабочий процесс разработчика?
В серии из 3 постов расскажу о процессе и профитах для продукта и самого разраба.

Процесс проработки бэклога не очень подробно описан в Scrum, но по идее он подразумевает вовлечение всей команды.
В отличие от проектной работы, в продуктовой разработке задачи попадают в бэклог совсем сырыми.
Перед тем, как думать о коде, нужно доуточнить и согласовать бизнесовую постановку, требования, ожидаемый эффект.
В эту работу не получается продуктивно вовлечь всю команду.
С другой стороны, разделение участников команды на Discovery и Delivery по сути делит команду пополам. Скрам явно не про это.

Ага! Этот ваш скрам не работает!

На помощь приходит Jeff Patton и его Dual-Track development. Он говорит, что Discovery и Delivery - это два направления работы одной команды.

Посмотрите на картинку.
Снизу - спринты Scrum, а сверху что?
- циклы вариативной длины
- непрерывная поставка задач, готовых к спринту

добавим к этому визуализацию процесса через столбцы на доске + лимиты work in progress...

Да это ж Kanban!

Выходит, что мы в этом своём Scrum-based LeSS-like добавляем еще "Kanban-discovered"?

Оригиналная статья Jeff Patton
Адаптация Авито и их опыт
Сравнение Scrum и Kanban от Atlassian
928 viewsedited  07:07
Открыть/Комментировать