MVP — Minimum Viable Product, минимальная жинеспособная версия продукта.
В создании новых продуктов рекомендуется начинать именно с MVP, чтобы не затягивать с выпуском первой версии и как можно скорее отдать её пользователям.
Ваш MVP вовсе не MVP
Беда всех “MVP” которые составляет заказчик, это то, что в него всё равно помещают слишком много.
Естественное желание заказчика получить как можно более крутой продукт в первой версии мешает ему сильно урезать MVP.
Поэтому получив задание сделать MVP, я начинаю обсуждение вместе с заказчиком и в процессе урезаю MVP до минимума, чтобы ускорить выпуск первой версии.
Первый этап урезания MVP
Его следует делать когда всё что мы хотели поместить в MVP уже выписано, но к реализации ещё не приступили.
Для новых проектов и приложений, на этапе проектирования выкидываю из MVP всё что можно сделать позже или вообще не делать.
Прохожусь по фичам и упрощаю или выкидываю всё что можно, на уровне целых фич.
Примеры
Модуль оплат? Позже, сначала сделаем бесплатную бету.
Восстановление пароля, письмо с подтверждением E-Mail адреса? Позже, сначала можно автоматически подтверждать все аккаунты, а пароль менять через техподдержку.
Рассылки? Потом.
Аналитика? На старте не нужна.
Все крутые фишки и придуманные фичи просматриваются на предмет того, а можно ли запуститься без них?
Если можно, то выносим их за рамки MVP.
Второй этап урезания MVP
Из оставшейся функциональности по максимуму упрощаю то что можно сделать проще.
Оставляю на потом то что можно сделать позже или вообще не делать.
По каждой оставшейся после первого этапа фиче я разбиваю фичу на составляющие и упрощаю или урезаю её.
То есть работа по упрощению и урезанию идёт внутри фичи.
Примеры
Настройка временной зоны: чтобы не делать настройку, можно выбрать одну конкретную временную зону для большинства пользователей. Настройку сделаем когда-нибудь позже.
Регистрация: можно добавить первых пользователей вручную, особенно в случае B2B продуктов.
Чат пользователей: в первой версии можно оставить лишь текст, без эмодзи, картинок, голосовых сообщений и т.д.
Чат с техподдержкой: можно просто сделать кнопку “Помощь” по которой будет открываться E-Mail клиент. Ещё вариант: по нажатию кнопки пользователя перекидывает в Телеграм-чат где присутствует сотрудник техподдержки (или же сам разработчик).
Мобильное приложение: вместо полноценной разработки приложения под iOS и Android делаем веб-приложение с адаптацией под мобильный экран или телеграм-бота.
И так далее, список альтернатив и упрощений ограничивается только вашей фантазией и изобретательностью.
Почти всегда можно найти способ как упростить какую-то часть чтобы пришлось тратить меньше времени на код.
Итог
Остаётся очень сжатый MVP, из которого уже почти ничего нельзя выкинуть.
Его и реализую.
Общий объём работы сокращается в несколько раз, в среднем от 3 до 10 раз.