Как запустить ИТ-продукт за две недели без головной боли

Опыт автора Telegram-канала «Золото Бородача» Никиты Колмогорова, который запустил семь продуктов за 2019 год и довёл два до самоокупаемости. Без прикрас, смузи и планшетиков — только суровая правда.

Привет всем! Меня зовут Никита, и я серийный запускатор этих ваших продуктов в этих ваших интернетах. Я точно так же, как и вы, сидел бессонными ночами над одним из своих продуктов более двух лет (2015–2017 годы) и запустил его лишь для того, чтобы обнаружить, что спроса на продукт нет и никогда не было.

Я точно так же работал в офисе и пытался запустить свои продукты в свободное время. Я точно такой же средний программист, как и вы, и у меня точно такие же проблемы, как и у вас. Я точно так же ворочался во сне, боясь, что деньги завтра кончатся, а продукт не запустится. Нам всем это знакомо.

Будь то проблема технологического стека, коммуникации в команде, расстановки приоритетов, определения реальной проблемы пользователя, отсутствия технологического опыта у основателя, — все эти проблемы решаемы, и мы постараемся сегодня ускорить ваш процесс запуска.

Ведь на самом деле запуск продукта — это гонка со временем. Если вы не запуститесь вовремя, вас могут обогнать конкуренты. Если вы будете продолжать бесконечную разработку, вы рискуете остаться и без денег, и без продукта, и без пользователей.

Если вы выберете неправильный технологический стек, ваш технологический долг настолько затормозит разработку, что очередной 20-летний вонаби обгонит вас по количеству полезных функций.

У большинства стартаперов-запускаторов есть ряд простых проблем, которые можно решить и тем самым уменьшить процесс запуска MVP (минимального жизнеспособного решения) с двух лет до двух недель.

Я не опечатался: да, вы можете запускать продукты за две недели, так я сделал в августе 2019 года, и уже вывел свой продукт на самоокупаемость. Так сделал я со вторым продуктом, которым сейчас пользуется более 2 млн человек.

Мне важно описать этот процесс, потому что я заинтересован в развитии собственного окружения. Эта статья скорее для всех русскоязычных стартаперов, которые время от времени заходят ко мне в Telegram за советами.

Им я снова и снова объясняю одно и то же, вот, решил немного упорядочить знания и тем самым немного помочь сообществу. Помогаешь сообществу — помогаешь себе.

На самом деле этот подход мало отличается от традиционного. В нём есть лишь небольшой ряд вещей, которые я делаю иначе, вот и всё.

Заранее оговорюсь: пункты из этой статьи очень субъективны и являются исключительно мнением автора, основанном на личном опыте.

Например, я знаю уйму людей, запустивших свои сервисы за две недели на этом технологичном стеке, и знаю уйму людей, которые пишут свои проекты уже третий-четвёртый год на том же PHP.

Перед тем как начинать священную войну в комментариях, подумайте об эмпирических данных: ваше мнение основывается на вашем личном предпочтении языка программирования или на реальных примерах запуска продуктов быстро?

Перейдём непосредственно к основным ошибкам стартаперов, которые пытаются запустить свой ИТ-продукт.

Отсутствие технического опыта у основателей

Несомненно, есть люди, которые запустили свои успешные ИТ-продукты, не имея опыта программирования. Но не забывайте про ошибку выжившего: на одного такого человека приходится 10 тысяч людей, которые делали то же самое, но провалились.

Каков ваш шанс быть среди этих единиц? Правильно, 0, 01%. Готовы сделать свою ставку или предпочтёте играть с шансом победы в 85%? Тогда слушайте и делайте заметки очень внимательно.

Вам необходим минимум один фаундер со «шкурой в игре», который сможет (и хочет) всё своё свободное время тратить на этот проект.

Другой вариант — наёмный программист; но если вы выберете этот вариант, вы должны буквально следовать каждому из советов ниже.

