Распределение ролей в современной IT команде

Сегодня предлагаю разобраться с устройством команды, создающей программное обеспечение. Кто за что отвечает, какие задачи решают различные участники команды?
Стоит сразу уточнить, что мы не рассматриваем специфику команд, придерживающихся разных методологий разработки ПО, и соответственно состоящих из специализированных ролей типа Scrum muster.
Владелец продукта (Product Owner)
Цель:
Позиционирование и продвижение продукта на рынке, достижение бизнес целей.
Задачи:
Определение концепции продукта;
Создание Go To Market стратегии;
Сегментация и анализ рынка, определение ценности;
Анализ конкурентов;
Управление списком задач (бэклогом) и пиритизация требований;
Контроль статуса разработки;
Выбор продуктовой стратегии и методов монетизации;
Генерация гипотез по улучшению бизнес показателей;
Оценка достижения бизнес показателей;
Построение процесса / цикла обратной связи от пользователей и оценки качества продуктаю
Управляющий проектом (Project Manager)
Цель:
Разработка продукта в срок, не превышая выбранный бюджет и с надлежащим качеством.
Задачи:
Управление командой (формирование, мотивация, контроль);
Создание RoadMap (плана разработки);
Оценка стоимости разработки;
Создание и распределение задач, контроль выполнения;
Организация командных активностей;
Проведение интервью и встреч с заказчиком;
Решение организационных вопросов;
Участие в приемке продукта;
Прием решений по сложным вопросам (всем);
Прием решений о публикации новой версии системы (совместно с Техническим лидером);
Бизнес-аналитик (Business Analyst)
Цель:
Создание и оптимизация бизнес процессов для достижения целей бизнеса
Задачи:
Разработка концепции программного продукта;
Определение ролей пользователей и их потребностей;
Описание предметной области (в т.ч. основных объектов и связей между ними), создание и оптимизация бизнес процессов
Управление требованиями к ПО;
Проведение интервью с заказчиками и конечными пользователями;
Анализ конкурентов;
Консультация команды разработки;
Участие в приемке продукта и анализ поведения пользователей;
Оценка стоимости разработки (совместно с PM);
Системный аналитик (System Analyst)
Цель:
Обеспечение эффективной работы системы для успешного выполнения целей пользователей.
Задачи:
Определение ролей пользователей и их потребностей (если этого не делает BA);
Описание предметной области (в т.ч. основных объектов, их атрибутов, связей между ними), бизнес процессов, потоков данных;
Управление требованиями к ПО;
Разработка прототипов и UX (совместно с дизайнером);
Проведение интервью с заказчиками и конечными пользователями;
Формирование стека задач (бэклога) (если этого не делает PM);
Консультация команды разработки;
Аналитик данных (Data Scientist)
Цель:
Выявление скрытых закономерностей в данных для оптимизации бизнес процессов.
Задачи:
Фиксация бизнес показателей;
Организация сбора данных и мониторинга показателей;
Построение моделей;
Проверка гипотез по улучшению бизнес показателей;
Составление отчетов.
Системный архитектор (System Architect)
Цель:
Проектирование архитектуры системы, удовлетворяющей требованиям (как к функциям системы, так и нагрузкам на систему)
Задачи:
Разработка архитектуры системы и выбор стека технологий;
Контроль за соблюдением рекомендаций по архитектуре;
Прием сложных технических решений;
Консультация команды разработки;
Технический лидер (TechLead)
Цель:
Координация технической команды.
Задачи:
Создание и распределение технических задач, контроль выполнения;
Консультация программистов по узкотехническим вопросам;
Ревью кода;
Прием решений о публикации новой версии системы (совместно с ПМ);
Публикация системы в сторах;
Оценка стоимости разработки (совместно с PM);
Программист (Programmer)
Цель:
Разработка программной системы в соответствии с поставленными требованиями.
Задачи:
Разработка программной системы (написание кода, разработка структуры базы данных и т.д.);
Принятие решений о способе разработки;
Контроль качества разработки и проведение ревью кода;
Тестирование кода;
Написание технической документации;
Выпуск новой версии продукта.
Специалист по качеству (тестировщик) (QA)
Цель:
Минимизация ошибок в работе системы.
Задачи:
Тестирование требований;
Написание тест кейсов и тест планов;
Тестирование системы (регрессионное, нагрузочное, функциональное и т.д.);
Разработка авто-тестов;
Поиск багов на основе отзывов от пользователей.
Дизайнер интерфейсов (UI/UX Designer)
Цель:
Разработка удобного и привлекательного интерфейса пользователя программной системы.
Задачи:
Разработка дизайнов экранов;
Разработка ScreenFlow;
Разработка дизайн-концепта и гайдлайнов;
Разработка прототипов экранов;
Оптимизация пользовательского взаимодействия (создание рекомендаций);
Консультация команды разработки.
Технический писатель (TechWriter)
Цель:
Разработка пользовательской и технической документации.
Задачи:
Разработка пользовательской документации;
Разработка FAQ;
Разработка описания API.
Специалист тех. поддержки (TechSupport)
Цель:
Минимизация недовольства пользователей ПО за счет помощи и ответов на вопросы.
Задачи:
Ответы на вопросы пользователей;
Решение проблем пользователей;
Сбор обратной связи от пользователей;
Фиксация багов, найденных пользователями.
Системный администратор/DevOps (System Administrator)
Цель:
Минимизация технических ошибок при эксплуатации системы, аппаратно-программная поддержка команды разработки
Задачи:
Обслуживание и анализ загрузки серверов;
Создания необходимых условий в инфраструктуре для нормального функционирования ПО;
Помощь в развертывании системы и настройка среды для быстрой публикации новых версий;
Контроль логов;
Настройка инструментов для автоматизации процесса разработки и тестирования.
Маркетолог (Marketing Specialist)
Цель:
Продвижение продукта (программной системы) на рынке.
Задачи:
Анализ рынка;
Продвижение сайта продукта, SEO;
Помощь в публикации программной системы в сторах
Подготовка PR материалов;
Продвижение в соц. сетях;
Организация и проведение рекламных компаний.