00:00:05 Introduzione all’argomento della manutenibilità del supply chain software.
00:01:22 Spiegazione di come il software possa degradarsi nel tempo, usando Microsoft come esempio.
00:03:01 Discussione delle differenze tra la manutenibilità dei prodotti Microsoft e altri software.
00:04:16 Spiegazione del motivo per cui il software deve cambiare nel tempo a causa dei cambiamenti nell’hardware informatico e delle preoccupazioni sulla sicurezza.
00:07:50 Discussione della prospettiva da cui la manutenibilità dovrebbe essere considerata e del problema di guardare alla sopravvivenza del fornitore.
00:09:08 La compatibilità di Microsoft con oltre un milione di stampanti come esempio della portata dell’impresa.
00:10:07 Come il design del software influisce sulla manutenibilità e la necessità che l’ingegneria del software sia altamente manutenibile.
00:11:07 L’importanza di analizzare gli incentivi dei fornitori per garantire la manutenibilità del software.
00:13:03 La manutenibilità è una questione di design e la conservazione della massa tecnologica è la chiave per avere un prodotto manutenibile.
00:16:00 Discussione sull’importanza della manutenibilità del software.
00:17:00 Gli incentivi dei fornitori per garantire la manutenibilità del software.
00:19:00 Come identificare il software manutenibile.
00:21:02 Sintomi di un software non manutenibile.
00:23:13 Riflessioni finali sull’importanza della manutenibilità del software.

Sommario

In un’intervista, Kieran Chandler e Joannes Vermorel discutono l’importanza della manutenibilità del software, in particolare nel supply chain software. Vermorel sostiene che la manutenibilità è principalmente una questione di design e che viene spesso trascurata dalle aziende che si concentrano esclusivamente sulla sopravvivenza di un fornitore. Egli osserva che il software diventa non manutenibile nel tempo a causa dei cambiamenti tecnologici e dell’entropia, e sottolinea l’importanza della compatibilità, della sicurezza e della semplicità nel design del software. Vermorel avverte inoltre di non cadere nella trappola di usare interfacce utente appariscenti e suggerisce di mettere in discussione in modo approfondito gli sviluppatori sui loro piani per la manutenibilità, per garantire una sostenibilità a lungo termine.

Riassunto Esteso

In questa intervista, Kieran Chandler e Joannes Vermorel discutono le sfide nel mantenere un supply chain software e come un buon design possa influire sulla sua longevità. Vermorel spiega che, sebbene il software non si degradi come gli oggetti fisici, si disintegra nel tempo a causa dell’entropia e dei cambiamenti nel panorama tecnologico. Aziende come Microsoft hanno avuto successo perché hanno dimostrato un forte impegno per la sopravvivenza a lungo termine dei loro prodotti, rendendo possibile aprire e utilizzare documenti più vecchi ancora oggi.

Vermorel osserva che la capacità di Microsoft di mantenere la longevità del loro software deriva dai loro enormi investimenti nella manutenzione e dal loro focus sulla compatibilità. Egli lo contrappone a Linux, che, pur essendo più snello e organizzato in modo più sensato, non offre lo stesso livello di retrocompatibilità. Vermorel riconosce che il supply chain software è ancora più complesso a causa della sua natura distribuita e dei numerosi componenti in movimento coinvolti.

Mantenere un supply chain software risulta ancora più difficile per il fatto che l’hardware informatico evolve continuamente. Sebbene la virtualizzazione possa aiutare a mitigare alcuni problemi, non è una soluzione perfetta. Inoltre, il modo in cui gli utenti interagiscono con il software è in costante cambiamento, come l’aumento della diffusione dei touch screen e dei display ad alta risoluzione. Il software più vecchio potrebbe non essere progettato per questi sistemi moderni, rendendolo meno intuitivo e potenzialmente insicuro.

