Руководство

Как определить объём MVP: сократите первую версию до того, что действительно важно

MVP — это не дешёвая версия вашей полной идеи, а самое малое, что доказывает: идею вообще стоило воплощать. Вот как определить его объём, не утонув в функциях, расходах и принятии желаемого за действительное.

Have a nice dayHave a nice day13 мин чтения
Как определить объём MVP: сократите первую версию до того, что действительно важно

Почти каждый, кто приходит к нам с идеей приложения, уже построил его полную версию у себя в голове. Он может описать дашборд, страницу настроек, реферальную программу, тёмную тему. Чего он обычно сказать не может — это какая единственная часть этой картины, если бы заработала, сделала бы всё дело стоящим. Определить объём MVP — это неблагодарная, слегка болезненная работа: найти ту самую часть и набраться смелости оставить остальное на потом.

Я видел, как рождается множество первых продуктов, и те, что испытывают трудности, почти никогда не проваливаются из-за лени команды. Они проваливаются потому, что объём был задан неверно с первой недели. В первую версию напихали слишком многое, бюджет кончился прежде, чем кто-либо хоть чему-то научился, и к запуску команда потратила всё, лишь чтобы добраться до стартовой черты — без денег, чтобы отреагировать на то, что реальные пользователи на самом деле делали.

Так что это руководство я даю людям прежде, чем будет написана хоть одна строка кода. Речь не об Agile-ритуалах и не о модных фреймворках. Речь об одном честном вопросе — что самое малое мы можем построить, чтобы понять, реальна ли эта идея? — и о дисциплине отвечать на него снова и снова, пока соблазн добавить «всего одну функцию» подкрадывается обратно. А он всегда подкрадывается обратно.

Что такое MVP на самом деле (и чем он не является)

Это словосочетание затёрли до блеска от частого употребления, поэтому будем точны. Минимально жизнеспособный продукт — это наименьшая версия вашей идеи, которая даёт реальную ценность реальному пользователю и учит чему-то, чего нельзя было узнать из презентации. Слово, которое забывают, — жизнеспособный. Он должен действительно работать для кого-то, от начала до конца, даже если делает лишь одно.

А вот чем MVP не является. Это не наполовину готовая версия полного продукта со сломанными углами повсюду. Это не прототип, который выбрасывают. И это уж точно не «дешёвая версия» — дешевизна это побочный эффект хорошего определения объёма, а не цель. Цель — научиться. Вы тратите как можно меньше денег, чтобы ответить на самый дорогой свой вопрос: станет ли кто-нибудь этим пользоваться и будет ли пользоваться так, как я думаю?

MVP — это не первые 20% продукта. Это полноценный продукт, который просто делает только одно — и делает как следует.
то, что я хотел бы, чтобы каждый основатель услышал в первый день

Это различие важнее, чем кажется. Установка «первые 20%» приводит к тому, что сломано во всех направлениях и нигде не полезно. «Одно дело, сделанное как следует» приводит к тому, что человек может взять в руки, по-настоящему использовать и составить мнение. Мнения — это весь смысл. На тишине не итерируешь.

Ловушка «построить слишком много» и почему в неё так легко угодить

Никто не намеревается раздувать объём. Это происходит по одному разумному решению за раз. Вы добавляете вход — ведь, конечно, нужны аккаунты. Аккаунты означают сценарий сброса пароля, подтверждение почты и страницу настроек. Настройки означают профиль, а это загрузку изображений, а это место для их хранения. Каждый шаг сам по себе разумен. Сложенные вместе, они стоят двух месяцев и куска бюджета — ещё до того, как часть, делающая вашу идею особенной, вообще начата.

Другая половина ловушки эмоциональна. Урезать функции ощущается как признание, что идея мелкая. Это не так — это признание, что вы пока не знаете, какие функции важны, что попросту правда. Каждая функция, которую вы строите до появления пользователей, — это ставка вслепую. Часть этих ставок окажется ошибочной, и те, что вы убрали из MVP, — самые дешёвые из возможных ставок, в которых можно ошибиться, потому что вы их так и не сделали.

Стена, покрытая разноцветными стикерами с десятками функций продукта, и одна записка, обведённая жирным красным маркером, выделяется среди всех остальных, в тёплом естественном свете
Определение объёма — это не добавить нужные функции, а набраться духу обвести одну и уйти от остального.

