1. Перехід від legacy до MVP — та сама інженерна картина
Після блоку про legacy, modernization і migrations MVP виглядає як стрибок убік. Наче вас навчали бережно розкручувати старий мотор, а тепер пропонують зібрати велосипед із коробки. Стрибка немає — це друга половина тієї самої інженерної картини.
Коли ви працюєте з legacy, головна небезпека — зламати те, що вже приносить цінність. Коли ви працюєте з MVP, небезпека дзеркальна: принести занадто багато цінності за один раз і померти десь між третім екраном, п’ятою інтеграцією та фразою «ну ще трохи, і буде як у дорослих». У першому випадку губить необережність, у другому — відсутність гальм. А інструменти ті самі: scope, non-goals, constraints, план перевірки. Раніше вони захищали наявний код — тепер вас, від спокуси побудувати хмарочос там, де потрібен кіоск із терміналом оплати.
Важливо ще раз зафіксувати: MVP — це не обов’язковий тип проєкту, а спосіб мислити про розмір і цінність результату. Capstone — migration slice? Оптика не змусить робити лендінг, але змусить обрати мінімальний корисний pilot. DevOps automation? Не красивий інтерфейс, а один повторюваний сценарій із вимірюваною користю. Team workflow design? Не «AI-платформа для всієї компанії», а «який один workflow уже болить команді та як поліпшити його одним working asset». Тож тема потрібна навіть тим, чий capstone — не MVP у чистому вигляді: вона вчить інженерної скромності. А скромність і довозить проєкт до захисту.
2. Чотири артефакти: prototype, MVP, demo, production
Плутанина навколо MVP зазвичай починається не з коду, а зі слів. Люди називають MVP будь-який начерк, demo — будь-яке відео, prototype — будь-який екран із кнопкою. А слова мають вагу: назвуть production product словом MVP — вимагатимуть неадекватної надійності; назвуть так prototype — покажуть заготівку без користі й здивуються холодності reviewerʼа. Тому спершу корисно розкласти чотири артефакти по поличках, інакше scope поповзе вже на термінах.
Ось таблиця, до якої зручно повертатися весь цей рівень.
| Артефакт | Головне запитання | Як виглядає на прикладі AI Support Agent | Чого тут ще немає |
|---|---|---|---|
| Prototype | Чи працює сама ідея або технологія? | Є класифікатор, який на 10 sample tickets уміє відрізняти типові запити від складних | Немає повноцінного користувацького сценарію, немає цінності для оператора як робочого інструмента |
| MVP | Чи отримує конкретний користувач мінімальну, але реальну користь? | Є inbox, класифікація тикета, чернетка відповіді на типовий запит і ручна зупинка для refund вище порога | Немає повної CRM, багатоканальності, складної аналітики, масштабування |
| Demo | Чи можна цей MVP показати за 3–5 хвилин так, щоб зовнішня людина зрозуміла цінність? | Є sample data, короткий сценарій показу, зрозумілий шлях відтворення, усе працює на підготовлених даних | Немає обіцянки, що система витримає бойове навантаження, тисячі користувачів і нічний реліз |
| Production product | Чи готова система жити довго, безпечно й передбачувано в реальній експлуатації? | Є ролі, права, моніторинг, логування, підтримка, надійність, процеси супроводу | Тут уже немає розкоші «ну це просто навчальний проєкт» |
Тут важливо помітити одну тонкість. Demo — це не «ще один тип продукту», а показова збірка MVP. А demo без справжнього MVP зазвичай перетворюється на театральну постановку, красиву до першого незграбного кліку.
Погляньмо на той самий Support Agent трохи детальніше — він проходить ці рівні по кроках: Python-скрипт із typical/needs-human — prototype; шлях «вхідний тикет → класифікація → draft відповіді → підтвердження оператором» — уже MVP; той самий шлях на sample data, показаний reviewerʼу за кілька хвилин, — demo. І ось тут приходить спокуса написати в README «корпоративна AI-платформа омніканальної підтримки». Не треба: навчальний MVP не зобов’язаний вдавати SaaS-імперію. Інакше маркетинг зламає інженерію раніше за баг.
Для швидкої самоперевірки можна тримати перед очима такий мінішаблон:
prototype → доводить, що підхід узагалі працює
MVP → дає реальну користь в одному core flow
demo → показує цей core flow зовнішній людині без шаманства
production → бере на себе надійність, безпеку та супровід
Якщо ваш поточний проєкт не можна впевнено поставити в один із цих рядків, значить, ви поки змішали кілька станів одразу. А змішані стани в проєктуванні небезпечні майже як змішані гілки в Git: здається, усе тримається, а потім починається весела історія.
3. Межа між AI та інженерією в MVP
Де тут AI? Якщо відповідь «він зараз сам усе збере» — проєкт однією ногою в болоті хаотичної генерації. Слово AI-native легко зрозуміти неправильно: не «все робить AI», а те, що ви свідомо будуєте workflow, де AI допомагає на кожній короткій ділянці. Але мету, межу першої версії, core flow, склад scope і спосіб довести працездатність визначаєте ви.
Саме тут проходить вододіл між AI-native MVP та звичайним хаотичним vibe coding. У хаотичному режимі людина пише: «Claude, зроби мені AI-сервіс підтримки магазину». Модель, як ввічливий і надто оптимістичний співрозмовник, починає старатися. За двадцять хвилин у вас плани на адмінку, ролі, аналітику, інтеграцію з CRM, авторизацію через magic link і легка паніка. В AI-native режимі перша відповідь Claude інша:
Ви: Хочу зробити AI-сервіс підтримки магазину.
Claude: Уточніть, будь ласка:
1. Хто конкретний користувач першої версії?
2. Яку одну проблему ми розв’язуємо?
3. Який один сценарій має працювати на demo?
4. Що точно не входить до першої версії?
Ось такий Claude нам подобається. Не тому, що «менш розумний», а тому, що не допомагає зробити помилку красивішою.
Якщо говорити зовсім практично, AI добре прискорює чотири зони:
Стиснення невизначеності — швидко перетворити туманну ідею на кілька перевірюваних формулювань.
Чернеткова реалізація — зібрати перший скелет інтерфейсу, накидати структуру даних, підготувати sample data.
Документування й упорядкування — акуратно описати core flow, обмеження, сценарій показу.
Швидка локальна перевірка — пройтися по логіці, знайти явні діри, оформити smoke check.
Але AI не має ставати тим, хто приймає за вас стратегічні рішення щодо розміру проєкту: ентузіазму в нього багато, а відповідальності за ваш дедлайн — нуль. Це як запитати енергійного знайомого про плани на вихідні й за пʼять хвилин опинитися в ремонті кухні, хоча ви хотіли замінити лампочку.
Саме тому AI-native MVP завжди тримається на двох опорах: швидкості та дисципліні. Тільки швидкість — усе роздувається. Тільки дисципліна без швидкості — багатотижнева архітектурна сповідь без живого результату. Баланс — нудне слово, зате чудово працює в проєктах.
4. Швидка ітерація без інженерної амнезії
Слово fast у темі лекції легко спокушає на дуже небезпечну думку: раз швидко — можна пропустити формулювання задачі, перевірки та чесну розмову про обмеження. Але справжня швидкість береться не з пропуску кроків, а зі скорочення циклу між ідеєю, реалізацією та перевіркою.
Це, мабуть, головний тезис усієї лекції. Швидко — не означає бездумно. Швидко — означає йти короткими замкненими колами: одна проблема, один сценарій, чернетка, прогін на sample data, бачите поломку, лагодите, перевіряєте знову. А не пишете пів року, щоб наприкінці дізнатися, що користувачу було потрібно інше. Схематично:
flowchart TD
A[Одна користувацька проблема] --> B[Один core flow]
B --> C[Швидка чернетка реалізації]
C --> D[Перевірка на sample data]
D --> E[Невелике виправлення]
E --> F[Demo-ready slice]
Тут важливо побачити, що зі схеми нічого не зникло: у ній є і формулювання проблеми, і core flow, і перевірка, і виправлення. Дисципліна нікуди не поділася — вона просто стала компактною. Це і є fast iteration with engineering discipline.
А щоб не поїхати у фантазію, зробіть self-check до коду — буквально пʼять рядків.
# MVP self-check
Користувач: оператор підтримки невеликого інтернет-магазину
Одна проблема: типові тикети з’їдають час, термінові refund-запити губляться
Один core flow: ticket → classification → draft відповіді → ручне підтвердження
Як перевіримо: 10 sample tickets, бачимо draft, бачимо блокування refund > $100
Чого не обіцяємо: багатоканальність, CRM, voice support, автосписання
Цей маленький блок майже магічно корисний: не заповнюється рядок — проблема виявилася. Немає користувача — проєкт абстрактний. Немає однієї проблеми — розв’язуєте все одразу. Нічого вписати в «не обіцяємо» — scope уже повзе по столу.
Окремо підкреслю: швидка ітерація не скасовує verification. Повного enterprise-набору quality gates не потрібно, але мінімум обов’язковий: проєкт запускається, core flow проходиться, sample data готові, демо-сценарій відтворюється. «Наче працює, коли я натиснув ось сюди, потім оновив сторінку, потім нічого не чіпав десять секунд» — це ще не demo-ready, а чесна чернетка. Просто не видавайте її за інший стан.
Швидкість у MVP береться з малого розміру кроку, а не зі скасування кроку.
Саме тому курс знову й знову повертає вас до думки про one core flow. Один робочий сценарій майже завжди корисніший за п’ять фіч, готових «відсотків на сімдесят, але ж ідея зрозуміла». Ідея справді зрозуміла. Reviewerʼу хочеться, щоб це працювало.
5. AI Support Agent: правильний розмір MVP
Щоб усе це не залишилося на рівні красивих слів, повернімося до AI Support Agent for Online Store. Домен вам уже знайомий по Commerce OS — а отже, можна зосередитися не на новій предметній області, а на правильному розмірі MVP.
Сама ідея звучить привабливо майже в будь-якому формулюванні. «AI допомагає підтримці магазину відповідати швидше» — так, звучить розумно. Але між розумною ідеєю та нормальним MVP є маленький місток — конкретизація; без неї проєкт миттєво розпухає. Занадто широкий варіант зазвичай такий:
AI-центр підтримки магазину:
- email, chat, voice
- CRM-інтеграція
- автоответи
- аналітика операторів
- рекомендації щодо повернень
- мультимовність
- база знань
- автозакриття тикетів
Список вражаючий, ще трохи — і можна кликати інвесторів. Але це не MVP, а заявка на довгу продуктову програму: першого мінімального результату не видно, лише набір напрямів на тижні. А ось версія, схожа на MVP:
AI Support Agent для оператора підтримки:
Оператор відкриває inbox і бачить вхідний ticket.
Система показує класифікацію: typical / needs-human / refund-high-value.
Для typical ticket є чернетка відповіді.
Для refund вище $100 автоматичної відправки немає — потрібен ручний крок.
Ось це хороший розмір. Один користувач, одна проблема, один зв’язний сценарій від входу до результату — і вбудований guardrail: AI не приймає рішення там, де ризик вищий. В одному місці прискорення, в іншому — обмеження.
Чому цей приклад особливо корисний для курсу? Тому що він показує головне: MVP — це не «урізана версія всього продукту», а один осмислений slice продукту. Не половина CRM, не чверть контакт-центру — один завершений шлях, де вже є і AI, і human-in-the-loop, і межа відповідальності.
Тут же дуже добре видно, чому capstone не зобов’язаний бути production SaaS. Не потрібні тисячі операторів, навантажувальне тестування, чергування та observability. Потрібно чесно показати: один сценарій справді допомагає, відтворюється, перевіряється і не обіцяє того, чого немає. На навчальному проєкті це не «мало» — це розумне «достатньо».
Коротка формула для запам’ятовування:
Хороший MVP — це не маленька копія великої системи.
Це маленька, але завершена користь.
Коли ви починаєте мислити проєкт саме так, туманна «AI-ідея» перетворюється на нормальну інженерну задачу — без зайвого героїзму і без надії, що модель колись уночі тихо збере за вас увесь продукт. Практично: value proposition, користувач, метрика, межі та demo-сценарій краще одразу зібрати в один spec-документ, а не розмазувати по нотатках. Для чистого MVP це MVP_SPEC.md; якщо capstone іншого типу, той самий каркас живе в уже наявному SPEC.md.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