Home
NFR-6: Manutenibilità
Descrizione
[NFR-6.01] La manutenibilità definisce quanto sia facile modificare, aggiornare e mantenere il sistema nel tempo. [NFR-6.02] Le codebase DOVREBBERO (SHOULD) essere modulari, ben documentate e seguire standard concordati per facilitare le modifiche future.
Guida
Costruire per la manutenibilità
[NFR-6.03] I sistemi DEVONO (MUST) essere progettati per la manutenibilità a lungo termine:
- Codice pulito: Scrivere codice leggibile e ben strutturato che segua standard e pattern di codifica stabiliti.
- Documentazione: Includere documentazione inline completa, documentazione API e Architectural Decision Record (ADR).
- Design modulare: Implementare principi di loose coupling e high cohesion per rendere le modifiche più facili e sicure.
- Testing: Costruire suite di test automatizzati complete per consentire refactoring e modifiche con fiducia.
- Gestione della configurazione: Esternalizzare la configurazione per consentire deployment facile in diversi ambienti.
- Logging e monitoraggio: Implementare logging strutturato e monitoraggio per aiutare nel debugging e nell’analisi delle prestazioni.
Validare la manutenibilità
La manutenibilità è principalmente validata attraverso pratiche di qualità del codice e monitoraggio continuo:
DEVE (MUST) essere implementato:
- [NFR-6.04] Code review regolari
- [NFR-6.05] Analisi statica del codice (linting, type checking)
- [NFR-6.06] Copertura dei test automatizzati
- [NFR-6.07] Documentazione tecnica aggiornata
- [NFR-6.08] Controllo di versione (Git)
DOVREBBE (SHOULD) essere implementato:
- [NFR-6.09] Metriche di qualità del codice (complessità ciclomatica, duplicazione)
- [NFR-6.10] Architectural Decision Records (ADR)
- [NFR-6.11] Diagrammi di architettura aggiornati
- [NFR-6.12] Onboarding documentation per nuovi sviluppatori
Misurazione
| Stato |
Criteri |
| 🟢 VERDE |
Codice ben strutturato, documentazione completa, test automatizzati, standard di codifica seguiti |
| 🟡 AMBRA |
Documentazione parziale, alcuni test mancanti, standard inconsistenti |
| 🔴 ROSSO |
Codice legacy non documentato, nessun test, difficile da modificare |
Riferimenti