Vermorel sostiene che la manutenibilità del software sia spesso trascurata e fraintesa. La preoccupazione tipica riguarda se un fornitore sarà ancora presente in futuro, ma lui ritiene che questo approccio sia debole per affrontare il problema. Egli osserva che avere un fornitore sopravvissuto è un vantaggio, ma non una garanzia di manutenibilità. In realtà, alcuni fornitori hanno un incentivo perverso a creare prodotti non manutenibili per vendere nuove versioni.

L’intervistato sottolinea che il problema della manutenibilità dovrebbe essere esaminato da una prospettiva diversa. Egli spiega che software complessi, come i sistemi enterprise supply chain, hanno milioni di componenti in movimento e numerose aziende che vi lavorano simultaneamente. Questi sistemi devono affrontare continui aggiornamenti e cambiamenti per restare compatibili con vari hardware e sistemi operativi. Garantire la compatibilità diventa un’impresa enorme, come illustra Vermorel con la compatibilità di Microsoft con oltre un milione di stampanti.

Egli sostiene che, per impostazione predefinita, il software non è manutenibile a meno che non sia stato progettato appositamente per esserlo. Sottolinea inoltre che l’attenzione non dovrebbe concentrarsi esclusivamente sulla sopravvivenza di un singolo fornitore, ma sull’intero ecosistema delle aziende coinvolte nella supply chain. Vermorel crede che la manutenibilità sia fondamentalmente una questione di design, in particolare per quanto riguarda la conservazione della massa tecnologica.

Per conquistare clienti attraverso le demo, le aziende utilizzano spesso le tecnologie più recenti e avanzate per la visualizzazione dei dati, l’esperienza utente e l’analisi in tempo reale. Ciò crea un effetto “wow”, che può essere un punto di forza nella vendita. Tuttavia, Vermorel mette in discussione questo approccio, citando l’esempio di schermate ERP dall’aspetto datato che ricordano terminali testuali degli anni ‘80. Nonostante il loro aspetto, queste schermate sono incredibilmente veloci, reattive e hanno dipendenze minime, rendendole altamente manutenibili ed efficienti.

Vermorel sottolinea che non ogni livello del software necessita di innovazione, poiché è più importante avere stabilità in certe aree come la gestione del calendario o l’archiviazione delle password. Inoltre, egli nota che l’ingegneria del software ha una storia ricca da cui imparare, e la manutenibilità dovrebbe essere una priorità. Tuttavia, i clienti e i potenziali acquirenti spesso trascurano questo aspetto, concentrandosi più sul fatto che un’azienda sarà ancora presente in futuro piuttosto che sulla manutenibilità del loro software.

Per determinare se un software è manutenibile, Vermorel suggerisce di esaminare gli incentivi offerti dal fornitore. Ad esempio, un fornitore che addebita elevate tariffe di implementazione e concentra i ricavi all’inizio del progetto potrebbe avere l’incentivo a ripetere tali costi il più spesso possibile. Lokad, invece, addebita una tariffa mensile senza impegno, assicurando che l’azienda abbia un interesse diretto e rendendo la manutenibilità una priorità.

Vermorel evidenzia inoltre l’importanza delle soluzioni Software as a Service (SaaS), poiché garantiscono che il fornitore sia responsabile della manutenzione del proprio software. Egli mette in guardia contro la complessità tecnologica, in cui le aziende vantano numerosi componenti all’avanguardia che potrebbero diventare un incubo da mantenere a causa dei loro cicli di vita individuali. Invece, suggerisce che una soluzione semplice e manutenibile dovrebbe essere la priorità per i professionisti della supply chain.

Vermorel spiega che, anche se le aziende investono in sistemi supply chain, questi spesso diventano inutilizzabili nel tempo a causa di vari malfunzionamenti e problemi che emergono. Man mano che il numero di malfunzionamenti aumenta, il software diventa più difficile da mantenere e utilizzare. Di conseguenza, gli utenti abbandonano le funzionalità del sistema e ricorrono a utilizzare i fogli di calcolo di Microsoft Excel come soluzione alternativa.

