giovedì 31 marzo 2016

Promemoria: domande prima di accettare di prendere in carico un software

Elenco delle domande da fare (cioè delle risposte da ricevere chiaramente per iscritto) ogni volta che mi fanno ereditare un progetto software fatto da altri.

Sviluppo:

- come si fa a installare i tool di sviluppo?
- devo usare per forza il vostro IDE? se sì, perché?
- compilatori e librerie: state usando le versioni più recenti? se no, perché?
- come e quando vanno aggiornati compilatori e librerie? a chi fare riferimento?
- quale sistema di version control si usa per i sorgenti? a chi fare riferimento?
- quali sistemi di bug tracking? sono integrati col version control? a chi fare riferimento?
- quali convenzioni occorre rispettare nel codice?
- cosa si usa per la documentazione?
- chi e quando fa la revisione del codice?
- c'è un database? viene aggiornato? c'è un DBA a cui fare riferimento?

Collaudo:

- come si fa il deploy di prova? e in ambiente di collaudo? e in rilascio?
- chi e come conferma la correttezza dei deploy? se fallisce, chi e quando se ne deve occupare?
- chi e come può accedere ai log? posso accedere ai log aggregati? se no, perché?
- come si eseguono i test? i test disponibili coprono tutta la casistica?
- riguardo alla sicurezza, ci si può già fidare a mettere il progetto in "produzione"?
- quale è normalmente il carico di lavoro? come si può misurare?
- può sopportare carichi improvvisi e imprevisti? si può verificare?

Esercizio:

- come posso sapere se una mia modifica ha drasticamente rallentato o appesantito il sistema?
- cosa perde il cliente in caso di disservizio in esercizio?
- il contratto col cliente prevede una SLA? chi è il responsabile che la deve assicurare?
- le violazioni alla SLA sono trattate come bug del software?
- in caso di disservizio dovuto a fattori esterni, entro quanto tempo deve tornare operativo il sistema?
- cosa deve succedere in caso di disservizio iniziato in giorni festivi?

Nessun commento:

Posta un commento