День 134. Преимущества продуктовой компании

Вот и руки дошли написать о том, как все классно в piano. В каком-то смысле моё текущее место работы, действительно, рай на Земле.

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

Замечу, что неправильно будет сказать, что продуктовые компании лучше (или хуже) тех, кто занимается заказной разработкой, но в них есть существенные отличия. Кому-то хорошо работается в заказной (взять тот же самый ЦВТ и EPAM systems, в которых трудится около 300 человек).

К какой категории отношусь я пока судить не возьмусь, ибо имел желание попробовать в продуктовой, но на деле возникли трудности адаптации и многое оказалось иначе))

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

Свободный график работы

У всех моих коллег свободный режим работы. Большинство из нас работает с 11 до 18, но бывают исключения. Есть обязательные (или почти обязательные митинги) с американцами, в которых можно участвовать, находясь вне офиса. Можно работать out of office, то есть из дома (но не очень часто).

В таких условиях поначалу мне было тяжеловато собрать все ребят для каких-то обсуждений или вопросов, но потом оказалось, что это ничуть не мешает работе. ВСЕ, я подчеркиваю, ВСЕ рабочие вопросы МОЖНО РЕШИТЬ ИЗ ДОМА.

Свобода и командная модель организации

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

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

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

Отсутствие давления со стороны заказчика

Этот пункт представляет собой наибольшую головную боль для заказной разработки. Очень часто бывает так, что заказчик платит 7 рублей, а спрашивает так, будто заплатил 100.

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

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

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

Мы работаем столько, сколько можем — и в удобном режиме. У нас нет переработок и каких-то суперсрочных вещей.

Достаточно долгая доставка заказчику

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

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

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

После того, как задача протестирована вручную, она уходит на final review менеджеру. Все описанное выше никак не отличается от процессов БАРС Груп, но далее начинается самое интересное))

Почувствуйте нашу свободу, неспешность и спокойствие в работе:

Мне пришла сделанная протестированная задача. Я провожу final review, то есть проверяю, что все наши автотесты выполнялись на новом функционале (другими словами, чтобы эта доработка не конфликтовала с существующим функционалом)

Как правило, около половины задач рушат один или несколько автотестов. Это не означает, что данную доработку нужно браковать, очень часто проблема бывает в нестабильности самих тестов.

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

О, чудо! Задача сделана, протестирована и не конфликтует с существующим функционалом. Скорей-скорей ее в компьютер заказчику? Как бы не так)

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

Вот и посчитайте, сколько может ждать задача, даже если разработчик ее сделал быстро.

Обсудить у себя 0
Комментарии (0)
Чтобы комментировать надо зарегистрироваться или если вы уже регистрировались войти в свой аккаунт.

Войти через социальные сети:

Сахаров Денис
Сахаров Денис
Был на сайте вчера в 22:10
Читателей: 21 Опыт: 496.525 Карма: 0
все 22 Мои друзья