Egli racconta che questa situazione è un evento comune nel settore e riflette i sintomi di una soluzione che è diventata completamente non manutenibile. Vermorel avverte che interfacce utente appariscenti non garantiscono necessariamente un prodotto ben funzionante e potrebbero persino nascondere potenziali problemi di manutenibilità. D’altra parte, interfacce utente datate possono anch’esse essere un campanello d’allarme, in quanto potrebbero indicare una mancanza di manutenzione e aggiornamenti da parte del fornitore.

Per evitare di cadere nella trappola di un software non manutenibile, Vermorel consiglia alle aziende di mettere in discussione in maniera approfondita gli sviluppatori sui loro piani per la manutenibilità e di comprendere le decisioni chiave di design che contribuiscono alla sostenibilità a lungo termine del software. Sottolinea che senza un’attenta considerazione della manutenibilità, il software nel settore tende a essere di default non manutenibile.

Vermorel conclude evidenziando le somiglianze tra il supply chain software e i sistemi di trading ad alta frequenza in ambito finanziario, notando che entrambi utilizzano spesso interfacce utente basate su testo. Sebbene queste interfacce possano sembrare datate, sono efficienti e manutenibili grazie alle loro minime dipendenze e al design semplificato.

Trascrizione Completa

Kieran Chandler: Ehi, quando si investe in un supply chain software, ci si aspetta che duri per decenni per l’azienda anziché solo per pochi anni. Tuttavia, dal punto di vista dei fornitori, il panorama tecnologico in rapida evoluzione fa sì che mantenerlo non sia affatto un compito semplice. Perciò, oggi discuteremo della manutenibilità e del motivo per cui rappresenta una sfida, oltre a comprendere come possa essere influenzata da un buon design. Quindi, è un argomento intrigante per oggi, e la manutenibilità è qualcosa che normalmente non si assocerebbe al software. Il software in realtà non si degrada. Allora, qual è l’idea?

Joannes Vermorel: Beh, in realtà, il software si degrada. Sì, non è come il degrado meccanico, in cui l’usura porta a strappi e parti consumate fino al punto che gli oggetti diventano fisicamente fragili e si rompono. Il software non è la stessa cosa, ma le cose si disintegrano col tempo. Questo è qualcosa di forse molto sorprendente, perché alcune delle più grandi e di successo aziende di software, ad esempio Microsoft, sono state incredibilmente riuscite proprio perché hanno avuto un impegno pazzesco per la sopravvivenza a lungo termine dei loro prodotti. È letteralmente una testimonianza del successo di Microsoft che, al giorno d’oggi, si possa prendere un documento di Microsoft Word modificato nel 1995, aprirlo e persino stamparlo. È incredibile, ma è anche ciò che la maggior parte delle persone non riesce a comprendere: che Microsoft era abbastanza unica in questo senso, avendo questa mentalità di impegno a lungo termine per i propri prodotti. Se provassi uno qualsiasi dei loro concorrenti, e al giorno d’oggi, la gente non ricorda nemmeno che Microsoft Word ed Excel avessero molti concorrenti, nulla di tutto ciò funzionerebbe davvero.

Quindi, procediamo con l’idea che il software si degrada, e lo fa principalmente a causa dell’entropia, del fatto che questo è un panorama in costante mutamento. L’hardware sta cambiando, e il software è un prodotto molto composito. Alla sua base, per far funzionare qualsiasi cosa, sono tipicamente coinvolte dozzine di parti fornite da dozzine di aziende, e tali componenti non sono naturalmente ben mantenute nel tempo. Quando qualcosa cambia, non c’è una ragione chiara per cui tutte le altre parti dovrebbero rimanere completamente compatibili e integrate correttamente con quella che è appena cambiata.

Kieran Chandler: Già, voglio dire, il panorama tecnologico sta cambiando davvero rapidamente. Allora, che cosa ha fatto bene Microsoft? Perché sono riusciti a influenzare la longevità del loro software?

