Il reparto IT in cui lavoro come programmatore ruota attorno a una base di codice di oltre 30 anni (Fortran e C). Il codice è in pessime condizioni, in parte a causa di oltre 30 anni di modifiche mal progettate ad hoc, ma ho anche il sospetto che gran parte abbia a che fare con le capacità dei programmatori che hanno apportato le modifiche (e che, per inciso, sono ancora in giro).Software Rewrite-vs-Running Cost Analaysis
L'attività che dipende dal software funziona 363 giorni all'anno e 20 ore al giorno. Purtroppo ci sono numerose interruzioni. Questo è il primo posto in cui ho lavorato dove ci sono sviluppatori in chiamata per applicare correzioni del codice operativo ai sistemi di produzione. Quando ero il primo, c'era in realtà una copia del codice sorgente e degli strumenti di sviluppo sui server di produzione in modo che al volo si potessero applicare le modifiche; per fortuna che la pratica è stata ora interrotta.
Ho suggerito un paio di volte alla direzione che i costi dei tempi di inattività, gli sviluppatori in servizio, il personale operativo extra, i clienti insoddisfatti, ecc., Stanno costando molto più al business, e forse anche a breve termine, di quanto vorrebbe lanciare uno sforzo totale per riscrivere/rifattorizzare/sostituire l'intera cosa (la base di codice è di circa 300k linee).
Idealmente si tratterebbe di una società di consulenza esterna che potrebbe entrare ed eseguire la regola sulla qualità del codice e sui costi necessari per mantenerla in esecuzione contro riscrittura/refactoring/sostituzione. La domanda che ho è come dovrebbe andare un'azienda a fare quel tipo di analisi dei costi sul software E essere in grado di avere fiducia in tale analisi? I primi consulenti IT in fondo alla strada potrebbero affermare di essere in grado di fare l'analisi, ma come si potrebbe fare in modo che la direzione si senta a proprio agio con ciò che viene detto dallo staff interno?
Ho lavorato in un negozio in cui mi sarebbe piaciuto avere 4 ore di interruzioni giornaliere. Questa è un'occasione d'oro se puoi usarla. –
John, lo stesso qui. ;) Il mio prodotto funziona 24/7/365, ma per fortuna non ci sono troppi utenti, quindi possiamo permetterci di spegnere il sistema per un breve periodo (come 15 minuti) al di fuori delle ore di punta per aggiornare il software. –