Pattarello-eCommerce2day

Oggi giorno le aziende utilizzano solide piattaforme per sfruttare il canale di comunicazione dell’eCommerce. Alla fine degli anni ’90 non esistevano soluzioni consolidate e chi voleva cimentarsi in questa nuova avventura era un pioniere, affrontando tutti gli imprevisti di un settore in fase di sviluppo.

Dopo quasi 20 anni il mercato del software dedicato all’eCommerce ha prodotto varie soluzioni chiavi in mano che consentono a qualsiasi azienda di sfruttare questo canale senza avere alle spalle un vero staff IT dedicato. Usare queste soluzioni semplificano notevolmente l’apprendimento e la realizzazione della vostra “vetrina” elettronica. Magento, nopCommerce, Demandware sono solo alcune piattaforme in mercato che rappresentano quasi uno standard. Molti service provider forniscono tra le loro offerte servizi di eCommerce stabilendo solo pochi parametri di configurazione tipo le dimensione del catalogo prodotti da gestire.

Questo apre un dibattito sull’importanza della stabilità del sistema contro la flessibilità di un prodotto completamente aperto e personalizzabile.

Per una azienda è più vantaggioso:

avere un sistema consolidato ma identico ai suoi diretti competitor?

vs

creare/personalizzare una soluzione per avere la massima flessibilità con costi maggiori per la manutenzione?

 

Entrambe le strade hanno pro e contro legati al tipo di business che un’ azienda ha deciso di seguire e non esiste la verità assoluta. Quello che però questi due concetti hanno in comune è la qualità del lavoro che stiamo facendo.

In entrambi i casi devono essere pianificate tutte le attività che permettono di verificare lo stato di salute del mio sistema, per poter vedere in tempi brevi se riscontriamo anomalie e quindi ridurre il tempo di reazione garantendo che la nostra attività non sia bloccata.

In base a quale delle due strade vogliamo intraprendere, mantenere il livello di servizio idoneo alle nostre aspettative è  il parametro che sposta la nostra asticella e ci guida nella scelta di quale piattaforma è più idonea.

Questa equazione è composta da molte variabili ma le principali sono:

• Stabilità del prodotto

• Roadmap di evoluzione

• Flessibilità di integrazione con i sistemi/servizi esterni

• KPI sulle prestazioni della piattaforma

• SLA del sistema dove la piattaforma è innestata

• Flessibilità di personalizzazione

• Gestione dei contenuti

• Integrazione con il canale mobile (web, smartphone e tablet)

Valutati questi parametri, la scelta è comunque guidata dalla competitività. Il bivio “made or buy” è sempre uno dei fattori più combattuti nel campo informatico. Quindi se il vostro è un settore consolidato o B2B dove i servizi non necessitano di continue evoluzioni è sicuramente preferibile scegliere un prodotto che sia “maturo” e copra le vostre esigenze. Per un settore invece in continua evoluzione o B2C dove è importante innovare, la personalizzazione e la rapidità nel farlo sono elementi fondamentali per rispondere ad un mercato sempre in movimento, dove è fondamentale catturare il cliente con soluzioni nuove.

In questo caso la vostra piattaforma sarà impattata da continue modifiche e per sopperire alla naturale instabilità  introdotta nel sistema, devono essere messi a piano accorgimenti per garantire la continuità di servizio. A questo punto la Quality Assurance diventa il fulcro della vostra sfida, a tutti i livelli deve essere garantita la qualità del prodotto e la sua stabilità e per fare questo devono essere pianificate delle strategie per validare il vostro sistema.

Se state sviluppando componenti che integrano la piattaforma, la scelta di creare test unitari che coprono il codice da voi prodotto diventa un’arma molto potente. Tutti i livelli dello stack applicativo devono essere garantiti, indipendentemente se l’impatto è sul client e quindi sul codice javascript o nel vostro sistema di back-end che gestisce le transazioni. Inoltre non possiamo fermarci solo alla verifica di non aver introdotto bug nel sistema, importante è capire quali sono le performance per avere evidenza del punto di rottura e capire se l’attuale infrastruttura regge le sollecitazioni di richieste molto variabili nel tempo. Questo comporta avere sistemi isolati che garantiscono la riproducibilità di un evento, tramite lo stesso stream di dati dobbiamo vedere le reazioni e quindi poter:

misurare le prestazioni del sistema

verificare la stabilità dopo l’introduzione di modifiche

stressare l’ambiente così da capire i suoi limiti fisici

Inseriti tutti questi aspetti nella vostra “catena di montaggio” avrete la visibilità degli stati di integrazione con la possibilità di agire in modo precauzionale prima di pubblicare le vostre modifiche. Tecniche come: Continuous integration, TDD, Load Test e data isolation sono gli “attrezzi” che vi aiuteranno il passaggio da artigiano ad industria nel mercato delle piattaforme eCommerce.

 

Claudio Pattarello

claudio-pattarello

Claudio, da quasi 20 anni sviluppa e progetta software in vari ambiti: compagnie televisive, scuderia di F1, eCommerce, cercando di migliorare la competitività tramite la ricerca di soluzioni sempre più innovative per incrementare la qualità del prodotto realizzato. Da circa 10 anni utilizza le metodologie agili aiutando l’introduzione di tecniche per ridurre gli sprechi e i tempi di rilascio. Attualmente è Head of Site Management in un noto Luxury & Fashion store.

 

Share