Найдите единственную задачу, которую ваш MVP должен решать

У любого продукта, как бы велик он в итоге ни стал, есть основной цикл — единственная последовательность, которую пользователь повторяет и которая создаёт ценность. Для приложения бронирования это найти слот, забронировать его, получить напоминание. Для маркетплейса — выставить вещь, кто-то её находит, деньги меняют владельца. Для внутреннего инструмента — зафиксировать данные один раз, использовать их везде. Всё прочее в продукте существует, чтобы этот цикл поддерживать, украшать или расширять. Ваш MVP — это цикл. Только цикл.

Чтобы найти свой, договорите вслух эту фразу: «Пользователь приходит в мой продукт, чтобы ______, и он доволен, если ______.» Первый пропуск — задача. Второй — как вы поймёте, что сработало. Если вы не можете заполнить оба пропуска на одном дыхании, вы ещё не нашли ядро — и не готовы определять объём, тем более строить.

Будьте беспощадны к разнице между основным циклом и вещами, которые кажутся обязательными, но таковыми не являются. Вход кажется обязательным. Обычно в первой версии — нет: множество MVP запускаются с одной общей ссылкой, ручным приглашением или вовсе без аккаунтов и узнают всё нужное, прежде чем строить машинерию авторизации. Аналитические дашборды кажутся обязательными. Они не нужны; базу можно читать вручную, когда у вас одиннадцать пользователей. Обнажите продукт до цикла — и удивитесь, как много отпадает.

Разложите каждую функцию по корзинам: «надо», «следует» и «пока не»

Назвав основной цикл, возьмите большой список функций и разложите каждую по трём корзинам. Корзины намеренно грубы, потому что именно грубость прекращает бесконечные разговоры «но вдруг».

  • Надо: основной цикл буквально без этого не работает. Уберите — и продукта нет. Держите этот список шокирующе коротким — обычно от трёх до шести пунктов.
  • Следует: делает продукт лучше, но цикл работает и без этого. Всё отсюда ждёт второй версии. Никаких исключений в первой версии.
  • Пока не: функции, которые вы сознательно решаете не строить сейчас. Записать их важно — так вы убеждаете себя и команду, что идею не бросают, а лишь выстраивают по очереди.

Хитрость, которая заставляет это работать, — третья корзина. Большинство спорят только о «надо» против «следует», что изматывает и никогда не кончается. Список «пока не» — место, где живёт облегчение: это обещание вашему будущему «я», что классная идея в безопасности и запланирована, просто не сейчас. Как только люди поверят, что ничего не выбрасывают, они перестают сражаться за то, чтобы удержать всё в первой версии.

Определяйте объём по времени и деньгам, а не по списку функций

Вот тихий сдвиг, который меняет всё: перестаньте задавать объём через «чего мы хотим» и начните через «что укладывается в бюджет и срок». Сначала решите, сколько денег и сколько недель вы готовы потратить, чтобы ответить на свой основной вопрос. Затем впишите список функций в эту коробку. Звучит задом наперёд, но это самое полезное ограничение, какое вы можете себе дать, ведь оно вынуждает к приоритизации, которой вы иначе избегали бы.

Фиксированная коробка делает и кое-что психологическое. Когда бюджет открыт, каждая функция спорна, а список только растёт. Когда коробка зафиксирована — скажем, восемь недель и заданная сумма — разговор переворачивается. Он перестаёт быть «добавим ли это?» и становится «что уходит, если это входит?» Именно второй вопрос строит хорошие MVP. Компромиссы видны, а не скрыты, и команда делает их осознанно.

Сначала выберите коробку — время и деньги, — а потом решайте, что в неё поместится. Никогда не наоборот.
правило, спасающее большинство первых версий
Простая деревянная коробка на верстаке с несколькими необходимыми инструментами, аккуратно умещающимися внутри, и несколькими лишними инструментами, намеренно отложенными рядом на столе, чистый редакционный стиль
Решите размер коробки прежде, чем решать, что в неё войдёт. Остатки — не провалы, это вторая версия.

Реальный пример: как мы урезали идею управления заказами