Joannes Vermorel: Fondamentalmente, ci tenevano davvero e hanno fatto investimenti enormi a tal proposito. Molti si lamentano che Microsoft Windows sia così ingombrante, che ci siano così tante cose, e se si opta per un sistema operativo Linux, è molto più snello, meglio organizzato e complessivamente più sensato. È vero, assolutamente vero. Ma prova a eseguire un programma scritto per Linux 25 anni fa; non funzionerà. I giochi che acquistai da adolescente negli anni ‘90 per Windows 95 ancora oggi funzionano. Quindi, credo che questo lo illustri.

Kieran Chandler: Si possono fare le cose nel modo giusto con, direi, un livello di impegno pazzesco. E se leggi i blog di Microsoft su ciò che fanno per garantire la manutenibilità, direi che vanno a lunghe misure, letteralmente. Ora, per il supply chain software, non ci si può aspettare lo stesso grado di impegno, semplicemente perché il mercato non è così grande e non ci sono aziende disposte a spingersi così oltre. Inoltre, c’è un altro problema, ovvero che il supply chain software è anche molto, molto complesso perché tipicamente distribuito, e ci sono moltissime componenti in movimento. Quindi, questo rende la manutenibilità ancora più complicata. E ora la domanda è: perché apportare cambiamenti, e perché non poter semplicemente congelare un software e utilizzarlo per sempre?

Joannes Vermorel: La risposta è che, innanzitutto, l’hardware informatico stesso sta cambiando, quindi non puoi semplicemente dire che questo software funzionerà per sempre. Voglio dire, sì, ora si può utilizzare la virtualizzazione per mitigare la maggior parte di quei problemi, anche se la virtualizzazione spesso non offre un’emulazione perfettamente completa dell’hardware che si aveva in passato, quindi può aiutare. Ma poi, non si tratta solo dell’hardware per il calcolo; c’è anche il fatto che, per esempio, il modo in cui si fruiscono gli schermi è cambiato. Oggi gli schermi hanno molti più pixel, si possono avere touch screen, e ci sono molte cose che non si comportano esattamente come nei vecchi sistemi. A volte si hanno persino sistemi strani, in cui i tasti della tastiera semplicemente spariscono. Quindi, se il software era progettato per un certo tasto, potrebbe essere stato ovvio al tempo, ma ora che il tasto non c’è più o la disposizione della tastiera è diversa, diventa molto meno intuitivo.

Ed è solo una parte del problema, che evolve relativamente lentamente, ma poi intervengono tutte le questioni di sicurezza. La maggior parte del software prodotto storicamente non è stata assolutamente progettata per le minacce moderne di oggi. Questo mette quindi un’enorme pressione, costringendo a modificare un’infinità di componenti in molti moduli software.

Kieran Chandler: Quindi, la gente tende sempre a volere usare le tecnologie più recenti nei loro ambienti di lavoro. Diresti che questo è più un problema dominante oppure riguarda maggiormente la sicurezza e il fatto che non sarebbe sicuro utilizzarle?

Joannes Vermorel: In primo luogo, la manutenibilità è una specie di problema di cui i manager della supply chain sono per lo più inconsapevoli, e quando ne sono consapevoli, vedono il problema solo da una prospettiva che ritengo estremamente debole, ossia se il fornitore sarà ancora presente oppure no. E la mia proposta è che la manutenibilità non ha nulla a che fare con la sopravvivenza del fornitore. Sì, avere un fornitore ancora attivo è una specie di vantaggio, ma non è davvero un grande vantaggio perché, diciamocelo, molti fornitori hanno un enorme incentivo perverso a rendere qualcosa assolutamente non manutenibile. Altrimenti, come intenderebbero vendere la versione successiva? Se torniamo al motivo per cui direi che solitamente questo problema è addirittura assente, è perché non si sta guardando al problema nel modo giusto.

Kieran Chandler: Bisogna pensare, immagina, un pezzo di software complesso come un enterprise supply chain system. Immagina un sistema che avesse, sai, milioni di parti in movimento, letteralmente milioni, e avessi dozzine di aziende che modificano, in ogni singolo momento, alcune di quelle parti per una enorme varietà di motivi. A volte vuoi essere compatibile con nuovi hardware, quindi, facendolo, potresti accidentalmente creare incompatibilità con hardware antiquato. Potresti voler essere compatibile con un nuovo sistema operativo perché, per esempio, Linux continua a cambiare, Windows continua a cambiare, quindi vuoi sostanzialmente essere compatibile con l’ultima versione. Ma introducendo una compatibilità con il sistema più recente, potresti accidentalmente introdurre alcune incompatibilità con il sistema antiquato.

