Ai un vecin care stie el programare? Preferi sa dai 30 de lei unui developer junior sa iti faca o modificare in platforma sau sa iti creeze un buton? Super, inseamna ca articolul asta nu e pentru tine.

Dar daca stii cat face profesionalismul si seriozitatea pentru magazinul tau online, articolul de astazi iti va confirma parerea si te va ajuta sa ai o relatie mai productiva cu programatorul tau sau agentia cu care colaborezi.

Pentru multi proprietari de magazine online si, in special, viitori antreprenori, procesele din spatele unei platforme eCommerce raman inca un mister.

De fiecare data cand vad afirmatii de tipul “aleg o platforma open source deoarece stiu si eu putin cod” sau “gasesc imediat un programator care sa faca treaba pentru mine”, ma mir sincer.

Serios. Dupa 12 ani intr-o agentie, vezi multe. Dar lucrul cel mai important pe care l-am invatat este ca nu poti sa fii cel mai bun la mai multe lucruri deodata, fiecare e cel mai tare la bucatica lui.

Stii sa scrii cod si ai experienta? Inseamna ca stii deja cam cat dureaza tot procesul dezvoltarii unui magazin online sau chiar a unei simple functionalitati suplimentare (stiu ca inmultesti perioada estimata cu 3 🙂 ).

Stii sa vinzi si ai o idee tare de business? Atunci inseamna ca stii cat de mult timp presupune tot procesul de convingere a clientului, plus partea post vanzare. Si nici macar nu am vorbit de timpul necesar pentru gestionarea magazinului si a comenzilor, pregatirea produselor, ambalarea, gestionarea relatiilor cu furnizorii sau crearea propriu-zisa a produselor etc.

In eCommerce, ca si in viata, totul se invarte in jurul factorului “timp”. In afara situatiei in care esti un super om si lucrezi 24/24, zilnic, nu ai cum sa te ocupi tu de absolut tot ceea ce tine de magazinul tau online.

Si tot legat de problema timpului, e necesar sa intelegi ca oamenii pe care ii angajezi sau cei din agentia cu care colaborezi, lucreaza tot in acelasi interval si trec prin anumite procese pentru a-ti duce proiectul la bun sfarsit. Exact, toti, incepand de la programatori si pana la oameni de marketing, angajatii de pe Relatii Clienti etc.

Pentru ca una dintre cele mai frecvente intrebari pe care o primim la Gomag este “cat dureaza” dezvoltarea unei noi functionalitati sau integrari si, de obicei, estimarea duratei de finalizare provoaca reactii adverse, astazi m-am gandit sa scriu despre acest subiect, putin mai sensibil.

Asadar, azi descopera cum lucreaza un web developer, care este tot procesul din spatele aplicarii unei idei si de ce estimarile de timp pana la finalizarea proiectului pe care l-ai cerut sunt mai mari decat te-ai asteptat.

Si, ca sa iti fie mai usor de inteles, vom lua chiar exemplul dat si de cei de la Practical eCommerce.

Sa zicem ca iti doresti de la noi un buton special pentru comenzi repetate

Lasand la o parte faptul ca exista deja in platforma aceasta optiune, hai sa zicem ca ne-ai cerut sa iti cream o functionalitate extra astfel incat clientii tai sa poata comanda un produs pe baza comenzilor anterioare.

De ce ai dori asa ceva? Simplu, clientii pot fi influentati sa faca achizitii repetate pe baza datelor istorice din contul lor.

Insa pe cat de simpla pare ideea acestei functionalitati, pe atat de alambicat e tot procesul de creare. Hai sa vedem ce inseamna de fapt un buton de comanda repetata pentru un web developer:

1. Design-ului noului buton

Primul lucru de facut este crearea unui buton vizibil pe pagina de produs. Da, se poate incepe de la butonul standard de “Adauga in cos” dar vor fi necesare cateva modificari.

Acesta trebuie mutat din formularul HTML standard, intr-un formular individual iar stilul acestuia trebuie temperat, pentru a nu fi atat de distinctiv ca si un buton obisnuit.

A, si sa nu uit, inainte de ne apuca de treaba mai exista cateva intrebari ce au nevoie de raspuns:

  • Ce se intampla daca exista mai multe comenzi cu produsul respectiv? Ar trebui sa afisam cea mai recenta comanda sau sa afisam un pop-up din care clientul sa aleaga comanda preferata?
  • Ce se intampla daca clientul vrea sa comande produsul dar intr-o variabila diferita (alta dimensiune sau culoare)? Poate face modificarea direct pe cos sau trebuie sa stearga variabila afisata si sa adauge noul produs? In acest caz, mai are rost sa fie dezvoltata functionalitatea?
  • Ar fi mai simplu sa intampini clientii logati cu 2 optiuni: fie comanda noua, fie comanda repetata?

2. Vizibil doar pentru clientii logati in cont

Logic gandind, din moment ce butonul are treaba doar cu clientii existenti, inseamna ca trebuie ascuns de ochii celorlalti potentiali clienti.

Web developer-ul va trebui sa gaseasca bucata de cod care detecteaza utilizatorii logati si sa o foloseasca.

