Общие принципы
- Задания создаются и пишутся для удобства исполнителей.
- Результатом работы геймдизанеров являются полные и понятные даже новичкам задания.
- Исполнители читают задания и меняют их статус. (они пишут код, а не задания)
- Долго висящие задачи — удаляются (надо будет — еще раз заведем)
Общий стиль описания
- Командный: что, кому и когда нужно сделать. Никаких двусмысленностей и догадок быть не должно.
- Только полные фразы. С подробным (пошаговым) описанием действий.
- Фраза вырванная из контекста должна оставаться осмысленной.
- Все параметры должны иметь цифровые значения (количество элементов, размеры картинки, длинна строки)
- Все списки должны быть пронумерованны (легче делать Check List)
- Длинные списки должны разбивать на смысловые группы по 3 элемента
- Надписи на рисунках и в тексте должны совпадать дословно. Если они не совпадают — значит это разные надписи.
- Пристальное внимание уделяется ошибкам и крайним ситуациям (неверные символы, длинные строки, потеря связи, неправильное время, быстрые и беспорядочные тапы)
Описание функционала
- как его запустить/вызвать?
- полный список всех вариантов ответов
- полный список реакций на каждый вариант действий
- подробный список всех ошибок, которые могут возникнуть
- описание крайних ситуаций (длинные строки, потеря связи и т.д.)
- как его закрыть, куда переходить после него?
Типы заданий
Введение нового функционала
- Создается большая задача, которая назначается на геймдизайнера (ответственного за введение функционала)
- Геймдизайнер разбивает функционал на подзадачи и расписывает каждую из них.
- Любая подзадача должна выполняться одним человеком меньше чем за один день.
- В том числе и такие задачи как оценка сроков, составление списка, исследование технологий и т.д.
Короткая задача:
- ссылка на общую(большую задачу)
- если в задаче упоминаются элементы или ссылки на другие задачи — они должны быть указанны
- любой список должен быть пронумерован
- длинные списки должны разбиваться на тройки (группировка элементов по смыслу)
- короткая задача не должна содержать ссылки на внешние документы или картинки: все необходимое должно быть указано в самой задаче (внешние источники могут пропадать)
Задача по исправлению:
- Как воспроизвести (быстрый способ) — возможно потребуется тестовый уровень или что-то еще.
- Что именно работает неправильно
- Как должно работать правильно (как проверить что баг исправлен)
Участники
Продюсер
- назначает задачи геймдизайнеру (в статусе Design Notes)
- просматривает и вносит замечания в расписанные геймдизайнером задачи
- подписывается на задачи расписанные геймдизайнером для их отслеживания
- проверяет список задач Waiting Other и вмешивается если необходима помощь
Геймдизайнер
- расписывает задачи (короткие задания не более одного дня в виде подзадач) поставленные продюссером
- согласовывает расписанный дизайн с продюссером и главным программистом.
- окончательно сформировав задание и согласовав, меняет статус Design Notes -> Tech task
- выбирает задачу Resolved и проверяет ее исполнение
- если условия задачи не выполненны — задача переоткрывается
- если условия выполнены — задача закрывается Resolved -> Closed
- в случае возникновения новых условий (а теперь стрелочку правее, тут быстро) — создается новая задача со ссылкой на предыдущую.
- Если все подзадачи (расписанные геймдизайнером) закрыты — можно закрывать глобальную задачу, поставленную продюссером.
Программист
- когда текущая задача завершена, закрывает ее и начинает выбирать новую
- сначала необходимо проверить отложенные задачи Waiting Other — можно ли их продолжить?
- если не удалось найти среди отложенных, выбираем новые только среди Tech Task со старшим приоритетом, назначенным на программиста.
- если таких задач больше 3х — он просит геймдизайнера отранжировать задачи по приоритету (High — не больше 3х)
- выбранное задание изучается
- если задание непонолное или непонятно написано — оно отсылается геймдизайнеру обратно
- если все понятно — меняет статус в In Progress и начинает выполнять задание
- когда выполнить задание становится невозможным — выставляется статус Waiting Other
- задача откладывается — это сигнал для геймдизайнеров и продюссера о необходимости помочь.
- если задача закончена — выставляем статус Resolved (можно изменить через комментарий в коммите репозитория)
Комментарии (9)
sentyaev
06.11.2015 00:11Черт подери, круто!
Есть вопрос насчет тестирования. У вас программист отвечает за качество, т.е. что все работает и работает правильно или есть отдельная команда QA?BloodJohn
06.11.2015 10:40Спасибо!
В геймдеве есть специфика: геймдизайнеры не знают что им надо, пока не подержат это в руках.
Поэтому традиционно QA — из геймдизайнеров.
Программист отвечает за то, что результат соответствует написанному. (геймдизайнер расписывает конкретные требования)
После чего за дело принимается геймдизайнер, который ищет недочеты или придумывает новые тесты.
Решение о готовности к релизу принимают геймдизайнеры.
HomoLuden
06.11.2015 12:04Насколько накладно дробить и расписывать досконально подзадачи?
Делали сравнение сметодологией«я опишу вкратце, а если не поймет, то пусть спросит — на словах объясню»?BloodJohn
06.11.2015 12:331) Время работы геймдизайнеров — дешевле времени работы программистов. Всегда.
2) Время разработки сокращается в два раза.
HomoLuden
06.11.2015 17:59Все-таки не получил ответа на первый вопрос.
1.Насколько накладно дробить и расписывать досконально подзадачи?
и
1) Время работы геймдизайнеров — дешевле времени работы программистов. Всегда.
Если додумывать ненаписанное, то «Да, накладно, т.к. задания расписывает геймдизайнер», но зато «2) Время разработки...»
Правильно ли я понял?
retran
Не взлетит.
У вас игры без графики и звука?
Геймдизайнер в состоянии ставить задачи с учетом архитектуры, проектирования и нефункциональных требований?
BloodJohn
Уже летает.
Да, геймдизайнер в состоянии.