<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
  <title>AL+ Articoli</title>
  <subtitle>Ciò che abbiamo imparato sviluppando, ereditando, riparando e mantenendo software.</subtitle>
  <link href="https://alplustech.com/it/feed.xml" rel="self" type="application/atom+xml"/>
  <link href="https://alplustech.com/it/articoli/" rel="alternate" type="text/html"/>
  <id>https://alplustech.com/it/articoli/</id>
  <updated>2026-11-11T00:00:00.000Z</updated>
  <author><name>AL+</name><email>paul@alplustech.com</email></author>
  <rights>©  Alplus Technologies S.R.L.</rights>
  <entry>
    <title>Presa in carico del software: la checklist prima di accettare</title>
    <link href="https://alplustech.com/it/articoli/checklist-presa-in-carico-software/" rel="alternate" type="text/html"/>
    <id>https://alplustech.com/it/articoli/checklist-presa-in-carico-software/</id>
    <published>2026-11-11T00:00:00.000Z</published>
    <updated>2026-11-11T00:00:00.000Z</updated>
    <author><name>Paul</name></author>
    <summary>Checklist per prendere in carico un software da un altro sviluppatore, agenzia o team: accessi, produzione, dati, sicurezza delle modifiche, dipendenze, sicurezza, conoscenza e costi, prima di diventarne responsabili.</summary>
    <content type="html"><![CDATA[<p>Prima di accettare la responsabilità di un sistema costruito da altri, ispezionatelo. Questa è la checklist che AL+ usa per la <a href="/it/servizi/presa-in-carico-software/">presa in carico di un software</a>. È scritta in modo che un fondatore, un CTO o un team in arrivo possano usarla anche senza di noi. Seguitela in ordine: le prime sezioni vi proteggono dai guasti che non si possono annullare.</p>
<p>La checklist ha otto parti. Ogni voce è una domanda con risposta sì o no. Un «no» non è un motivo per rifiutare il sistema. È una riga del piano.</p>
<h2>1. Accessi e proprietà</h2>
<p>Il guaio più comune nelle prese in carico è scoprire, dopo settimane, che un account critico appartiene a qualcuno che se n’è andato.</p>
<ul>
<li>Il codice sorgente è in un repository di proprietà della vostra azienda, con i diritti di amministratore in mano alla vostra azienda?</li>
<li>Avete accesso da proprietari a hosting, DNS, registrar del dominio, database, object storage e CDN?</li>
<li>L’invio delle email, i fornitori di pagamento, le API di terze parti, gli account degli app store e il monitoraggio sono registrati con indirizzi aziendali, non personali?</li>
<li>Dove sono conservati i segreti, e potete ruotare ogni credenziale in mano al precedente sviluppatore senza interruzioni del servizio?</li>
<li>Quali account sono a pagamento, su quale carta, e quando scade o si rinnova ciascuno?</li>
<li>Ci sono licenze (font, librerie, postazioni SaaS, mappe) che scadranno quando verranno chiusi gli account del team precedente?</li>
</ul>
<p>Se anche una sola risposta è «non lo sappiamo», fermatevi e scoprite la risposta prima di cambiare qualsiasi cosa.</p>
<h2>2. La realtà della produzione</h2>
<p>Il repository dice cosa era previsto. La produzione dice cosa è vero.</p>
<ul>
<li>Cosa è in produzione adesso, da quale commit, e corrisponde al ramo principale?</li>
<li>Come viene rilasciato? A mano, con uno script, con una pipeline? Potete ripeterlo?</li>
<li>Cosa gira a intervalli programmati: cron job, code, funzioni pianificate, webhook? Dove sono configurati?</li>
<li>Quali servizi esterni chiama il sistema, e quali lo chiamano?</li>
<li>Cosa dicono i log e gli strumenti di tracciamento degli errori su ciò che fallisce in silenzio?</li>
<li>Quali ambienti esistono oltre alla produzione? C’è un ambiente di staging che le somiglia?</li>
</ul>
<h2>3. Dati</h2>
<p>I dati sono la parte di un sistema che non si può rigenerare.</p>
<ul>
<li>Dove vivono i dati: database, file, servizi di terze parti, fogli di calcolo?</li>
<li>Quanto sono grandi e quanto velocemente crescono?</li>
<li>Quando è stato fatto l’ultimo backup, e un backup è mai stato ripristinato altrove e verificato?</li>
<li>Quali dati personali sono conservati, con quale base giuridica, e dove è documentato?</li>
<li>Ci sono migrazioni in sospeso, applicate a metà o applicate a mano?</li>
<li>Potete esportare i dati in una forma che consenta di spostarli su un altro sistema?</li>
</ul>
<p>Durante la revisione ripristinate un backup in un luogo sicuro. Un backup che non è mai stato ripristinato è una speranza, non un backup.</p>
<h2>4. Sicurezza delle modifiche</h2>
<p>Dovrete modificare il sistema. Scoprite quanto è pericoloso farlo.</p>
<ul>
<li>Potete far girare il sistema su un computer di sviluppo usando solo il repository?</li>
<li>Ci sono test? Passano? Cosa coprono?</li>
<li>C’è una fase di revisione prima che il codice arrivi in produzione?</li>
<li>Un rilascio sbagliato si può annullare, ed è già successo?</li>
<li>Una modifica banale (un refuso nel footer) percorre l’intero percorso in meno di un giorno?</li>
</ul>
<p>Se l’ultima risposta è no, sistemare quel percorso è il primo compito tecnico, prima di qualsiasi funzionalità.</p>
<h2>5. Dipendenze e piattaforma</h2>
<ul>
<li>Quali sono le versioni di runtime, framework e database, e quando arriva a fine vita ciascuna?</li>
<li>Quante dipendenze ci sono, quanto sono vecchie e quali non sono più mantenute?</li>
<li>Qualcuna ha vulnerabilità note?</li>
<li>Quando è stato fatto l’ultimo aggiornamento, e cosa si è rotto?</li>
<li>C’è qualcosa bloccato a una versione per un motivo che nessuno ricorda?</li>
</ul>
<h2>6. Sicurezza di base</h2>
<p>Non è un penetration test. È il minimo che dovete sapere prima di diventare proprietari del sistema.</p>
<ul>
<li>L’autorizzazione è applicata sul server, o solo nell’interfaccia?</li>
<li>Ci sono segreti nel codice o nella cronologia del repository?</li>
<li>L’input dell’utente viene validato prima di arrivare al database o alla shell?</li>
<li>Chi ha accesso alla produzione, e l’accesso è individuale e revocabile?</li>
<li>Ci sono endpoint amministrativi, modalità di debug o credenziali predefinite ancora attivi?</li>
<li>Le comunicazioni sono cifrate ovunque, anche tra i servizi?</li>
</ul>
<h2>7. Conoscenza</h2>
<ul>
<li>Lo sviluppatore precedente è raggiungibile e disposto a rispondere alle domande, a pagamento?</li>
<li>Esiste una descrizione scritta dell’architettura, del deploy o dei motivi delle decisioni principali?</li>
<li>Quali parti del sistema non capisce nessuno, oggi?</li>
<li>Quali parti evitano tutti di toccare, e perché?</li>
<li>Quali incidenti ci sono stati nell’ultimo anno, e come sono stati risolti?</li>
</ul>
<p>Fate domande sulle decisioni, non sul codice: perché questo database, perché questo hosting, cosa cambierebbero, di cosa avevano paura. Registrate le risposte.</p>
<h2>8. Costi e adeguatezza</h2>
<ul>
<li>Quanto costa il sistema ogni mese in hosting, licenze e servizi di terze parti?</li>
<li>Quanto costa oggi in tempo di sviluppo per tenerlo in funzione?</li>
<li>Cosa richiede l’azienda da questo sistema nei prossimi dodici mesi?</li>
<li>Una parte rilevante serve un caso d’uso che non esiste più?</li>
<li>È un sistema da tenere, da <a href="/it/servizi/riparazione-applicazioni/">modernizzare sul posto</a> o da sostituire? La risposta viene dalle sette sezioni precedenti, non dal primo incontro.</li>
</ul>
<h2>Come usare il risultato</h2>
<p>Scrivete le risposte in un unico documento, con un elenco dei «no» ordinato per rischio. L’ordine diventa le prime settimane di lavoro: prima accessi e fatturazione, poi backup e deploy, poi le parti fragili, poi quelle desiderate. Una presa in carico fatta in questo ordine mostra all’azienda una nuova funzionalità più tardi di quanto sperasse e un’interruzione del servizio mai.</p>
<p>Se preferite che siamo noi a eseguire questa revisione e a prendere in carico il sistema in seguito, <a href="/it/servizi/presa-in-carico-software/">è proprio ciò che fa il nostro servizio di presa in carico del software</a>. Se volete eseguirla da soli, la checklist è vostra.</p>
]]></content>
  </entry>
  <entry>
    <title>Costo della manutenzione software: cosa deve coprire il budget</title>
    <link href="https://alplustech.com/it/articoli/costo-manutenzione-software/" rel="alternate" type="text/html"/>
    <id>https://alplustech.com/it/articoli/costo-manutenzione-software/</id>
    <published>2026-11-11T00:00:00.000Z</published>
    <updated>2026-11-11T00:00:00.000Z</updated>
    <author><name>Paul</name></author>
    <summary>Stimate la manutenzione di un’applicazione web o SaaS esistente: separate presa in carico, manutenzione ordinaria, assistenza e nuove funzionalità, poi confrontate cosa include ogni preventivo.</summary>
    <content type="html"><![CDATA[<p>Il costo della manutenzione software dipende dal sistema che avete e dalla responsabilità che volete affidare a qualcuno. Un budget utile separa il lavoro necessario per prendere in carico l’applicazione, il lavoro ricorrente che la mantiene affidabile e le modifiche che volete mettere in produzione.</p>
<p>Se state confrontando più fornitori, chiedete a ciascuno un preventivo per lo stesso ambito di lavoro. Un canone mensile che esclude deploy, aggiornamento delle dipendenze e analisi degli incidenti non è confrontabile con uno che li include.</p>
<h2>Partite dall’applicazione, non da una percentuale</h2>
<p>Il prezzo della realizzazione originale non dice a un nuovo fornitore se i vostri backup si ripristinano, se le dipendenze sono ancora supportate o se l’integrazione dei pagamenti fallisce in silenzio. Prima di considerare una stima come un impegno, stabilite cosa gira in produzione e quali parti richiedono attenzione.</p>
<p>Annotate:</p>
<ul>
<li>Cosa fa l’applicazione e quali flussi contano di più.</li>
<li>Se è un’applicazione web, un prodotto SaaS, un’API o un sistema interno.</li>
<li>Il runtime, il framework, il database e l’hosting, se li conoscete.</li>
<li>Chi ha accesso al repository, ai deploy e agli account dei fornitori.</li>
<li>I guasti recenti, gli aggiornamenti rimandati e le prossime modifiche previste.</li>
<li>Gli orari in cui l’azienda ha bisogno di assistenza e chi gestisce gli incidenti urgenti.</li>
</ul>
<p>Se lo sviluppatore originale se n’è andato, usate la <a href="/it/articoli/checklist-presa-in-carico-software/">checklist per la presa in carico del codice</a> per individuare gli accessi e le conoscenze che mancano. Potete raccogliere queste informazioni anche senza aver ancora scelto un nuovo fornitore.</p>
<h2>Dividete il budget in quattro parti</h2>
<h3>1. Presa in carico iniziale e stabilizzazione</h3>
<p>Un nuovo team deve capire cosa gira in produzione, verificare gli accessi, impostare un deploy ripetibile e controllare che il ripristino funzioni. Documentazione mancante o un framework non più supportato possono aggiungere lavoro prima che inizi la manutenzione ordinaria.</p>
<p>Chiedete cosa consegna l’ambito iniziale e cosa comporterebbe una revisione della stima. Tenetelo separato dall’impegno mensile continuativo, così entrambe le parti vedono il costo di ereditare il sistema.</p>
<h3>2. Manutenzione ordinaria ricorrente</h3>
<p>Elencate il lavoro pianificato: aggiornamenti delle dipendenze e di sicurezza, controlli sui rilasci, prove di ripristino dei backup, monitoraggio e documentazione operativa. Concordate con che frequenza avviene ciascuna attività e quali riscontri ricevete.</p>
<p>Anche le fatture di hosting, database, email e altri fornitori rientrano nel budget di esercizio. Specificate se le pagate direttamente o tramite il fornitore della manutenzione. Il tempo di sviluppo e le fatture dell’infrastruttura sono costi diversi.</p>
<h3>3. Assistenza e gestione degli incidenti</h3>
<p>Specificate gli orari di copertura, il fuso orario, il canale di contatto e cosa si considera urgente. Il tempo di risposta indica che qualcuno inizia a valutare il problema; non significa che il problema sia risolto entro quel tempo.</p>
<p>Per un’azienda che si affida a un team remoto, discutete la sovrapposizione degli orari in modo esplicito. Non date per scontato che un accordo di manutenzione mensile comprenda risposte notturne o nel fine settimana.</p>
<h3>4. Miglioramenti pianificati</h3>
<p>Separate la correzione dei difetti dalle modifiche al funzionamento del prodotto. Una nuova integrazione o una modifica importante a un flusso richiedono un ambito di lavoro, anche quando manutenzione e sviluppo sono affidati allo stesso team.</p>
<p>Concordate come si definiscono le priorità, come si approvano le stime e cosa succede quando in un mese c’è più lavoro della capacità disponibile. Questa discussione conta più dell’etichetta sul pacchetto.</p>
<h2>Un foglio di calcolo del budget da inviare ai fornitori</h2>
<p>Compilate queste voci prima di confrontare i preventivi:</p>
<ul>
<li><strong>Lavoro iniziale:</strong> accessi mancanti, impostazione del deploy, verifiche di ripristino e riparazioni urgenti.</li>
<li><strong>Lavoro tecnico ricorrente:</strong> attività, frequenza e capacità inclusa.</li>
<li><strong>Fatture dei fornitori:</strong> hosting, database, email, monitoraggio e altri servizi.</li>
<li><strong>Assistenza:</strong> orari di copertura, aspettative di risposta e perimetro degli incidenti.</li>
<li><strong>Modifiche al prodotto:</strong> priorità e un percorso di approvazione separato.</li>
<li><strong>Incertezza:</strong> le aree che il fornitore deve ispezionare prima di impegnarsi.</li>
</ul>
<p>Per ogni preventivo, chiedete al fornitore di indicare cosa è incluso, escluso o ancora non noto. Chiedete come vengono trattati la capacità non utilizzata e il lavoro oltre l’ambito concordato. Non date per scontato che l’una venga riportata al mese successivo né che l’altro sia fatturato automaticamente.</p>
<h2>Quando un preventivo basso lascia lavoro scoperto</h2>
<p>Un fornitore può legittimamente offrire un servizio circoscritto. Il rischio è un vuoto di cui nessuno è responsabile: assistenza all’applicazione senza aggiornamento delle dipendenze, monitoraggio senza una persona che riceva gli avvisi, backup senza una verifica di ripristino.</p>
<p>Chiedete chi è responsabile di ciascun vuoto. Potete tenere internamente un’attività, assumere uno specialista o includerla nell’ambito della manutenzione. Il risultato utile è una responsabilità esplicita.</p>
<h2>Riparazione, modernizzazione o manutenzione continuativa?</h2>
<p>Se l’applicazione è supportata e semplice da rilasciare, può bastare una manutenzione ordinaria ricorrente. Se prima serve un aggiornamento del framework, la riparazione del deploy o una migrazione dei dati, definite quel lavoro a parte.</p>
<p>La nostra guida <a href="/it/articoli/riparare-o-riscrivere-software/">riparare o riscrivere il software</a> aiuta a distinguere un intervento mirato da una sostituzione. Il budget di manutenzione dovrebbe riflettere questa decisione, senza nascondere un progetto di modernizzazione dentro la manutenzione di routine.</p>
<h2>Parliamo della manutenzione della vostra applicazione</h2>
<p>AL+ offre <a href="/it/servizi/manutenzione-software/">servizi di manutenzione software</a> per applicazioni web e prodotti SaaS esistenti, compresi i sistemi realizzati da un altro sviluppatore o da un’altra agenzia.</p>
<p><a href="mailto:paul@alplustech.com?subject=Budget%20per%20la%20manutenzione%20software">Scrivete a paul@alplustech.com della manutenzione software</a>. Descrivete l’applicazione, il suo stack se lo conoscete, il vostro paese, il problema attuale e gli orari di assistenza di cui avete bisogno. Inviate prima una descrizione; password, chiavi API e dati dei clienti non vanno nell’email.</p>
]]></content>
  </entry>
  <entry>
    <title>MVP o prototipo: cosa sviluppare per primo</title>
    <link href="https://alplustech.com/it/articoli/mvp-o-prototipo/" rel="alternate" type="text/html"/>
    <id>https://alplustech.com/it/articoli/mvp-o-prototipo/</id>
    <published>2026-11-11T00:00:00.000Z</published>
    <updated>2026-11-11T00:00:00.000Z</updated>
    <author><name>Paul</name></author>
    <summary>Scegliete tra prototipo, proof of concept e MVP in base alla domanda a cui dovete rispondere. Una tabella per decidere e un brief pratico per il primo rilascio del vostro prodotto software.</summary>
    <content type="html"><![CDATA[<p>Un prototipo serve a mettere alla prova un’idea o un’interazione. Un prodotto minimo funzionante, o MVP (minimum viable product), permette a utenti reali di svolgere un compito utile, così da imparare dall’uso effettivo. Sviluppate un prototipo quando il design è incerto; sviluppate un MVP quando siete pronti a consegnare e a gestire un piccolo prodotto. Se l’incertezza è tecnica, può venire prima un proof of concept mirato.</p>
<p>Sono acquisti diversi. Una dimostrazione curata non comprende necessariamente la gestione dei dati, i permessi, il processo di rilascio o l’assistenza che servono a un prodotto funzionante. Prima di confrontare le proposte di sviluppo, indicate la domanda a cui volete che il lavoro risponda.</p>
<h2>Prototipo, proof of concept e MVP a confronto</h2>
<p>Le etichette cambiano da un team all’altro. Concordate il risultato atteso, invece di fidarvi del nome usato in una proposta.</p>
<p>Su uno schermo stretto, scorrete la tabella in orizzontale per leggere tutte le colonne.</p>
<table>
<thead>
<tr>
<th>Cosa si consegna</th>
<th>A quale domanda risponde</th>
<th>Cosa dovreste poter osservare</th>
<th>Cosa non dimostra</th>
</tr>
</thead>
<tbody>
<tr>
<td>Prototipo</td>
<td>Gli utenti capiscono e riescono a completare questa interazione proposta?</td>
<td>Le persone provano un percorso limitato; vedete dove esitano o fraintendono.</td>
<td>Integrazioni affidabili, funzionamento in produzione o disponibilità a pagare.</td>
</tr>
<tr>
<td>Proof of concept</td>
<td>Un determinato approccio tecnico può funzionare entro i vincoli rilevanti?</td>
<td>Un esperimento circoscritto dimostra una capacità, come leggere da un fornitore i dati necessari.</td>
<td>Un prodotto completo o un’esperienza utilizzabile dal cliente.</td>
</tr>
<tr>
<td>MVP</td>
<td>Un piccolo prodotto funzionante può offrire il valore previsto ai primi utenti?</td>
<td>Utenti reali completano il compito principale; raccogliete feedback e osservate l’uso.</td>
<td>L’adeguatezza al mercato, un’acquisizione clienti redditizia o la prontezza per ogni futuro cliente.</td>
</tr>
</tbody>
</table>
<p>Un prototipo può essere uno schizzo su carta, un design cliccabile o un’interfaccia programmata e limitata. La sua utilità sta in ciò che si impara, non nella quantità di codice. La <a href="https://www.gov.uk/service-manual/agile-delivery/how-the-alpha-phase-works">guida GOV.UK sulla fase alpha</a> (in inglese) fa la stessa distinzione pratica: mettere alla prova le ipotesi rischiose con prototipi, senza trattare il codice sperimentale come software di produzione.</p>
<p>Un MVP può essere offerto a un piccolo gruppo di invitati. Non ha bisogno di tutte le funzionalità, ma chi lo usa deve poter completare il compito promesso e ottenere aiuto quando qualcosa non funziona.</p>
<h2>Scegliete il risultato più piccolo che risolve l’incertezza</h2>
<p>Chiedetevi che cosa potrebbe rendere sprecato il prossimo impegno di sviluppo.</p>
<ul>
<li><strong>Il bisogno è incerto:</strong> parlate con gli utenti previsti e osservate il loro lavoro attuale. Né un prototipo né un MVP sostituiscono questa fase di ricerca, se il problema conta davvero.</li>
<li><strong>L’interazione è incerta:</strong> usate un prototipo per provare i passaggi difficili. Potreste non aver bisogno di progettare l’intero prodotto per capire dove le persone si bloccano.</li>
<li><strong>L’integrazione è incerta:</strong> realizzate un proof of concept con dati rappresentativi e accessi realistici. Una richiesta riuscita a un endpoint di prova non dimostra che l’intera integrazione sia pronta.</li>
<li><strong>Il valore nell’uso reale è incerto:</strong> valutate un MVP con un percorso piccolo ma completo e un piano per osservare cosa succede dopo il rilascio.</li>
</ul>
<p>Non siete obbligati ad acquistarli tutti e tre in sequenza. Se il flusso è già chiaro e la tecnologia è consolidata, un prototipo separato può aggiungere poco. Se un’integrazione necessaria non può funzionare, costruire prima il resto del prodotto è l’ordine sbagliato.</p>
<h2>Un’idea di prenotazione, tre ambiti di lavoro diversi</h2>
<p>Pensate a un ipotetico prodotto di prenotazione. I clienti devono scegliere un appuntamento disponibile, ricevere una conferma e modificare la prenotazione se serve. È un esempio illustrativo, non un risultato ottenuto per un cliente di AL+.</p>
<p><strong>Un prototipo</strong> potrebbe mostrare la scelta dell’appuntamento, la schermata di conferma e il percorso di annullamento. Verificate se le persone capiscono le scelte e se il personale riesce a usare la vista amministrativa proposta. Appuntamenti e conferme possono essere simulati, purché lo si spieghi ai partecipanti.</p>
<p><strong>Un proof of concept</strong> potrebbe esaminare il fornitore del calendario. L’applicazione può leggere la disponibilità, creare una prenotazione e riconoscere una modifica in conflitto, con gli accessi che l’azienda può ottenere? Documentate cosa ha verificato l’esperimento, l’ambiente usato e cosa resta non verificato.</p>
<p><strong>Un MVP</strong> potrebbe permettere a un gruppo limitato di fare prenotazioni reali per un servizio in una sede. Servirebbero anche le regole pertinenti su fusi orari, conflitti, annullamenti, accesso del personale e recupero dopo un guasto. Una grande dashboard di reportistica può aspettare; impedire che due persone prenotino lo stesso orario, no.</p>
<p>La decisione riguarda l’incertezza e il risultato promesso. «Solo cinque schermate» non basta a distinguere questi ambiti.</p>
<h2>Un brief da usare prima di chiedere un preventivo</h2>
<p>Compilate queste sei righe. Se non riuscite a rispondere a una, registratela come domanda aperta invece che come ipotesi.</p>
<ol>
<li><strong>Utente e compito:</strong> chi deve fare cosa, e cosa fa oggi?</li>
<li><strong>Domanda a cui rispondere:</strong> quale incertezza deve risolvere questo lavoro?</li>
<li><strong>Cosa consegnare:</strong> prototipo, esperimento tecnico o primo rilascio funzionante; spiegate perché.</li>
<li><strong>Prova di completamento:</strong> quale comportamento o osservazione vi permetterebbe di accettare il lavoro?</li>
<li><strong>Ambito di lavoro ed esclusioni:</strong> quali utenti, dispositivi, integrazioni e casi di errore sono inclusi; cosa può aspettare?</li>
<li><strong>Prossima decisione:</strong> cosa farete se il risultato conferma l’idea, la smentisce o non è conclusivo?</li>
</ol>
<p>Per l’esempio della prenotazione, una frase di accettazione potrebbe essere: «Un cliente invitato può prenotare un orario davvero disponibile, ricevere la conferma e annullarla; il personale vede la modifica». Descrive il comportamento del prodotto. «L’app ha una schermata di prenotazione» descrive un’interfaccia e lascia irrisolto il lavoro importante.</p>
<p>Usate la <a href="/en/thoughts/mvp-development-cost/">guida al costo di sviluppo di un MVP</a> (in inglese) per confrontare le stime della stessa consegna e delle stesse esclusioni.</p>
<h2>Di cosa ha ancora bisogno un MVP dopo aver ridotto l’elenco delle funzionalità</h2>
<p>Un ambito ridotto non elimina le responsabilità che nascono con utenti e dati reali. Individuate quali valgono per voi prima del lancio:</p>
<ul>
<li>Regole di accesso e corretta gestione delle informazioni che il prodotto conserva.</li>
<li>Un processo di rilascio ripetibile e il controllo del repository e degli account dei servizi.</li>
<li>Un modo per accorgersi dei guasti e recuperare il lavoro o i dati importanti.</li>
<li>Un contatto per l’assistenza e qualcuno responsabile del rilascio successivo.</li>
<li>Un piano per raccogliere feedback che alimenti una specifica decisione sul prodotto.</li>
</ul>
<p>Questi requisiti devono corrispondere al rilascio effettivo. Non aggiungete infrastruttura per una scala immaginaria, ma non tralasciate un percorso di recupero per informazioni che non potete permettervi di perdere. La <a href="https://www.gov.uk/service-manual/agile-delivery/how-the-beta-phase-works">guida GOV.UK sulla fase beta</a> (in inglese) offre un modello utile: invitare un gruppo limitato, imparare dall’uso reale e pianificare la capacità di sostenere quell’apprendimento.</p>
<h2>Si può trasformare un prototipo in un MVP?</h2>
<p>A volte sì. Prima verificate che cosa contiene davvero il prototipo. L’interfaccia può essere riutilizzabile, mentre dati simulati, autenticazione provvisoria o configurazioni solo locali vanno sostituiti. Il codice scritto per un esperimento può costare meno da scartare che da rendere affidabile.</p>
<p>Chiedete allo sviluppatore di separare il lavoro riutilizzabile, il lavoro di produzione che manca e le ipotesi non risolte. Un prototipo realizzato con l’AI richiede la stessa revisione; una dimostrazione convincente prova che la dimostrazione funziona, non che il prodotto sia pronto per i clienti.</p>
<h2>Parliamo del prossimo rilascio utile</h2>
<p><a href="/it/servizi/sviluppo-software-su-misura/">AL+ offre lo sviluppo di MVP</a> a chi avvia un’attività e ha bisogno di un primo percorso completo e di una proprietà chiara dopo il lancio. Inviateci il brief di sei righe, l’eventuale prototipo esistente e i vincoli di budget o di tempo.</p>
<p><a href="mailto:paul@alplustech.com?subject=Richiesta%20per%20un%20progetto%20di%20prototipo%20o%20MVP">Scrivete ad AL+ del vostro prototipo o MVP</a>. Potremo discutere quale tipo di consegna risponde alla domanda a cui dovete rispondere.</p>
]]></content>
  </entry>
  <entry>
    <title>Sviluppo software su misura: come preparare ambito e costi</title>
    <link href="https://alplustech.com/it/articoli/pianificare-sviluppo-software-su-misura/" rel="alternate" type="text/html"/>
    <id>https://alplustech.com/it/articoli/pianificare-sviluppo-software-su-misura/</id>
    <published>2026-11-11T00:00:00.000Z</published>
    <updated>2026-11-11T00:00:00.000Z</updated>
    <author><name>Paul</name></author>
    <summary>Preparate il brief per lo sviluppo di software su misura: utenti, flussi, integrazioni, ambito di lavoro, costi e verifiche di accettazione, prima di chiedere una proposta.</summary>
    <content type="html"><![CDATA[<p>Un buon brief per lo sviluppo di software su misura descrive il lavoro che il software deve rendere possibile. Non serve prescrivere un framework né elencare ogni schermata. Servono dettagli sufficienti perché un partner di sviluppo individui le incognite e proponga un primo rilascio ben delimitato.</p>
<p>Usate questa checklist prima di chiedere una proposta. Vi aiuta a confrontare ciò che i fornitori consegneranno davvero, invece di confrontare i prezzi di interpretazioni diverse della stessa idea.</p>
<h2>1. Indicate l’utente e il compito</h2>
<p>Scrivete una frase: «Un [utente] deve [svolgere un compito] per ottenere [un risultato utile]». Ad esempio, un responsabile operativo deve approvare una prenotazione senza copiare le informazioni tra tre sistemi. È un flusso a titolo illustrativo, non un risultato ottenuto per un cliente.</p>
<p>Elencate le altre persone coinvolte. Un cliente, un amministratore e un addetto all’amministrazione possono avere bisogno di permessi diversi anche quando lavorano sullo stesso record.</p>
<h2>2. Descrivete cosa succede oggi</h2>
<p>Spiegate il processo attuale, compresi fogli di calcolo, email e controlli manuali. Indicate il passaggio che fa perdere tempo o provoca errori. Aggiungete un esempio anonimizzato dei dati in ingresso e del risultato atteso.</p>
<p>Non inviate password, anagrafiche dei clienti o credenziali di produzione nella prima email. Descrivete i sistemi coinvolti; gli accessi opportuni si organizzano dopo l’accordo sul progetto.</p>
<h2>3. Definite un primo rilascio completo</h2>
<p>Scegliete un flusso che un utente reale possa portare a termine. Specificate cosa lo avvia, cosa fa il software e come l’utente capisce che è andato a buon fine. Includete il percorso di errore: cosa succede quando un dato è sbagliato, un’approvazione viene rifiutata o un’integrazione non è disponibile?</p>
<p>Mettete tutto il resto in un elenco separato, per dopo. Un primo rilascio piccolo può avere meno funzionalità, ma richiede comunque una gestione affidabile dei dati, il controllo degli accessi e un modo per ripartire dopo un guasto.</p>
<h2>4. Elencate integrazioni e dati</h2>
<p>Indicate ogni servizio esterno, le informazioni scambiate e chi controlla l’accesso. Dite se il fornitore ha un’API documentata e se esiste un accesso di prova. Sono domande da chiarire, non capacità da dare per scontate.</p>
<p>Se i dati devono essere spostati da un vecchio sistema, descrivetene il formato, le dimensioni approssimative, i problemi di qualità e il periodo in cui i due sistemi potrebbero dover funzionare insieme. La migrazione è un lavoro in più rispetto alla realizzazione delle nuove schermate.</p>
<h2>5. Dichiarate i vincoli che cambiano la proposta</h2>
<p>Indicate i limiti di budget, l’eventuale scadenza fissa e il suo motivo, i requisiti di accessibilità, i vincoli sulla localizzazione dei dati e chi userà il sistema. Se i requisiti richiedono una consulenza legale o di sicurezza specialistica, dite chi la fornirà.</p>
<p>Per il lavoro a distanza, concordate come verranno registrate le decisioni, chi può approvare l’ambito di lavoro e quale sovrapposizione di orari è necessaria. Una decisione ferma può ritardare la consegna anche quando la realizzazione è lineare.</p>
<h2>6. Confrontate le voci di costo, non solo i totali</h2>
<p>Il costo dello sviluppo software dipende dai flussi, dalle regole sui permessi, dalle integrazioni, dal lavoro sui dati e dai requisiti di esercizio. Lo stesso numero di schermate può nascondere quantità di lavoro molto diverse.</p>
<p>Chiedete a ogni fornitore di separare l’ambito noto dalle ipotesi. Confrontate queste cinque voci:</p>
<ul>
<li>Il comportamento funzionante incluso nel primo rilascio.</li>
<li>Le incognite da verificare prima che una stima diventi affidabile.</li>
<li>Il lavoro escluso dalla proposta.</li>
<li>Come una modifica dell’ambito incide su prezzo e tempi.</li>
<li>Cosa succede dopo il lancio, compresi i costi di hosting e la manutenzione.</li>
</ul>
<p>Un prezzo senza questi confini è difficile da confrontare. Questa checklist non fornisce un prezzo universale per i progetti: una stima credibile richiede i requisiti reali.</p>
<h2>7. Decidete come accettare il lavoro</h2>
<p>Scrivete le verifiche in termini d’uso: «Un operatore può approvare una richiesta, il cliente riceve l’aggiornamento corretto e la decisione viene registrata». Definite esempi rappresentativi e gli errori che il sistema deve gestire.</p>
<p>Concordate come seguire l’avanzamento e provare i rilasci. Concordate anche a chi appartengono il repository, gli account dell’infrastruttura, la documentazione, il processo di deploy e i backup. La <a href="/en/thoughts/what-a-software-handover-should-contain/">checklist per la consegna del software</a> (in inglese) descrive i materiali che dovreste poter ricevere.</p>
<h2>Inviate un brief che avvii una conversazione utile</h2>
<p>La prima email può essere breve: l’utente, il flusso, ciò che esiste oggi, l’integrazione importante e i vincoli di budget o di tempo. Non serve una specifica completa.</p>
<p><a href="/it/servizi/sviluppo-software-su-misura/">AL+ offre servizi di sviluppo di software su misura</a>, con il codice che resta vostro dopo il lancio. <a href="mailto:paul@alplustech.com?subject=Progetto%20di%20software%20su%20misura">Scrivete a paul@alplustech.com</a> con questi dettagli per parlare del vostro progetto con le persone che lo realizzerebbero.</p>
]]></content>
  </entry>
  <entry>
    <title>Riparare o riscrivere il software? Come decidere</title>
    <link href="https://alplustech.com/it/articoli/riparare-o-riscrivere-software/" rel="alternate" type="text/html"/>
    <id>https://alplustech.com/it/articoli/riparare-o-riscrivere-software/</id>
    <published>2026-11-11T00:00:00.000Z</published>
    <updated>2026-11-11T00:00:00.000Z</updated>
    <author><name>Paul</name></author>
    <summary>Una riscrittura è una conclusione a cui si arriva dopo aver capito il sistema, non un punto di partenza. Quasi sempre servono un responsabile, un piano e qualche mese di riparazione.</summary>
    <content type="html"><![CDATA[<p>Una riscrittura è una conclusione, non un punto di partenza. La maggior parte dei sistemi di cui si propone la riscrittura non ne ha bisogno. Hanno bisogno di un responsabile, di un piano di riparazione e di qualche mese di lavoro paziente. Pochi invece vanno davvero riscritti, e l’unico modo per capire la differenza è comprendere prima il sistema.</p>
<h2>Perché si propone una riscrittura</h2>
<p>Le riscritture raramente si propongono perché il sistema è tecnicamente irrecuperabile. Si propongono perché nessuno nel team attuale capisce il sistema, e ricostruirlo sembra l’unico modo per riavere quella comprensione.</p>
<p>È una motivazione onesta. È anche il modo più costoso di raggiungere l’obiettivo. Una riscrittura ricrea la conoscenza ricreando il software, e tutto ciò che il vecchio sistema ha imparato in anni di produzione, ogni caso limite e ogni correzione, va imparato da capo.</p>
<p>Il secondo motivo più comune è la frustrazione. Modifiche lente, incidenti ricorrenti e uno stack poco conosciuto rendono allettante ripartire da zero. La frustrazione è reale. Il rimedio, di solito, è una responsabilità chiara, non la sostituzione.</p>
<h2>Cosa guardiamo prima di decidere</h2>
<p>Non rispondiamo alla domanda «riparare o riscrivere?» nel primo incontro. Rispondiamo dopo una revisione che copre cinque aspetti.</p>
<p><strong>Cosa fa il sistema.</strong> Non ciò che dice la documentazione o che ricorda il fondatore. Ciò che fa in produzione, per quali utenti e con che frequenza. Molte riscritture vengono dimensionate su un uso immaginato.</p>
<p><strong>Dove sta il rischio.</strong> Quali parti si rompono, quali non le tocca nessuno e quali contengono dati che non si possono perdere. Di solito il rischio è concentrato in una piccola parte del codice.</p>
<p><strong>Se si può modificare in sicurezza.</strong> C’è un modo per rilasciare una modifica e sapere che ha funzionato? Ci sono test, ambienti di staging, backup e rollback? Se non ci sono, vengono prima di tutto, qualunque sia la decisione finale, perché una riscrittura senza di essi è solo una versione più grande dello stesso problema.</p>
<p><strong>Quanto costa mantenere lo stack.</strong> Framework e runtime arrivano a fine vita. Le spese di hosting crescono. Per alcuni stack è difficile trovare sviluppatori. Sono costi reali, ma misurabili, e spesso più piccoli di una riscrittura.</p>
<p><strong>Di cosa avrà bisogno l’azienda in futuro.</strong> Un sistema che richiede tre piccole funzionalità all’anno ha esigenze diverse da uno che deve raddoppiare le proprie capacità. La decisione sulla riscrittura dipende dalla destinazione, non solo dallo stato attuale.</p>
<h2>Quando la risposta è riparare</h2>
<p>La riparazione è la risposta giusta più spesso di quanto i team si aspettino. I segnali:</p>
<ul>
<li>Il modello dei dati di base è solido, anche se il codice che lo circonda è disordinato.</li>
<li>I problemi sono concentrati. Due o tre moduli causano la maggior parte degli incidenti.</li>
<li>Il sistema è in produzione con utenti reali e il comportamento da cui dipendono è per lo più non documentato.</li>
<li>Lo stack è vecchio ma ancora supportato, oppure si può aggiornare per gradi.</li>
</ul>
<p>Riparare significa stabilire la responsabilità, aggiungere le protezioni (test attorno alle parti rischiose, monitoraggio, deploy affidabili) e poi migliorare il sistema sul posto, una modifica circoscritta alla volta. Gli utenti vedono prima la stabilità e poi i miglioramenti. Nulla viene buttato finché il suo sostituto non è dimostrato.</p>
<h2>Quando la risposta è riscrivere</h2>
<p>Alcuni sistemi devono davvero essere sostituiti. I segnali sono specifici:</p>
<ul>
<li>La piattaforma non è più supportata e non si può aggiornare. Un framework senza correzioni di sicurezza è una scadenza.</li>
<li>Il modello dei dati non è adatto a ciò che l’azienda fa oggi, e ogni funzionalità deve lottare contro di esso.</li>
<li>Il sistema è stato costruito per una scala o un caso d’uso che non esistono più, e gran parte di esso è zavorra.</li>
<li>Il costo di capirlo supera il costo di specificarlo, cosa che accade con codice generato o copiato in massa, privo di un progetto coerente.</li>
</ul>
<p>Anche in quel caso, dove è possibile riscriviamo per parti. Un nuovo sistema che rileva una responsabilità alla volta dal vecchio mantiene l’azienda in funzione e lascia la decisione reversibile.</p>
<h2>Una matrice decisionale</h2>
<p>I cinque aspetti della revisione si riducono a una piccola tabella. Assegnate un punteggio a ogni riga per il sistema che avete davanti; la colonna con più segni indica la raccomandazione, e un solo «sostituire» nella riga della piattaforma prevale sul resto.</p>
<table>
<thead>
<tr>
<th>Domanda</th>
<th>Indica la riparazione</th>
<th>Indica la modernizzazione sul posto</th>
<th>Indica la riscrittura o la sostituzione</th>
</tr>
</thead>
<tbody>
<tr>
<td>La piattaforma è supportata?</td>
<td>Sì, versioni attuali</td>
<td>Sì, ma con diversi passaggi di aggiornamento arretrati</td>
<td>No, e non si può aggiornare</td>
</tr>
<tr>
<td>Il modello dei dati è adatto all’azienda?</td>
<td>Sì</td>
<td>In gran parte; alcune strutture ostacolano le nuove funzionalità</td>
<td>No; ogni funzionalità lo aggira</td>
</tr>
<tr>
<td>Esiste un modo sicuro per modificarlo?</td>
<td>Sì</td>
<td>In parte; per alcune parti ci sono test e rollback</td>
<td>No, e aggiungerli costa più di quanto valgano le parti</td>
</tr>
<tr>
<td>Dov’è il rischio?</td>
<td>Concentrato in due o tre moduli</td>
<td>Distribuito su uno strato che si può sostituire da solo</td>
<td>Ovunque; non c’è un progetto coerente da preservare</td>
</tr>
<tr>
<td>Quanto se ne usa ancora?</td>
<td>La maggior parte</td>
<td>La maggior parte, con aree inutilizzate da eliminare</td>
<td>Una minoranza; il resto serve casi che non esistono più</td>
</tr>
<tr>
<td>Di cosa ha bisogno l’azienda dopo?</td>
<td>Piccole funzionalità e stabilità</td>
<td>Nuove capacità significative sulla stessa base</td>
<td>Un prodotto diverso</td>
</tr>
</tbody>
</table>
<p>Riparare è <a href="/it/servizi/manutenzione-software/">manutenzione</a> con un piano. Modernizzare sul posto è <a href="/it/servizi/riparazione-applicazioni/">il nostro servizio di riparazione e modernizzazione</a>. Una riscrittura si fa comunque per parti dove possiamo, con il vecchio sistema in funzione finché ogni parte non si è dimostrata valida.</p>
<h2>La nostra posizione</h2>
<p>Capire il sistema, renderlo sicuro da modificare, poi decidere. I team che saltano direttamente alla riscrittura saltano la parte in cui si impara che cosa si sta sostituendo, e quella conoscenza è la cosa più costosa da ricostruire.</p>
]]></content>
  </entry>
  <entry>
    <title>Web app o app mobile: come scegliere la prima piattaforma</title>
    <link href="https://alplustech.com/it/articoli/web-app-o-app-mobile/" rel="alternate" type="text/html"/>
    <id>https://alplustech.com/it/articoli/web-app-o-app-mobile/</id>
    <published>2026-11-11T00:00:00.000Z</published>
    <updated>2026-11-11T00:00:00.000Z</updated>
    <author><name>Paul</name></author>
    <summary>Decidete se il vostro primo prodotto richiede una web app o un’app mobile nativa. Confrontate percorsi utente, funzioni del dispositivo, lavoro offline, ambito del rilascio e proprietà.</summary>
    <content type="html"><![CDATA[<p>Scegliete tra web app e app mobile in base al compito che i vostri utenti devono svolgere. Una web app è spesso un buon punto di partenza per un lavoro raggiunto tramite un link ed eseguito su dispositivi diversi. Un’app mobile nativa diventa una candidata più forte quando il percorso principale dipende da funzioni specifiche del dispositivo o da un uso frequente sul telefono. Verificate i requisiti prima di impegnarvi con l’una o con l’altra.</p>
<p>«Le persone la useranno da mobile» non risolve la decisione. Un’applicazione web può funzionare in un browser mobile. Neanche «ci serve l’accesso offline» basta: il comportamento offline va progettato, e alcune applicazioni web possono supportarlo. La domanda utile è quale approccio può realizzare il vostro flusso reale con vincoli accettabili.</p>
<h2>Qual è la differenza?</h2>
<p><strong>Un’applicazione web</strong> gira in un browser. Gli utenti di solito la raggiungono tramite un URL, e l’interfaccia può adattarsi a telefono, tablet o computer. Le sue capacità dipendono dai browser e dai dispositivi che decidete di supportare.</p>
<p><strong>Un’applicazione mobile nativa</strong> è costruita per una piattaforma specifica, come iOS. Si installa sul dispositivo e usa le convenzioni di interfaccia e le API disponibili di quella piattaforma. Supportare un’altra piattaforma nativa comporta ulteriore lavoro di consegna e di verifica.</p>
<p><strong>Una progressive web app, o PWA,</strong> usa tecnologie web con funzioni aggiuntive come l’installazione e un comportamento offline progettato. La <a href="https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps">documentazione MDN sulle PWA</a> (in inglese) ne spiega le possibilità. Disponibilità e comportamento vanno comunque verificati sui dispositivi di destinazione; «PWA» non è una promessa che ogni funzione nativa funzioni ovunque.</p>
<p>Usate i requisiti qui sotto per scegliere il primo canale del prodotto.</p>
<h2>Confrontate i vincoli prima della tecnologia</h2>
<p>Su uno schermo stretto, scorrete la tabella in orizzontale per leggere tutte le colonne.</p>
<table>
<thead>
<tr>
<th>Requisito</th>
<th>Web app: cosa verificare</th>
<th>App nativa: cosa verificare</th>
</tr>
</thead>
<tbody>
<tr>
<td>I clienti arrivano tramite un link</td>
<td>Possono completare il percorso nei browser supportati senza installare nulla?</td>
<td>Installare un’app è un passaggio accettabile prima che ricevano valore?</td>
</tr>
<tr>
<td>Il lavoro si svolge tra computer e telefono</td>
<td>Layout e interazioni sono adatti a entrambi?</td>
<td>Gli utenti da computer avranno bisogno anche di un’interfaccia web?</td>
</tr>
<tr>
<td>Una funzione del dispositivo è essenziale</td>
<td>L’API necessaria è disponibile e affidabile sui browser esatti che dovete supportare?</td>
<td>La piattaforma offre la funzione, e quali permessi e restrizioni si applicano?</td>
</tr>
<tr>
<td>La connessione non è affidabile</td>
<td>Quali azioni funzionano offline e come si sincronizzerà il lavoro salvato?</td>
<td>Valgono le stesse domande; l’installazione da sola non fa funzionare offline le azioni che dipendono dal server.</td>
</tr>
<tr>
<td>Servono più piattaforme</td>
<td>Verificate il comportamento sulle combinazioni di browser e dispositivi supportati.</td>
<td>Definite l’ambito di ogni piattaforma e i test, il lavoro di rilascio e la manutenzione che richiede.</td>
</tr>
<tr>
<td>I rilasci devono cambiare spesso</td>
<td>Pianificate deploy, compatibilità e ripristino per le modifiche al servizio in esecuzione.</td>
<td>Considerate anche distribuzione, revisione dove prevista e utenti con versioni dell’app più vecchie.</td>
</tr>
</tbody>
</table>
<p>Non trattatela come un punteggio in cui vince chi ha più segni. Una sola funzione essenziale può determinare l’approccio. Molte preferenze non bastano a giustificare canali di prodotto in più.</p>
<h2>Due esempi che portano a primi rilasci diversi</h2>
<p><strong>Un portale di approvazione per i clienti:</strong> i clienti ricevono un link, esaminano documenti, approvano il lavoro e a volte completano il compito dal telefono. Il personale gestisce i dati alla scrivania. Una web app responsive è una prima candidata ragionevole. Prima di costruire un’app, verificate se l’installazione migliorerebbe in qualche modo il percorso importante.</p>
<p><strong>Uno strumento per la raccolta di dati sul campo:</strong> il personale registra informazioni durante la giornata in luoghi con scarsa connettività. Il prodotto richiede un comportamento specifico del dispositivo, dati locali e una sincronizzazione successiva. Valutate un’app nativa e una PWA rispetto a quei requisiti precisi. Un piccolo esperimento sulle capacità, fatto sui dispositivi reali, può risolvere la scelta più utilmente di un confronto generico tra funzionalità.</p>
<p>Sono flussi ipotetici, non affermazioni su risultati ottenuti per clienti di AL+. Il primo privilegia l’accesso semplice da più dispositivi; il secondo mette al centro il comportamento del dispositivo e della connessione. Nessuno dei due determina l’architettura di tutti i prodotti della sua categoria.</p>
<h2>Il lavoro offline richiede un comportamento scritto, non un’etichetta</h2>
<p>Descrivete cosa succede prima, durante e dopo la perdita della connessione:</p>
<ol>
<li>Quali informazioni devono essere già presenti sul dispositivo?</li>
<li>Quali azioni può completare l’utente senza una risposta del server?</li>
<li>Come mostra l’interfaccia il lavoro salvato, in sospeso, fallito e sincronizzato?</li>
<li>Cosa succede se un’altra persona modifica lo stesso record?</li>
<li>Cosa succede se l’utente esce dall’account, perde il dispositivo o torna dopo una lunga interruzione?</li>
</ol>
<p>Una schermata in cache e una transazione aziendale offline sono requisiti diversi. Per esempio, mostrare un appuntamento caricato in precedenza non dimostra che una nuova prenotazione possa essere confermata senza raggiungere il sistema che gestisce la disponibilità.</p>
<p>Sia le implementazioni native sia quelle web richiedono decisioni su dati, conflitti e ripristino. Consultate la documentazione della piattaforma interessata e verificate il comportamento critico, invece di darlo per scontato solo per il nome di una tecnologia.</p>
<h2>Il backend è una parte separata della decisione</h2>
<p>Un’app installata può comunque dipendere da account, record condivisi, pagamenti, notifiche e strumenti di amministrazione che girano altrove. Anche un’applicazione web può avere bisogno degli stessi servizi.</p>
<p>Per entrambi gli approcci, individuate quale backend esiste già, chi lo controlla, quali interfacce sono disponibili e cosa va costruito. Portare l’interfaccia sul telefono non risolve un’integrazione inaffidabile né una proprietà dei dati poco chiara.</p>
<p>Includete il flusso amministrativo. Se qualcuno deve correggere un record o assistere un cliente, decidete come lo farà. L’esperienza mobile del cliente e un’interfaccia web di amministrazione possono essere canali diversi dello stesso prodotto, ma entrambe rientrano nell’ambito di lavoro.</p>
<h2>Confrontate stime di rilascio complete</h2>
<p>Chiedete a ogni proposta di separare il lavoro di prodotto condiviso dal lavoro specifico della piattaforma:</p>
<ul>
<li><strong>Comportamento condiviso:</strong> regole aziendali, dati, accessi, integrazioni e gestione del server.</li>
<li><strong>Lavoro sull’interfaccia:</strong> percorsi utente e layout per ogni canale supportato.</li>
<li><strong>Verifica:</strong> i dispositivi, i browser, i permessi e i casi di errore che verranno controllati.</li>
<li><strong>Rilascio:</strong> deploy o invio allo store, accesso agli account, informazioni per l’assistenza e ripristino.</li>
<li><strong>Manutenzione:</strong> modifiche di compatibilità, correzioni, rilasci e costi continuativi dei fornitori.</li>
</ul>
<p>Non esiste una percentuale universale e affidabile per cui un approccio costi meno dell’altro. Un backend esistente, una funzione del dispositivo indispensabile o una seconda interfaccia possono cambiare il confronto. Confrontate lo stesso rilascio utile, non due conteggi di schermate o tariffe orarie.</p>
<p>La nostra <a href="/en/thoughts/mobile-app-development-cost/">guida al costo di un’app mobile</a> (in inglese) spiega il lavoro contenuto in una stima per un’app nativa iOS. È una checklist dell’ambito di lavoro, non la promessa di un prezzo standard per il progetto.</p>
<h2>Un brief per decidere la piattaforma</h2>
<p>Scrivete queste sei righe prima di chiedere a uno sviluppatore di scegliere uno stack:</p>
<ol>
<li><strong>Percorso principale:</strong> cosa deve completare un utente, dall’inizio al risultato.</li>
<li><strong>Utenti e dispositivi:</strong> chi la usa, dove, quanto spesso e su quali dispositivi.</li>
<li><strong>Funzioni essenziali:</strong> il comportamento esatto del dispositivo o le integrazioni da cui dipende il percorso.</li>
<li><strong>Comportamento della connessione:</strong> cosa deve succedere quando la rete non è disponibile.</li>
<li><strong>Sistemi esistenti:</strong> il backend, i dati, gli account e le interfacce già disponibili.</li>
<li><strong>Confine del primo rilascio:</strong> le piattaforme supportate, le esclusioni, i vincoli di budget e il motivo di un’eventuale scadenza fissa.</li>
</ol>
<p>Se una funzione potrebbe cambiare la decisione, chiedete una verifica tecnica mirata prima di una realizzazione completa. Se l’incertezza riguarda come le persone usano l’interfaccia, <a href="/it/articoli/mvp-o-prototipo/">un prototipo può essere il primo passo giusto</a>.</p>
<h2>Parliamo del flusso prima di scegliere la piattaforma</h2>
<p><a href="/it/servizi/sviluppo-software-su-misura/">AL+ sviluppa applicazioni web su misura</a> e <a href="/it/servizi/sviluppo-app-ios/">app native per iPhone e iPad</a>, con la responsabilità dei servizi collegati e della manutenzione dopo il lancio. Possiamo parlare della prima piattaforma partendo dal compito, dai dispositivi di destinazione e dal sistema esistente.</p>
<p><a href="mailto:paul@alplustech.com?subject=Scelta%20tra%20piattaforma%20web%20e%20iOS">Scrivete ad AL+ del vostro progetto web o iOS</a>. Inviate il brief di sei righe, così la conversazione parte dai requisiti che determinano il lavoro.</p>
]]></content>
  </entry>
</feed>
