Пример из практики: как разбить большую функцию на несколько этапов

Ход мыслей продуктового дизайнера

--

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

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

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

Решение: пришла идея разбить эту функцию на два этапа.

  1. Сохранение фильтра. На первом этапе мы не отсылаем уведомления, а предлагаем перевозчику возможность сохранить частые поисковые запросы, чтобы каждый раз не заполнять форму заново. Ни о каких уведомлениях здесь речь не идет — только упрощение поиска.
  2. Рассылка уведомлений. Если сохраненные фильтры начнут активно использовать, поверх них добавить уведомления. Идея была в том, чтобы перевозчик самостоятельно указывал по каким фильтрам он хочет получать уведомления (зависит от того, куда он едет).

Суть решения: разбив большую функцию на два этапа, мы снизили риск реализовать ненужный функционал или сделать его не так, как нужно пользователям. Энди Гроув (ex-CEO Intel) писал, что с каждым этапом производства продукция дорожает, поэтому нужно снижать риски, как можно раньше. Это мы и сделали.

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

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

Спасибо за прочтение, друзья.

Пошаговый план развития дизайнера, для погружения в тему — Антикурс по продукт-дизайну. Мой Instagram, Telegram-канал.

--

--

Илья Сидоренко
Дизайн-кабак

UX/AI-дизайнер. Автор книги «Дизайнер интерфейсов» — iskros.com