Il primo passo è che devi venire da una mentalità che questo (l'aggiornamento rompe altre cose) non è normale. Il tuo aggiornamento non dovrebbe interrompere o rallentare altre parti dell'app. Non va bene, non è previsto, e non è colpa degli utenti quando si lamentano. Dovresti fare più test possibile per cercare di evitarlo. Quando succede, hai un problema e uno urgente.
Il passaggio 2 è che devi sapere cosa hai fatto. Il tuo sistema di controllo del codice sorgente potrebbe essere in grado di aiutarti, o qualche tipo di sistema di tracciamento del lavoro, ma devi essere in grado di dire nel momento in cui ricevi uno di questi reclami "ok, ho aggiunto una colonna a questa tabella, ho cambiato questa griglia per calcolare le nuove tasse, ha aggiunto quelle due nuove relazioni ... "e così via.
Il passaggio 3 è che devi avere esperienza nell'individuare problemi di perf e arresti anomali rapidamente, in modo che tu sappia che genere di cose potrebbero causarli e che puoi arrivare al problema immediatamente. Questa cosa è andata in onda e devi trovare rapidamente il problema e ottenere una patch. La modifica di un rapporto non può rallentare una parte dell'app che non utilizza il rapporto. Sei in modalità di emergenza ora e devi capire dove si trova l'errore e cosa fare al riguardo - senza interrompere un'altra parte dell'app nel processo.
Il passaggio 4 è per ciascuna di queste miserie, dovresti imparare una lezione che testerai per la prossima volta. Diventerai "quel ragazzo" che obietta a certi costrutti perché "quello sarà orribile quando ci sono 10.000 record".
Un po 'di più sul fronte "questo è normale". Corro (tra tutte le altre cose che stiamo facendo) un progetto agile per un cliente esterno. Abbiamo fatto le pubblicazioni all'incirca ogni 6 settimane per due o tre anni. E sì, l'uscita è programmata al minuto. Ne abbiamo appena fatto uno alle 8 di ieri. E all'incirca ogni quarto o quinto rilascio (una o due volte l'anno, in altre parole) qualcosa si rompe dal vivo, e saltiamo in azione e facciamo il più velocemente possibile. Anche se testiamo, testiamo e testiamo prima del rilascio. Poi diciamo loro cosa è successo. "Nella distribuzione di giugno c'era un piccolo bug che lasciava vuoto questo campo, ma non lo abbiamo mai notato perché non stavamo usando il valore in quel momento. Quindi in questa distribuzione quando iniziammo ad usare il campo, quelli che erano vuoti causarono quel messaggio di errore che hai visto. Abbiamo corretto il bug in modo che non possano essere vuoti, inserisca i valori nei record danneggiati e confermato che non esploda più. O "Il cambiamento di emergenza che hai implorato, solo due giorni prima del rilascio, ha avuto conseguenze a cui non pensavamo e non ci siamo testati, ricorda perché resistiamo ai cambiamenti di emergenza?" Potrei non essere un cattivo programmatore per peggiorarlo con l'aggiornamento, ma sicuramente ho fatto una brutta cosa. E ho bisogno di farlo bene.