Содержание
- Философия программного обеспечения: от водопада к Agile
- Преобразование MAU в запросы
- Заставляем игры работать
- Манифест гибкой разработки программного обеспечения
- «Двигайся быстро и ломай вещи»
- День из жизни Wooga
За последние несколько лет произошло бесчисленное количество событий по теме, которая остается предметом споров в игровой индустрии: как лучше всего создать игру для Facebook? Я не претендую на универсальный ответ, потому что то, что работает для нас в Wooga, может потерпеть неудачу в другом месте. Но тем, кто работает над проектом, который выглядит так, как будто он может только закончиться, я настоятельно рекомендую вам рассмотреть несколько основных принципов, которые помогли командам в Wooga привести проекты к успеху.
В прошлом году я провел презентацию с Мэттесом Грегером, одним из инженеров Wooga, в Flash on the Beach в Брайтоне. Там он рассказал о многочисленных практических проблемах разработки массовых игр с использованием методологии Agile. Он продемонстрировал эти трудности, используя один из наших бывших проектов на основе Flash, хотя его можно адаптировать к любому другому языку или платформе.
Я сосредоточился на общем взгляде и на том, какие проблемы возникают во время производственного процесса и как оживить проект с помощью эффективной разработки. В частности, была подчеркнута философия, которая позволила Wooga создавать отличные команды, добивающиеся удивительных результатов.
Философия программного обеспечения: от водопада к Agile
Следует также отметить, что эти знания основаны не только на моем опыте в качестве технического директора Wooga, но и на моих пяти годах работы в Jamba, где я использовал несколько методологий проектов; от разработки программного обеспечения вольным стилем до Waterfall (последовательное планирование и обработка) и вскоре после Agile методологии (коммуникативные процессы и гибкое программное обеспечение) в Rocket Internet в Берлине.
Прежде чем вдаваться в подробности, давайте сначала посмотрим, где находится Wooga сегодня с точки зрения ежемесячных активных пользователей (MAU) - широко распространенного стандарта для измерения ранга разработчика Facebook. Мы являемся разработчиком социальных игр номер один в Европе уже довольно давно. Во всем мире мы с EA колеблемся между вторым и третьим местом, но для удобства предположим, что мы занимаем третье место в мире. Это может звучать как маркетинговые факты, но они также имеют важные технические последствия.
Преобразование MAU в запросы
С 48 миллионами игроков по всему миру в месяц одна из наших игр - одна игра - может обрабатывать более 14 миллиардов запросов в месяц или 100 000 операций с БД в секунду. Более подробную информацию об этом можно увидеть в презентации «1 000 000 ежедневных пользователей и без кеша», проведенной Джеспером Рихтер-Райххельмом, главой инженерного отдела Wooga, но технические разветвления такого рода цифр очевидны сразу.
[slideshare id = 9875360 & doc = 2011-10-24-splash-jesper1024x768-111025103448-phpapp01]
Рабочая среда играет важную роль в том, чтобы помочь нам справиться с весом этих цифр - в частности, как мы создаем эффективную и успешную команду разработчиков.
Заставляем игры работать
Процесс создания игр представляет собой множество уникальных программных задач. Одна из проблем заключается в необходимости быстро концептуализировать и разрабатывать прототипы, не обязательно зная, как будет выглядеть конечный продукт. Во-вторых, принятие того, что некоторые функции, возможно, придется удалить, а затем выполнение этой задачи может вызвать трудности для ответственной команды.
Кроме того, работа со сложными конфигурациями или другой бизнес-логикой может создать множество трудностей. Четвертую проблему можно увидеть в обширном A / B-тестировании, которое может отнять время, которое команда не обязательно хочет вкладывать, или которое просто кажется пустой тратой времени, когда есть другие неотложные ситуации, которые кажутся более важными. Все это справедливо, но я не могу подчеркнуть важность того, чтобы тратить время на мониторинг и оптимизацию производительности продукта до и особенно после того, как он был выпущен.
Манифест гибкой разработки программного обеспечения
Личный опыт научил меня, что решение этих проблем требует динамического подхода к управлению или, что еще лучше, его полного отсутствия. Поэтому мы максимально глубоко применили Манифест гибкой разработки программного обеспечения в рамках философии работы Wooga.
Мы стараемся делать упор на людей и взаимодействие. Это можно увидеть в нашей рабочей среде, где мы всегда стараемся сделать упор на эффективную внутреннюю коммуникацию и избегаем чрезмерной заботы о рабочих инструментах и процессах, которые не имеют иной цели, кроме как средство для субъективного обдумывания наилучшего пути вперед.
Продолжая говорить об этом, процесс создания прототипов (по сути, создание рабочего программного обеспечения посредством итераций) для нас более важен, чем чрезмерная и трудоемкая документация.
«Двигайся быстро и ломай вещи»
«Двигайся быстро и ломай» - это цитата Марка Цукерберга, которая с тех пор стала печально известной среди технологических компаний. Мы поощряем новых сотрудников с самого начала придерживаться такого отношения. Ошибки разрешены и даже могут быть необходимы в рабочей среде, если к этой мантре нужно отнестись серьезно.
Еще один важный аспект создания нового программного обеспечения - это быстрое и эффективное реагирование на изменения. Никогда не следуйте плану, выберите лучшее решение и используйте его. Сохранение гибкости абсолютно необходимо для успеха.
День из жизни Wooga
Wooga - необычная компания, и мы всегда этим гордились. Краеугольным камнем этого подхода является структура наших команд. Это дает свободу и гибкость - два основных элемента успеха, - но также удивляет людей.
В Wooga мы верим в небольшие игровые команды, состоящие всего из трех ролей: геймдизайнер, инженер и художник. Никакого лидера, рамок или процессов в традиционном понимании не требуется, поскольку человек берет на себя ответственность за проделанную работу.
Если что-то пойдет не так, члены команды не могут винить друг друга, потому что все участвовали. В равной степени, если группа преуспевает, успех разделяет все. Как упоминалось ранее, правильное общение между членами команды жизненно важно для успешной совместной работы команды и достижения успеха.
С годами я понял, что достижение целей - это не процессы, и что гибкость всегда на первом месте. Наша философия при работе со всем, от A / B-тестирования до QA, основана на гибкости. Открытость для новых идей, эффективное общение и способность гибко реагировать помогли Wooga создать отличные социальные игры, которые понравятся каждому.
Еще раз присваивать Марку Цукербергу: «Оставайся сосредоточенным и продолжай отрабатывать».