Данный материал о том, как выстроить процесс изготовления продукта, что и как происходит в подразделении компании и кто за что ответственен. Вектор данной статьи это фраза Ицхака Адизеса: "Успех - когда клиенты возвращаются (спросите себя, если бы у человека был выбор, вернулся бы он). Концепция изготовления продукта - продукт должен быть актуален минимум в течении 30 лет.
В компании/подразделении должен быть использован инструмент для ведения документации по изготовлению продукта (например confluence). В данном инструменте должны быть разделы:
Например ... активно формирующаяся (в России) потребность рынка в ...
Сделать использование продукта стандартом для малого и среднего бизнеса. Критерии успеха: 1. ...
Тут описываются потребители продукта, и какую проблему для указанного потребителя решает продукт (лучше с иерархией, вплоть до должностных позиций в компании потребителя).
Список конкурентов с подразделами, в которых описываются интересные особенности, которые, возможно хотелось бы тоже иметь.
Здесь нужно описать роли своих пользователей и согласно ролям ответить на следующие вопросы:
Обязательный функционал (минимум для выхода продукта на рынок и его работы).
• Функционал А
• Функционал Б
• ... и т.д.
Дополнительный функционал, обычно то, чем продукт отличается от продукта конкурентов, по структуре повторяет раздел "Функционал продукта".
Цель идея не планирование, а фантазии, это то, что нужно делать "сегодня", чтобы быть готовым к "завтрашнему" дню.
Как распознать талантливую идею - задайте себе такие вопросы:
Идеи - 100% нереализованный функционал.
Данный раздел состоит из подразделов:
Каждый подраздел это список вида:
• Год 20..
• Год 20..
• .. и т.д.
Далее я хочу рассказать про то, как продукт изготовляется (про процесс).
Основные этапы цикла разработки
* обратите внимание, что на этот этап попадают как задачи по реализации нового функционала/доработок (Task), так и задачи по исправлению ошибок (Bug).
Процесс заведения и работы с идеями, а так же роли, участвующие в процессе, приведены на схеме ниже.
Инициализация
Идеи для развития сервиса может предлагать любой сотрудник компании. Достаточно сформулировать Идею и кратко описать ее в соответствующем разделе, ответив на следующие вопросы:
Аналитика
В рамках каждой идеи PM (Project Manager) проводит:
• Исследование идеи (при участии маркетинга) выполняется тщательный сбор информации, и описывает функциональность (составление ТЗ)
• Подготавливает презентацию идеи (PP - planning purpose) (при участии дизайнеров создание дизайна/мокапов/прототипов) и оценивает (при участии сотрудников отдела разработки)
• Проверяет зависимости (кого нужно будет привлеч для реализации идеи)
Ответственным за выполнение задачи на протяжении всего этого этапа остается PM, он же выступает координатором между всеми участниками работ данного этапа.
Идея принята, дальше директор:
Требования/проектирование (второй желтый блок в схеме выше)
Неважно, задача поставлека как фича или ошибка в каком-то функционале, результат — создание задачи в таск-трекере и исполнитель - TeamLead. В описании задачи обязана быть указана ссылка на страницу требований (включающей версию требований) или описание бизнес-требовании (это нужно делать обязательно, чтобы четко обозначить требования на текущий момент). Плюс, PM добавляет в раздел Реализация, номер и имя задачи, которую только что создал.
TeamLead переводит задачу с языка бизнес-требований на язык разработки, проектирует архитектуру нового функционала, определяет прогнозы по срокам, а так же приоритет задач. TeamLead может декомпозировать задачу (разбить на подзадачи, если это нужно). Далее я опишу 3 вида задач:
EPIC - задача с подзадачами, для достижения запланированного результата.
Task - обычная задача, доработка, дополнение или улучшение, связанные функционалом сервиса (не ошибка).
Bug - ошибка в функционале продукта, обычная задача, которая может стать EPIC-ом, если ее разобьют на подзадачи.
После проработки технических нюансов, задача готова для переключения на конкретного ответственного исполнителя и вносится в план разработки. После завершения работ задача передается в тестирование.
Приоритеты задач
Абсолютно любой задаче перед постановкой необходимо задать приоритет выполнения. Возможны следующие приоритеты задач (от наивысшего к менее приоритетным):
Отличие флоу у эпика и задачи:
Цикл жизни EPIC | Кто выставляет статус | Цикл жизни Task / Bug | Кто выставляет статус | |
OPEN | Project Manager | OPEN | Team leader, или Reporter | |
READY FOR DESIGN | Project Manager | READY FOR DESIGN | Team leader | |
IN DESIGN | Team leader | IN DESIGN | Team leader или Developer | |
DESIGN CHECK | CTO (при отсутствии CTO - Team leader) | DESIGN CHECK | Team leader или Developer | |
READY FOR DEV | CTO (при отсутствии - Team leader) | READY FOR DEV | Team leader | |
IN DEV | Team leader | IN DEV | Developer | |
TO REVIEW | Developer | |||
IN REVIEW | Developer | |||
READY FOR TESTING | Developer | |||
IN TESTING | QA | |||
READY FOR DEPLOY | QA | |||
ON PROD | ||||
WAIT FOR DEMO | Team leader | WAIT FOR DEMO | Team leader или Developer | |
IN DEMO | Project Manager | |||
CLOSED | Project Manager | CLOSED | Project Manager | |
ON HOLD | Сотрудник у которого возник вопрос к другому сотруднику/отделу или сотрудник который ответил на вопрос. | ON HOLD | Любой из выше перечисленных |
Цикл жизни Task / Bug
Если задача не связана с написанием кода/не требует деплоя (например, написание документации), то она может сразу же перейти в статус CLOSED.
Переход задачи в статусы: IN TESTING, READY FOR DEPLOY, CLOSED отслеживаются ответственными за каждый из этапов (с помощью фильтров таск-трекера) и выполняют требуемые действия.
Изменения статусов Task, Bug и EPIC происходят по следующей схеме:
* на схеме можно заметить статус RESOLVED - это устаревший эквивалент статуса WAIT FOR DEMO.
Стоит рассказать про некоторые моменты в нем.
Release / Sprint - некий список задач, который планируется выполнить к определенной календарной дате. Данные списки создаются в таск-трекере.
По результатам выполнения Спринтов, составляются отчеты, в которых можно посмотреть запланированные задачи и сколько из них было выполнено. Кроме плановых, в отчете содержится список "внеплановых" задач - те которые вклинились в план без очереди (обычно это критичные баги).
BackLog - список задач не вошедший ни в один Release / Sprint