И я имею в виду, следовать каждому совету ниже, чтобы увеличить свои шансы на успех. Если у вас нет фаундера с достаточной экспертизой именно в технологическом стеке, который вы выбрали, можете писать пропало, за две недели вы не запуститесь, как и за 4, 10, 20 и 40 недель. Через пару лет запуститесь криво-косо, никому не будете нужны.

Отсутствие чётких требований к продукту

«Мне нужно вот это, это, это, это, это, а ещё вот это, как же я мог про это забыть?»

Ваш продукт должен выполнять ровно одну вещь в самой первой версии. Плевать, что делают ваши конкуренты или как выглядит сейчас рынок, вы должны делать одну вещь, не больше и не меньше!

Если вы начнёте разрабатывать несколько фич одновременно, вы либо никогда не запуститесь, либо будете реализовывать свои хотелки, а не хотелки пользователя. А значит, оплачивать продукт будете вы, а не ваш пользователь. Если это ваша цель, да, конечно, реализуйте свои хотелки.

Зачем нужно выставлять подобное строгое ограничение? Да потому, что все дополнительные функции вы сможете реализовать после запуска, когда уже проверите изначальный спрос на ваше предложение.

После запуска спрашивайте у ваших пользователей, чего не хватает сервису. И только после чёткой обратной связи продолжайте реализовывать новые функции.

И добейте уже эту более быструю лошадь из примера с Ford (смотрите ссылку на ошибку выжившего выше).

Открою секрет: ваш продукт никогда не будет состоять из ровно одной фичи. Всегда будут дополнительные функции вроде мелких настроек и входа с регистрацией пользователей.

Все эти дополнительные функции нужно минимизировать. Поверьте, вам не нужен вход с паролем, логином и восстановлением пароля — вам нужны кнопки «Войти через Google» и «Войти через Facebook».

Как только вы упростите свой продукт до одной функции и минимизируете дополнительные, вы упростите жизнь себе, пользователю и разработчикам. Помните, вам нужно запуститься за две недели и проверить спрос, а не тратить деньги и оплачивать разработку.

Отсутствие внятного и короткого технологического стека

Так, если вы хотите разрабатывать свой продукт годами и запуститься, когда никому ваш сервис уже не будет нужен, тогда я милости прошу вас в комментарии с фразами вроде «автор ничего не знает, я люблю PHP и всегда буду на нём писать, смотрите, Facebook на PHP (на самом деле нет) и "ВКонтакте" на PHP (на самом деле нет), и вообще это первый язык программирования, который я изучил, я не мог ошибаться тогда, когда у меня не было никакого опыта, я точно выбрал самый лучший язык программирования с первого раза, вперёд, PHP».

А если вы и вправду хотите запуститься за две недели и сразу проверить спрос на свою бизнес идею — да и делать так постоянно (это можно запустить 26 продуктов за год и проверить 26 бизнес-гипотез), тогда слушайте внимательно, записывайте и наматывайте на ус без возражений.

  • Вы всегда должны стремиться к минимизации количества написанного кода для достижения необходимой функциональности. Значит, вы выберите Koa вместо Express, Gin вместо Django, TypeScript вместо Go и так далее.
  • Вы не должны думать об оптимизации ресурсов до получения 100 тысяч пользователей. Значит, вам не нужны load balancers, Redis, а вместо AWS вы можете запустить простой и понятный дроплет на Digital Ocean.
  • Вам нужна типизация, чем строже, тем лучше. Если в языке программирования из вашего стека нет типов — о, бой! Вас будут ненавидеть все будущие программисты, которые будут тратить дополнительные часы на попытки расшифровать, что же там написали вы раньше. Типизация — дополнительная документация, необходимая любому продукту с более чем одним разработчиком. Стоит заметить, что вы сегодня и вы через полгода — это уже два разных разработчика.
  • Вам не нужна скорость и отзывчивость нативного пользовательского интерфейса. Возьмите кросс-платформенное решение, лучше React Native, для мобильных приложений. Вам нужно запуститься за две недели, а не разрабатывать продукт два года.
  • Господи-боже, не используйте PHP. Не слушайте людей, которые только PHP и знают, у них развито туннельное зрение. Я не буду доказывать этот пункт, просто поверьте. Либо посмотрите на этих бедняг, что запускают свои продукты на PHP уже несколько лет. Вам это не нужно, вам нужна скорость разработки.