Kieran Chandler: E giusto per dare un’idea della portata del compito, stavo leggendo in una pubblicazione Microsoft che, a un certo punto, Microsoft garantiva la compatibilità con oltre un milione di stampanti. Basti pensare: un milione di stampanti con driver differenti, set di istruzioni, hardware diverso, ecc. Questo è lo sforzo ingegneristico necessario per garantire la compatibilità con un milione di dispositivi. È quasi pazzesco. E poi, c’è sempre chi dice, “Ah, Windows è una schifezza. Ho appena collegato la mia stampante di 17 anni che era l’Epson 7.1.6 punto B, edizione slovacca, e indovina un po’, Microsoft non è al 100% compatibile con questo dispositivo, che è ovviamente un riferimento di punta.”

Joannes Vermorel: Ma, scherzi a parte, hai questo enorme pezzo di software nella supply chain con tonnellate di parti in movimento. Il database su cui ti basi viene costantemente aggiornato, gli strati di rete che utilizzi sono costantemente aggiornati, il web server che usi viene continuamente aggiornato. Hai così tante parti in movimento. E per impostazione predefinita, se non progetti specificamente il tuo software per essere altamente manutenibile, non sarà manutenibile. Il punto della supply chain è che è molto più un gioco a lungo termine che le persone stanno giocando. Non si tratta solo del fornitore a cui dovremmo pensare, ossia se resterà in gioco, ma riguarda anche tutte le persone con cui il fornitore interagisce. E quindi, quanta fiducia puoi davvero avere che anche queste altre aziende saranno ancora presenti in futuro? Di nuovo, il fatto che le aziende restino o meno, in gran parte, non mi interessa. Questo non è il modo corretto di pensare. Se hai fornitori che sono ancora presenti ma hanno un forte incentivo a rendere il prodotto non manutenibile per vendere di più, hai davvero fatto progressi in termini di manutenibilità, o ti sei diretto nella direzione opposta? Devi analizzare la situazione attraverso gli incentivi che le persone hanno. Un’altra cosa è che, per la maggior parte, credo che la manutenibilità sia fondamentalmente una questione di design. Ma di che tipo di design stiamo parlando esattamente? E qui, credo che si tratti principalmente della conservazione della massa tecnologica.

Kieran Chandler: Vedi, se vuoi avere un prodotto che offra demo davvero fantastiche, di cosa hai bisogno? Hai bisogno dell’ultima e più cool libreria di visualizzazione dati, dell’ultima e più cool libreria UX. Se vuoi avere analisi in tempo reale sofisticate, devi disporre dell’ultimo e più cool sottosistema per farlo, e così via. I tuoi incentivi per conquistare clienti attraverso le demo sono di avere un effetto wow. Per esempio, molti dei miei clienti mi dicevano che le loro schermate ERP sembravano semplicemente terminali di testo, puramente in bianco e nero. Dicevano, “Oh, dobbiamo veramente fare qualcosa.”

Joannes Vermorel: Metto in discussione questo perché quando guardo quei terminali che sembrano usciti dai primi anni ‘80 o dalla fine degli anni ‘70, vedo che le persone li usano e sono superveloci, incredibilmente reattivi. Lo schermo è ultra-minimalista, con solo pochi comandi che devi conoscere a memoria, e basta. Non c’è assolutamente nessuna distrazione; è puramente utilitaristico. Le persone raggiungono una produttività incredibile con esso. Sì, può sembrare brutto, ma è altamente manutenibile perché non hai letteralmente alcuna dipendenza e certamente nessuna dipendenza web con browser che continuano a cambiare.

