Dezvoltarea de functionalitati noi prin automatizare

florinelchis
3 min readJun 30, 2021

--

Se putea un titlu mai descriptiv, sugestii sunt binevenite. Scenariul e cam asa:

Folosesc o platforma software, unde:

  • serviciile de dezvoltare sunt foarte scumpe
  • nu se gasesc resurse disponibile
  • “nu se poate” (SaaS)
  • nu am API care sa acopere ce am eu nevoie

atunci mai sunt cateva posibilitati de a rezolva probleme specifice si flow-uri.

Daca solutia/platforma software e web-based, lucrurile devin mai simple si inspiratia vine de la: testarea automata.

Adica, se pot face “roboti” care sa faca ce face utilizatorul, in mod automat, fara sa oboseasca 24/7. Asa ca taskurile repetitive, pot fi automatizate.

Sa zicem ca vreau ca toate comenzile mai vechi de 24 ore aflate intr-o anumita stare sa fie procesate cu prioritate sau sa treaca intr-un status nou (ca operatorul uman sa le trateze cu prioritate), pot face un script care sa deschida un browser, sa filtreze acele comenzi, sa verifice conditiile si sa execute actiunea (schimbare de status, notificare a operatorului de vanzari pe email, etc). Sau cele neplatite, sa notifice clientul, sa notifice operatorul de vanzari, etc.

Sau ne putem duce in zona de Product Catalog management si daca ne uitam la platforme precum Magento (si altele), interfata pentru adaugare/editare de produse e greoaie (se poate formula si ca la UX ar fi imbunatatiri posibile mai multe). Pentru Magento, exista si API si import, dar pentru exemplificare, putem face un exercitiu si anume — eu as lucra usor un Google Docs, asa ca, pot lua informatiile de acolo si sa le operez in Magento automat. Viteza cu care pot opera modificari in spreadsheet e mult mai mare decat in interfata web a unei platforme, save, etc… La final vad un raport, ce a mers bine si ce nu…

Ideea e ca am intalnit destul de multe situatii in care proiecte mari si greoaie au pornit de la limitari ale platformelor existente si constrangerile mentionate la inceput, intalnite de antreprenori si decizia: folosim o platforma noua. Si proiectul ala a durat multe luni de zile, in care business-ul a fost afectat. Sau platforme care faceau 70% din ce era nevoie pentru un business foarte bine, inlocuite pentru 5% scenarii, iar proiectul rezultat de fapt, nu mai acoperea nici 70% din total use cases. Deci, proiect nou, resurse consumate si la final regresie.

In opinia mea, pentru situatii intalnite in viata de zi cu zi a unui business se pot face imbunatatiri, se poate avea in minte decuplarea si servicii independente, poate chiar API-first approach (macar pentru lucrurile noi)/microservices architecture si construit pas cu pas. Lego style, pot lua o piesa si sa o inlocuiesc cu alta, fara sa daram constructia.

Asa ca pot avea in paralel proiecte mici care rezolva probleme curente, iar intr-un proiect mai mic, scope-ul poate fi definit mai clar, lucrurile pot fi tinute mai bine sub control (timp, resurse, buget), iar longterm pot organiza mai bine ce tehnologii si platforme folosesc in 2–3–5 ani.

Ca instrumente, eu imi manifest afinitatea catre lucruri simple precum python cu webdriver, dar exista o multitudine de resurse disponibile pe partea asta, inclusiv cu pretentii de RPA (ui.vision), dar in general suitele folosite in testarea automata should do the job: selenium & co, phantomjs, etc.

--

--

florinelchis
florinelchis

Written by florinelchis

Florinel Chis —Magento / Adobe Commerce Developer, ex-Director — ARMO.org.ro,

No responses yet