Лучший технологический стек, который я вывел, постоянно запуская сервисы не только за две недели, но и за один вечер, описываю ниже.

На их основе я сделал стартер для бекенда, стартер для фронтенда и стартер для Telegram-ботов. Все сервисы я спокойно запускаю на Digital Ocean, деплой занимает от силы 15 минут. Статью о том, как я это делаю, я тоже написал. Итак, что же за волшебный стек?

  • Фронтенд: TypeScript + Vue + Vuex + Vuetify.
  • Бекенд: Node + TypeScript + Koa + koa-router-ts + MongoDB + Typegoose.
  • Мобайл: React Native + TypeScript + MobX.

Почему TypeScript? Потому что это JavaScript на стероидах. С более-менее строгими типами да с самыми новыми фичами ES (например, optional chaining).

Почему Vue? Потому что Angular и React заставляют вас писать больше кода как ни крути.

Почему MongoDB? Потому что до 1 млн пользователей вам неважно, есть ли join tables, а Mongo даёт незаметную автоматическую миграцию, простой синтаксис и строгие типы с Typegoose, простые решения индексации без необходимости что-либо конфигурировать вообще.

Почему Koa? Потому что Express, Gin, RoR либо заставляют писать больше кода, чем нужно, либо отстают в количестве крутых языковых фич вроде удобных декораторов.

Почему React Native? Потому что вам нужно запуститься за две недели, а не разрабатывать два нативных приложения (под iOS и под Android) в течение следующих двух лет.

Засуньте свое эго и мнение подальше: вашим пользователям нужна польза от приложения, быстро работающие кнопки и красивый пользовательский интерфейс не служат конкурентными преимуществами. Вам нужен не уродливый пользовательский интерфейс и разумно быстро работающие кнопки, это есть в React Native.

Почему MobX? Потому что Redux заставляет вас писать примерно в 100 раз больше кода, чем MobX. Вспомните эту фразу, когда в очередной раз будете писать никому не нужный редьюсер.

Отсутствие понимания спроса

Во-первых, давайте сразу обозначим: никто и никогда не украдёт вашу идею. Если вашу идею украдут, поздравляю, вы первый человек, с которым так поступили.

Если вы не согласны, приведите в комментариях пример, когда была украдена идея, а не реализация идеи. И да, перед тем как вспоминать товарища Зака, почитайте, за что его реально судили близнецы, — и переставайте верить всему, что вам говорят с голубых экранов.

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

Если вы просто будете рассказывать о своей идее кому-то, вас просто погладят по голове и скажут «какой молодец». Вам не нужно «какой молодец», вам нужно сухое и суровое возражение от потенциального пользователя.

Пока вы не попросите реальные $20 за пользование сервисом, весь фидбек тоже будет виртуальным. Спрашивайте с людей деньги сразу, они вам прямо в лицо будут говорить, почему не хотят платить. В худшем случае вы получаете обратную связь, в лучшем — предзаказ.

Вы обязаны проверить спрос до начала разработки. Ну или, как я, просто разработайте за две недели MVP и сразу просите деньги за уже существующий сервис.

Делают так, как говорят победители, а не как делают победители

Есть две группы людей — победители и проигравшие. Победители делают так, как делают победители. Проигравшие делают так, как говорят победители. Вот и основное отличие лузера от успешного человека.

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

Смотрите на то, что они делали в реальности, слушайте реальные истории, читайте реальные биографии. Научитесь отделять булщит от правды и действуйте так, как действовали до вас победители.

