Интервью с Женей Старчак. Жизнь без аналитиков глазами менеджера.


Жень, привет! Спасибо что согласился на интервью! 

В прошлые наши беседы ты рассказывал, что у вас в компании политика — делаем продукты без бизнес и системных аналитиков. Ничего не перепутала? Как вы дошли до такой жизни?


Привет! Да, ничего не перепутала :) 

Есть несколько причин. 

Во-первых, проекты отличаются следующими свойствами:

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

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

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

Ну и в-третьих, команда разработки обладает набором навыков и компетенций для реализации подобных проектов.


2 - 3 года? Т.е. такие долгожители, как ваша почта, поисковик, новости, погода и так далее переписываются периодически с нуля?


Нет, там немного другое. Там продукты, которые состоят из кучи проектов.

У поиска за 3 года очень сильно меняется архитектура, например, и технологии внутри.

У нас проще написать заново через 2 года, чем делать крупную доработку.

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


Ты имеешь в виду свои проекты? Можешь вкратце рассказать их суть?


Это агрегаты для построения финансовой отчётности, регулярные расчёты вознаграждения, поставка данных из учётных систем в хранилище данных.


Т.е. инфраструктура для других продуктов?


Скорее унификация (не люблю это слово, но попроще подобрать не получается) данных о продажах продуктов для финансистов, часть регулярных расчетов и предоставление наших данных аналитикам сервисов (тем людям, которые готовят финансовую отчётность, и строят финансовые модели)


Правильно понимаю, что заказчик=пользователи внутренний? Cколько лет существует система?


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

Проекту в текущей инкарнации около 5 лет.


Т.е. фактически заказчик выступает аналитиком? Кто выполняет роль сбора информации от заказчика и трансляцию на уровень разработчиков? Оценивает непротиворечивость требований?


Заказчик выступает очень мотивированными пользователем результата работы системы. Если заказчик не расскажет нам все про свою работу, то ему придется считать все вручную. Это скорее всего нереалистичная задача.


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


Бывают ли случаи, что на выходе получаете расхождения между ожиданиями заказчика и реализацией?


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


Про мотивированного заказчика звучит очень круто. Видимо, у вас офигенная команда и доверие на всех уровнях.

Тебе как менеджеру удобна такая модель? Ты и документируешь требования?


Насколько можем - да, успеваем документировать. Не очень подробно, скорее как справочная информация "а что мы тут такого сделали". 

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


Успеваешь с основными обязанностями? Часто переработки?


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


Согласна, от этого не уйти :)

Сколько ты в среднем даешь времени новым членам команды на погружение ? Как выстроен процесс передачи знаний?


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


А кто занимается тестированием и на основании чего определяется acceptance criteria? 


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


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


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


А ты продолжаешь развиваться как аналитик или больше погружаешься в ремесло менеджера продукта? 


Развиваться нужно всегда - soft skills и hard skills. Hard skills правда больше технические. Например, нужно собрать метрики со своего проекта, или поработать с данными - знаний всегда не хватает, а данные хочется получить как можно быстрее.


Уклончиво)))


Тут сложно сказать - скажем, питон - это явно не скилл для аналитика :)

и явно не менеджерский :)


Эт точно))


А без него большей частью никуда - как еще можно сверить разные источники данных или связать несколько экселек :)


Ты изучит питон? А какие еще скиллы?


Я скорее в начале пути питониста :) из hard skills время уходит на python + pandas, sql, внутренние технологии (типа самописных map reduce кластеров).

Из soft skills- нужно работать с людьми в первую очередь.


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


Все-таки у нас есть странный тип задач - задачи с жестким дедлайном (если задача не сделана к дате - расчехляй калькулятор и считай сам. Если сделана с багами - будь готов быстро разобрать баги с прода сам)


"Из soft skills- нужно работать с людьми в первую очередь."

— давай эту тему подробнее отдельно обсудим. Не возражаешь?


Нет :) Люди - это основная ценность:)


Получилось очень интересное интервью. Спасибо большое за подробные ответы! 

Заключительный вопрос, чтобы подвести итоги. Как ты оцениваешь подход к разработке без роли аналитика?


Роль все равно остается, просто эту роль приходится выполнять не отдельному человеку, а нескольким людям, каждому в какой-то мере.


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


Если команда растет, менеджер тратит на общение с внешним миром все доступное время - нужен источник знаний, который смотрит на задачу не со стороны кода, а со стороны потребностей. Обычно это аналитик :)

March 18, 2019
by Анастасия Соболева
0
67

Системы тоже люди, они общаться хотят


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

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

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

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

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

Есть разные готовые решения для таких коммуникаций. Например, старый добрый web api.

  • Идея: системе А нужны данные из системы B. Для этого она с некоторой периодичностью будет ходить к системе B и спрашивать "ну, чо есть что-нибудь для меня?" Если есть, то система B их отдаст в некотором согласованном формате. Второй вариант реализации, система B, когда ей будет что сказать системе A, сходит к системе A и скажет, что пора забирать инфу и передаст пачку информации.

