Per gran parte della mia carriera ho sentito ripetere lo stesso consiglio nelle sale riunioni e durante le demo dei software: “Configura, non personalizzare.”
Sembrava ragionevole. La personalizzazione era costosa, difficile da supportare e, a quanto si diceva, era il motivo per cui così tanti progetti di software enterprise non riuscivano a mantenere le promesse. Se i clienti fossero rimasti entro i confini del software, ne avrebbero beneficiato tutti.
Dopo decenni trascorsi nel mondo dei software enterprise, sono arrivato a credere esattamente il contrario. “Configura, non personalizzare” è una delle espressioni più fuorvianti del settore, perché alla fine ogni strada porta alla personalizzazione.
Cosa ho imparato sui software enterprise
Nei miei ruoli di leadership in Siebel, Oracle e Salesforce, ho sempre cercato di incontrare il maggior numero possibile di clienti del settore dei beni di consumo, per capire come utilizzassero le nostre tecnologie e dove queste generassero valore.
Queste conversazioni mi hanno insegnato molto sulla progettazione, la vendita, l’implementazione e il supporto del software enterprise. Eppure, nonostante i clienti apprezzassero il mio contributo, c’era qualcosa che non mi convinceva. Ottenevano un ROI accettabile dai loro investimenti software, ma era ben lontano da quello che ritenevo possibile o da quanto promesso nei documenti di giustificazione dei progetti.
Nonostante i progressi nel cloud computing, nel Software-as-a-Service (SaaS) e nelle moderne piattaforme di sviluppo, i costi di implementazione dei miei clienti rimanevano elevati, continuavano a opporre resistenza agli upgrade e ad aggiungere ampie personalizzazioni al software acquistato.
Per questo motivo posso dare al lavoro di una vita solo un 6 su 10, ma forse le cose stanno cambiando. Con lo sviluppo assistito dall’AI e l’ascesa del vibe coding, il settore potrebbe finalmente avere l’opportunità di spezzare questo ciclo.
Come il software enterprise è migliorato nel tempo (e come non lo è)
Con il tempo ho capito che il problema non era il fallimento dei clienti, dei software vendor o dei system integrator (SI). I vendor possono sostenere che i SI non abbiano una formazione adeguata; i SI possono affermare che il software non sia in grado di supportare requisiti di business fondamentali; mentre ai clienti viene contestata la mancanza di risorse o di priorità chiare.
Di solito c’è un fondo di verità in tutte queste posizioni. In realtà, però, il software enterprise ha sempre cercato di risolvere un problema quasi impossibile: ogni settore è diverso e, più il software si avvicina alla realtà operativa delle organizzazioni, più diventa difficile evitare la personalizzazione.
Il software stesso rimane la sfida principale. Nel corso degli anni, lo sviluppo software è migliorato al punto da permetterci di avere applicazioni browser-based molto più semplici da creare e implementare rispetto ai vecchi modelli client-based. Il modello SaaS ha ridotto gli investimenti iniziali, mentre il cloud ha eliminato la necessità di acquistare, configurare e gestire server. I costi di implementazione, supporto e upgrade, tuttavia, non sono diminuiti in modo significativo.
I temuti upgrade del software
Molti sostengono che oggi gli aggiornamenti dei software cloud siano semplicissimi perché vengono distribuiti automaticamente ai clienti. È vero solo in parte. In genere, i vendor rendono disponibili le nuove funzionalità attraverso release obbligatorie, mentre le correzioni alle funzionalità esistenti sono spesso facoltative, perché potrebbero compromettere le personalizzazioni dei clienti. Di conseguenza, alcune organizzazioni le rimandano per anni perché costi e rischi sono troppo elevati. Molte evitano del tutto gli upgrade finché non termina il supporto della versione in uso. I team IT spesso configurano miglioramenti sofisticati per risolvere problematiche di business complesse. In molte occasioni, le innovazioni realizzate dai miei clienti erano talmente valide da ispirare persino la progettazione dei miei prodotti successivi.
Tuttavia, quando i software vendor introducono nuove funzionalità, i clienti scoprono di dover eliminare anni di configurazioni prima di poter adottare le nuove capability. Per questo molti preferiscono mantenere le proprie soluzioni personalizzate, anche quando i vendor offrono funzionalità analoghe.
Come i vendor di software creano debito tecnico
Quando un product team individua dei difetti in un design esistente, spesso non può semplicemente correggere il problema. Negli ambienti cloud, modificare le funzionalità core può compromettere le personalizzazioni dei clienti. Di conseguenza, i product manager spesso sviluppano versioni completamente nuove delle funzionalità accanto a quelle precedenti, consentendo ai clienti di attivarle attraverso le impostazioni di configurazione.
Duplicare le funzionalità protegge i clienti da interruzioni accidentali, ma genera anche debito tecnico. Con il tempo, il software si appesantisce di funzionalità obsolete, oggetti inutilizzati e opzioni di configurazione poco chiare. I consulenti che si occupano dell’implementazione finiscono per non sapere quale sia la versione più aggiornata di una determinata funzionalità. Anche le performance possono risentirne e i product team dedicano il proprio tempo alla manutenzione di vecchi design anziché all’innovazione.
Persino la semplice correzione di un bug può diventare complicata. Un cliente potrebbe aver già creato un workaround per aggirare un difetto e correggere il bug potrebbe involontariamente compromettere quel workaround. Qualunque sia la decisione, qualcuno finirà per essere insoddisfatto.
I product manager sognano di creare funzionalità capaci di trasformare interi settori. Invece, gran parte del loro tempo viene assorbita dalla gestione dei backlog, dalla risoluzione dei bug e dal mantenimento della compatibilità con gli upgrade. Le risorse sono limitate e le tempistiche delle release aggressive. Anche quando arrivano approvazione e finanziamenti per innovazioni significative, i team finiscono comunque per avere budget insufficienti e scadenze irrealistiche, perché quella che tutti consideravano una singola funzionalità si rivela in realtà un’intera area funzionale con un centinaio di varianti.
La sfida di creare funzionalità specifiche per ogni settore
Il motivo per cui ogni strada conduce alla personalizzazione diventa evidente non appena un product manager inizia a raccogliere i requisiti.
Potrebbe cominciare intervistando diversi account manager del suo principale cliente retail, per poi scoprire che ciascuno opera in modo molto diverso. E da lì la complessità non fa che aumentare. I canali convenience, wholesale e indirect hanno ciascuno requisiti specifici. Le pratiche di business variano notevolmente da un mercato all’altro. Le piccole aziende Consumer Packaged Goods (CPG) affrontano problematiche specifiche. I settori regolamentati, come quelli di alcol e tabacco, aggiungono un ulteriore livello di complessità. Le aziende che utilizzano modelli di direct store delivery o van sales operano in modo ancora diverso, mentre le organizzazioni B2B che vendono a hotel, ristoranti e bar presentano un altro insieme di esigenze.
In poco tempo, quello che sembrava un singolo requisito si trasforma in decine di scenari di business perfettamente legittimi. A quel punto, il product manager deve affrontare scelte difficili. Deve creare una piattaforma estremamente flessibile che consenta ai clienti di sviluppare autonomamente il cosiddetto last mile? Concentrarsi in profondità su alcuni use case e lasciare che siano i clienti a sviluppare gli altri? Oppure trovare un compromesso che risponda parzialmente a una serie di scenari?
Nessuno di questi approcci elimina la necessità di personalizzazione. Una piattaforma flessibile richiede ai clienti di configurare autonomamente i propri processi. Una soluzione altamente specializzata lascia inevitabilmente dei gap che i clienti devono colmare da soli.
È per questo che alla fine sono giunto alla conclusione che “configura, non personalizzare” fosse fuorviante. Le moderne piattaforme enterprise sono così avanzate che, tecnicamente, tutto può essere considerato configurazione. I clienti possono creare workflow complessi, regole di business, relazioni tra dati e automazioni senza scrivere codice. E dal punto di vista degli upgrade, queste configurazioni sono problematiche quanto le personalizzazioni realizzate tramite codice.
La sfida di fondo resta la stessa: nessun software vendor può prevedere e preconfigurare tutti i modi in cui un’organizzazione deve operare.
Inizia l’era del vibe coding
L’ascesa degli strumenti di vibe coding, che utilizzano l’AI per generare e perfezionare software principalmente attraverso istruzioni in linguaggio naturale, sta cambiando radicalmente il software enterprise. I product team possono ora sviluppare funzionalità molto più rapidamente e anche i clienti possono creare le capability necessarie per il proprio last mile in modo più veloce e sicuro.
Questo solleva una domanda fondamentale per il settore: ora che i software vendor possono sviluppare con l’AI centinaia di possibili scenari di business, ciò che creeranno sarà altrettanto valido di quello che i clienti possono configurare autonomamente?
Credo che le aziende di software seguiranno una di due strade. Alcune investiranno ancora di più nella creazione di soluzioni estremamente dettagliate per il maggior numero possibile di use case. Se avranno successo, creeranno software robusti che richiederanno poche competenze sui processi di business per essere implementati. Se falliranno, si ritroveranno invece con software impossibili da riconfigurare, difficili da migliorare e costosi da aggiornare.
Altre punteranno con ancora maggiore decisione su piattaforme che consentano ai clienti di creare facilmente e in autonomia le funzionalità last mile esattamente come desiderano. Questi clienti potranno sviluppare rapidamente funzionalità capaci di offrire loro un vantaggio competitivo. Tuttavia, se i requisiti saranno troppo complessi, rischieranno di creare un sistema che semplicemente non funziona.
Una nuova attenzione sugli acceleratori
Per ridurre i rischi dell’approccio basato sulle piattaforme, credo che i SI torneranno a puntare con decisione sugli acceleratori. Questi strumenti erano diventati meno popolari man mano che le aziende software privilegiavano la configurazione rispetto alla personalizzazione, ma l’AI potrebbe invertire questa tendenza. Il grande vantaggio degli acceleratori rispetto alle funzionalità preconfigurate dai vendor è che possono essere riconfigurati, mentre le funzionalità dei vendor devono essere necessariamente più rigide.
È un aspetto importante, perché anche una sola formula errata nascosta tra mille righe di codice di un software vendor può rendere inutilizzabile un’intera area funzionale. Con l’acceleratore di un SI, invece, quella formula può essere modificata facilmente. Questo rappresenta un vantaggio significativo dell’approccio basato su piattaforme o acceleratori rispetto alle soluzioni preconfigurate dei software vendor.
A che punto siamo oggi?
Le organizzazioni che acquistano software enterprise si trovano oggi davanti a una scelta difficile: aspettare che i software vendor offrano funzionalità specializzate e specifiche per il proprio settore, oppure adottare lo sviluppo assistito dall’AI e creare soluzioni altamente personalizzate, eventualmente con l’aiuto di un accelerator.
In entrambi i casi, il settore del software enterprise potrebbe finalmente essere vicino al momento in cui riuscirà a generare il valore di business promesso da decenni: non eliminando la personalizzazione, ma accogliendola.
- LEGGI ANCHE: Retail media: il motore di crescita da 100 miliardi di dollari che i retailer non possono ignorare
COSA FARE ORA
Scopri come NTT DATA ti aiuta a ripensare il futuro del retail e dei Consumer Packaged Goods, mettendo a disposizione tecnologia e competenze per offrire esperienze di acquisto fluide, personalizzate e sostenibili.