В прошлой главе мы убедились, что инди-разработка проходит через пять фаз — «Решить → Подготовить → Создать → Выпустить → Развивать», — и что главное правило звучит так: «сузить до одной функции и выпустить MVP». Эта вторая глава посвящена самой первой фазе — «Решить». Давайте вместе пройдём путь от небольшого решения о том, что и для кого создавать, до оформления этого в виде спецификации (spec).
Довести «то, что хочется создать» до формы, которую можно передать ИИ
Почему сначала нужно «Решить»
Желание поскорее начать писать код вполне понятно. Но самая частая ошибка в инди-разработке — это «в процессе перестаёшь понимать, что вообще создаёшь». Если браться за дело с размытой целью, по ходу появляется «а давай ещё и эту функцию», направление сбивается, и проект никак не доходит до конца.
Поэтому кодирование можно отложить. Сначала чётко определите: «что, для кого и в каких пределах создавать». Если выйти в путь без карты и без цели, заблудиться — естественно; и наоборот, стоит определить, куда идти, — и ИИ как напарник проведёт вас по кратчайшему маршруту.
Функции добавляются одна за другой, всё усложняется. Указания для ИИ каждый раз сбиваются. Завершение отдаляется, запал иссякает, и проект забрасывается.
Цель сводится к одной. ИИ можно давать точные указания, и результат не сбивается. Кратчайшим путём доходите до «работающей вещи».
💡 «Решить» — это не про долгие раздумья. Идеальное техническое задание не нужно. В этой главе мы делаем небольшое решение, которое умещается на одном листе A4 (или на одном экране заметок). Чем застревать в раздумьях, лучше принять пусть даже предварительное решение и двигаться дальше — так вы дойдёте до цели гораздо быстрее.
Как найти идею — мозговой штурм с ИИ
«У меня нет ничего, что особенно хотелось бы создать» — ничего страшного. Идеи не выдавливают из пустоты, их подбирают из повседневных неудобств. И именно эта работа по «раскопкам» лучше всего удаётся ИИ. Не нужно в одиночку мучительно напрягаться. Сделайте ИИ партнёром по мозговому штурму — и идеи польются одна за другой.
То, что каждый день кажется чуточку неудобным. Повторяющаяся ручная работа, возня с записями, время на поиск нужного. То, что мешает вам, мешает и кому-то ещё.
То, о чём вы подумали: «будь такое приложение, я бы им пользовался». Первый пользователь — вы сами. Если вещь по-настоящему нужна вам, мотивация её создавать не иссякнет.
Бросьте ИИ смутный интерес и попросите задать вам встречные вопросы. В ходе диалога контуры проясняются. Это идеальный собеседник, которому можно проговаривать мелькнувшие мысли.
Секрет мозгового штурма — задавать конкретную тему. На «посоветуй какое-нибудь хорошее приложение» хорошего ответа не будет. Спрашивайте с суженным фокусом, как в примерах ниже.
- «Предложи 10 идей приложений, которые решают неудобства управления семейным бюджетом, по одной фразе на каждую».
- «Какое из них проще всего создать? Приведи и причины».
- «А есть ли у этой идеи реальные пользователи? Опиши предполагаемого пользователя и ситуацию использования».
- «Существуют ли похожие сервисы? Если да, в чём отличие, которое может нащупать одиночка?»
- «Если урезать эту идею до одной функции, какую стоит оставить?»
Хорошо работает подход «попросить выдать 10 вариантов и выбрать 1». ИИ мгновенно выстраивает множество кандидатов, так что ваша задача — сосредоточиться на «выборе». Если что-то откликается, копайте это дальше вглубь.
Сузить до одной функции — золотое правило инди-разработки
Когда идея начала вырисовываться, дальше важно «не переусердствовать». Помните золотое правило из прошлой главы? Сузить до одной функции и выпустить MVP — это правило, которое в инди-разработке нарушают чаще всего и которое важнее всего соблюдать.
В момент, когда вы жадничаете — «раз уж создаём, давай и ту функцию, и эту», — завершение отдаляется. Ведь при двух функциях работа не удваивается, а разрастается в три-четыре раза за счёт их сочетаний. Время и силы одного человека ограничены. Сначала сузьте всё до единственного «если это получится, в этом уже есть ценность».
Добавление книг, заметки с впечатлениями, оценка в звёздах, график времени чтения, обмен с друзьями, подсказки книг от ИИ, сканирование штрихкодов… Стремясь ко «всё включено», проект никак не завершается.
Только «записывать прочитанную книгу вместе с впечатлением в одну строку». Достаточно того, чтобы можно было пролистать список. Сначала выпустите, а если пользуются — добавляйте следующее.
✅ Критерий отсечения — «без этого не работает или нет». Функцию, в которой сомневаетесь, сначала положите в коробку «на потом». Не выбрасывайте, а добавьте после выпуска, если она действительно понадобится. Когда первая функция заработает и ею кто-то воспользуется, что добавлять следующим, подскажет реакция пользователей.
Сформулировать идею одной строкой
Суженную до одной функцию дальше превратите в одну строку текста. Это и есть ядро главы. Когда вы укладываете расплывчатый образ из головы в форму «для кого, какое неудобство и как решается», идея разом становится конкретной.
«Приложение для тех, кто много читает, которое решает неудобство того, что прочитанные книги быстро забываются, позволяя быстро записать их вместе с впечатлением в одну строку и просматривать списком».
Если вы способны написать эту одну строку, ваша инди-разработка уже наполовину удалась. Всё дальнейшее — выбор технологий, указания для ИИ, текст-представление при выпуске — эта строка становится неколебимой осью. Когда не получается написать, тоже попросите помощи у ИИ. Скажите: «сформулируй эту функцию одной строкой в виде для кого, какое неудобство и как решается» — и он выдаст несколько вариантов.
Превратить в спецификацию — фундамент разработки с ИИ
Когда одна строка устоялась, напоследок превратите её в спецификацию (spec). Спецификация — это «проектная заметка о том, что создавать». Не усложняйте: достаточно минимально выписать три пункта — экраны, данные и действия.
Почему спецификация важна? Потому что при кодировании с ИИ спецификация напрямую становится фундаментом. Если вместо того чтобы свалить всё на ИИ словами «сделай такое приложение», передать спецификацию с прописанными экранами, данными и действиями, ИИ вернёт в разы более точный код. Этот подход доведён до предела в спецификационно-ориентированной разработке (Spec-Driven Development), и в инди-разработке действует тот же принцип.
Какие экраны нужны.
Пример: список записей, добавление записи. Чаще всего хватает 2–3 экранов.
Что сохранять.
Пример: название книги, впечатление, дата записи. Достаточно перечислить пункты списком.
Что может делать пользователь.
Пример: добавить запись, посмотреть список. Перечислите возможности глаголами.
То, что вы выпишете по этим трём пунктам, и есть ваша первая спецификация. Например, для приложения учёта прочитанного заметка выйдет такой.
Данные: название книги (текст) / впечатление (текст в одну строку) / дата записи (дата)
Действия: добавить запись, смотреть список в порядке от новых, удалить запись
💡 Спецификация не обязана быть идеальной. Не нужно с самого начала прописывать всё до конца. Если в процессе создания вы замечаете «о, это тоже нужно», просто дописывайте. Важно «сначала иметь один лист-фундамент». С черновиком и ИИ, и человек продвигаются в разы быстрее, чем с чистого листа.
Как двигаться по вводному и практическому маршруту
Проделанная до сих пор работа «Решить» одинакова для обоих маршрутов. Различается лишь то, насколько формально записывать спецификацию, и то, кому её передавать. Двигайтесь в соответствии со своим маршрутом.
Спецификацию можно написать от руки в блокноте или заметках. Оформленный документ не нужен. Перечислите списком «экраны, данные, действия» и просто вставьте это в чат с ИИ для обкатки идеи. Спросите «есть ли в этой спецификации пробелы или противоречия?» — и ИИ закроет дыры.
Цель этой главы: достаточно, если написаны формулировка одной строкой и заметка из трёх пунктов.
Соберите спецификацию в файле Markdown (например, spec.md) и передайте её Claude Code или Cursor. ИИ-редактор читает спецификацию и берёт её за основу реализации, так что чем тщательнее здесь, тем быстрее потом. В том, как писать, поможет спецификационно-ориентированная разработка.
Цель этой главы: достаточно, если готов один spec.md, который можно передать ИИ-редактору.
На любом из маршрутов к моменту завершения этой главы у вас на руках есть «формулировка одной строкой» и «минимальная спецификация экранов, данных и действий» — это и есть цель. Дойдя досюда, останется лишь подготовить фундамент для создания. Вы готовы перейти к следующей фазе.
Итоги и следующая глава
- Кодирование можно отложить. Если сначала «решить, что и для кого создавать», не заблудишься.
- Идеи — из повседневных неудобств и из того, что хочется самому. Проведите мозговой штурм с ИИ: выдайте 10 вариантов, выберите 1.
- Золотое правило инди-разработки — «сузить до одной функции». Функцию, в которой сомневаетесь, в коробку «на потом».
- Сформулируйте идею одной строкой «для кого, какое неудобство и как решается».
- Спецификация — это минимальные три пункта: экраны, данные, действия. При кодировании с ИИ спецификация становится фундаментом.
- Вводный маршрут — блокнот и чат с ИИ, практический — spec.md в Markdown.
На этом фаза «Решить» завершена. Когда идея умещается в одну строку, а минимальная спецификация под рукой, вы уже в шаге от того, чтобы начать создавать. Дальше — фаза, где вы решаете, какими технологиями и инструментами это реально создавать. Можно вернуться к предыдущей главе 1 «Общая картина и выбор маршрута» и заново взглянуть на карту, а можно сразу переходить к главе 3 «Подготовка технологий и инструментов». Начинается подготовка фундамента, который превратит вашу одну строку в реальность.