Agile, Lean и GameDev, или что выбрать, работая в игровой индустрии
Привет! Меня зовут Светлана Румянцева, и я Game Delivery Manager в Gaming Unit’e компании Innovecs. В этой статье расскажу об Agile и Lean в контексте GameDev, их специфике и применении на практике. Материал будет интересен, прежде всего, тем, кто делает или вспоминает свои первые шаги в Project Management, и желает взглянуть на реальность организации игровой разработки.
По данным Statista, рынок видеоигр будет стоить более 200 миллиардов долларов к 2023 году, а среднегодовой темп роста с 2020 по 2025 год составит 12%. Это всего лишь цифры, однако они в очередной раз подтверждают рост популярности игр. Секрет в разных факторах: иммерсивности, наличии большого количества свободного времени, развитии технологий, и даже в карантинных ограничениях и отсутствии альтернатив досуга.
Сегодня в мире больше двух миллиардов геймеров всех мастей и предпочтений. С учетом потребности в эскапизме, студии и компании по разработке игр стремятся соответствовать высоким требованиям современных игроков, искушенных огромным ассортиментом этого сегмента рынка. Кроме того, локдаун — не повод понижать планку в автоматизации процессов, внедрении современных технологий, работе с распределенными командами или соблюдении таймингов.
Скорее, наоборот: запросов и сложностей становится только больше. И только главная цель гейминга остается неизменной — сделать игрока счастливым. Если игра работает как часы, но не вызывает никаких эмоций, заинтересованности и скучная — это полный провал. Это сигнал о том, что нужны изменения, а большая часть функционала и даже сама концепция может поменяться.
Проекты по разработке игр — совокупность порой сильно ограниченных во времени, непростых, но творческих и увлекательных процессов. Дизайн идей и механик, программирование, работа над моделями, тщательная отрисовка художественных материалов, разработка визуальных эффектов, звук и многое другое — все это требует четкой организации работы команд, беспрепятственных коммуникаций и сотрудничества.
Выбранные методологии в управлении такими проектами напрямую влияют на их реализацию. Для этого нужно понимать, как каждый из подходов работает, и как добиться максимального результата.
Предлагаю рассмотреть Agile и Lean Continuous Development через призму гейминга.
Agile: гибкость, но не беспредел
Agile — распространенная идеология, лежащая в основе многих методов разработки ПО. Она обеспечивает многоуровневое сотрудничество между самоорганизованными командами с разными ролями и обязанностями. Суть методологии — гибкость, непрерывное планирование и перепланирование для создания продукта высокого качества.
Метаморфозы продуктов или приложений — не из ряда вон выходящее явление, а норма. Agile призывает постоянно прогрессировать, систематически видеть реальный результат работы, как командам, так и стейкхолдерам, а также снимает градус выгорания, мотивируя наглядными достижениями.
Гибкие методологии в рамках Agile начали быстро набирать известность в
Говоря об Agile, чаще всего подразумевают весьма конкретные методологии. Одна из наиболее популярных — Scrum, со своими артефактами и процедурами. Почему он? Потому что позволяет учитывать особенности и непредсказуемость разработки игр.
Один из важнейших элементов — регулярное получение фидбека и оценка инкремента на валидность. Это ценная информация для всей команды, позволяющая понять, в правильную ли сторону движется продукт, становится ли он лучше, достигает ли поставленных ранее целей, и нужно ли корректировать выстроенный ранее план.
Игры, как и другое ПО, разрабатываются инкрементами, которые включают отдельные механики, блоки, функционал. Разбитие разработки на отдельные и предсказуемые временные слоты с одинаковым форматом действий — хороший способ унифицировать процесс и вести разработку без увеличения градуса стресса, который всегда преследует изменения. Команда планирует задачи на основании общей карты проекта и требований, взаимодействует и коммуницирует, а по завершении этапа анализируют результаты, выделяя сильные и слабые места.
Если во время разработки появляются идеи или требования изменить, расширить или убрать функционал (да и любые изменения в целом), то они отправляются в бэклог ждать своего времени. Вполне возможно, что именно они будут приоритизированы и запланированы в работу следующего спринта.
Agile — это философия, в основе которой лежит ряд принципов и ценностей.
Именно из-за них Agile стал таким популярным, и их должна разделять вся команда. Менеджеру также важно уметь быстро принимать решения, оценивать риски, иметь смелость изменить направление движения команды, при необходимости внести существенные коррективы. Разработка игр — это шквал идей, летящих отовсюду (от команды, стейкхолдеров и просто ситуативных трендов). С таким потоком очень важно завершить саму игру и не погрязнуть в постоянных изменениях.
Невозможно просто собрать разработчиков, геймдизайнеров, художников, аниматоров и маркетологов, сказать им: «Нужно сделать очень интересную игру, и заработать много денег! Вперед», и ожидать, что команда сразу выдаст точную оценку по времени, баг-фри продукт, не нуждающийся в правках и длительных обсуждениях. Это даже звучит, как сюжет фантастики. Но это хороший старт для внедрения Agile методологий, где прямая коммуникация, прозрачность процессов и решений и адаптация — базовые ценности.
Lean: процессы без потерь
Lean — философия постоянного совершенствования, которая уходит корнями в производственную систему Toyota
Lean используют, когда работа более предсказуема по рабочему процессу и объему, требует меньше итераций и в то же время больше времени.
Дизайн похожих по своей структуре игровых уровней — один из кандидатов для тестирования методологии Lean. Это достаточно предсказуемые задачи, имеющие более-менее однотипный ритм выполнения. Если, к примеру, игра требует 250 похожих уровней для выхода в магазины, а дальнейшая работа заключается только в механическом добавлении и поставке новых, то это разработка на месяцы, а то и годы, которая не нуждается в особой итеративности, упомянутой ранее. Современные мобильные головоломки могут послужить примерами. Аналогично работает схема устранения ошибок в масштабной MMO, где ежедневное тестирование и баг-репортинг — норма.
Где здесь Lean Continious Improvement? Появится, как только менеджер задастся вопросом: «Что можно улучшить в повторяющемся процессе, чтобы сократить расход требуемых ресурсов (будь то время, сотрудники или кубики lego, используемые для визуализации)?».
Большинство команд, использующих Lean, применяют для визуализации процесса разработки и выполнения задач комбинацию методов Scrum и Kanban — Scrumban. Она содержит ключевые роли и большинство практик Scrum (например, ежедневные встречи команды). Однако, вместо фиксированного по времени спринта Scrum планирование и поставка (delivery) результатов работ производятся по готовности.
Так, на примере подготовки уровней для головоломки, поставка может производиться как после завершения и тестирования каждого последующего уровня, так и череды из
Agile и Lean: версус или партнерство?
Встречаются мнения, что Lean — удел рутинных, повторяемых операций, в то время как Agile существует сугубо для творческих и сложно контролируемых задач или проектов. Думаю, что с похожей мыслью команды выбирают одну из этих (или других) методологий, сосредотачиваясь на конкретно выверенных принципах и шагах. Однако, понимая ценности Agile и Lean, считаю, что они могут превосходно работать в связке.
По сути, в основе и Agile и Lean лежат анализ и реакция на полученные данные — будь то описания задач, превращенных из требований клиента и спецификаций, или предложение совершенствования существующих процессов.
Как бы менеджер или команда это ни назвали, они вместе пройдут:
- определение конкретной проблемы, понимание ее причин и последствий;
- обсуждение и выбор решения;
- получение тестируемых изменений (конкретный инкремент или в рамках процесса), используя минимально необходимые ресурсы;
- тестирование и анализ полученных результатов;
- принятие решений о необходимости дополнительных действий.
Несмотря на это, различия все же есть и они, по необходимости, помогают совмещать методы.
- Agile фокусируется на предоставлении ценности, путем создания работающего продукта, который клиенты могут использовать, извлекая выгоду. Lean, в свою очередь, фокусируется на анализе и увеличении ценности продукта, путем оптимизации процессов или использования ресурсов.
- Agile методологии типа Scrum — отличные решения для непредсказуемых проектов, где есть место творчеству и изменениям, где испытания нового функционала — неотъемлемая часть разработки. Lean — вариант для повторяющихся и предсказуемых процессов, в основе которых лежит цель добавления ценности.
- Одна из идей Lean — избавиться от как можно большего количества отходов, необязательных для производства качественного, заранее понятного продукта. Agile, в свою очередь, безжалостно выбрасывает в мусор пять прототипов игровой механики, потому что на практике они оказываются скучными для игрока. И это норма.
Что на практике? Допустим, есть отличная идея мобильной игры, и мы отдаем себе отчет, что не можем разработать ее сразу за одну итерацию — сделать ее без багов, интересной, красивой и прибыльной. Вопрос даже не в том, что люди делают ошибки или не могут с первого раза продумать все до мелочей, а в самом виртуальном продукте, сильно зависимом от трендов.
Все может поменяться довольно круто: от цвета волос главного персонажа до используемых технологий и давно интегрированных, ключевых игровых механик. Здесь приходит на помощь Agile, Scrum и итерации. На ранних этапах разработки создаются прототипы, чтобы получить ценный игровой опыт и принять решения о дальнейшем применении. Впрочем, даже прототипирование не всегда спасает от внесений существенных изменений в самый разгар, а то и под завершение проекта, но об этом в другой раз. Это, как раз, про Гибкость.
Что касается Lean Continous Improvement в тех же условиях, то я бы его применяла для организации однотипных и длительных процессов, несущих ценность продукту или компании в целом. Вспомним пример со сборкой уровней для мобильной головоломки. В зависимости от типа игры, такая дизайнерская задача может оказаться достаточно рутинной и однообразной, а значит, есть высокая вероятность того, что процесс можно оптимизировать и потенциально ускорить.
Lean — это про постоянный анализ, и здесь он нам пригодится. Можем ли мы сократить время на дизайн одного уровня? Каким образом? Можем ли мы автоматизировать те или иные процессы, чтобы упросить работу дизайнера? Эффективны ли используемые инструменты? Существует ли альтернатива? Разумеется, ответы не должны остаться просто информацией. Ее анализируют и трансформируют в решения и изменения. Затем идет фаза отслеживания результатов, повторного анализа и, в случае необходимости, повторных решений.
Обобщая сказанное, я бы не стала утверждать, что Agile и Lean это две несовместимые сущности. Вспомним Agile зонтик: Lean часто находится рядом с гибкими методологиями, несмотря на то, что появилась раньше популярного Agile-течения.
В геймдеве мы стараемся миксовать, экспериментировать и использовать подходящие для выполнения той или иной задачи инструменты, так как именно это формирует идеальную среду разработки инновационного, конкурентоспособного, интересного, ценного для клиентов и игроков продукта.
При этом, независимо от инструментов, важны люди, эффективная коммуникация внутри и вне проекта. Приятно наблюдать, когда команда мотивирована, получает удовольствие от работы и результатов и вкладывается в проект «по любви».
Синергия — волшебный ингредиент качественного продукта.
2 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів