În Tips & Tricks

Care este procesul de web development al unui produs

proces-web-development

Există multe abordări și multe framework-uri care permit organizarea procesului de dezvoltare a unui website, iar articolul de față reprezintă o îmbinare de tehnici și tool-uri care sunt structurate în 5 pași.

Pas 1: Clarificare

În primul rând trebuie stabilit ce îți dorește clientul și cât de fezabilă este dorința sa în contextul actual.

 

Pentru a avea o viziune clară asupra produsului ce se dorește a fi dezvoltat o serie de întrebări vin să detalieze și explice cerințele în funcție de zona de interes:

 

  • Grupul target
  • • Către ce segment de piață se adresează acest website?
  • • Cine sunt utilizatorii și clienții target?
  • Impactul asupra clientului
  • • Ce probleme ale clientului/utilizatorului vor fi rezolvate de către website?
  • • Care sunt beneficiile?
  • • Cum aduce website-ul valoare clienților?
  • • Cum o să fie măsurat impactul?
  • Produsul
  • • Ce tip de website o să fie dezvoltat?
  • • Care vor fi principalele funcționalități?
  • • Care sunt elementele de noutate aduse de acest produs?
  • Impactul asupra business-ului
  • • Care sunt beneficiile aduse companiei de către acest produs?
  • • Va reduce costuri, va crea o piață nouă, va reduce din ameninţările pieţei?
  • Competiția
  • • Care sunt principalii competitori ai acestui produs?
  • • Ce aduce acest produs în plus față de ce există deja pe piață?
  • • Care sunt punctele forte și punctele slabe în comparație cu       principalii competitori?
  • Canale de promovare
  • • Cum o să fie marketat produsul?
  • • Cum vor afla clienții despre produs?
  • • Care canale de promovare vor funcționa cel mai bine?
  • Costuri
  • • Cât or să fie clienții dispuși să cheltuie pentru a utiliza acest nou produs?
  • • Care sunt prețurile folosite de competitori?
  • • Care este prețul target?
  • • Care este ROI-ul așteptat și peste ce perioadă de timp se va ajunge la acea valoare?
  • Riscuri
  • • Care sunt principalele riscuri?
  • • Care sunt necunoscutele?

 

Pas 2: Planificare

După ce clientul împreună cu project manager-ul/ business analyst-ul discută răspunsurile întrebărilor de la pasul anterior, urmează planificarea și trebuie atinse următoarele puncte:

  • Stabilire workflow website și roluri necesare: sunt identificate principalele funcționălități și componente ce se doresc a fi realizate, dar și tipurile de roluri de utilizatori.
  • Prototipizare: pe baza workflow-ului stabilit se va construi un prototip pentru a crea o perspectivă mai clară și mai apropiată de felul în care website-ul va funcționa. Uneori acest prototip este supus și unui A/B testing pe un segment restrâns de potențiali utilizatori pentru a avea un feedback obiectiv și real asupra ideilor actuale.
  • Alegerea tehnologiilor: după ce se ajunge la un prototip agreat atât de client, cât și de utilizatori, dar și de echipa de dezvoltare se trece la etapa în care se decid tehnologiile, iar aici opțiunile sunt numeroase și trendurile actuale într-o continuă schimbare:
  • Limbaje și platforme:
  • Javascript
  • Java
  • .NET
  • PHP
  • Node JS
  • Ruby
  • Perl
  • Python 
  • • Baze de date:
  • Oracle
  • MySQL
  • Microsoft SQL Server
  • mongoDB
  • Cassandra 
  • Estimare și release planning: după ce tehnologiile au fost alese se realizează estimarea și planul de lansare. În funcție de metodologia de dezvoltare aleasă acestea pot fi abordate în două direcții principale:
  • • Waterfall: când se estimează și planifică tot proiectul, și acesta va fi livrat la final în totalitate
  • • Agile: când sunt stabilite cele mai importante funcționalități pe care produsul trebuie să le aibă și acestea la rândul lor sunt estimate și livrate pe sprinturi.

 

Pas 3: Implementare

  • Design website: pe baza workflow-ului stabilit se realizează design-ul site-ului împreună cu o schemă de culori și un style guide. 
  • Arhitectură și schemă bază de date: având design și tehnologii alese se stabilește arhitectura sistemului, dar și schema bazei de date. De cele mai multe ori pentru website-uri complexe se dorește ca totul să fie scalabil. În plus trebuie acordată atenție și securității sistemului, pentru că nimeni nu își dorește un site vulnerabil atacurilor. 
  • Implementare și testare: după ce s-a stabilit cum va arăta website-ul și care este arhitectura se începe implementarea și în funcție de metodologia aleasă se realizează și testarea:
  • • Waterfall: testarea se realizează după ce implementarea întregului sistem este gata
  • • Agile: testarea se realizează în paralel cu implementarea pentru a ne asigura că la finalul un sprint avem un sistem funcțional și testat, dar și pentru a adapta produsul în funcție de feedback-ul primit de la clientul direct.

 

Pas 4: Lansare

  • Finisare: sunt identificate secțiuni din website care pot fi îmbunătățite ca design și funcționalitate, după care se face o testare finală.
  • Testare de acceptare: după ce produsul este implementat și testat, trebuie primită și acceptarea clientului care a comandat site-ul și în funcție de feedback-ul acestuia se va decide dacă site-ul va fi lansat sau nu online către grupul target.
  • Continuous integration, continuous deployment și continuous delivery: sunt termeni care se referă la partea de lansare pe a produsului și care apar din ce în ce mai frecvent în articole. Aceștia presupun de fapt automatizarea procesului de release a produsului, însă fiecare vine la pachet cu elemente care sunt sau nu benefice contextului aplicației dezvoltate.
  • Transfer către serverul live: sursele sunt publicate pe serverul live dedicat și trebuie studiat bine momentul când acest proces se întâmplă, mai ales dacă există utilizatori.
  • Predare documentație: proiectul și sursele trebuie documentate și predate clientului.

 

Pas 5: Mentenanță

  • Rulare teste: imediat ce site-ul a fost lansat live procesul nu se încheie. În continuare sunt rulate teste pentru a verifica cât de robust este produsul creat.
  • Update-uri: sunt realizate update-uri pentru diferite librării sau componente. De asemenea tot acum pot fi realizate și optimizări și refactoring de cod.
  • Fixare de buguri: atunci când site-ul este lansat în producție cu certitudine și o serie de buguri noi vor apărea, iar acestea trebuie fixate în cel mai scurt timp
  • Funcționalități noi: în plus de cele mai multe ori clientul direct vine cu cerințe noi care trebuie integrate și implementate în produsul actual, iar pașii enumerați devin cumva repetitivi.

Pașii descriși sunt doar un sumar.

La fiecare pas mai pot fi adăugate multe alte puncte și detalii, însă ce ar fi de reținut este faptul că fiecare etapă în parte are rolul și importanța ei și nu trebuie omisă niciuna dintre ele.

Este recomandat să fie detaliată corespunzător fiecare dintre ele pentru a obține rezultatul dorit deoarece, dacă abstractizăm, un website este cartea de vizită online a posesorului.

proces-web-dev