Close Menu

    Ricevi gli aggiornamenti

    Resta aggiornato sulle novità del mondo del Tech! Iscriviti alla newsletter di Tech 360.

    Iscriviti alla newsletter
    Gli ultimi articoli

    Una riga di codice alla volta: come diventare un punto di riferimento per l’ingegneria del software in Italia | Techpreneurs Talks 10 con Alessandro Rossignoli

    23 Luglio 2025

    Quando l’AI diventa una fidanzata anime: il caso ANI, Grok e il problema dei synthetic companion

    22 Luglio 2025

    Come l’AI sta trasformando il lavoro degli sviluppatori: riflessioni pratiche | Techpreneurs Talks 009 con Riccardo Barbotti

    17 Luglio 2025

    Retail e Digital Transformation: il metodo concreto per innovare tra AI e resistenze culturali | Digital Champions 10 con Davide Basile

    10 Luglio 2025

    Vendere alle aziende grandi: come i fornitori tech B2B possono smettere di giocare nei campionati sbagliati

    9 Luglio 2025
    X (Twitter) Instagram YouTube LinkedIn
    • Chi siamo
    • Community
    • Podcast
    • Canale YouTube
    • Newsletter
    Instagram YouTube Spotify LinkedIn X (Twitter) TikTok Telegram RSS
    Tech 360Tech 360
    • AI

      Quando l’AI diventa una fidanzata anime: il caso ANI, Grok e il problema dei synthetic companion

      22 Luglio 2025

      Come l’AI sta trasformando il lavoro degli sviluppatori: riflessioni pratiche | Techpreneurs Talks 009 con Riccardo Barbotti

      17 Luglio 2025

      L’AI Act va avanti: perché l’Europa non ha fermato il suo piano sull’intelligenza artificiale

      7 Luglio 2025

      Green IT e AI: il costo invisibile dell’innovazione digitale

      3 Luglio 2025

      Perché il sito aziendale è più vivo che mai nell’era dell’AI

      1 Luglio 2025
    • Digital
      1. Digital Experience
      2. Digital Media
      3. Digital Platforms
      4. Trasformazione Digitale
      5. View All

      Perché il sito aziendale è più vivo che mai nell’era dell’AI

      1 Luglio 2025

      AI Agents e Machine Customers: come cambierà la Customer Experience nei prossimi anni

      27 Giugno 2025

      Dati frammentati, funnel scollegati, CRM inutilizzato? Il vero nemico è la tua infrastruttura digitale

      24 Giugno 2025

      Customer Technology: oltre il sito web, la nuova frontiera della trasformazione digitale

      16 Giugno 2025

      Diventare una Media Company – Strategie tech per le PMI nell’era dell’IA che risponde al posto dei motori di ricerca

      4 Luglio 2025

      Content is king, ma la distribuzione è regina. Strategie per massimizzare la reach dei tuoi contenuti digitali

      13 Febbraio 2025

      L’IA può trasformare la tua strategia di contenuti digitali?

      8 Febbraio 2025

      Da PMI a Media Company digitale – Riconfigurare il modello di business

      12 Settembre 2024

      Dal centro servizi al motore digitale: come trasformare davvero una piattaforma interna

      7 Luglio 2025

      Come costruire una strategia di digital commerce efficace per le PMI

      4 Luglio 2025

      Perché il sito aziendale è più vivo che mai nell’era dell’AI

      1 Luglio 2025

      Dati frammentati, funnel scollegati, CRM inutilizzato? Il vero nemico è la tua infrastruttura digitale

      24 Giugno 2025

      Retail e Digital Transformation: il metodo concreto per innovare tra AI e resistenze culturali | Digital Champions 10 con Davide Basile

      10 Luglio 2025

      Come costruire una strategia di digital commerce efficace per le PMI

      4 Luglio 2025

      Green IT e AI: il costo invisibile dell’innovazione digitale

      3 Luglio 2025

      Innovazione sistemica, AI e design strategico: il futuro delle imprese

      26 Giugno 2025

      Retail e Digital Transformation: il metodo concreto per innovare tra AI e resistenze culturali | Digital Champions 10 con Davide Basile

      10 Luglio 2025

      Dal centro servizi al motore digitale: come trasformare davvero una piattaforma interna

      7 Luglio 2025

      Diventare una Media Company – Strategie tech per le PMI nell’era dell’IA che risponde al posto dei motori di ricerca

      4 Luglio 2025

      Come costruire una strategia di digital commerce efficace per le PMI

      4 Luglio 2025
    • Tech
      1. Cloud
      2. Cyber Security
      3. Platform Engineering
      4. Scalabilità Tech
      5. Software Engineering
      6. Strategia Tecnologica
      7. View All

      Il cloud era il futuro. Ma per molte imprese è già diventato legacy

      23 Giugno 2025

      Perché il cloud costa troppo (e cosa fare per rimetterlo in riga)

      23 Giugno 2025

      Cloud come cultura: il metodo Archeido per trasformare le imprese con AWS

      Sponsor: Archeido7 Maggio 2025

      Il Tech Leader Strategico: Innovazione, Business e Trasformazione Digitale | Digital Champions 007 con Gianpiero Ciorra (Head of IT & Digital di Gambero Rosso)

      14 Febbraio 2025

      Come si innova nei sistemi di pagamento: l’esperienza di Danilo Baeri (CTO e COO di RCH) tra SoftPOS, IoT e compliance fiscale

      19 Giugno 2025

      Cybercrime e Intelligenza Artificiale: il Ruolo Cruciale dell’AI nella Cybersecurity | Hacking Expert 005 con Matteo Sala

      4 Ottobre 2024

      La Cybersecurity nell’era dell’Intelligenza Artificiale | CTO Show 119 con Massimo Bozza (Head of Product Security)

      18 Luglio 2024

      La sfida dell’Agilità nell’IT Service Management

      16 Giugno 2021

      Platform Engineering: perché le aziende tech devono iniziare da qui | CTO Show 131 con Dario Carmignani (Director e CTO di CRIF)

      16 Aprile 2025

      L’evoluzione di KIRATECH: 18 anni di successi nel mercato IT | Techpreneurs Talks 003 con Giulio Covassi (CEO & Founder di Kiratech)

      4 Ottobre 2023

      Scalare con la Cultura Aziendale | CTO Show 128 con Marco Brambilla (CTO di ShopFully)

      4 Dicembre 2024

      Introdurre il Career Path | CTO Show 121 con Emanuele Giarlini (Director of Engineering @ MOIA)

      3 Settembre 2024

      Gestire piattaforme complesse | CTO Show 103 con Marco Brambilla (ShopFully)

      14 Giugno 2023

      Da greenfield a scale up: tutto quello che devi sapere | CTO Show 095 con Francesco Panina (Fido)

      15 Marzo 2023

      Come l’AI sta trasformando il lavoro degli sviluppatori: riflessioni pratiche | Techpreneurs Talks 009 con Riccardo Barbotti

      17 Luglio 2025

      L’architettura che manca all’Agile: perché il futuro non si può improvvisare

      8 Luglio 2025

      Green IT e AI: il costo invisibile dell’innovazione digitale

      3 Luglio 2025

      Context Engineering: la nuova architettura invisibile del software AI-ready

      30 Giugno 2025

      L’architettura che manca all’Agile: perché il futuro non si può improvvisare

      8 Luglio 2025

      Green IT e AI: il costo invisibile dell’innovazione digitale

      3 Luglio 2025

      Context Engineering: la nuova architettura invisibile del software AI-ready

      30 Giugno 2025

      Vibe Coding: l’illusione creativa che (forse) ci sta facendo dimenticare come si scrive software

      24 Giugno 2025

      Come l’AI sta trasformando il lavoro degli sviluppatori: riflessioni pratiche | Techpreneurs Talks 009 con Riccardo Barbotti

      17 Luglio 2025

      L’architettura che manca all’Agile: perché il futuro non si può improvvisare

      8 Luglio 2025

      Green IT e AI: il costo invisibile dell’innovazione digitale

      3 Luglio 2025

      Context Engineering: la nuova architettura invisibile del software AI-ready

      30 Giugno 2025
    • Management
      1. Leadership Tech
      2. Product Management Digitale
      3. Hiring, Onboarding, Retention
      4. Performance & KPI del Team
      5. Diversity & Inclusion
      6. Future of Work
      7. View All

      Una riga di codice alla volta: come diventare un punto di riferimento per l’ingegneria del software in Italia | Techpreneurs Talks 10 con Alessandro Rossignoli

      23 Luglio 2025

      Come l’AI e il Digital Wallet stanno trasformando il mondo bancario (e non solo)

      12 Giugno 2025

      Come impostare una leadership ingegneristica che sia il più autonoma ed efficiente possibile a tutti i livelli

      11 Febbraio 2025

      Delegare con efficacia: come responsabilizzare il tuo team tecnico e massimizzare i risultati

      5 Febbraio 2025

      Strumenti e strategie per scalare i team di prodotto

      25 Giugno 2025

      Costruire prodotti digitali di alto livello: ambizione, metodo e AI

      24 Giugno 2025

      Perché il 63% delle PMI italiane fallisce i progetti digitali (e cosa fanno invece le imprese che crescono)

      9 Giugno 2025

      Agile è morto. Lavoriamo meglio da quando smettiamo di recitarlo

      7 Giugno 2025

      Onboarding degli sviluppatori – Guida per i leader tecnologici

      24 Gennaio 2025

      Dentro gli stipendi del 2024: il panorama del settore Tech in Italia | Hacking Expert 008 con Fabrizio Lalli di TechCompenso

      19 Dicembre 2024

      Tech Recruiting | Tech Story 013 con Guido Penta (Forloop)

      28 Febbraio 2024

      Come rendere produttivo un team tech | CTO Show 098 Bruno Bellissimo (UFirst)

      12 Aprile 2023

      Una riga di codice alla volta: come diventare un punto di riferimento per l’ingegneria del software in Italia | Techpreneurs Talks 10 con Alessandro Rossignoli

      23 Luglio 2025

      Come l’AI sta trasformando il lavoro degli sviluppatori: riflessioni pratiche | Techpreneurs Talks 009 con Riccardo Barbotti

      17 Luglio 2025

      Agile è morto. Lavoriamo meglio da quando smettiamo di recitarlo

      7 Giugno 2025

      Come sviluppare un reparto IT performante | CTO Show 101 Lorenzo De Francesco (Step 4 Business)

      17 Maggio 2023

      Donne e tecnologia: il gender gap esiste ancora | CTO Show 075 con Sara Puleo

      14 Settembre 2022

      Da Cloud Wizard a Speaker: la storia di Lorenzo Barbieri | Tech Story 003

      1 Giugno 2022

      Coordinare i team e gestirne la diversity | CTO Show 062 con Michael Sogos (Viceversa)

      25 Maggio 2022

      Abilitare team inclusivi e realizzare prodotti tech migliori

      14 Luglio 2021

      Dalla Silicon Valley alla Valtellina: La rivoluzione delle aziende fluide | Tech Stories 016 con Fabrizio Capobianco

      9 Gennaio 2025

      Come sviluppare un reparto IT performante | CTO Show 101 Lorenzo De Francesco (Step 4 Business)

      17 Maggio 2023

      OKR: tutto quello che c’è da sapere | Hacking Antonio Civita (STRTGY)

      19 Aprile 2023

      Come rendere produttivo un team tech | CTO Show 098 Bruno Bellissimo (UFirst)

      12 Aprile 2023

      Una riga di codice alla volta: come diventare un punto di riferimento per l’ingegneria del software in Italia | Techpreneurs Talks 10 con Alessandro Rossignoli

      23 Luglio 2025

      Come l’AI sta trasformando il lavoro degli sviluppatori: riflessioni pratiche | Techpreneurs Talks 009 con Riccardo Barbotti

      17 Luglio 2025

      Strumenti e strategie per scalare i team di prodotto

      25 Giugno 2025

      Costruire prodotti digitali di alto livello: ambizione, metodo e AI

      24 Giugno 2025
    • Startup

      Quanto può reggere una startup senza guida tecnologica?

      5 Giugno 2025

      L’acquisizione di “io” da parte di OpenAI e Jony Ive: segnali forti per chi guida il tech in Italia

      3 Giugno 2025

      Perché il 90% delle startup blockchain fallisce (e cosa fare per evitarlo) | CTO Show 133 con Johan Duque

      21 Maggio 2025

      Automatizzare il caos: AI applicata all’innovazione della logistica aeroportuale | CTO Show 132 con Emanuele Roccotelli (CTO di Herop)

      30 Aprile 2025

      Platform Engineering: perché le aziende tech devono iniziare da qui | CTO Show 131 con Dario Carmignani (Director e CTO di CRIF)

      16 Aprile 2025
    • B2B

      Una riga di codice alla volta: come diventare un punto di riferimento per l’ingegneria del software in Italia | Techpreneurs Talks 10 con Alessandro Rossignoli

      23 Luglio 2025

      Vendere alle aziende grandi: come i fornitori tech B2B possono smettere di giocare nei campionati sbagliati

      9 Luglio 2025

      Il sito web B2B tech non è morto: è solo nascosto

      26 Giugno 2025

      Quando il brand decide tutto (prima che inizi la trattativa) nel Tech B2B

      7 Giugno 2025

      Content is king, ma la distribuzione è regina. Strategie per massimizzare la reach dei tuoi contenuti digitali

      13 Febbraio 2025
    • Rubriche
      1. CTO Show
      2. Digital Champions
      3. Hacking Expert
      4. Tech Stories
      5. Techpreneurs Talks
      6. Agency Horror Stories
      7. View All

      Come si innova nei sistemi di pagamento: l’esperienza di Danilo Baeri (CTO e COO di RCH) tra SoftPOS, IoT e compliance fiscale

      19 Giugno 2025

      Come l’AI e il Digital Wallet stanno trasformando il mondo bancario (e non solo)

      12 Giugno 2025

      Perché il 90% delle startup blockchain fallisce (e cosa fare per evitarlo) | CTO Show 133 con Johan Duque

      21 Maggio 2025

      Automatizzare il caos: AI applicata all’innovazione della logistica aeroportuale | CTO Show 132 con Emanuele Roccotelli (CTO di Herop)

      30 Aprile 2025

      Retail e Digital Transformation: il metodo concreto per innovare tra AI e resistenze culturali | Digital Champions 10 con Davide Basile

      10 Luglio 2025

      Digitalizzare il lusso senza tradirlo: come Bartorelli ha integrato eCommerce, Brand Heritage e Customer Experience umana | Digital Champions 9 con Davide Donati

      29 Maggio 2025

      Rivoluzionare l’Automotive con il Digitale: Esperienze, Strategie e Innovazione | Digital Champions 008 con Stefano Cogliati (Responsabile Marketing e Comunicazione di Autocogliati)

      6 Marzo 2025

      Il Tech Leader Strategico: Innovazione, Business e Trasformazione Digitale | Digital Champions 007 con Gianpiero Ciorra (Head of IT & Digital di Gambero Rosso)

      14 Febbraio 2025

      Green IT e AI: il costo invisibile dell’innovazione digitale

      3 Luglio 2025

      Innovazione sistemica, AI e design strategico: il futuro delle imprese

      26 Giugno 2025

      FinTech, AI e Banche del Futuro: cosa succede quando l’innovazione incontra davvero la complessità | Hacking Expert 12 con Simone Chiappino

      15 Maggio 2025

      Il Contratto Digitale: la fine del lavoro tradizionale (e l’inizio delle imprese che funzionano) | Hacking Expert 011 con Nicolò Boggian

      8 Maggio 2025

      Dalla Silicon Valley alla Valtellina: La rivoluzione delle aziende fluide | Tech Stories 016 con Fabrizio Capobianco

      9 Gennaio 2025

      Come l’Intelligenza Artificiale Trasforma la Produttività Aziendale | Tech Stories 015 con Tommaso Fè (Slack)

      15 Novembre 2024

      Lo stato dello sviluppo software in Italia | Tech Story 014 con Raffaele Colace

      26 Settembre 2024

      Tech Recruiting | Tech Story 013 con Guido Penta (Forloop)

      28 Febbraio 2024

      Una riga di codice alla volta: come diventare un punto di riferimento per l’ingegneria del software in Italia | Techpreneurs Talks 10 con Alessandro Rossignoli

      23 Luglio 2025

      Come l’AI sta trasformando il lavoro degli sviluppatori: riflessioni pratiche | Techpreneurs Talks 009 con Riccardo Barbotti

      17 Luglio 2025

      Legaltech e intelligenza artificiale: cosa cambia davvero per le aziende

      5 Giugno 2025

      Da Community a Ecosistema AI: Lezioni di Crescita da Datapizza | Techpreneurs Talks 007 con Alessandro Risaro

      24 Aprile 2025

      Body Rental: l’esperienza di Daniele Palladino | Agency Horror Stories 003

      5 Maggio 2021

      Body Rental | Agency Horror Stories 002

      31 Marzo 2021

      Come evitare i problemi di collaborazione tra web agency e sviluppatori esterni | Agency Horror Stories 001

      23 Ottobre 2019

      Una riga di codice alla volta: come diventare un punto di riferimento per l’ingegneria del software in Italia | Techpreneurs Talks 10 con Alessandro Rossignoli

      23 Luglio 2025

      Come l’AI sta trasformando il lavoro degli sviluppatori: riflessioni pratiche | Techpreneurs Talks 009 con Riccardo Barbotti

      17 Luglio 2025

      Retail e Digital Transformation: il metodo concreto per innovare tra AI e resistenze culturali | Digital Champions 10 con Davide Basile

      10 Luglio 2025

      Green IT e AI: il costo invisibile dell’innovazione digitale

      3 Luglio 2025
    • News

      Quando l’AI diventa una fidanzata anime: il caso ANI, Grok e il problema dei synthetic companion

      22 Luglio 2025

      L’AI Act va avanti: perché l’Europa non ha fermato il suo piano sull’intelligenza artificiale

      7 Luglio 2025

      Commodore è tornata – e stavolta in mano ai fan

      29 Giugno 2025

      Apple e Perplexity: un’acquisizione che (ancora) non c’è, ma che cambierebbe le regole del gioco

      23 Giugno 2025

      Apple apre un LLM on‑device da 3 miliardi di parametri ai dev: perché è una scelta strategica, non una scommessa di potenza

      12 Giugno 2025
    Iscriviti
    Tech 360Tech 360
    Home»Management»Product Management Digitale»Refactoring o riscrittura completa di un prodotto digitale: cosa è meglio?
    Product Management Digitale

    Refactoring o riscrittura completa di un prodotto digitale: cosa è meglio?

    Alex PagnoniBy Alex Pagnoni20 Giugno 2019Nessun commento10 Mins Read
    Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
    Share
    Facebook Twitter LinkedIn Email Reddit Telegram WhatsApp

    Indice

    • Trascrizione

    In questa puntata si parla del dilemma che prima o poi mette in difficoltà qualsiasi CTO (ma anche Founder di Startup e manager), e cioè quello di decidere se riscrivere da capo la propria piattaforma o provare a sistemarla quando i problemi iniziano ad essere troppi e risolverli diventa sempre più costoso.

    Il sito di cui si parla nella puntata si trova nella pagina dedicata al GamePlan Check Up.

    Clicca il tasto play nel player qui sotto per ascoltare subito questa puntata del podcast.

    Trascrizione

    Ciao da Alex Pagnoni e benvenuto nel podcast dedicato ai CTO e ai responsabili dei team di sviluppo, a chi vorrebbe diventarlo e a Founder e imprenditori digitali.

    In questa puntata tratterò il dilemma che prima o poi mette in difficoltà qualsiasi CTO, e cioè quello di decidere se riscrivere da capo la propria piattaforma o provare a sistemarla.

    Infatti uno dei problemi principali nello sviluppo e nella gestione di un prodotto digitale è il fatto che nel momento stesso in cui rilasciamo la prima versione del nostro prodotto o piattaforma, questa in un certo senso diventa automaticamente un legacy.

    Non nel senso che è obsoleta o datata, ma che diventa immediatamente una base di codice che deve essere mantenuta e che per tanti motivi è destinata quasi sempre a peggiorare nel tempo, al di là delle migliori intenzioni del team di sviluppo.

    Inoltre in molti casi il prodotto potrebbe anche essere stato scritto male fin dall’inizio, ad esempio per via di scelte architetturali errate, per inesperienza del team di sviluppo, per errori manageriali, troppa fretta nel cercare di uscire sul mercato il più velocemente possibile, stime sbagliate che portano poi a dover prendere scorciatoie e saltare ad esempio i test unitari e funzionali, persone chiave che cambiano all’improvviso e così via.

    E se anche così non fosse, se il prodotto è destinato a durare nel tempo, e per esperienza so benissimo che molti prodotti digitali durano più del tempo preventivato inizialmente, è del tutto probabile che nel tempo potremmo non avere più a disposizione i Product Owner o gli sviluppatori originali, che magari nel frattempo sono stati ruotati in altri ruoli senza un opportuno scambio di know how o hanno persino cambiato lavoro.

    Oltre a questi fattori, la stessa fase di manutenzione è facile che introduca nuovi tipi di problemi e soprattutto debito tecnico, in più la manutenzione è spesso più noiosa per i programmatori rispetto allo sviluppo di qualcosa di nuovo partendo da zero e questo può facilmente far sì che ci sia meno attenzione nell’utilizzare le pratiche di sviluppo migliori.

    In più, nel frattempo le tecnologie e gli strumenti di lavoro non fanno altro che cambiare ed evolvere e potremmo ritrovarci con una base di codice funzionante in modo accettabile ma basata su tecnologie non più supportate.

    Basti pensare a quanto poco tempo ci è voluto per passare prima dalle applicazioni desktop alle applicazioni web, poi alle applicazioni mobile, alle progressive web applications, oppure dal caro vecchio ferro alle macchine virtuali, al cloud computing fino al serverless, e così via.

    Quindi è abbastanza scontato che ad un certo punto ci si ritrovi nella condizione di chiedersi se è ora di riscrivere tutto da capo oppure se fare refactoring.

    Per quanto riguarda quest’ultimo, non intendo il refactoring sistematico che andrebbe comunque fatto adottando ad esempio tecniche di sviluppo come il TDD, mi riferisco invece al ristrutturare più o meno pesantemente l’applicazione anche sugli aspetti architetturali e strutturali per darle un nuovo aspetto e ammodernarla o renderla più mantenibile.

    In generale bisogna valutare attentamente la situazione in cui ci vuole più tempo e impegno di quanto necessario per sistemare un bug o introdurre una nuova funzionalità a causa del debito tecnica, situazione questa in cui il software diventa sempre più difficile da mantenere.

    In molti casi come questi apportare modifiche è davvero un problema e magari come tocchiamo una parte se ne spacca un’altra, perché non ci sono nemmeno i test automatici.

    Questa è una situazione in cui scatta l’allarme che può portare a valutare una riscrittura o un refactor.

    Questa situazione peraltro è ancora più evidente quando un team di sviluppo diverso da quello originale si ritrova a prendere in carico un’applicazione esistente, ad esempio quando subentra un nuovo fornitore.

    In questi casi avviene spesso che i programmatori ci dicano che la base di codice è una porcheria e che andrebbe riscritta da capo, e spesso nessuno vuole metterci mano.

    Peraltro questo è aggravato da quanto dicevo prima, cioè che giustamente ai programmatori piace di più tendenzialmente scrivere qualcosa di nuovo con le ultime tecnologie e metodi di lavoro che non metter mano a codice di altri reputato schifoso o complicato.

    E qui è facile sparare sul lavoro fatto da altri, per vari motivi tra i quali il fatto che in realtà leggere il codice è per molti versi più difficile che scriverne di nuovo.

    Questo infatti è uno dei motivi per i quali ogni programmatore ha alla fine il suo set di codice scritto a modo suo per problemi già risolti tantissime altre volte e magari anche meglio da altri programmatori e già resi standard in forma di componenti o librerie anche open source.

    Non parliamo poi dei casi in cui abbiamo a che fare con i classici programmatori definiti rock star dello sviluppo, per i quali qualsiasi altra cosa fatta da altri è fatto male.

    Guarda caso però si tratta quasi sempre delle stesse persone che non hanno mai riscritto da capo qualcosa, perché chiunque l’abbia fatto sa quante insidie si nascondo dietro una riscrittura completa e in generale cerca di evitarla.

    In generale la riscrittura da capo di un prodotto digitale è qualcosa che viene quasi sempre sottostimata, innanzitutto dai programmatori ma anche dal management.

    Quindi un CTO che non ha mai guidato un processo di riscrittura completa di un software dovrebbe fare molta attenzione prima di sponsorizzare un’operazione simile, va ponderata moltissimo.

    Quasi sempre parliamo di software dove abbiamo accumulato anni di requisiti, sviluppi, ragionamenti, bug fix relativi alle condizioni più disparate e strane, cambiamenti, integrazioni esterne, ecc. e ricostruire tutto da capo può essere una sfida titanica dove è decisamente difficile riuscire a reintrodurre tutto e per bene con successo.

    E se abbiamo appunto dedicato molto sforzo e tempo, significa che l’azienda ha già fatto un investimento enorme per un prodotto che ha generato valore, anche perché se non lo avesse generato probabilmente non parleremmo neanche di sistemare o riscrivere, ma lo dismetteremmo via direttamente.

    Chiaramente non è affatto bello gettare via anni di investimento e più l’applicazione è grande e maggiore è il tempo e il denaro necessario per ricostruirla.

    E soprattutto andiamo a destinare ingenti risorse nel riscrivere da capo, sottraendole dalla manutenzione della versione già esistente che rischia di rimanere ferma e generare a questo punto altri tipi di problemi.

    Tutto ciò nell’attesa della riscrittura di un sistema che può durare mesi se non anni, mentre magari nel frattempo avvengono cambiamenti importanti nel mercato ai quali dobbiamo rispondere rapidamente quando invece ci siamo impiccati con una riscrittura completa che richiede ancora parecchio tempo per uscire.

    E’ chiaramente molto meno rischioso ristrutturare una piattaforma già esistente e farla sterzare rapidamente nel momento in cui ci sono nuove situazioni nel mercato.

    Mi ricordo ad esempio quando la Netscape aveva dedicato 3 anni per riscrivere da capo quello che era il principale browser nel 2000, mentre nel frattempo altri browser l’avevano soppiantato decretandone il fallimento.

    Detto questo, non c’è una riposta definitiva e universale per tutti i casi, ma in generale quello che raccomando sulla base di quanto ho appena descritto è di cercare di recuperare quanto già esistente portando avanti un progetto di refactoring studiato per bene.

    Sono veramente poche le volte in cui un CTO mi ha chiesto un suggerimento o un cliente mi ha sottoposto la sua situazione in cui ho consigliato di riscrivere da capo, invece dopo aver analizzato e approfondito la situazione ho quasi sempre indicato di prendere la strada del refactoring.

    Che poi dal mio punto di vista quello di un progetto di refactoring è comunque qualcosa di entusiasmante se preso nel verso giusto dagli sviluppatori, perché consente di trasformare qualcosa di già esistente e farlo evolvere in una nuova creatura migliore, applicando tante tecniche di refactoring che possono essere viste come una sfida molto interessante da cogliere.

    Si possono anche elaborare soluzioni tecnicamente interessanti e strutturate, ad esempio in Axelerant molte volte ci è stato chiesto di procedere con un refactoring massivo e nel caso ad esempio delle applicazioni PHP impieghiamo una strada che porta a incastonare il codice legacy dentro Symfony con una sorta di ponte tra legacy e nuovo, per poi far assorbire man mano il codice vecchio dentro Symfony e al contempo mantenere e sistemare la parte legacy.

    L’unico vero caso in cui invece è chiaramente necessario procedere con una riscrittura completa è quando la tecnologia o il linguaggio sottostante diventano del tutto obsoleti o non più supportati e al contempo è previsto ancora molto tempo utile nel ciclo di vita dell’applicazione.

    Ad esempio ho un cliente che aveva una grossa applicazione sviluppata in Visual Fox Pro, che ad un certo punto come linguaggio è morto e non è più stato supportato dalla Microsoft, e in quel caso è stata l’occasione utile per cambiare paradigma e andare verso la strada della scrittura di un’applicazione erogata in modalità SaaS.

    Per gli altri casi invece generalmente analizzo la situazione, verifico codice e infrastruttura con il mio team e quasi sempre nel report finale indico la strada del refactoring e quali sono le linee guida che deve seguire chi si occuperà del refactoring per avere successo.

    Ad esempio se mancano i test funzionali, quello di scriverne man mano un buon numero è uno degli investimenti principali per ridurre di molto i problemi del refactoring e che poi avrà grande utilità anche nella versione ristrutturata.

    Grazie per aver ascoltato questa puntata del podcast dedicata a come scegliere tra refactoring e riscrittura completa.

    Se vuoi approfondire questo argomento o vuoi riportare la tua esperienza, oppure se vuoi suggerire un argomento per le prossime puntate, puoi scrivere nel gruppo Facebook del podcast cercando CTO Mastermind su Facebook.

    Se hai bisogno di capire se anche nel tuo caso è ora di metter mano al codice del tuo prodotto o servizio digitale, oppure se sei già nella situazione di decidere se procedere con il refactoring o la riscrittura e nel caso come procedere, oppure se hai bisogno di un team di sviluppo che esegua il refactoring o la riscrittura per te, ho creato un servizio apposito dove interverrò io personalmente assieme al mio team di sviluppo.

    Vai sul sito GamePlan Check Up per chiedere di essere contattato per avere maggiori informazioni senza impegno, puoi trovare il link anche nella descrizione di questa puntata del podcast.

    Nei prossimi episodi parlerò di vari argomenti tra i quali quello del debito tecnico, che ho citato prima quando ho elencato i vari fattori che portano a scegliere tra refactoring e riscrittura e che possiamo riscontrare in tutti i prodotti e servizi digitali, quindi un’altra spina nel fianco per CTO e responsabili aziendali.

    Grazie di nuovo e alla prossima puntata, ciao da Alex.

    Debito Tecnico Refactoring rewrite
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Previous ArticleCloud Native Application, cosa sono?
    Next Article Cos’è il debito tecnico e come evitarlo?
    Alex Pagnoni

    Alex Pagnoni è un autore, Pioniere del Tech e Public Speaker. Autore del libro Vincere nel Tech, creatore del metodo GamePlan e del manifesto La Via del Tech Leader. Conduce il canale YouTube Tech No Logic e il podcast Pionieri del Tech. È il fondatore di Axelerant e della community Tech Mastermind. Vai alla bio completa.

    Articoli simili

    AI

    Come l’AI sta trasformando il lavoro degli sviluppatori: riflessioni pratiche | Techpreneurs Talks 009 con Riccardo Barbotti

    17 Luglio 2025
    Software Engineering

    L’architettura che manca all’Agile: perché il futuro non si può improvvisare

    8 Luglio 2025
    AI

    Green IT e AI: il costo invisibile dell’innovazione digitale

    3 Luglio 2025
    Add A Comment
    Leave A Reply Cancel Reply

    Articoli più letti

    Innovazione sistemica, AI e design strategico: il futuro delle imprese

    26 Giugno 2025193 Views

    Context Engineering: la nuova architettura invisibile del software AI-ready

    30 Giugno 2025101 Views

    Stack Overflow non è (solo) vittima dell’IA. È il suo modello di community ad averla tradita

    3 Giugno 202575 Views
    Seguici nei Social Media
    • YouTube
    • Instagram
    • LinkedIn
    • Spotify
    • Twitter
    Chi siamo

    Tech 360 è il magazine digitale dedicato a chi guida l’innovazione con la tecnologia. Raccontiamo storie, strategie e visioni di chi trasforma le aziende dall’interno. Il progetto nasce da un’idea di Alex Pagnoni, fondatore di Axelerant, con l’obiettivo di dare voce ai pionieri del tech italiano.

    Ricevi gli aggiornamenti

    Resta aggiornato sulle novità del mondo del Tech! Iscriviti alla newsletter di Tech 360.

    Iscriviti alla newsletter
    L’angolo di Alex Pagnoni
    • Ogni piattaforma digitale è un sistema nervoso. Ma tu stai usando un sistema nervoso difettoso
      24 June 2025
    • Le 3 bugie che ti raccontano quando vuoi digitalizzare la tua azienda
      18 June 2025
    • Basta sitarelli. Se vuoi crescere davvero, ti serve una piattaforma che lavora per te
      12 June 2025
    I più letti

    Innovazione sistemica, AI e design strategico: il futuro delle imprese

    26 Giugno 2025193 Views

    Context Engineering: la nuova architettura invisibile del software AI-ready

    30 Giugno 2025101 Views

    Stack Overflow non è (solo) vittima dell’IA. È il suo modello di community ad averla tradita

    3 Giugno 202575 Views
    Scelti dalla redazione

    Context Engineering: la nuova architettura invisibile del software AI-ready

    30 Giugno 2025

    Perché è nato Tech 360 – Il magazine dei pionieri del digitale

    2 Giugno 2025

    Come impostare una leadership ingegneristica che sia il più autonoma ed efficiente possibile a tutti i livelli

    11 Febbraio 2025

    Ricevi gli aggiornamenti

    Resta aggiornato sulle novità del mondo del Tech! Iscriviti alla newsletter di Tech 360.

    Iscriviti alla newsletter
    Instagram YouTube Spotify LinkedIn X (Twitter)
    • Chi siamo
    • Autori
    • Diventa Contributor
    • Fai pubblicità su Tech 360
    • Trasparenza e IA
    • Contatti
    © 2015-2025 Axelerant – Strada della Campanara, 3/1 – 61122 Pesaro (PU) – P.IVA 02829590419 – REA PS-299199 - Privacy Policy - Cookie Policy - Impostazioni pubblicità

    Type above and press Enter to search. Press Esc to cancel.