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

Команды нередко используют разные методологии (Scrum, TDD, Waterfall, Lean, Kanban и т.д.) для создания программного обеспечения. Когда проекты соперничают или срывают сроки, многие обвиняют методологию или плохо продуманную связку из нескольких. Но, чаще всего, источник проблем связан с неправильным распределением ролей в команде. Успех зависит от того, насколько хорошо команда работает вместе, поэтому роли каждого участника должны быть четко определены, и соблюдаться на протяжении всего проекта.

Процессы могут варьироваться в зависимости от структуры организации. В конце концов, важен продукт и ценность которую вы создаете для своих пользователей. В DNA325 IT Recruitment & R&D agency мы хорошо понимаем методологии и адаптируем подходы для разных команд и типов бизнеса. Мы помогаем команде определить ключевые роли и обязанности, выбрать оптимальные направления и подходы к работе. В результате мы получим сплоченную команду, качественный продукт и успешный проект.

projectmanager

Project Manager

В чем роль руководителя проекта? Хороший менеджер:

  • определяет бюджет, график;
  • распределяет роли на проекте;
  • обеспечивает своевременную коммуникацию между всеми сторонами;
  • собирает статус задач и сообщает необходимую информацию;
  • организует и проводит встречи с клиентами или подрядчиками.

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

scrummaster

Scrum Master

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

Scrum Master следит

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

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

productowner

Product Owner Product Manager

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

Основные задачи Product Owner:

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

Это позволяет команде узнать, что от них требуется, и над чем предстоит работать в первую очередь. Product Owner оказывает поддержку команде, отвечая на вопросы и предоставляя информацию, чтобы помочь команде двигаться вперед.

analyst

Analyst

Как и роль Project Manager, роль Analyst сильно варьируется в зависимости от потребностей организации. В конце концов, Analyst служит связующим звеном между Product Owner и dev / QA командами. Что же подразумевает эта позиция? Помощь в написании требований и спецификаций для dev / QA команд, с которыми происходит работа и работа с данными, чем их больше – тем выше вероятность принять правильное решение. Аналитик помогает команде лучше понять продукт и оптимизировать разработку. Аналитик может помочь владельцу продукта понять ограничения, например, почему определенные требования выйдет за рамки бюджета и где искать альтернативы.

teamlead

Team Lead

Team Lead отвечает за команду разработчиков и обеспечивает руководство архитектурой проекта, занимается ревью кода, а также задачами, над которыми работает каждый разработчик. TL или ведущий разработчик устанавливает процессы разработки для всей команды, от инструментов до анализа кода, проведение технических собеседований, грамотное вовлечение новых членов команды в рабочий процесс, ответственность за техническую часть проекта. TL должен координировать свои действия со Scrum Master / Project Manager, чтобы команда была на правильном пути. Чем больше команда, тем теснее должна быть координация.

devteam

Dev Team

Dev Team (команда разработчиков) – это группа людей, ответственных за разработку продукта. Команда оценивает Product Backlog, следит за своей результативностью при содействии Scrum Master. Они получают указание от Dev Lead о том, над какими задачами работать и как их следует выполнять, взаимодействуют и координируют действия со всеми остальными членами команды, но руководство в конечном итоге должно исходить от Dev Lead.

qa

QA Lead (Quality Assurance Lead)

QA Lead отвечает за:

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

QA Lead должен координировать свои действия со Scrum Master и Product Owner / Manager для решений по выпуску новых версий.

QA (Quality Assurance) Team

Команда QA – это группа людей, ответственных за тестирование продукта. Они получают указания от QA Lead’a о том, над какими задачами работать и как их следует выполнять. Основные задачи команды:

  • обеспечение качества;
  • улучшение процесса разработки ПО;
  • предотвращение дефектов;
  • выявление ошибок в продукте.

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

design

Design Lead

Design Lead отвечает за команду UX / UI / Product designers и обеспечивает направление и видение внешнего вида продукта. При определении требований Design Lead должен идти нога в ногу с Product Owner и QA Lead, он координирует свои действия со Scrum Master, чтобы команда работала над правильными элементами. Чем сложнее дизайн проекта, тем теснее должна быть координация. Это также менеджмент позиция, предпологающая найм команды, ее обучение и менторство.

Design Team

Команда дизайнеров – это группа людей, ответственных за руководство по дизайну и проектных особенностях, которые передаются команде разработчиков для внедрения в продукт. Они получают указания от Design Lead о задачах и как их следует выполнять. Основные задачи команды:

  • сбор информации о проекте и аудитории;
  • проектирование сценариев;
  • разработка стилей;
  • составление дизайн-инструкций, макетов и прототипов.

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

3rd Party Team

Редко проекты остаются независимыми, то есть без влияния внешней – третьей стороны. Будь-то исходные данные, архитектура, SDK, API или команда ответственная за выход продукта. На одном из этапов бизнеса команде проекта предстоит сотрудничество с людьми, не входящими в их компанию. Роль 3rd Party Team состоит в том, чтобы предоставить необходимые инструменты, документацию или поддержку, необходимую для того, чтобы правильно построить и реализовать продукт под требования бизнеса. Ключом к команде Dev Team является коммуникация между ними и 3rd Party. Это относится к описанию роли как Project Manager, так и Scrum Master. Роль Project Manager заключается в том, чтобы обеспечить согласованность двух команд, а роль Scrum Master – обеспечить команду проекта всем необходимым для выполнения своей работы.