

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Fattori di preparazione alla modernizzazione
<a name="readiness-factors"></a>

Osserva i seguenti standard e best practice quando modernizzi le tue applicazioni.

**Topics**
+ [Codice](#code)
+ [Compilazione e test](#build-test)
+ [Versione](#release)
+ [Gestione](#operate)
+ [Ottimizzazione](#optimize)
+ [Prontezza](#readiness)

## Codice
<a name="code"></a>
+ Fornisci commenti sul codice che documentano la funzionalità del tuo software e usali per generare documentazione.
+ Segui i processi di gestione e distribuzione del codice che supportano controlli frequenti del codice e la tracciabilità delle richieste di funzionalità. 
+ Crea suite di test che includono test unitari, funzionali, prestazionali e dei percorsi critici, con una copertura del codice al 100%.
+ Incoraggia il riutilizzo del codice per fornire funzionalità uguali o simili nella tua codebase.
+ Sviluppa prototipi per convalidare le funzionalità con gli utenti prima di investire nello sviluppo completo del codice. 

## Compilazione e test
<a name="build-test"></a>
+ Ridefinisci la completezza delle funzionalità in base ai test, per migliorare la qualità e prevenire problemi ricorrenti.
+ Automatizza i test di accettazione.
+ Monitora tutti i test automatizzati e stabilisci un processo per la gestione degli errori.
+ Tieni traccia delle prestazioni in ambienti di produzione e non di produzione, definisci obiettivi a livello di servizio (SLOs) sulla base di test realistici sul traffico e sul carico e offri la possibilità di scalare per soddisfare i requisiti prestazionali.
+ Estrai i dati sensibili dai file di configurazione e fornisci strumenti per automatizzare e monitorare le configurazioni.

## Versione
<a name="release"></a>
+ Automatizza le implementazioni con il supporto per le dipendenze (ad esempio, le versioni dei database), i test di regressione e il tracciamento.
+ Rilascia il codice nell'ambiente di produzione in modo incrementale, dopo ogni build riuscita.
+ Gestisci i flag di funzionalità (toggle) in modo efficace: supporta la configurazione in fase di esecuzione, monitora l'utilizzo, gestisci i flag durante tutto il ciclo di sviluppo e assegna i proprietari per categoria.
+ Garantisci la tracciabilità nelle tue pipeline di sviluppo, per tenere traccia dei trigger, delle notifiche di errore e del completamento con successo.
+ Esegui processi e test di implementazione automatizzati per aggiornamenti del codice «zero touch» in distribuzione continua.
+ Utilizza metodologie di implementazione blu/green completamente automatizzate e senza tempi di inattività.
+ Assicurati che le modifiche allo schema del database siano implementate in modo coerente in tutti gli ambienti di sviluppo e produzione.

## Gestione
<a name="operate"></a>
+ Crea un runbook DevOps di triage integrato con il tuo sistema di notifica.
+ Assicurati che il tuo sistema di monitoraggio e notifica soddisfi gli obiettivi a livello di servizio (SLOs) e supporti soglie, controlli di integrità, risposte HTTP non standard e risultati imprevisti.
+ Stabilisci processi efficaci di gestione del rischio e disaster recovery.
+ Sviluppa una strategia di rotazione e conservazione dei log che soddisfi i requisiti aziendali e legali.
+ Sviluppa dashboard che monitorino le prestazioni dei prodotti, misurino il successo delle nuove funzionalità e visualizzino avvisi quando le metriche non soddisfano le aspettative.

## Ottimizzazione
<a name="optimize"></a>
+ Rivedi e migliora i processi regolarmente, sulla base di misure di prestazioni e qualità.
+ Implementa processi di analisi e prevenzione delle cause principali per evitare che i problemi si ripresentino.
+ Fornisci metriche basate sui dati che registrano lo stato del prodotto e assicurati che tutte le notifiche e le azioni siano basate su queste metriche. 

## Prontezza
<a name="readiness"></a>
+ Dedica un team interfunzionale (inclusi partner commerciali, sviluppatori, tester e architetti) ai tuoi sforzi di modernizzazione.