Алекс Корнелл, дизайнер Faccebook, сравнил разработку проектов и Тетрис. Что у него получилось — в нашем переводе.
Тетрис часто метафорически сравнивают с самой жизнью. Но я думаю, что он также может нам многое рассказать и про разработку продуктов.
Оригинальный Тетрис был однопользовательской игрой. Разработка продукта это многопользовательская задача. Представьте, что это как играть в Тетрис при том, что сразу у множества людей есть доступ к управлению.
Игра проста и медленна по началу. Блоки падают медленно, есть много времени распланировать то, куда они должны приземлиться. Достичь согласия просто, так как ничего на кон не поставлено. Каждый блок, независимо от формы, куда-нибудь да помещается. Строчки в стакане чисты.
По ходу игра становится все труднее и быстрее. Становится сложно договориться о том, где блоки должны приземлиться и как их нужно двигать. Даже небольшое непопадание может вызвать структурную уязвимость, на исправление которой уйдет множество ходов. Маленькие ошибки накапливаются.
Идеальный блок, выпавший в неправильное время, может привести ко всякого рода проблемам. Неправильный блок, выпавший в идеальное время, может очистить несколько строк. Единственное, что точно известно – новый блок неизбежен.
Создаются команды для выполнения определенных задач в игре. Некоторые заточены на размещении блоков, другие на их типах. Другие на предсказании следующих фигур.
Наверняка определен только один следующий блок. Окно предварительного просмотра отображает надвигающуюся переменную, но природа ее происхождения неясна для игрока. Тип блока случаен, но знаком. Пишутся теории о том, что будет следующим. Составляются планы.
Игра осложняется тем фактом, что не все, кто может управлять контроллером, может видеть монитор. Это делает коммуникации чрезвычайно важными. Все должны использовать одинаковый язык для описания того, как разворачивается геймплей. Каждый должен обладать одним и тем же видением будущего игры.
Другие команды начинают играть в свои игры. Они движутся быстро, так как игра проста в самом начале. Они используют другие блоки, но они изучили эффективные методы коммуникации, планирования и выполнения. Они быстро очищают свои линии. Игроки торгуются.
В каждой игре есть еще одна игра. Само игровое поле это либо продукт, на макро уровне, или функция, на микро уровне. Динамика одинакова при любом масштабе. Лучшие команды улучшаются вместе с нарастанием темпа игры. Все ускоряется, но система сделана так, что подстраивается под это. Команды расчистили так много строчек, что их игровое поле начиналось заново много раз. Они безжалостно эффективны.
Ответственность каждого игрока понятна и он знает, когда и как получить доступ к контроллеру. Игроков много, но все они играют как один человек.