Заключение

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

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

Итак, что же нужно сделать, чтобы запустить MVP за две недели и проверить свою бизнес-гипотезу сравнительно дёшево?

  • Убедиться, что есть технический человек, который готов потратить всё своё свободное время на проект.
  • Выбрать ровно одну функцию, которую хотите разработать.
  • Выбрать правильный технологический стек, который минимизирует количество кода.
  • Убедиться, что на идею есть спрос.
  • Делать так, как делают победители, а не так, как они говорят.

Вот и всё, друзья! Надеюсь, хоть что-то полезное вы успели вынести из этой статьи. Запускайтесь за две недели, это весело, поверьте!

0
502 комментария
Написать комментарий...
Алексей Stekov

и ваше сообщение из вашего бесплатного бота - не принесло ли с собой рекламу продукта с коммерческой подпиской? Никитка, вы балабол и очень не дальновидный парень. Если вы так легко кладете на своих пользователей - буквально. То доверия к любым вашим продуктам будет соответствующее. 
"Это ж гений маркетинга! я придумаю спам бота который будет только моим спамом спамить - а другой удалять! Капец! Касперский против вирусов!"..

Ответить
Развернуть ветку
borodutch
Автор

Прошу прощения за то, что вам доставило неудобство небольшое сообщение о моем новом проекте в абсолютно бесплатном боте, в котором я еще и рекламу не продаю (в отличие от всех других более-менее популярных ботов).

Ответить
Развернуть ветку
Алексей Stekov

еще 500 раз повтори что ты в "бесплатном" боте против спама запостил рекламу своего коммерческого предложения. Никитка ты обосрался. И как там? Ты еще в Канаде? а налоги где платишь? а платишь ли? а как там относятся к спаму ? 

Ответить
Развернуть ветку
borodutch
Автор

Ни один из вопросов не относится к теме статьи. Хотите обсудить мою личность — обсуждайте, но я не буду тешить вас ответами.

Если кто и обосрался тут, так это вы — ноунейм комментатор в интернете, который только и делает, что тратит время на "в интернете кто-то не прав". Продолжайте делать эту статью все более и более популярной, оставляя все больше и больше комментариев.

Хорошего вам дня!

Ответить
Развернуть ветку
borodutch
Автор

Хотя вряд ли только что зарегистрированный аккаунт с тремя комментариями только в этом треде и нулевой кармой может как-то повлиять на популярность статьи.

Так что комментируйте, не стесняясь!

Ответить
Развернуть ветку
Алексей Stekov

ох! а куда же пропала вежливость?) я не собираюсь тут себе набивать стату и рейтинги у меня все хорошо с размерами и пропорциями частей тела. Я просто хочу чтоб ты задумался, а то ты пиаришь себя как крутой стартапер, крутой бизнесмен, и мне просто хочется понять - ты перед тем как решиться на такой прямо скажем плохо обдуманный поступок сколько раз себе повторил выражение "бесплатный бот для удаления спама, не спамит, а просто принес сообщение в 65к телеграм чатов о моем новом коммерческом продукте" - ты в этот момент смог подсчитать репетиционные риски? или ты еще с ютуба привык заглатывать и получаешь от этого удовольствие?  

Ответить
Развернуть ветку
borodutch
Автор

Нет, не хотите вы, чтобы я задумался, вы просто тешите свое эго, пытаясь оскорбить ноунейма в интернете 🤷 как бы, оскорбить-то у вас не особо получится, а скачок эго будет очень краткосрочным.

Хотите совет? Всю эту энергию потратьте на что-нибудь, что реально сделает вам лучше, а не просто будет поднимать рейтинг моей статьи.

Ну или вы можете продолжать комментировать, тем самым показывая редакции VC, что мои материалы постоянно яро обсуждают 🤷

Вам выбирать.

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
499 комментариев
Раскрывать всегда