Studii de caz
Digitalizare pentru furnizor de servicii
Clientul nostru, Expert Worker, este un furnizor de servicii de curățenie care își oferă serviciile atât înspre zone rezidențiale cat și diverse locații de business cum ar fi birouri, unități sanitare, depozite sau spații aparținând industriei alimentare. Clientul oferă o varietate de servicii de curățenie, de la curățenie simplă de întreținere până la curățenie de șantier sau igienizare completă, cu respectarea standardelor internaționale ISO.
Clientul nostru a decis să investească în digitalizarea fluxurilor de lucru ale companiei sale pentru a eficientiza managementul sarcinilor pentru muncitori, pentru a îmbunătăți comunicarea cu clienții săi și pentru a crește în continuare calitatea serviciilor. În viitor, clientul nostru intenționează să vândă aplicația la alte companii care furnizează servicii la domiciliu
PROVOCAREA
PROVOCAREA
Prima problemă pe care a trebuit să o abordăm este una comună pentru multe încercări de transformare digitală: tendința de focusare pe avantajele pe care compania le-ar obține din centralizarea datelor – luând în considerare doar perspectiva conducerii – dar ignorând nevoile majorității utilizatorilor, cei responsabili pentru introducerea datelor.
Această abordare greșită generează de obicei aplicații care necesită prea mult efort din partea segmentului majoritar. Oamenii au o rezistență naturală la schimbare. Când această schimbare le și îngreunează viața fără a oferi beneficii personale, aplicația rezultată arăta bine în teorie, dar va eșua în viața reală: nimeni nu va avea „timp” să o folosească.
A trebuit să ajungem la un echilibru între câtă informație ar fi rezonabil de solicitat de la muncitori și cât de detaliate vor fi rapoartele pe care le-am putea genera pentru conducere. De asemenea, a trebuit să acordăm prioritate funcționalităților care ajuta și segmentul majoritar să beneficieze de utilizarea aplicației.
Ne-am gândit și la remedierea posibilelor erorilor și la urmărirea pulsului aplicației. Pentru a face experiența cât mai simplă și ușoară pentru utilizatori și pentru a nu interfera cu sarcinile lor zilnice, a trebuit să găsim o soluție care să nu le aduca responsabilități suplimentare (raportarea erorilor, oferirea de feedback etc.). A fi non-invazivi a fost de asemenea important pentru noi.
O altă provocare a rezultat din dorința clientului nostru de a vinde aplicația altor business-uri care își oferă serviciile la locația clienților, business-uri care nu activează neapărat in domeniul curățeniei. Satisfacerea unui număr mai mare de segmente de utilizatori duce de obicei la complexitate în cadrul aplicației, declanșând problema compromisului dintre flexibilitate si ușurința utilizării: pe măsură ce flexibilitatea unui sistem crește, gradul de uzabilitate al acestuia scade.
A trebuit din nou să găsim o soluție care să nu complice costul de interacțiune, dar să ofere totuși personalizarea necesara pentru diferitele business-uri.
Această cerință a adus și numeroase provocări tehnice. Dezvoltarea unui produs care funcționează ca o tabla goala, gata de a se adapta nevoilor unice ale fiecărui client, a cerut un design complet flexibil și dinamic. În plus, acest lucru a impus cerințe suplimentare serverului și paginii de administrare, care au devenit sursele principale de date pentru aplicația mobilă
SOLUȚIA
Am decis pentru doua aplicații: o aplicație web care să servească drept panou de control pentru administratori și o aplicație mobilă care se adaptează celor două tipuri de utilizatori: clienți companiei și muncitorii angajați de companie.
Am decis să creăm aplicația web și mobilă cu React, respectiv React Native. Utilizarea acestor cadre mature și testate ne-a ajutat să creăm aplicații stabile și scalabile. Server-ul am decis să-l implementăm folosind Supabase, ca soluție pentru baza de date. Tehnologiile Apollo/GraphQL au facilitat o comunicare eficientă și scalabilă între toate aceste părți ale produsului nostru.
Cu ajutorul React Native, combinat cu noile caracteristici ale serviciilor Expo, am putut crea o aplicație mobilă multiplatformă cu o singură bază de cod. Acest lucru a redus drastic timpul de dezvoltare și a făcut posibilă implementarea cu ușurință a următoarelor funcționalități:
- Muncitorii pot folosi aplicația mobilă pentru a vedea ce clienți și locații trebuie să viziteze într-o zi, ce sarcini ar trebui să efectueze în locațiile respective și să comunice cu clienții. Interacțiunea lor cu aplicația a fost planificată să fie minimală și doar în punctele cheie ale programului lor zilnic.
- Clienții pot folosi aplicația pentru a monitoriza progresul lucrărilor în curs. Dacă sunt nemulțumiți, vor putea solicita refacerea unor servicii sau pot cere noi servicii de urgență, comunicând direct cu muncitorii aflați la fața locului.
- Administratorul va fi responsabil pentru configurarea spatiilor clientului, specificarea sarcinilor recurente necesare în fiecare zonă și atribuirea acestor sarcini lucrătorilor. Administratorul va avea acces la feedback imediat și detaliat cu privire la operațiunile zilnice, precum și la o imagine de ansamblu oferita prin diverse rapoarte despre clienți și muncitori.
Pentru a oferi o experiență lipsita de erori, am folosit Sentry, o tehnologie/serviciu de vârf care ne ajută să urmărim erorile în producție. Un motiv important pentru care am ales Sentry, a fost că este minim invaziv. Nu urmărește utilizatorii (în aplicație sau altfel) și cenzurează automat toate datele sensibile. De asemenea, nu stochează niciunde datele personale.
Pentru a acomoda o aplicație mobilă capabilă să-și adapteze UI/UX-ul nu doar în funcție de tipul de utilizator conectat (client vs. muncitor), ci și de tipul de afacere care o folosește, a necesitat reducerea la minimum a valorilor hard-codate, a textelor și chiar a anumitor elemente de UI. Am reușit să îndeplinim aceste cerințe suplimentare, păstrând în același timp codul scalabil și mentenabil.
REZULTATELE
Am dezvoltat o aplicație web, și o aplicație mobilă, disponibilă pentru descărcare atât în App Store, cât și în Play Store (în curând și în App Gallery).
Rezultatele cheie ale soluției:
- Un pachet de aplicații de încredere care nu numai că este ușor de utilizat, funcționează pe iOS și Android, dar poate fi monitorizat și de la distanță, fără sa fie nevoie de feedback-ul manual al utilizatorului. Serviciile Sentry ne ajută să monitorizăm starea de sănătate a aplicației noastre și să identificăm potențialele probleme, chiar și fără știrea utilizatorilor. Acest lucru ne asigură că oferim o experiență de utilizator fluidă în fiecare moment.
- Un tablou de bord administrativ flexibil care poate fi folosit pentru a defini și configura produsul nostru astfel încât să poată servi mai multor tipuri de nevoi și cerințe ale companiilor. Acest lucru permite clientului nostru să își gestioneze afacerea așa cum crede de cuviință, fără a fi nevoie de interferența noastră.
- O aplicație mobilă modernă și eficienta din punct de vedere al costurilor, care este dezvoltată dintr-o singură bază de cod, scăzând timpii de dezvoltare și în cele din urmă, costurile clientului. Folosirea celor mai recente versiuni de React și React Native ne-a permis să rămânem conectați la noile tehnologii și să dezvoltăm o aplicație care poate rezista la testul timpului într-o lume aflata într-o evoluție rapidă.
- Produse performante bazate pe cele mai noi tehnologii și soluții, dezvoltate de o echipă mică, dar calificată de programatori. Utilizarea tehnologiilor precum Expo, Apollo și Supabase a ajutat programatorii noștri să atingă obiective mari cu eforturi rezonabile.
- O experiență naturală a utilizatorului. Aplicația noastră mobilă este cât se poate de intuitivă, fără sa necesite ca muncitorii și clienții să-și petreacă timpul învățând-o. Tabloul de bord administrativ este eficient, deoarece ne-am propus să oferim cât mai multe date cu cât mai puțin efort din partea administratorilor.