Quindi, se osservi sia la parte più vecchia della supply chain sia la parte più avanzata del trading ad alta frequenza in finanza, vedrai che le interfacce utente sono simili. Se guardi quei trader quantitativi che utilizzano sistemi super avanzati, la loro interfaccia utente assomiglia di nuovo a un terminale di testo. È un po’ bizzarro, quelle persone sono assolutamente all’avanguardia e la loro interfaccia sembra completamente datata. È l’opposto di ciò che si immagina dalle interfacce utente dei film di Hollywood.

Kieran Chandler: Sembra piuttosto frustrante perché tutti vogliono utilizzare le tecnologie più recenti. Quindi, stai dicendo che avere un prodotto molto manutenibile significa che, in definitiva, non puoi essere al passo con le tecnologie d’avanguardia?

Joannes Vermorel: Se sei all’avanguardia in termini di manutenibilità, perché no? Non sto dicendo che non abbiamo fatto progressi in quest’area, li abbiamo fatti. È solo che non genera alcun effetto wow. Quando hai in atto strategie di versioning molto pulite e i componenti che scegli hanno filosofie molto interessanti, come l’essere flessibili o scegliere componenti software la cui filosofia riguarda la manutenibilità, allora è ottimo.

Utilizziamo alcuni componenti che sono open-source con esattamente questa filosofia. Si dice che esista un manifesto: questo problema è stato studiato negli ultimi 20 anni, e siamo giunti a quello che riteniamo il miglior compromesso in termini di design. Ora, tutto ciò che faremo con questo componente sarà una manutenzione adeguata solo per garantire che, in termini di sicurezza, non ci siano problemi seri.

Kieran Chandler: In termini di compatibilità, non ci sono problemi accidentali, e non continueremo a reinventarci. Quindi dici che è deludente, è l’opposto dell’innovazione. Ma, ancora, è necessario avere innovazione su ogni livello del tuo software? Continuerai a reinventare il modo in cui gestisci il calendario, o il modo in cui memorizzi le password, per esempio, a meno che non ci sia qualche attacco crittografico che richieda un aggiornamento? Quindi, vuoi scegliere elementi che siano già stabili.

Joannes Vermorel: L’ingegneria del software non è una disciplina nuova. Abbiamo circa 50 anni di storia da cui imparare. Ma la questione è che, di nuovo, poiché i clienti o i potenziali clienti non prestano attenzione a questo, fanno domande ingenue come, “Resterete ancora in giro?” contro “Qual è il vostro incentivo a fare in modo che il vostro software sia davvero manutenibile, invece di fare il contrario affinché io acquisti la vostra prossima licenza?”

Kieran Chandler: Quindi, cosa dovrebbe cercare il professionista della supply chain? Quali sono gli indizi che c’è un pezzo di software molto manutenibile rispetto a un software che è magari un po’ antiquato e in cui le persone si stanno limitando a essere pigre?

Joannes Vermorel: Innanzitutto, direi di guardare agli incentivi, perché non è così tecnico. Per esempio, se stai acquistando una licenza o qualcosa in cui il fornitore addebita costose tariffe di implementazione, ciò significa che i loro ricavi sono concentrati all’inizio del progetto. Quello che succede dopo è solo una diminuzione continua, quindi è letteralmente una tendenza al ribasso. Il fornitore ha un incentivo strutturale a far ripetere quelle costose tariffe di implementazione il più frequentemente possibile.

Guardate Lokad. Addebitiamo una tariffa mensile senza impegno, e generalmente raggiungiamo il pareggio dopo due anni. La manutenibilità è fondamentalmente una tariffa fissa, quindi il costo in termini di manutenibilità incide sul margine di Lokad. Quando ho posizionato Lokad, ho deciso che abbiamo qualcosa a rischio, che stiamo pagando il prezzo di avere un software non manutenibile, e questo ci dà un enorme incentivo a rendere qualcosa di manutenibile. Non c’è denaro da guadagnare, anzi, c’è denaro da perdere per noi in quanto fornitore se non è manutenibile.