В нашем случае проблема была в том, что диалогов ожидалось сверхмного и сверхчасто. В web api пришлось системам A и B постоянно друг друга спрашивать и обмениваться данными. А систем для интеграции было куда больше двух и объем данных ожидался мощный. Из известных решений ничего не подходило: был риск заддедосить себя и других. Решили использовать новую технологию - брокер сообщений Rabbit MQ. 

  • Идея: когда системе B будет что рассказать системе А, она положит данные в специальную для этого вопроса очередь (папочку). Когда системе А понадобятся эти данные, она заберет все данные из этой очереди. 

Более детально о технологии можно почитать в интервью в следующем посте....

February 17, 2019
by Анастасия Соболева
0
23

Как все успеть? Как ничего не забыть?

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

Он хорош:

1) у него очень даже функционирующая бесплатная версия 

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

2) он есть для разных устройств (iPhone, Android, винда, macOS, веб)

3) он облачный: т.е. вы один раз регистрируетесь и со всех устройств работаете в одной учетке

4) русский язык

5) есть установка сроков и приоритетов задач

6) можно создать повторяющуюся задачу

Примечание: Мне каждый 10 день месяца напоминает о коммуналке

7) задачи можно компоновать по проектам и подпроектам

Примечание: У меня есть проекты:
  • Финансы — задачи по оплатам в банк, коммуналки, сотовый, переводы и т.д. 
  • Саморазвитие — подпроекты со списком книг, списком интересных ссылок, подпроект с идеями и пометками
  • Канал — темы, которые мне бы хотелось здесь рассказать
  • Работа — общие рабочие вопросы и по каждому из моих проектов

Как с этим работать?

  • Программа-минимум:
  1. установили todoist на устройство (удобно, если он есть, и на телефоне, и на всех компьютере с одной учеткой)
  2. зарегистрировались
  3. посмотрели короткую инструкцию, как пользоваться todoist
  4. завели список задач (удобнее заводить задачи по принципу, что одна задача должна быть выполнима за один шаг, в один присест. Если задачу делать дольше и сложнее, то это уже несколько задач. Подробнее можно почитать в методологии Getting things done или посте)
  5. когда сделали задачу — закрыли

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


  • Программа-максимум:

6. разбить задачи по проектам

7. поставить задачам приоритеты

8. поставить сроки выполнения задач: рекомендованные и финальные

9. создать повторяющиеся задачи

10. обновлять задачи, приоритеты, сроки

11. подписаться на почтовую рассылку от todoist и постоянно получать напоминания о задачах на день

February 10, 2019
by Анастасия Соболева
0
21

Как важно больше разговаривать или история развития телемаркетинга


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

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

Знакомая история, да, получать такие звонки?

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

Вот такие истории у абонентов из-за системы случались постоянно, но о них не знал заказчик и мы, разработчики. 


Выяснилось это случайно. Мы проводили обследование для другого проекта и пришли в ритейловые магазины сотовика. Стали общаться с абонентами и тут-то и выяснилось при вопросе "А почему вы приходите в магазин за выпиской расходов? Ее можно получить на сайте. Вот недавно был обзвон всех абонентов." 

Решить вопрос можно было несколькими способами: 

  1. Сегментацикй абоненской базы по разным признакам (по месту жительства, трудовой занятости, уровню трат на связь, частоте использования связи и разных видов связи и т.д.)
  2. В сочетании с партнерскими базами можно было смотреть на историю покупок и предлагать сопутствующие товары.
  3. Можно было использовать алгоритмы интеллектуального анализа данных (data mining) и на основании предыдущих историй продаж и данных о покупателях, которые их совершали, сторить прогнозы о возможных покупках в будущем.


Мы предложили третий вариант для развития системы.

Вот что значит полезно общаться со своими конечными пользователями.

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

December 19, 2018
by Анастасия Соболева
0
6

Везде свои сложности или немного о стрессе

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

Вообщем есть о чем волноваться. 

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

Если с ними мериться, то все наши стрессы и переживания - мелочь. Но вот у каждого свой порог чувствительности.


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

Мне в таких случаях помогают простые способы. То что называется “вернуться в тело” и переключить внимание. Самый простой — выпить горячий чай или кофе. Самый приятный - обнимашки. 

В рабочей ситуации можно просто похлопать себя по плечам или коленкам. Иногда я просто ухожу куда-нибудь и немного медитирую. Выработала даже небольшой ритуал: сесть в тихом месте и просто погрузиться в себя на вопросе “Чего мне хочется? О чем я мечтаю?”. Размышления на тему отпуска, серфинга, прогулок по городу очень сильно расслабляют и дают мотивацию для чего я работаю и что важного и классного есть в жизни. 


Хорошего четверга! Не волнуйтесь! Все будет хорошо!

December 12, 2018
by Анастасия Соболева
0
4
Show more