Il mondo di oggi va molto in fretta e ogni giorno siamo sommersi da una quantità enorme di informazioni. Come sanno gli esperti di comunicazione, per catturare l'attenzione degli utenti si tende a sintetizzare uno o più concetti in
slogan o
sigle, si attaccano etichette e si tende a classificare ogni aspetto dell'attività umana.
Non fa eccezione lo sviluppo del software: molto spesso si attaccano etichette a questa o quella tecnologia, a questo o quell'approccio; altrettanto spesso sono etichette a scopo di
marketing, che tendono a catturare l'attenzione dello sviluppatore e talvolta ad instaurare diatribe sulla validità dell'una o dell'altra tecnologia perdendo di vista il perché delle cose.
Ad esempio, nell'ambito dello
sviluppo agile si discute spesso se sia meglio adottare una pratica invece che un'altra, se un certo prodotto aiuta ad essere più agili.
In realtà l'
obiettivo non è essere agile, ma essere aperti e pronti al cambiamento.
Lo scopo non è creare software
test-driven, ma realizzare software che sia possibile testare velocemente ed efficacemente.
Questi ragionamenti hanno spinto
Jason Gorman, fondatore di
Codemanship, ad analizzare quali sono i
principi fondamentali a cui deve ispirarsi uno sviluppatore, indipendentemente dalla tecnologia che utilizza e dall'approccio allo sviluppo che preferisce. Il risultato di questa analisi è un libretto di una quarantina di pagine in formato PDF
liberamente scaricabile dal titolo "
Back to Basics, Hype-free Principles for Software Developers".
Nel testo
Gorman illustra
undici principi che dovrebbero stare alla base di qualsiasi attività di sviluppo software:
- Il software dovrebbe avere obiettivi testabili
- Lo stretto coinvolgimento del cliente è la chiave del successo di un progetto software
- Lo sviluppo di software è un processo di apprendimento
- Iniziare dalle cose più importanti
- Comunicare è l'attività principale
- La prevenzione è (di solito) più economica della cura
- Il software che non può essere utilizzato non ha valore
- Le interfacce servono per comunicare
- Automatizzare il lavoro ripetitivo
- Far crescere un software complesso partendo da componenti semplici
- Per imparare occorre essere aperti al cambiamento
Al di là delle etichette, dunque, il buon senso e la capacità di comprendere il perché si sta facendo un determinato lavoro sono la chiave per ottenere i migliori risultati.