Ideea din spatele unui Proof of Concept (cunoscut sub varianta PoC) este simplă. PoC reprezintă ansamblul unor demonstrații despre fezabilitatea unui concept, a unui instrument sau a unui proiect tech. Înainte de a demara lucrări pentru noi tehnologii sau noi instrumente ca parte a planului dvs de afaceri, aveți nevoie de garanții care să valideze ideea, să verifice ipotezele. Acest studiu de fezabilitate din punct de vedere tehnologic însumează capacitatea unui Proof of Concept.
Ce este PoC – Proof of Concept?
Cunoscut și sub numele de Proof of Principle, PoC este o metodă utilizată pentru a determina aplicabilitatea și fezabilitatea proiectelor. Un Poc se poate aplica mai multor domenii – finanțe, asigurări, industria tech, cinematografie, inginerie – iar metoda poate fi adoptată atât de către startup-uri, cât și de întreprinderi mari.
Mai departe, un Proof of Concept se limitează doar la cerințele tehnologiei. Nu are scopul de a verifica produsul în rândul grupului țintă sau de a colecta feedback-ul utilizatorilor, ci doar de a verifica dacă implementarea unei idei date este fezabilă în cadrul de lucru. Acest lucru se datorează faptului că nu există o rețetă universală pentru o aplicație care să se bazeze pe un mix de medii tehnologice.
Spre exemplu, pentru a construi un joc pentru platformele mobile, vom folosi alt limbaj de programare, cadru sau sistem de bază de date decât pentru a crea o platformă globală pentru analiza inteligentă BigData. Este similar cu tehnologiile cloud – au cerințe specifice care trebuie adaptate la arhitectură și codul sursă.
Dezvoltarea Proof of Concept a proiectului permite determinarea fezabilității produsului și identificarea posibilelor amenințări în procesul de construcție și dezvoltare, chiar înainte de a începe munca dezvoltatorilor sau a echipei DevOps.
Conceptul este strâns legat de dezvoltarea de software, dar nu este exclusiv pentru acest segment. PoC este, de asemenea, utilizat, printre altele în procesul de dezvoltare și testare de soluții pentru dispozitivelor electronice, în faza incipientă a dezvoltării clinice de noi medicamente sau în industria filmului. Un exemplu de Proof of Concept în cinematografie este o scenă de 90 de secunde pe care Zack Snyder a înregistrat-o în 2004 pentru a vedea dacă deține instrumentele și cunoștințele tehnicile pentru a regiza filmul „300” conform viziunii sale. Clipul video este disponibil pe YouTube.
Proof of Concept vs prototip
Întâlnim destul de frecvent o intersectare a termenilor Proof of Concept și prototip. Deși se pot înlocui în anumite situații, există totuși și diferențe între funcționalitățile acestora.
Proof of Concept verifică dacă o idee dată este fezabilă din punct de vedere tehnologic, în timp ce prototipul se concentrează pe straturile UX (user experience) și UI (user interface). Construirea unui prototip vă permite să oferiți forma și aspect produsului, planificând modul în care utilizatorul va interacționa cu aplicația.
În procesul de creare a unui prototip, sunt folosite instrumente precum fluxuri de utilizatori, wireframes sau machete. Specialiștii UX/UI desenează calea utilizatorului și aspectul schematic al interfeței pe hârtie, pe o tablă sau în instrumente dedicate, precum UXPin sau Adobe XD. După dezvoltarea machetelor, se pregătește un prototip interactiv cu un design de interfață grafică. Acesta poate arăta ca o aplicație gata făcută – inclusiv opțiunea de defilare a vizualizărilor sau de a merge la următoarele subpagini – dar nu există o singură linie de cod în spatele ei.
În videoclipul de mai jos veți vedea cum specialiștii Google – UX Designer și Interaction Designer – pregătesc un prototip în versiune digitală:
Proof of Concept versus testarea software
Fie că vreți să adăugați noi funcții unui software existent sau să construiți un soft nou de la zero, un PoC vă ajută să vizualizați fezabilitatea unei idei din punct de vedere tehnologic. Per total, toată munca din spatele unui Proof of Concept reprezintă găsirea unor răspunsuri practice pentru probleme derivate tehnologic. Astfel, un plan de concept nu are cum să egaleze întreaga practicalitate a unei testări software, însă poate fi motivul pentru care aceasta se poate efectua sau nu.
Proof of Concept și produsul minim viabil (Minimum Viable Product)
Minimum Viable Product (cunoscut și ca MVP) este o versiune minimă funcțională a produsului. Este o aplicație care conține un set cu cele mai importante funcționalități, pregătite pentru dezvoltare ulterioară și adăugare de noi elemente.
Proof of Concept vă permite să validați tehnologiile, în timp ce Minimum Viable Product verifică modul în care grupul țintă reacționează la versiunea care înglobează cele mai importante caracteristici ale produsului. Scopul MVP este să lanseze versiunea de bază a aplicației cât mai curând posibil, să testeze ideea în rândul grupului țintă și să colecteze feedback. Pe baza observațiilor făcute după primirea și utilizarea produsului, creatorii decid direcția viitoare de dezvoltare sau, în funcție de caz, suspendarea proiectului.
De exemplu: platforma Airbnb în 2007 a fost publicată în versiunea MVP sub numele „Air Bed & Breakfast”. Minimum Viable Product a constat întrr-un site web și… o saltea în camera de zi a fondatorilor aplicației, alături de informații despre opțiunea de închiriere a unui apartament pentru weekend. Corectitudinea ideii a fost confirmată după câteva zile, când peste douăzeci de persoane au răspuns reclamei.
Nu doar software – PoC în contextul infrastructurii
Proof of Concept este (sau cel puțin este recomandat să fie) un pas inseparabil în procesul de construire a unui nou produs. Dar nu numai atât – PoC este creat și pentru a testa un concept de schimbare, de exemplu, pentru a refactoriza în mod semnificativ codul aplicației sau pentru a migra către o altă infrastructură. Vă permite să indicați nu numai dacă o anumită viziune poate fi implementată, ci și, de exemplu, cât de ample vor fi modificările necesare pentru a utiliza în mod eficient serviciile cloud gestionate.
Care sunt situațiile în care merită să faci un plan PoC pentru a analiza validitatea ideii din punct de vedere al infrastructurii?
Crearea unui nou produs cloud nativ
Cloud nativ este o abordare pentru construirea și dezvoltarea de aplicații care implică utilizarea serviciilor cloud publice. Utilizarea instrumentelor cloud gata făcute vă permite să publicați noi produse sau să introduceți noi funcționalități mai rapid. De exemplu, serviciile cloud publice ale Google Cloud Platform includ:
- platforma Kubernetes în modelul Kubernetes-as-a-Service dedicată gestionării aplicației în containere,
- servicii de echilibrare a traficului precum Load Balancing,
- modele ML și AI pre-antrenate pentru recunoașterea imaginii, analiza conținutului video sau înțelegerea textului și recunoașterea caracteristicilor emoționale ale acestuia,
- serviciu de transcriere Speech-to-Text sau crearea de mesaje în limbaj natural,
- gestionare de baze de date SQL, NoSQL sau BigQuery – depozite de date, serviciu dedicat datelor de analiză petabyte.
Atunci când creați o aplicație care urmează să utilizeze serviciile de cloud computing, este important să planificați corect nu numai arhitectura sistemului, ci și arhitectura cloud. Un arhitect cloud certificat va ajuta la selectarea și aranjarea adecvată a elementelor sistemului între serviciile cloud. Pentru a verifica conceptul, specialistul va crea și un Proof of Concept pentru infrastructura noului produs pentru a verifica dacă o astfel de soluție va funcționa și, eventual, dacă va fi rentabilă, vă va oferi un nivel adecvat de scalabilitate.
Migrarea către cloud dintr-o altă infrastructură
Rareori, migrarea aplicațiilor de pe propriul server, de pe un host sau de pe o mașină virtuală se realizează în modelul lift-and-shift (ex. transferul codului sursă fără a se face schimbări semnificative). Chiar și atunci când migrați de la o soluție cloud la alta, trebuie să faceți modificări, deoarece nu toate serviciile cloud publice se vor suprapune 1: 1. Este adesea necesară refactorizarea sau adaptarea arhitecturii aplicației la serviciile cloud – mai ales dacă intenționăm să extragem mai mult din cloud decât doar memoria și puterea de calcul a mașinilor virtuale.
Dezvoltarea unui Proof of Concept în acest caz va permite nu numai să se determine dacă migrarea este posibilă conform liniilor directoare, ci și cât de multă refactorizare trebuie efectuată și dacă transferul sistemului în cloud va fi profitabil și benefic.
Dorința de a crește nivelul de adoptare a soluțiilor cloud
În teorie, aplicația care se află pe mașinile virtuale ale furnizorului de servicii cloud este deja în cloud. În practică, nivelul de adoptare a cloud-ului în acest caz este destul de superficial și, dacă creatorul aplicației dorește să folosească mai mult cloud computing (de exemplu, să transfere elemente de sistem către servicii gestionate), ar trebui să introducă modificări în arhitectura și codul aplicației.
De exemplu, un dezvoltator dorește să mute o aplicație de la mașinile virtuale din Compute Engine în containere și să folosească serviciul Google Kubernetes Engine; intenționează să crească disponibilitatea și performanța aplicației datorită Load Balancing și este interesat să utilizeze o bază de date Cloud SQL gestionată. Într-o astfel de situație, Cloud Architect va pregăti un Proof of Concept ținând cont de serviciile selectate (sau selectând serviciile cloud pentru cerințele specifice) și rulând pe acestea un exemplu de cod sursă furnizat de client.
Construirea unui PoC în cloud alături de un partener Google Cloud
Indiferent dacă intenționați să construiți o aplicație nativă cloud de la zero, sunteți înclinat să migrați și să utilizați servicii de cloud computing sau doriți să creșteți nivelul de adoptare a cloud-ului, este indicat să construiți un PoC folosind cunoștințele și experiența arhitecților cloud. PoC va permite să se evalueze posibilitatea implementării, care sunt potențialele riscuri și dacă calea aleasă va fi optimă pe termen lung din punct de vedere financiar.
FOTC, în calitate de partener oficial Google Cloud, oferă suport nu numai în dezvoltarea Proof of Concept, ci și în domeniul finanțării infrastructurii cloud.
Cum anume își sprijină Partenerul Google FOTC clienții?
- Sesiuni de brainstorming și ateliere de design. Ne familiarizăm cu ideea și cerințele dvs. și desenăm o diagramă a arhitecturii cloud. Desfășurăm sesiuni atât pentru noi produse native cloud, cât și pentru aplicații care urmează să fie migrate, tot dintr-un alt cloud public.
- Implicarea specialiștilor certificați în cloud. Experți, atât în domeniul de customer service, cât și în implementarea ipotezelor de business, precum și arhitecți și ingineri cloud cu experiență sunt prezenți la fiecare etapă. Dacă este necesar, angajăm specialiști Customer Engineers din partea Google Cloud pentru implementarea PoC și a altor activități.
- Acoperirea unei părți din costurile legate de întreținerea infrastructurii GCP. Pentru companiile care doresc să testeze o idee nouă în cloud sau să construiască o dovadă de concept care ia în considerare serviciile GCP neutilizate anterior, oferim credite gratuite pentru a acoperi costurile de infrastructură (5-10% din costul serviciilor GCP cu cheltuieli minime anuale de 60.000 USD). În plus, noii clienți FOTC pot conta pe primirea unui voucher de 500 USD valabil timp de un an.
Vreiți să fiți siguri că ideea dvs, este fezabilă și că nu va consuma întreg bugetul în câteva săptămâni? Profitați de experiența, cunoștințele și sprijinul financiar pe care îl oferim. Vă rugăm să ne contactați pentru asistență pas cu pas.