Se la nazionale italiana di Rugby spendesse l'intero anno che la separa al prossimo torneo delle 6 nazioni per allenarsi al calcio d'inizio suonerebbe strano!
Trovo che nel mondo virtuale e intangibile del software una stranezza simile non risulta altrettanto evidente.
Il disegno del codice e l'architettura di una applicazione ad esempio.
I libri, i siti, le discussioni sui forum, i corsi, parlano principalmente di come realizzare una architettura iniziale, di che disegno dare al codice quando si scrive.
Quando un software ha successo dura anche 5 o 10 anni. Nei quali vengono corretti i bug, aggiunte nuove funzionalità e quelle esistenti vengono adattate al mondo che cambia (il modello di business, i processi di sviluppo, la tecnologia, le persone)
Scopo del disegno e della architettura è rendere queste evoluzioni possibili, entro tempi utili, con costi sostenibili, senza rompere o degradare le altre funzioni del software.
Cioè la vera partita nel disegno del codice e nella architettura della applicazione si gioca nel fare refactoring di codice esistente e nel evolvere l'architettura corrente. Nel pesare le scelte possibili in funziona della situazione esistente e dei pro e contro. Per quanto le conseguenze sono evidenti e tangibili, questo aspetto del disegno e della architettura resta poco evidente, facile da sottovalutare
Tags : |
Agile |
Progettazione Software |