Как организована работа в Amazon

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

Миссия, видение и принципы Amazon


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

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

Многие из них идут врозь с друг с другом. Например, как Think Big и Bias for Action. Один говорит «‎Думай глобально», а другой – «‎Действуй, а не планируй». Таких принципов, конфликтующих друг с другом, на самом деле много. Но в этом и заложен весь смысл. Если бы сотрудники зацикливались на принципе Think Big, то все бы растягивали сроки. А если бы придерживались только Bias for Action – быстро бы выполняли маленькие проекты и не думали о больших.

Многие говорят, что культура Amazon – более требовательная. Люди приходят сюда, чтобы работать, учиться и развиваться. А когда устают, идут в Microsoft.

Это объясняется тем, что Amazon более динамичная, быстро растущая компания. Мы пытаемся расти в разных направлениях. А вот бизнес модель Boeing и Microsoft не меняется в течение многих лет. То же самое и у Google: их основным источником дохода остается поисковая система.

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



Процесс работы над продуктом


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

Как проект решит вопрос клиентов? В документе отводится 1 страница для того, чтобы лаконично объяснить идею и донести ее ценность.

Какие вопросы могут задать потребители по продукту? И технические вопросы: как будем монетизировать? Где закупать технические приспособления? Кто будет подрядчиком? В документе все должно быть описано в формате вопросов-ответов.

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

Самое важное в команде – не ждать инструкций. Если ты приходишь к руководителю с какой-то проблемой, то у тебя уже должно быть решение. А менеджеру уже остается только дать обратную связь – хорошее ли решение ты нашел, или нет.

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

Зеленый означает, что все хорошо, внимания к задаче не требуется. Желтый – что-то пошло не так, но мы знаем, как это исправить. Например, проект планировали закончить к 1 маю, но возникла проблема, которую постараемся решить к 1 маю. И красный – что-то пошло не так, и мы пока не знаем, как уложиться в сроки.

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

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



Организация рабочих процессов в компании


Scrum – метод приоритезации задач на следующие 2-3 недели – на спринт.

Спринт – это такой краткосрочной забег, в котором ты говоришь: «‎Окей, следующие две недели мы сделаем вот эти 10 тасков. И будем работать только над ними и больше ни над чем». В этом есть свои плюсы и минусы. С одной стороны ты не отвлекаешься на другие задачи. Но приходится постоянно вносить дополнения, а их собирается за спринт довольно много.

В программировании нет такого, что ты просто сел и начал писать код. Сначала продукт-менеджер собирает все требования, описывает функции нового продукта. Затем все отправляется в дизайн. Программисты садятся и описывают, что им нужно будет сделать, исходя из требований, например, заинтегрироваться с системой, сделать определенный фреймворк и т.д. Третий этап – код в прогрессе, где сотрудник уже садится и начинает писать код. Затем тестирование. И последний этап – релиз.

И вот Kanban – это методология, в которой ты ставишь лимиты на каждый этап. В группе «‎требований» не может быть больше 3-х функций. Пока я не перенесу какую-нибудь из требований в дизайн, я не могу добавлять новые задачи.

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

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

В Scrum мы каждую задачу оцениваем в поинтах. Их ничем не измеришь, это больше относительная величина. Например, задача на 4 поинта больше задачи, оцениваемой на 2. Такие поинты позволяют посмотреть, на сколько разработчик закрыл свою задачу.
В Kanban это сложнее.

Другое наше правило – брать в работу только 3 задачи. Если в команде 10 разработчиков, то все работают над этими задачами, никто не может взять новую. Потому что если каждый девелопер возьмет по одной задаче, которая займет по времени 2 месяца разработки, то релизов в месяц будет всего 2 соответственно.

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

Источник: https://habr.com/ru/post/499056/


Интересные статьи

Интересные статьи

Привет, Хаброжители! Язык Swift прост, понятен и отлично подойдет как новичкам, так и опытным программистам. Чтобы начать писать код, вам потребуются только эта книга, компьютер и желани...
Герой нового выпуска «Где работать в ИТ» — платформа автоматизации маркетинга Майндбокс. На наши каверзные вопросы ответили технический директор Никита Прудников и директ...
Привет! Меня зовут Юля, и я технический писатель в Xsolla. В этой статье я расскажу о том, почему всех так привлекает IT-сфера и как в нее попасть, не имея соответствующи...
Маркетплейс – это сервис от 1С-Битрикс, который позволяет разработчикам делиться своими решениями с широкой аудиторией, состоящей из клиентов и других разработчиков.
VUE.JS - это javascript фрэймворк, с версии 18.5 его добавили в ядро битрикса, поэтому можно его использовать из коробки.