Quindi, un abbonamento mensile in cui assicuri che il tuo fornitore perda denaro all’inizio è un ottimo inizio sano che incornicia il problema, quindi sarà manutenibile. E poi, vuoi assicurarti che il fornitore si occupi della manutenzione del proprio software, che è fondamentalmente ciò di cui tratta il Software as a Service (SaaS). Se non è manutenibile, è prima di tutto un problema del fornitore, non il tuo problema come azienda operante.

Kieran Chandler: Quindi, parlando del software per la supply chain, vedo spesso slide e presentazioni PowerPoint dei concorrenti che mostrano tutti i componenti della loro soluzione. Sembra che abbiano 20 sottocomponenti super sofisticati e complessi, come TensorFlow, Apache Spark, Kafka, MongoDB, React, Redux, e molti altri. Affermano di essere all’avanguardia, ma quando vedo questo, penso che sarà un incubo da manutenere. Ogni componente ha il proprio ciclo di vita, e non c’è alcuna garanzia che funzioneranno insieme a lungo termine. Puoi condividere qualche esempio in cui ti sei imbattuto in un software non manutenibile e le problematiche che ne sono derivate?

Joannes Vermorel: A livello sintomatico, si può notare che quando le persone si arrendono al software e passano a utilizzare Microsoft Excel e fogli di calcolo per gestire le supply chain. Non è che le grandi aziende non abbiano acquistato sistemi per la supply chain; potrebbero averne acquistati anche tre negli ultimi decenni. Questi sistemi hanno moduli complessi per la previsione, riapprovvigionamento, ottimizzazione dell’assortimento e gestione delle promozioni. Tuttavia, dopo l’implementazione iniziale, che è stata supportata dal fornitore, le persone iniziano a incontrare errori. Col tempo, questi errori si accumulano e il sistema diventa più difficile da manutenere.

Kieran Chandler: Quindi, cosa succede quando si arrendono al software?

Joannes Vermorel: Quando le persone si arrendono al software, abbandonano completamente le funzionalità e ricorrono all’uso dei fogli di calcolo Excel. Decidono di scegliere le loro battaglie e concentrarsi su una sola cosa – esportare i dati in un foglio Excel. Rinunciano alle loro speranze di far funzionare qualsiasi altra cosa se non la funzionalità di esportazione in Excel.

Kieran Chandler: I fogli di calcolo, e quella è una storia che ho visto in dozzine di aziende. Sono letteralmente i sintomi di una soluzione che è diventata completamente non manutenibile.

Joannes Vermorel: Bene, se iniziamo a concludere per oggi, il messaggio principale è che non tutto ciò che luccica è oro, e forse dovremmo essere un po’ diffidenti verso quelle aziende che hanno interfacce utente appariscenti perché in futuro potrebbero esserci problemi di manutenibilità. Voglio dire, ancora, non sto dicendo che avere un’interfaccia utente scadente sia una soluzione. Se ti confronti con un fornitore la cui soluzione sembra provenire dagli anni ‘90, è probabile che sia già così non manutenibile che il fornitore non è riuscito nemmeno ad aggiornare la sua interfaccia. Quindi, non esiste una regola ferrea, ma il mio consiglio è di mettere in discussione anche lo sviluppo interno, il software in-house. Devi davvero sfidare le persone responsabili dello sviluppo. Qual è il tuo piano per la manutenibilità? Quali sono le decisioni di design chiave che stai prendendo ora per garantire che il tuo software sia manutenibile? E ancora, se le persone non hanno una visione molto precisa di come le decisioni di design che stanno prendendo plasmeranno la futura manutenibilità del software, allora, come regola generale, puoi valutare che il software sarà non manutenibile perché è lo stato predefinito dei prodotti ingegnerizzati in questo settore senza prestare la dovuta attenzione alla manutenibilità. È non manutenibile per impostazione predefinita.

Kieran Chandler: Bene, concludiamo. Questo è tutto per questa settimana. Grazie per averci seguito, e ci vediamo nel prossimo episodio. Grazie per aver guardato.