[{"data":1,"prerenderedAt":649},["ShallowReactive",2],{"has-blog-posts":3,"post-software-fragile-regressioni":4,"related-software-fragile-regressioni":164,"datemod-software-fragile-regressioni":146},true,{"id":5,"title":6,"body":7,"category":145,"date":146,"description":147,"extension":148,"image":149,"meta":150,"navigation":3,"path":151,"published":3,"seo":152,"seoTitle":153,"slug":154,"stem":155,"tags":156,"updated":162,"__hash__":163},"blog/blog/2026-03-17-software-fragile-regressioni.md","Software fragile: ogni modifica rompe qualcos'altro. Come uscirne",{"type":8,"value":9,"toc":131},"minimark",[10,18,23,26,29,36,39,43,46,51,54,63,67,70,74,77,81,89,97,101,104,107,115,118,122,125,128],[11,12,13,17],"p",{},[14,15,16],"strong",{},"Il tuo team evita di deployare il venerdì. E spesso anche il giovedì."," Ogni rilascio, cioè ogni pubblicazione di una nuova versione del software, è preceduto da test manuali, mail di avvertimento e qualcuno che resta collegato \"per sicurezza\". È il segnale di un software fragile, dove ogni modifica rischia di causare una regressione. E quella fragilità ha un costo che stai pagando ogni giorno.",[19,20,22],"h2",{"id":21},"i-segnali-del-software-fragile","I segnali del software fragile",[11,24,25],{},"Si riconoscono anche senza essere tecnici.",[11,27,28],{},"Correggi un bug nel carrello e si rompe la fatturazione. Aggiungi un campo al form di registrazione e smette di funzionare il reset password. Alcune parti del codice vengono evitate perché “funzionano, meglio non toccarle”.",[11,30,31,32,35],{},"Questi sono ",[14,33,34],{},"bug di regressione",": modifiche in un punto che causano rotture in punti apparentemente non collegati.",[11,37,38],{},"I segnali concreti sono abbastanza chiari: deploy che richiedono ore di test manuali prima di andare in produzione, moduli che nessuno vuole modificare, bug segnalati su funzionalità che non sono state toccate, hotfix che generano altri hotfix e tempi molto lunghi anche per modifiche che in teoria sembrano semplici. Se riconosci diversi di questi sintomi, il sistema sta diventando fragile.",[19,40,42],{"id":41},"perché-succede","Perché succede",[11,44,45],{},"Il software raramente nasce fragile. Lo diventa nel tempo.",[47,48,50],"h3",{"id":49},"pochi-test-automatici-sui-flussi-critici","Pochi test automatici sui flussi critici",[11,52,53],{},"Senza test automatici, ogni modifica diventa un azzardo. Nessuno sa con certezza cosa si romperà finché qualcuno non se ne accorge in produzione.",[11,55,56,57,62],{},"Come ho scritto parlando di ",[58,59,61],"a",{"href":60},"/blog/test-coverage-cosa-misura","test coverage",", non serve testare tutto. Ma serve testare i percorsi che contano davvero per il business.",[47,64,66],{"id":65},"alto-accoppiamento-tra-le-parti-del-sistema","Alto accoppiamento tra le parti del sistema",[11,68,69],{},"Quando ogni modulo dipende da molti altri, toccare un punto significa rischiare di avere effetti collaterali altrove. Questo succede quando il codice cresce senza una separazione chiara delle responsabilità.",[47,71,73],{"id":72},"debito-tecnico-accumulato","Debito tecnico accumulato",[11,75,76],{},"Le scorciatoie ripetute nel tempo rendono il sistema sempre più difficile da modificare. Il debito tecnico non si vede nei report, ma si manifesta in lentezza, bug e timore di intervenire.",[19,78,80],{"id":79},"il-costo-per-il-business","Il costo per il business",[11,82,83,84,88],{},"La fragilità ha un impatto economico molto concreto. Se ogni deploy è rischioso, si rilascia meno spesso e le funzionalità arrivano ai clienti più lentamente. I bug che sfuggono in produzione costano fiducia, supporto e reputazione. Nel frattempo il team entra in un blocco psicologico: chi ha paura di modificare il codice smette di proporre miglioramenti, e le persone migliori tendono a cercare contesti meno stressanti. Quando ",[58,85,87],{"href":86},"/blog/bus-factor-developer-indispensabile","perdi persone chiave",", la situazione peggiora ancora. Anche il costo delle modifiche cresce: un intervento che in un sistema sano richiederebbe due giorni, in un sistema fragile può richiederne dieci.",[11,90,91,92,96],{},"A questo punto spesso nasce la tentazione di ",[58,93,95],{"href":94},"/blog/riscrivere-software-da-zero","riscrivere tutto da zero",". Raramente è la scelta migliore.",[19,98,100],{"id":99},"come-migliorare-senza-fermare-lo-sviluppo","Come migliorare senza fermare lo sviluppo",[11,102,103],{},"Non serve bloccare il progetto per mesi. Conviene intervenire in modo graduale e continuo.",[11,105,106],{},"Conviene partire dai flussi critici: registrazione, login, pagamento, operazioni core. Anche pochi test ben scritti su questi percorsi riducono drasticamente le regressioni. Poi si lavora un modulo alla volta: ogni volta che si interviene su un pezzo di codice, lo si lascia un po’ più ordinato e indipendente di come lo si è trovato. È un miglioramento progressivo, non un refactoring massivo.",[11,108,109,110,114],{},"Ha molto valore anche automatizzare la pipeline di rilascio. Build automatiche, test automatici e un ambiente di staging affidabile riducono il rischio e trasformano il deploy in un’operazione ordinaria. Anche ",[58,111,113],{"href":112},"/blog/sviluppare-con-ai","l’AI può aiutare",", ma solo se le fondamenta sono abbastanza sane da permetterlo.",[11,116,117],{},"Infine conviene misurare la fragilità con pochi indicatori chiari: numero di bug di regressione al mese, tempo medio tra commit e deploy, numero di rollback, cioè ritorni rapidi alla versione precedente, dopo un rilascio. Se questi numeri migliorano, la fragilità sta davvero diminuendo.",[19,119,121],{"id":120},"la-regola-pratica","La regola pratica",[11,123,124],{},"Se il tuo team ha paura di deployare, il problema è nel sistema.",[11,126,127],{},"E il sistema tende a peggiorare nel tempo se non si interviene. Basta iniziare: qualche test mirato, una pipeline più solida, una conversazione chiara sulle parti più rischiose del codice.",[11,129,130],{},"Un sistema sano permette di rilasciare spesso, con serenità. Quando questo non succede, è un segnale che vale la pena ascoltare.",{"title":132,"searchDepth":133,"depth":133,"links":134},"",2,[135,136,142,143,144],{"id":21,"depth":133,"text":22},{"id":41,"depth":133,"text":42,"children":137},[138,140,141],{"id":49,"depth":139,"text":50},3,{"id":65,"depth":139,"text":66},{"id":72,"depth":139,"text":73},{"id":79,"depth":133,"text":80},{"id":99,"depth":133,"text":100},{"id":120,"depth":133,"text":121},"Sviluppo","2026-03-17","Software dove ogni modifica rompe qualcosa: il team evita di deployare e lo sviluppo rallenta. Perché succede e come ridurre gradualmente la fragilità senza bloccare il progetto.","md","/images/blog/software-fragile-regressioni.jpg",{},"/blog/2026-03-17-software-fragile-regressioni",{"title":6,"description":147},"Software fragile: perché ogni modifica rompe qualcosa e come uscirne","software-fragile-regressioni","blog/2026-03-17-software-fragile-regressioni",[157,158,159,160,161],"software-fragile","regressioni","deploy","qualita-codice","manutenzione",null,"3Hu6R7IVK6bVHSCp-hdXrjLe1MHATNQbzYU_cdjo6dg",[165,331,504],{"id":166,"title":167,"body":168,"category":145,"date":315,"description":316,"extension":148,"image":317,"meta":318,"navigation":3,"path":319,"published":3,"seo":320,"seoTitle":321,"slug":322,"stem":323,"tags":324,"updated":162,"__hash__":330},"blog/blog/2026-04-02-budget-software-go-to-market.md","Hai speso tutto il budget nel prodotto. E nessuno sa che esiste",{"type":8,"value":169,"toc":302},[170,176,179,183,186,189,192,196,203,206,214,218,221,225,231,239,243,250,254,261,265,268,272,275,279,282,285,289,292,299],[11,171,172,175],{},[14,173,174],{},"Il prodotto è pronto. Funziona, è curato, è stato testato. Mesi di sviluppo, budget importante investito."," Poi arriva il momento del lancio e ci si rende conto che non esiste un vero piano per farlo conoscere. Concentrare tutto il budget nello sviluppo software e trascurare il go-to-market, cioè tutto ciò che serve per portare il prodotto davanti alle persone giuste, è un errore comune: il risultato è un prodotto valido che non genera utenti, perché nessuno sa che esiste.",[11,177,178],{},"È un errore molto comune per chi ha un background tecnico: concentrare quasi tutto il budget sullo sviluppo e considerare il go-to-market come qualcosa da affrontare “dopo”. Il problema è che, quando arriva il “dopo”, spesso le risorse sono finite.",[19,180,182],{"id":181},"il-prodotto-non-si-vende-da-solo","Il prodotto non si vende da solo",[11,184,185],{},"C’è un’idea diffusa nella cultura tech: se il prodotto è buono, prima o poi i clienti arrivano. Nella pratica succede raramente.",[11,187,188],{},"Un prodotto compete per attenzione in un mercato saturo. Le persone non stanno aspettando che tu lanci qualcosa: stanno già usando alternative, magari peggiori, ma che conoscono. Farsi trovare, spiegare il valore, portare traffico qualificato richiede tempo, competenze e budget.",[11,190,191],{},"Se tutto il budget è stato assorbito dallo sviluppo, questa fase diventa improvvisata. Ed è qui che molti progetti si fermano.",[19,193,195],{"id":194},"la-regola-controintuitiva","La regola controintuitiva",[11,197,198,199,202],{},"Se non hai ancora clienti, ",[14,200,201],{},"il budget per far conoscere il prodotto è strategicamente più importante del budget per aggiungere nuove feature",".",[11,204,205],{},"Un prodotto con poche funzionalità ma con un piano di acquisizione utenti può iniziare a generare feedback e ricavi. Quei ricavi finanziano l’evoluzione del prodotto.",[11,207,208,209,213],{},"Un prodotto ricco di funzionalità ma senza utenti genera solo ",[58,210,212],{"href":211},"/blog/costi-manutenzione-software","costi di manutenzione"," e nessun apprendimento dal mercato.",[19,215,217],{"id":216},"come-ragionare-sulla-divisione-del-budget","Come ragionare sulla divisione del budget",[11,219,220],{},"Non esiste una formula universale, ma questo schema funziona in molti contesti digitali.",[47,222,224],{"id":223},"quando-non-hai-ancora-clienti","Quando non hai ancora clienti",[11,226,227,228,202],{},"Indicativamente: ",[14,229,230],{},"40% prodotto, 60% go-to-market e validazione",[11,232,233,234,238],{},"In questa fase l’obiettivo è dimostrare che qualcuno è disposto a usare (o pagare) ciò che stai costruendo, anche con poche feature. Il prodotto deve essere ",[58,235,237],{"href":236},"/blog/quando-lanciare-un-prodotto","piccolo ma solido",". Il resto del budget serve a raggiungere le persone giuste e capire se il problema che vuoi risolvere è reale.",[47,240,242],{"id":241},"quando-hai-già-clienti-interessati","Quando hai già clienti interessati",[11,244,245,246,249],{},"Puoi spostarti verso ",[14,247,248],{},"60% prodotto, 40% go-to-market",". Hai già un segnale di domanda, quindi ha senso investire di più nel soddisfarla, continuando però a mantenere attenzione su comunicazione e acquisizione.",[47,251,253],{"id":252},"quando-hai-già-traction","Quando hai già traction",[11,255,256,257,260],{},"Un punto di partenza ragionevole è ",[14,258,259],{},"50/50",", poi la distribuzione si adatta in base ai dati. Qui traction significa che il prodotto ha già mostrato segnali concreti di risposta dal mercato: utenti, richieste, vendite, interesse reale. Se il traffico è poco ma chi arriva converte, conviene investire di più nel marketing; se il traffico è alto ma pochi convertono, significa che il lavoro da fare è soprattutto sul prodotto.",[19,262,264],{"id":263},"il-segnale-che-stai-sbagliando-allocazione","Il segnale che stai sbagliando allocazione",[11,266,267],{},"Ci sono alcuni segnali ricorrenti: hai molte feature ma pochi utenti attivi, nessuno nel team si occupa in modo strutturato di acquisizione e comunicazione, il lancio è stato un post sui social e poco altro, oppure stai pensando di aggiungere nuove funzionalità prima ancora di aver capito perché le persone non usano quelle che già ci sono. In questi casi il problema riguarda quasi sempre visibilità e comprensione del mercato, molto prima di una feature mancante.",[19,269,271],{"id":270},"validare-prima-di-costruire","Validare prima di costruire",[11,273,274],{},"Spesso si può fare molto prima ancora di scrivere codice. Una landing page chiara con una proposta di valore e un piccolo budget in advertising permette già di capire se il messaggio genera interesse. Una lista d’attesa raccoglie email e dà un primo segnale di domanda. Una pre-vendita o anche solo una demo ben condotta ti dice qualcosa di ancora più importante: se qualcuno è disposto a pagare o a impegnarsi prima che il prodotto sia completo. Tutte queste attività costano molto meno dello sviluppo e riducono il rischio di costruire qualcosa che il mercato non sta cercando.",[19,276,278],{"id":277},"il-bias-di-chi-viene-dal-tech","Il bias di chi viene dal tech",[11,280,281],{},"Per chi viene dallo sviluppo, investire nel prodotto è naturale: è la zona di comfort. Ogni nuova feature è un risultato tangibile. Il marketing invece è incerto, meno misurabile nel breve periodo e quindi spesso rimandato.",[11,283,284],{},"Ma una feature senza utenti non genera valore. Un esperimento di acquisizione, anche se non funziona, genera dati utili per decidere meglio cosa costruire.",[19,286,288],{"id":287},"una-scelta-strategica-non-operativa","Una scelta strategica, non operativa",[11,290,291],{},"Ogni euro speso in sviluppo è un euro non speso in acquisizione. Questa è a tutti gli effetti una decisione di business.",[11,293,294,298],{},[58,295,297],{"href":296},"/blog/ai-impatto-business-software","L’AI sta riducendo il costo di sviluppo",". Questo rende ancora più evidente un punto: costruire è sempre meno il collo di bottiglia. Raggiungere le persone giuste lo è sempre di più.",[11,300,301],{},"Un prodotto valido che nessuno conosce resta un progetto ben fatto, ma isolato dal mercato.",{"title":132,"searchDepth":133,"depth":133,"links":303},[304,305,306,311,312,313,314],{"id":181,"depth":133,"text":182},{"id":194,"depth":133,"text":195},{"id":216,"depth":133,"text":217,"children":307},[308,309,310],{"id":223,"depth":139,"text":224},{"id":241,"depth":139,"text":242},{"id":252,"depth":139,"text":253},{"id":263,"depth":133,"text":264},{"id":270,"depth":133,"text":271},{"id":277,"depth":133,"text":278},{"id":287,"depth":133,"text":288},"2026-04-02","Un prodotto ottimo che nessuno conosce resta isolato dal mercato. Come distribuire il budget tra sviluppo e go-to-market a seconda della fase del prodotto.","/images/blog/budget-software-go-to-market.jpg",{},"/blog/2026-04-02-budget-software-go-to-market",{"title":167,"description":316},"Budget sviluppo software vs go-to-market: come distribuirlo","budget-software-go-to-market","blog/2026-04-02-budget-software-go-to-market",[325,326,327,328,329],"budget-startup","go-to-market","lancio-prodotto","validazione-mercato","pianificazione","xHOZoeacqTtsxqkyjQqQNRb3_nvX3qeXVIxBa9QH4jE",{"id":332,"title":333,"body":334,"category":145,"date":490,"description":491,"extension":148,"image":492,"meta":493,"navigation":3,"path":494,"published":3,"seo":495,"seoTitle":496,"slug":497,"stem":498,"tags":499,"updated":162,"__hash__":503},"blog/blog/2026-03-31-quando-lanciare-un-prodotto.md","Quando lanciare un prodotto: meglio piccolo e funzionante che perfetto",{"type":8,"value":335,"toc":480},[336,342,345,349,359,366,373,376,380,383,386,390,393,396,399,402,405,409,417,421,432,439,446,450,453,457,460,467,471,474,477],[11,337,338,341],{},[14,339,340],{},"Capita spesso di vedere team che costruiscono per mesi un prodotto \"completo\", aggiungendo funzionalità una dopo l'altra, prima di mostrarlo a utenti reali."," Lanciare un MVP, cioè una prima versione piccola ma già usabile, prima di avere tutto pronto sembra rischioso, ma è l'opposto: il vero rischio è scoprire troppo tardi che il mercato voleva altro. Poi arriva il lancio e la realtà è brutale: alcune cose vengono ignorate, e le parti più usate non sono quelle su cui era stato investito di più.",[11,343,344],{},"Il problema è costruire troppo a lungo senza verificare se il problema è davvero quello giusto, per le persone giuste.",[19,346,348],{"id":347},"la-perfezione-è-il-nemico-del-lancio","La perfezione è il nemico del lancio",[11,350,351,352,355,356,202],{},"C’è una differenza fondamentale tra un prodotto ",[14,353,354],{},"incompleto"," e un prodotto ",[14,357,358],{},"difettoso",[11,360,361,362,202],{},"Un prodotto difettoso è lento, instabile, perde dati, ha bug nei flussi principali. Questo non va bene, indipendentemente dalla fase. E infatti ",[58,363,365],{"href":364},"/blog/cos-e-un-mvp-software","un MVP non è una scusa per rilasciare software rotto",[11,367,368,369,372],{},"Un prodotto incompleto fa poche cose, ma le fa ",[14,370,371],{},"bene",". Mancano feature, manca personalizzazione, manca “comodità”. Ma il nucleo del valore è usabile, affidabile e comprensibile.",[11,374,375],{},"Molti team confondono le due cose: temono di essere giudicati per ciò che manca e finiscono per rimandare il lancio. Il rischio vero però è un altro: scoprire troppo tardi di aver costruito qualcosa che non corrisponde a un bisogno reale.",[19,377,379],{"id":378},"il-feedback-è-utile-solo-se-arriva-presto","Il feedback è utile solo se arriva presto",[11,381,382],{},"Interviste, benchmark e analisi competitor aiutano. Ma non sostituiscono ciò che succede quando un utente reale prova il prodotto nel suo contesto.",[11,384,385],{},"Quando lanci presto, purché il nucleo abbia qualità, scopri cose che raramente emergono in fase di pianificazione. Ti accorgi che la funzionalità considerata “secondaria” è quella che genera davvero valore, che un passaggio del flusso è confuso e blocca la conversione, che l’utente descrive il problema in modo diverso da come lo avevi modellato e che la priorità reale non era aggiungere feature ma semplificare il percorso. Sono scoperte che cambiano la roadmap, e più arrivano presto meno lavoro rischi di buttare via.",[19,387,389],{"id":388},"il-ciclo-lancia-misura-impara-migliora","Il ciclo: lancia, misura, impara, migliora",[11,391,392],{},"È un modo pratico di ridurre il rischio e di sostituire le ipotesi con segnali reali.",[11,394,395],{},"La prima mossa è lanciare la versione minima che porta valore. “Minima” non vuol dire “tirata via”: vuol dire identificare il nucleo del valore. Se stai costruendo un tool di prenotazione, il nucleo è che un utente possa prenotare e tu riceva la prenotazione in modo affidabile. Reportistica avanzata, automazioni e personalizzazioni possono arrivare dopo.",[11,397,398],{},"Subito dopo devi mettere utenti veri davanti al prodotto. Meglio pochi utenti reali e coinvolti, che pagano o avrebbero un motivo concreto per usarlo, che cento curiosi. Il feedback di chi non ha nulla in gioco tende a essere rumoroso.",[11,400,401],{},"Poi conviene misurare cosa fanno, non solo cosa dicono. Le richieste del tipo “ci serve la feature X” spesso sono una soluzione proposta dall’utente, non il problema. Le metriche comportamentali dicono molto di più: dove si blocca il flusso, dove abbandonano, quali schermate usano davvero, quali passaggi richiedono supporto.",[11,403,404],{},"Infine si migliora in base a evidenze. Ogni iterazione dovrebbe rispondere a qualcosa che hai osservato, che sia un dato o un feedback ripetuto, e non a un’ipotesi non verificata o a un confronto estetico con il competitor.",[19,406,408],{"id":407},"il-costo-del-costruiamo-tutto-e-poi-vediamo","Il costo del “costruiamo tutto e poi vediamo”",[11,410,411,412,416],{},"Un prodotto costruito per mesi senza feedback tende a produrre due costi tipici. Il primo è l’accumulo di feature inutilizzate, che però vanno mantenute, testate, supportate e spiegate: un classico caso di ",[58,413,415],{"href":414},"/blog/budget-software-go-to-market","budget speso tutto nel prodotto"," senza vera validazione. Il secondo è un’architettura, insieme a una UX, modellate su ipotesi che diventano difficili da cambiare quando finalmente arriva la realtà. Il risultato è spesso una roadmap già pesante al day one, con molte parti in movimento, troppe dipendenze e poca capacità di adattamento.",[19,418,420],{"id":419},"ma-il-mio-settore-vuole-un-prodotto-completo","“Ma il mio settore vuole un prodotto completo”",[11,422,423,424,428,429,431],{},"È un’obiezione legittima. La risposta è che dipende da ",[425,426,427],"em",{},"come"," definisci “completo” e da ",[425,430,427],{}," gestisci le aspettative.",[11,433,434,435,438],{},"Puoi lanciare una ",[14,436,437],{},"versione 1"," che fa poche cose essenziali molto bene, e comunicare in modo trasparente cosa è incluso e cosa arriverà dopo. La trasparenza, in molti contesti B2B, aumenta la fiducia perché segnala che stai costruendo con metodo e ascolto, non “a intuito”.",[11,440,441,442,445],{},"Il punto è lanciare qualcosa di ",[14,443,444],{},"limitato ma affidabile",", con la qualità concentrata sui flussi principali.",[19,447,449],{"id":448},"euristiche-pratiche-quando-sei-pronto-a-lanciare","Euristiche pratiche: quando sei pronto a lanciare",[11,451,452],{},"Se vuoi una regola operativa, guarda alcuni elementi minimi. Il flusso principale deve funzionare end-to-end, senza workaround e senza interventi manuali. Devi avere strumenti minimi di osservabilità, come error tracking, log e almeno una metrica di uso o attivazione. Devi sapere qual è la domanda a cui vuoi rispondere con il lancio, avere un canale di feedback e un modo ordinato per raccogliere richieste, e infine un piano semplice per iterare con una cadenza, delle priorità e qualcuno che decida. Se mancano questi punti, c’è ancora preparazione da fare.",[19,454,456],{"id":455},"le-feature-che-non-sviluppi-sono-un-vantaggio","Le feature che non sviluppi sono un vantaggio",[11,458,459],{},"Ogni feature che non costruisci basandoti su ipotesi è codice che non devi mantenere e che non può rompersi. È complessità evitata.",[11,461,462,466],{},[58,463,465],{"href":464},"/blog/stime-sviluppo-sbagliate-perche","Le stime sono spesso imprecise"," proprio perché il futuro cambia. Il ciclo iterativo non elimina l’incertezza: la rende gestibile, trasformando una scommessa grande in una serie di scommesse piccole.",[19,468,470],{"id":469},"il-prodotto-si-definisce-fuori-dal-tuo-ufficio","Il prodotto si definisce fuori dal tuo ufficio",[11,472,473],{},"È normale avere un’idea precisa di come “dovrebbe” essere. Ma finché non lo metti nelle mani di utenti reali, stai indovinando.",[11,475,476],{},"Lancia piccolo. Lancia bene. Ascolta. Migliora. Ripeti.",[11,478,479],{},"È meno “epico” di un grande lancio dopo mesi di lavoro nascosto, ma riduce drasticamente il rischio di costruire la cosa sbagliata e ti evita di scoprire troppo tardi che stai andando nella direzione sbagliata.",{"title":132,"searchDepth":133,"depth":133,"links":481},[482,483,484,485,486,487,488,489],{"id":347,"depth":133,"text":348},{"id":378,"depth":133,"text":379},{"id":388,"depth":133,"text":389},{"id":407,"depth":133,"text":408},{"id":419,"depth":133,"text":420},{"id":448,"depth":133,"text":449},{"id":455,"depth":133,"text":456},{"id":469,"depth":133,"text":470},"2026-03-31","Aspettare che il prodotto sia completo aumenta il rischio di costruire la cosa sbagliata. Come lanciare piccolo ma solido, raccogliere feedback e iterare.","/images/blog/quando-lanciare-un-prodotto.jpg",{},"/blog/2026-03-31-quando-lanciare-un-prodotto",{"title":333,"description":491},"Quando lanciare un prodotto: perché il lancio presto riduce il rischio","quando-lanciare-un-prodotto","blog/2026-03-31-quando-lanciare-un-prodotto",[327,500,328,501,502],"mvp","feedback-utenti","iterazioni","RktTjZMk2qV2ROfeEi22AYCazgVRWprZ9eYSOnrxBkY",{"id":505,"title":506,"body":507,"category":145,"date":633,"description":634,"extension":148,"image":635,"meta":636,"navigation":3,"path":637,"published":3,"seo":638,"seoTitle":639,"slug":640,"stem":641,"tags":642,"updated":162,"__hash__":648},"blog/blog/2026-03-26-come-assumere-sviluppatori-bravi.md","Come assumere sviluppatori bravi: perché non rispondono al tuo annuncio",{"type":8,"value":508,"toc":620},[509,515,519,522,525,529,533,541,544,548,551,559,563,566,569,573,576,580,583,587,590,593,600,604,607,610,614,617],[11,510,511,514],{},[14,512,513],{},"\"Non si trovano sviluppatori.\""," È una frase che si sente spesso. In realtà assumere sviluppatori è possibile: quelli bravi esistono, lavorano e cambiano lavoro. Molto semplicemente scelgono di andare altrove, e il motivo sta quasi sempre nella tua offerta più che nel mercato.",[19,516,518],{"id":517},"il-mercato-è-competitivo-non-impossibile","Il mercato è competitivo, non impossibile",[11,520,521],{},"È vero: la domanda di sviluppatori supera l’offerta da anni. Ma competitivo non significa impossibile. Significa che non puoi pubblicare un annuncio generico e aspettare che arrivino curriculum qualificati.",[11,523,524],{},"Le aziende che assumono bene non hanno segreti particolari. Hanno offerte chiare, processi sensati e condizioni di lavoro che uno sviluppatore competente considera ragionevoli. Se una posizione resta aperta per mesi, è un segnale che qualcosa nell’offerta non funziona.",[19,526,528],{"id":527},"cosa-tende-ad-allontanare-gli-sviluppatori","Cosa tende ad allontanare gli sviluppatori",[47,530,532],{"id":531},"stack-tecnologico-trascurato","Stack tecnologico trascurato",[11,534,535,536,540],{},"Uno sviluppatore competente vuole lavorare con strumenti mantenuti e con un futuro. Non serve inseguire ogni moda — farlo porta ad altri problemi, come nel caso del ",[58,537,539],{"href":538},"/blog/quale-framework-javascript-scegliere","resume-driven development",". Ma c’è una differenza evidente tra uno stack stabile e moderno e uno stack lasciato indietro negli anni.",[11,542,543],{},"Uno stack trascurato comunica che la tecnologia non è una priorità. E questo, per uno sviluppatore, è un segnale molto forte.",[47,545,547],{"id":546},"nessuna-flessibilità-presenza-obbligatoria","Nessuna flessibilità, presenza obbligatoria",[11,549,550],{},"Chiedere presenza fissa in ufficio cinque giorni su cinque è oggi un filtro che esclude molti candidati validi. Per una ragione concreta: il lavoro di sviluppo richiede concentrazione profonda, e l’ufficio open space è spesso l’opposto.",[11,552,553,554,558],{},"Ogni interruzione ha un costo cognitivo elevato, come spiegato parlando di ",[58,555,557],{"href":556},"/blog/ogni-interruzione-costa-23-minuti","quanto costano le interruzioni",". La richiesta di lavorare in remoto, almeno in parte, è spesso una richiesta di poter lavorare meglio.",[47,560,562],{"id":561},"processi-di-selezione-poco-realistici","Processi di selezione poco realistici",[11,564,565],{},"Cinque round di colloqui, test tecnici lunghi, esercizi su problemi lontani dal lavoro reale. Questo tipo di processo tende a selezionare chi ha più tempo libero, non chi è più competente.",[11,567,568],{},"Uno sviluppatore senior con un lavoro stabile spesso non partecipa a questi processi. E l’azienda non si accorge nemmeno di aver perso candidati di valore.",[47,570,572],{"id":571},"nessun-percorso-di-crescita","Nessun percorso di crescita",[11,574,575],{},"“Qui facciamo tutti un po’ di tutto” può sembrare positivo, ma spesso significa mancanza di specializzazione, mentoring e prospettive di crescita. Gli sviluppatori più bravi cercano contesti in cui possano migliorare nel tempo, non restare fermi allo stesso livello per anni.",[47,577,579],{"id":578},"cultura-poco-sostenibile","Cultura poco sostenibile",[11,581,582],{},"Frasi come “siamo una famiglia” o aspettative implicite di disponibilità continua vengono percepite come segnali di confini poco chiari tra lavoro e vita privata. Per molti sviluppatori questo è un motivo sufficiente per non candidarsi.",[19,584,586],{"id":585},"cosa-attrae-gli-sviluppatori-competenti","Cosa attrae gli sviluppatori competenti",[11,588,589],{},"Spesso, non è qualcosa di costoso.",[11,591,592],{},"Gli sviluppatori bravi cercano problemi interessanti da risolvere, sistemi da progettare e lavori con un impatto concreto. Se il tuo prodotto ha queste caratteristiche, vale la pena comunicarlo chiaramente. Cercano anche autonomia e tempo per lavorare bene: un ambiente che protegge la concentrazione, limita le riunioni inutili e riduce le interruzioni è spesso più attrattivo di uno stipendio leggermente più alto.",[11,594,595,596,599],{},"Contano molto anche le pratiche tecniche. Non serve lo stack più trendy; serve uno stack mantenuto, con versionamento serio, code review, cioè revisione del codice da parte di altri sviluppatori, pipeline di deploy automatizzate e un minimo di ",[58,597,598],{"href":60},"test automatici",". Infine c’è la trasparenza: range di stipendio, stack tecnologico, modalità di lavoro e composizione del team. Quando queste informazioni mancano dall’annuncio, molti candidati preferiscono non perdere tempo.",[19,601,603],{"id":602},"cambiamenti-pratici-che-non-costano-nulla","Cambiamenti pratici che non costano nulla",[11,605,606],{},"Il primo cambiamento utile è riscrivere l’annuncio, sostituendo le frasi generiche con informazioni concrete: tecnologie usate, modalità di lavoro, range retributivo, tipo di prodotto, dimensione del team. Subito dopo conviene semplificare il processo di selezione: due step sono spesso sufficienti, con un colloquio tecnico conversazionale e un confronto con il team. Se ci sono test, devono essere brevi, realistici e rispettosi del tempo del candidato.",[11,608,609],{},"Anche il modo in cui chiudi i colloqui conta. Un rifiuto tempestivo e cortese è sempre meglio del silenzio, soprattutto in un mondo come quello tech dove il passaparola è molto veloce. E naturalmente pesa la flessibilità reale: già due o tre giorni a settimana da remoto, orari flessibili e meno interruzioni cambiano radicalmente la percezione dell’azienda.",[19,611,613],{"id":612},"va-oltre-il-budget","Va oltre il budget",[11,615,616],{},"Stipendi competitivi aiutano, ma non sono l’unico fattore. Molte aziende che faticano ad assumere non hanno un problema di soldi. Hanno un problema di proposta complessiva: ambiente, processi e cultura del lavoro.",[11,618,619],{},"Prima di concludere che “il mercato è vuoto”, può essere utile guardare la propria offerta con gli occhi di chi dovrebbe sceglierla.",{"title":132,"searchDepth":133,"depth":133,"links":621},[622,623,630,631,632],{"id":517,"depth":133,"text":518},{"id":527,"depth":133,"text":528,"children":624},[625,626,627,628,629],{"id":531,"depth":139,"text":532},{"id":546,"depth":139,"text":547},{"id":561,"depth":139,"text":562},{"id":571,"depth":139,"text":572},{"id":578,"depth":139,"text":579},{"id":585,"depth":133,"text":586},{"id":602,"depth":133,"text":603},{"id":612,"depth":133,"text":613},"2026-03-26","Assumere sviluppatori bravi è possibile anche in un mercato competitivo. Il problema spesso è nell'offerta: stack, flessibilità, processo di selezione.","/images/blog/come-assumere-sviluppatori-bravi.jpg",{},"/blog/2026-03-26-come-assumere-sviluppatori-bravi",{"title":506,"description":634},"Come assumere sviluppatori: perché non trovi i candidati giusti","come-assumere-sviluppatori-bravi","blog/2026-03-26-come-assumere-sviluppatori-bravi",[643,644,645,646,647],"assumere-sviluppatori","hiring","attrarre-talenti","processi-selezione","cultura-tecnica","i5JD_xA7ugdBdrYQ2RIt55cH-81gjx9e9J60jAmG630",1776715331684]