Сделаю это конкретным на примере, над которым мы работали — обезличенном, но верном тому, как всё идёт. Небольшая фирма по отоплению и сантехнике пришла к нам с желанием приложения для своей выездной бригады. Бриф на бумаге был огромен: планирование заказов в реальном времени, GPS-отслеживание фургонов, клиентский портал, автоматическое выставление счетов, учёт деталей в каждой машине, конструктор смет, фотодокументация и набор отчётов для владельца. В итоге — по-настоящему полезный продукт. Как первая версия — гарантированный способ потратить годовой бюджет, прежде чем хоть чему-то научиться.

Так что мы проделали упражнение. Мы задали владельцу фразу: «Пользователь приходит сюда, чтобы ______, и он доволен, если ______.» После некоторого обмена репликами всплыл настоящий ответ. Самой большой ежедневной болью техников было не планирование и не счета — это был бумажный круговорот. Они заканчивали работу, царапали часы и детали на листке, ехали обратно, и кто-то в офисе перепечатывал всё это в бухгалтерскую систему, часто спустя дни, часто с ошибками. Основной цикл был попросту таков: зафиксировать то, что произошло на заказе, один раз, на месте, чтобы никто не перепечатывал.

Что вошло в версию, а что нет

Всё разложили по корзинам. Корзина надо свелась к четырём вещам: список сегодняшних заказов для каждого техника, простая форма для учёта часов и использованных деталей по заказу, прикрепление фото и способ для офиса видеть эти данные в момент их отправки. Это и был весь MVP. Ни GPS, ни клиентского портала, ни конструктора смет, ни вычурных отчётов — всё это явно припарковали в списке «пока не» с пометкой, что оно на подходе.

Мы построили это ядро за несколько недель вместо большей части года. И вот часть, оправдывающая весь подход: как только оно заработало, настоящие приоритеты команды оказались не такими, как в брифе. Владелец полагал, что следующим будет GPS-отслеживание; техники едва о нём упомянули. Чего они хотели, и громко, — отправлять клиенту SMS с окном прибытия прямо из приложения, функция, которой даже не было в исходном списке. Поскольку MVP был мал и дёшев, остался бюджет построить то, что им правда было нужно, вместо того, что они угадали месяцами раньше.

Ошибки, которые тихо разрушают объём MVP

Даже команды, принявшие «держи малым», обычно спотыкаются об одни и те же несколько вещей. Ни одна из них не драматична. Это медленные течи, которые снова раздувают объём, пока вы не смотрите, пока однажды «минимальный» продукт опять не обзаведётся тридцатью экранами и полугодовым графиком.

  • Золочение краёв: дни напролёт доводить до блеска админ-панель, которую увидите только вы, пока основной цикл всё ещё сырой. Полируйте то, чего касаются пользователи; бэк-офис оставьте уродливым и работающим.
  • Строить под масштаб, которого у вас нет: проектировать под миллион пользователей, когда нужно доказать, что вернутся первые десять. Решайте проблему масштаба, когда у вас появится счастливая проблема масштаба.
  • Путать «обязательное» с «отраслевым стандартом»: то, что у каждого конкурента есть функция X, не значит, что вашему MVP она нужна, чтобы проверить основную идею. Вы не запускаете готовый продукт, вы ставите эксперимент.
  • Проектировать каждый крайний случай заранее: обрабатывать редкие, странные входные данные прежде, чем узнаете, пользуется ли кто-то обычным, нормальным путём. Пусть реальное использование подскажет, какие крайние случаи вообще реальны.
  • Нет определения готовности: без записанной строки, описывающей, как выглядит «готово», разработка не кончается никогда. Расползание объёма обожает проект без финишной черты.

Если защищаться только от одной из них, пусть это будет последняя. Чёткое, записанное определение готовности — «техник может занести часы и детали по заказу в телефоне, а офис видит это мгновенно» — это самый мощный единственный инструмент, чтобы держать объём в честности. Каждое предлагаемое добавление прикладывают к этой фразе. Если оно фразе не служит, это идея для второй версии, как бы хороша она ни была.

Простой процесс определения объёма вашего MVP

