Зміст
Ви створюєте новий інструмент, запускаєте технологічний стартап, плануєте великий рефакторинг чи розглядаєте можливість міграції та активнішого використання керованих хмарних сервісів? Звісно, що до цього треба відноситися дуже серйозно! І перш ніж інвестувати в нову технологію, ідею або метод, хочеться отримати доказ, що вони дійсно працюватимуть – і при цьому не витратити всі наявні ресурси. Першим кроком має стати перевірка ідеї, тобто отримання відповіді на запитання «чи можна взагалі цю ідею реалізувати?». Щоб переконатися, чи є припущення технологічно здійсненним, створюється Proof of Concept (PoC), тобто перевірка, доказ концепції.
Що таке PoC – доказ концепції?
Доказ концепції, перевірка концепції, (Proof of concept, PoC) – це демонстрація практичної здійсненності будь-якого методу, ідеї, технології, з метою доказу факту, що метод, ідея чи технологія працює. Тобто це тест, який проводиться з метою підтвердження того, що продукт чи ідею можна вивести на стадію комерціалізації. Фактично, близько 90% нових стартапів зазнають невдачі через те, що не дивляться далеко вперед. Якби вони це зробили, вони б точно переконалися, чи має їх продукт світле майбутнє та шанс на високі продажі чи ні. PоC може сказати вам це з самого початку.
При розробці програмного забезпечення розробники використовують PoC для перевірки певних припущень (зазвичай технічних) та перевірки застосовності ідеї.
PoC означає реалізацію всієї системи, але якось покриває її найважливіші частини. Він використовується всередині компанії, щоб перевірити, чи здійсненна ідея і знайти оптимальний шлях для подальшого розвитку. Ви також можете використовувати його, щоб продемонструвати фінансову життєздатність, щоб отримати початкове фінансування.
PoC спрямований на підтвердження того, що реалізація буде працювати відповідно до плану. Це також допомагає зменшити кількість можливих збоїв на пізніших етапах розробки. Стартапи та підприємства зазвичай починають з PoC, щоб переконати усі зацікавлені сторони у цінності рішення.
Видатні приклади використання Proof of Concept
Для створення та розробки мобільної гри ми будемо використовувати іншу мову програмування, фреймворк або систему баз даних, ніж для створення глобальної платформи інтелектуального аналізу BigData. Те ж саме і з хмарними технологіями – у них є певні вимоги, які необхідно адаптувати до архітектури та вихідного коду. Розробка Proof of Concept проекту дозволяє визначити реалізованість продукту та вказати можливі загрози в процесі побудови та розробки, ще до початку роботи розробників або команди DevOps.
Ця концепція тісно пов’язана з розробкою програмного забезпечення, але не є ексклюзивною для цього сегменту. PoC також використовується серед іншого в процесі створення електронних пристроїв на ранній стадії клінічної розробки нових ліків або в кіноіндустрії. Прикладом «Доказу концепції» у кінематографі є 90-секундна сцена, яку Зак Снайдер записав у 2004 році, щоб перевірити, чи обрані ним інструменти та методи для постановки фільму «300» будуть працювати.
Доказ концепції (PoC) проти прототипу (Prototype)
Багато хто вважає, що Proof of Concept, доказ концепції і прототип означають те саме. Але насправді це дві різні концепції зі схожими цілями. PoC показує, чи можна розробити продукт або його функцію, а Prototype – як це можна розробити.
Прототип орієнтований на візуалізацію продукту. Він показує, як продукт виглядатиме і як буде відчуватися. Це як чернетка або перша спроба зробити робочу модель.
Головна перевага Prototype в тому, що ви можете швидко протестувати його щодо можливих помилок. Хоча ви не випускаєте його на ринок, ви можете отримати відгуки від потенційних користувачів. Потім, ґрунтуючись на відгуках тестувальників, розробники можуть швидко внести зміни до існуючої, випустити нові версії або створити новий прототип.
Це рішення (у порівнянні з повною розробкою) дозволяє заощаджувати час та кошти, допомагає виявляти потреби клієнтів, помилки та отримувати зворотний зв’язок на ранньому етапі.
Proof of Concept перевіряє, чи здійснена ця ідея з погляду технології, а прототип фокусується на рівнях UX та UI. Створення прототипу дозволяє надати продукту форму та зовнішній вигляд, а також спланувати, як користувач взаємодіятиме з додатком.
У процесі створення прототипу використовуються такі інструменти, як потоки користувача, каркаси або макети. Фахівці з UX/UI малюють шлях користувача та схематичний зовнішній вигляд інтерфейсу на папері, на дошці або спеціальних інструментах, таких як UXPin або Adobe XD. Після розробки макетів готується інтерактивний прототип з графічним інтерфейсом. Він може виглядати як готовий додаток – включаючи можливість прокручування уявлень або переходу до наступних підсторінок – але за ним немає жодного рядка коду.
У відео нижче ви побачите, як фахівці Google – UX Designer та Interaction Designer – готують прототип у цифровій версії:
Доказ концепції мінімально життєздатного продукту
Мінімально життєздатний продукт (також відомий як MVP) – це мінімальна функціональна версія продукту. Це програма, що містить набір найважливіших функцій, готова до подальшої розробки та додавання нових елементів. MVP працює як повністю робочий продукт. Це дуже важливо за умов, наприклад, стартапу — для отримання зворотного зв’язку та розуміння того, в який бік варто рухатися (і чи варто рухатися взагалі, чи краще поховати ідею з самого початку). Тобто, коли ви вперше випускаєте програму, вона не має в собі безлічі незвичайних функцій, а включає лише основні функції, що забезпечують основну цінність вашого продукту.
Підхід MVP допомагає вам менше витрачати на розробку програмного забезпечення, швидко запускати та отримувати цінні відгуки у довгостроковій перспективі. Ранній зворотний зв’язок допоможе вам зрозуміти, які функції потрібні, а які ні. Ви можете використовувати ці дані для внесення корисних покращень та планування майбутнього розвитку.
Багато відомих компаній починали з MVP. Наприклад, коли засновникам Airbnb спала на думку ідея, у них не було гарного продукту з можливістю вибору дати або ціни.
Орієнтуючись на відвідувачів конференції, які щосили намагалися знайти доступні готельні номери в місті, вони запустили простий веб-сайт Airbedandbreakfast.com, що пропонував квартири з надувними матрацами, безкоштовним WI-FI та можливостями для ділових контактів. Їхній перший MVP призвів до розвитку Airbnb, який ми знаємо сьогодні.
Не лише програмне забезпечення – PoC у контексті інфраструктури
Доказ концепції є невід’ємним етапом у процесі створення нового продукту. Але не тільки це – PoC також створюється для перевірки концепції зміни, наприклад, для значного рефакторингу програми або переходу на іншу інфраструктуру. Це дозволяє впевнитись не лише в тому, чи можна реалізувати дане бачення, але також, наприклад, наскільки масштабні зміни потрібні для ефективного використання керованих хмарних сервісів.
У яких ситуаціях варто робити PoC для аналізу обґрунтованості ідеї щодо інфраструктури?
Створення нового хмарного продукту
Cloud native – це підхід до створення та розробки програм, що передбачає використання загальнодоступних хмарних сервісів. Використання готових хмарних інструментів дозволяє швидше публікувати нові продукти або впроваджувати нові функції. Наприклад, загальнодоступні хмарні сервіси Google Cloud Platform включають:
- Платформа Kubernetes у моделі Kubernetes-as-a-Service, призначена для керування додатком у контейнерах.
- Cлужби балансування трафіку, такі як балансування навантаження.
- Попередньо навчені моделі машинного навчання та штучного інтелекту для розпізнавання зображень. аналізу відеоконтенту або розуміння тексту та розпізнавання його емоційного характеру.
- Послуги транскрипції мови в текст, послуги перетворення тексту на мову або створення повідомлень природною мовою.
- Керовані бази даних SQL та NoSQL або BigQuery – сховище даних, сервіс, призначений для аналізу петабайт даних.
При створенні програми, яка повинна використовувати хмарні обчислення, важливо правильно спланувати не тільки архітектуру системи, але і архітектуру хмари. Сертифікований хмарний архітектор допоможе у правильному виборі та розміщенні системних елементів між хмарними сервісами. Щоб перевірити концепцію, фахівець також створює Proof of Concept для інфраструктури нового продукту, щоб перевірити, чи таке рішення працюватиме і, можливо, чи буде воно рентабельним і чи забезпечить відповідний рівень масштабованості.
Перехід у хмару з іншої інфраструктури
У поодиноких випадках міграція додатків з вашого власного серверу, з хостингу або з віртуальної машини виконується за поетапною моделлю (тобто перенесення вихідного коду без внесення значних змін). Навіть при переході з одного хмарного рішення на інше вам необхідно внести зміни, оскільки не всі загальнодоступні хмарні сервіси перекриваються 1:1. Часто необхідно провести рефакторинг або адаптувати архітектуру додатку до хмарних сервісів, особливо якщо ви плануєте “витягти” з хмари більше, ніж просто пам’ять та обчислювальну потужність віртуальних машин.
Розробка Proof of Concept у цьому випадку дозволить не лише визначити, чи можлива міграція відповідно до рекомендацій, але також, який обсяг рефакторингу необхідно провести і чи буде прибутковим перенесення системи у хмару.
Готовність підвищити рівень впровадження хмари
Теоретично програма, яка знаходиться на віртуальних машинах хмарного провайдера, вже знаходиться у хмарі. На практиці рівень впровадження хмари в цьому випадку досить невеликий, і якщо автор програми хоче більше використовувати хмарні обчислення (наприклад, переносити елементи системи в керовані служби), він повинен внести зміни в архітектуру та код програми.
Наприклад, розробник хоче перемістити програму з віртуальних машин у Compute Engine у контейнери та використовувати сервіс Google Kubernetes Engine. Чи він планує підвищити доступність та продуктивність програми завдяки балансуванню навантаження та зацікавлений у використанні керованої бази даних Cloud SQL. У такій ситуації Cloud Architect підготує Proof of Concept з урахуванням обраних сервісів (або вибору хмарних сервісів для конкретних вимог) та запустить на них зразок вихідного коду, наданий клієнтом.
Доказ концепції у хмарі з партнером Google Cloud
Незалежно від того, чи плануєте ви створити власний хмарний додаток з нуля, чи хочете мігрувати та використовувати сервіси хмарних обчислень або підвищити рівень впровадження хмари, ми рекомендуємо створити Proof of Concept. PoC дозволить оцінити, які існують потенційні загрози та чи буде обраний шлях оптимальним з фінансової точки зору у довгостроковій перспективі.
FOTC, як офіційний партнер Google Cloud, пропонує підтримку не лише у розробці Proof of Concept, а й у галузі фінансування хмарної інфраструктури.
Як саме партнер FOTC підтримує клієнтів?
- Мозкові штурми та майстер-класи з дизайну. Ознайомимося з вашою ідеєю та вимогами та запропонуємо оптимальну схему хмарної архітектури. Ми проводимо сеанси як для нових хмарних продуктів, так і для додатків, які мають бути перенесені з іншої загальнодоступної хмари.
- Залучення сертифікованих хмарних спеціалістів. На кожному етапі присутні експерти як у сфері обслуговування клієнтів, так і в реалізації бізнес-припущень, а також досвідчені хмарні архітектори і хмарні інженери. При необхідності ми залучаємо спеціалістів по роботі з клієнтами Google Cloud для реалізації PoC та подальших дій.
- Покриття частини витрат, пов’язаних із обслуговуванням інфраструктури Google Cloud Platform. Для компаній, які хочуть спробувати нову ідею в хмарі або створити Proof of Concept, яка враховує раніше невикористані сервіси GCP, ми пропонуємо безкоштовні кредити для покриття витрат на інфраструктуру (5-10% від вартості сервісів GCP). Крім того, нові клієнти FOTC можуть розраховувати на отримання ваучеру на 500 доларів, дійсного протягом одного року.
Ви хочете бути впевнені, що ваша ідея буде працювати на вас і не витратить весь бюджет протягом кількох тижнів? Скористайтеся нашими знаннями та фінансовою підтримкою. Зв’яжіться з нами і ми покажемо вам як це просто!