3. Vizibil doar pentru clientii care au cumparat produsul respectiv

De asemenea, poate vrei ca butonul sa fie vizibil doar pentru cei care au cumparat un anumit produs. Asadar web developer-ul nostru va trebui sa acceseze comenzile si elementele din spatele acestora.

Asta presupune sa creeze anumite interogari spre baza de date si mai mult, performanta interogarilor trebuie verificata deoarece afecteaza viteza de incarcare a paginilor de produs. Ce inseamna asta? Inseamna timp in plus de alocat pentru optimizarea performantei.

4. Conectarea butonului la server

Acum ca web developer-ul stie ca butonul va fi vizibil pentru persoanele potrivite, trebuie sa il conecteze la server pentru ca magia sa se intample la click.

Primul lucru pe care il face este sa includa butonul intr-un formular HTML. De asemenea, va incorpora ID-ul produsului intr-un camp ascuns pentru ca serverul sa stie la ce produs se refera clientul atunci cand da click.

Apoi, este nevoie de un URL pentru formular, creat pe server. In functie de sistemul eCommerce pe care se dezvolta aceasta functionalitate, actiunea poate fi facuta usor sau greu.

Totusi chiar daca ai formularul, datele ascunse, URL-ul pe server, conectarea la server – butonul tau nu face inca nimic.

5. Gasirea produselor in comenzile anterioare

Odata ce partea de front-end este finalizata, ne putem focusa pe back-end si pe obiectivul in sine al butonului.

In prima faza, vom folosi ID-ul produsului si vom cauta produsul respectiv in comenzile clientilor. Practic, vom accesa baza de date pentru a gasi produsul. Din moment ce am incorporat deja ID-ul produsului astfel incat serverul sa stie despre ce este vorba – putem folosi aceleasi interogari, cu cateva modificari in scopul gasirii elementelor respective in comanda.

Odata gasite, web developer-ul il copiaza in cos, impreuna cu orice variabila sau dimensiune a comandat clientul.

6. Redirectionarea utilizatorului spre cos

Odata ce produsul a fost adaugat in cos, trebuie sa redirectionam clientul din pagina sau cosul de cumparaturi, spre pagina de finalizare comanda.

7. Testarea

Pe tot parcursul dezvoltarii acestei functionalitati se fac teste astfel incat actiunea aplicata sa functioneze conform specificatiilor.

8. Codul live

Pasul final, tot codul scris pana acum trebuie pus sus pe server. Cateodata, aceasta actiune e usoara si se face in cateva secunde. In schimb, cand e vorba de proiecte mari, lucrurile se fac in saptamani intregi de programare, intarzieri si sarcini aditionale neprevazute.

Citeste si: Abilitati In eCommerce: Aptitudinile Analitice

Ti se mai pare simplu, acum?

Pentru un simplu buton de comanda repetata, noi trebuie sa facem o adevarata desfasurare de forte. Chiar daca pare simplu, functionalitatea include design grafic, logica front-end, formulare HTML, interogari la baza de date si modificari in back-end.

Un developer bun va trece prin tot acest proces si iti va oferi o estimare de timp pentru finalizarea proiectului.

Un developer mediocru iti va promite ca face treaba repede, poate va estima doar timpul pentru plasarea butonului si dupa va intarzia de patru ori cat ti-a promis pana sa faca butonul functional.

In progamare, lucrurile sunt intotdeauna mai complexe decat par la prima vedere. Pentru tine, ceea ce e un simplu buton sau o functionalitate extra, inseamna ore sau chiar zile intregi de munca pentru web developer.

Iar problema nu e aceea ca ii dai de lucru, in niciun caz. Problema apare atunci cand nu stii sa apreciezi profesionalismul si nu intelegi ca orice dezvoltare are nevoie de mai mult timp decat pare la prima vedere.

Citeste si: 7 Semnale Ale Unui Angajat Exceptional

Pe scurt, estimarea unui proiect de dezvoltare nu e treaba prea usoara. Chiar daca, la prima vedere, pentru tine totul pare simplu, echipa de programare trebuie sa investeasca mult mai mult timp si energie, astfel incat sa il duca la bun sfarsit.

Cu cat intelegi mai rapid acest lucru, cu atat relatia dintre tine si programator va fi mai productiva. Pentru ca, spune-mi, ce iti doresti: un proiect estimat la 30 de ore, care sa fie gata in 30 de ore sau promisiunea ca vei primi ceea ce doresti in 10 ore, insa il primesti abia dupa o intarziere de 40 de ore?

In prima situatie, lucrurile chiar merg conform planului. In a doua? Apar frustrari de ambele parti.

In acest articol am vorbit mai mult strict despre partea tehnica de implementare, dar in spate la toate acestea mai sunt si persoane care tin legatura cu clientul (managerul de cont), poate sa fie implicat si un project manager, plus alte eventuale persoane in functie de complexitatea unei cerinte.

Citeste si: De ce merita sa platesti mentenanta pentru magazinul tau online

Tu ce vrei sa afli despre web developerii din echipa Gomag? Ti-ai dori sa mai citesti astfel de articole pe blog?

Cosmin Daraban