Собирая всё воедино, вот последовательность, которую я прошёл бы с кем угодно перед началом первой версии. Она намеренно низкотехнологична — большую часть можно сделать с документом и честным разговором, задолго до того, как в комнате понадобится разработчик.

  1. 1
    Назовите основной цикл
    Договорите фразу: «Пользователь приходит, чтобы сделать ___, и доволен, если ___.» Если не можете, вы не готовы определять объём — продолжайте разговор, пока не всплывёт настоящая задача.
  2. 2
    Выгрузите каждую функцию, затем рассортируйте
    Выньте весь список желаний из головы на бумагу. Разложите каждый пункт по корзинам «надо», «следует» или «пока не». Список «надо» держите беспощадно коротким.
  3. 3
    Зафиксируйте коробку
    Решите бюджет и срок прежде, чем доведёте список функций. Пусть список умещается в коробку, а не наоборот.
  4. 4
    Напишите определение готовности
    Одна конкретная фраза, описывающая работающий основной цикл. Это ваш щит против расползания объёма до конца проекта.
  5. 5
    Постройте, запустите, наблюдайте, затем решайте
    Доставьте ядро реальным пользователям. Смотрите, что они на самом деле делают. Пусть их поведение, а не ваши прежние догадки, выберет, что следующим сойдёт со списка «следует».

Заметьте, что последний шаг возвращает вас к началу. Хороший MVP — не разовое событие, а первый оборот колеса. Вы задаёте малый объём, доставляете, учитесь, и то, чему научились, заново задаёт объём следующей версии. Команды-победители — не те, кто спланировал идеальный продукт заранее, этого не делает никто. Это те, кто достаточно быстро поставил перед пользователями нечто реальное, чтобы реальность ещё могла их направить.

Чистая круговая диаграмма, показывающая четыре стадии — объём, постройка, запуск, обучение, — соединённые стрелками в непрерывную петлю, нарисованная в минималистичном редакционном стиле с одним акцентным цветом
MVP — не финишная черта. Это первый оборот петли: задай малый объём, доставь, научись, задай объём снова.

Есть идея, но не уверены, что именно должна содержать первая версия?

Определение объёма — самый дешёвый и самый рычажный час, который вы потратите на новый продукт. Мы поможем найти основной цикл, урезать список функций до того, что важно, и наметить первую версию, которую вы и правда сможете закончить, — прежде чем кто-либо напишет строку кода.

Посмотрите, как мы подходим к разработке приложений

Частые вопросы

Насколько малым на самом деле должен быть MVP?
Меньше, чем кажется комфортным. Хорошее правило: если в вашем списке «обязательных» функций больше примерно шести пунктов, вы, вероятно, всё ещё описываете вторую версию. Цель — один работающий цикл, который реальный пользователь способен пройти от начала до конца. Если удаление функции лишь делает продукт меньше, а не постыдным, ей не место в MVP.
Сколько должно занять создание MVP?
Если объём задан верно — недели, а не месяцы. Весь смысл держать его малым — скорость: вам нужна реальная обратная связь, пока не кончились бюджет и энтузиазм. Если первая версия уходит за несколько месяцев, это обычно знак, что объём тихо разросся обратно до полного продукта. Остановитесь и перекроите список функций.
Нужны ли в моём MVP аккаунты пользователей и вход?
Часто нет, в самой первой версии. Вход, сброс пароля и страницы профиля — это удивительно много работы, которая ничему вас не учит о том, работает ли основная идея. Множество MVP запускаются с общей ссылкой, ручным приглашением или вовсе без аккаунтов и добавляют машинерию авторизации, как только докажут, что люди и правда хотят эту вещь.
А если моей идее для работы действительно нужно много функций?
Некоторым нужно, но гораздо реже, чем полагают. Честная проверка — даёт ли продукт хоть какую-то реальную ценность с подмножеством этих функций. Если даже урезанная версия помогает одному типу пользователя сделать одно дело, начните с этого. Если она правда ничего не даёт, пока не существует каждая деталь, поставьте это под жёсткий вопрос, ведь строить всё вслепую — ровно тот риск, ради избегания которого MVP и существует.
Не сделает ли крошечный MVP мой бизнес непрофессиональным на вид?
Нет, если та единственная вещь, что он делает, сделана хорошо. Пользователи прощают продукт малый и сфокусированный; они не прощают широкий и сломанный. Отполированный основной цикл читается как уверенность. Расползшийся, наполовину готовый продукт читается как незаконченный — что куда вреднее для доверия, чем осознанная сосредоточенность на одной задаче.
Have a nice day
Have a nice day
Редакция

Have a nice day — это софтверная студия, которая помогает малому и среднему бизнесу перейти в цифру: автоматизация, ИИ и софт под заказ, который работает в повседневных процессах, а не только на слайдах.

Подходящие услуги