Ho seguito con attenzione il "codice di qualità sempre scritto, a meno che tu non stia scrivendo un prototipo" di consigli durante la mia carriera di libero professionista e sviluppatore di software. Sono stato convinto abbastanza presto che evitare di fare revisioni del codice, test, QA o refactoring non rendesse il progetto più veloce, ma solo più lento.
Libri come Mese Mythical Man di Fred Brooks o Sviluppo rapido di Steve McConnell ha confermato i miei pensieri. Anche l'esperienza professionale in aziende di medie dimensioni mi ha mostrato quanto denaro e tempo si sprecano nemmeno cercando di fare un lavoro di qualità.
Allo stesso tempo, ho sentito spesso i miei colleghi lamentarsi del fatto che mantenere costantemente una buona qualità del codice o semplicemente ottenere una buona qualità del codice è troppo complicato per le piccole aziende e per i piccoli team:
-
È troppo costoso per consentire alle persone di scrivere e mantenere il codice di qualità.
Se la compagnia può assumere due persone per $ 3 000 al mese o una persona per $ 6 000 al mese, la maggior parte dei manager considererebbe che due persone saranno più produttive di una: forse non di un fattore due, ma ancora. Oppure la piccola azienda può assumere una persona per $ 3 000 al mese e spendere i rimanenti 3 000 per qualcos'altro.
-
Ci sono troppi aspetti da prendere in considerazione per poterlo fare all'interno di una piccola squadra.
Una singola persona difficilmente può prendersi cura dello stile di codice, leggibilità, architettura, design, facilità di test, test stesso, affidabilità, sicurezza, facilità d'uso, prestazioni, ecc.
-
E non ne vale la pena.
Non è come se un codice rimarrà nella base di codice per i prossimi quindici anni e verrà letto migliaia di volte da centinaia di sviluppatori. Le probabilità sono: la stessa persona manterrà questo software per i prossimi cinque anni, poi lo getterà via e ne scriverà uno migliore da zero.
Di solito rispondo che si dovrebbe ricordare il fattore di produttività di 1:10 tra gli sviluppatori e che la maggior parte del tempo viene speso non scrivendo codice, ma mantenendolo. Ciò significa che il codice di bassa qualità è ancora più costoso.
Ma è così?
Se ogni azienda, a prescindere dalle sue dimensioni, cerca di assumere i migliori sviluppatori possibili, incoraggiandoli a scrivere un codice di qualità, o c'è una scala al di sopra della quale la qualità del codice diventa solo un peso, una perdita di tempo e denaro ?