Quella che segue è una traduzione (parziale) di un articolo dal titolo: “Linus Torvalds’s Lessons on Software Development Management” (ovvero: lezioni di Linus Torvalds [il creatore di linux ndr] sulla gestione dei progetti di sviluppo software), scritto da Steven Vaughan-Nichols che potete trovare qui, nel quale Torvalds appunto spiega le sue opinioni riguardo la gestione (creazione) dei progetti software.
<<
Se c’è qualcuno che conosce gioie e dolori della gestione di progetti di sviluppo software, questi è Linus Torvalds, creatore del programma open-source più conosciuto al mondo: il sistema operativo Linux. Per più di 20 anni, Torvalds ha diretto milioni di sviluppatori allo scopo di migliorare il sistema operativo.
Ci siamo seduti a parlare delle tecniche più efficaci per gestire grandi squadre di sviluppatori distribuiti ovunque nel mondo e anche delle cose che non funzionano.
Torvalds dice che ci sono due cose, che le persone pensano riguardo lo sviluppo, che sono completamente sbagliate, sia a livello individuale che nelle compagnie.
La prima cosa è pensare che, con lo sviluppo di programmi open source, si possa buttare lì il proprio progetto e chiedere aiuto alle persone.
Non è così che funziona. Tu rendi pubblico il tuo progetto, e ragioni pensando che tutto il lavoro dovrà essere fatto da te; alle persone chiedi di aiutarti con suggerimenti su quello che dovresti fare tu, e non su quello che dovrebbero fare loro.
Forse loro inizieranno ad aiutarti, ma dovresti cominciare col presupposto che tu sarai l’unico a mantenere il progetto e che quindi devi essere pronto a fare tu tutto il lavoro.
Torvalds continua dicendo: "se inizi con un pò di quello che si chiama ‘sentimento kumba-ya’, cioè se pensi che le persone si uniranno insieme da tutto il mondo per fare un mondo migliore lavorando sul tuo progetto, probabilmente non andrai molto lontano."
"La seconda cosa sulla quale le persone si sbagliano, è pensare che ciò che importa sia il codice che essi scrivono", dice Torvalds.
Molti gestori di sviluppo del software pensano questo. "No, anche se hai scritto il 100% del codice, e anche se sei il migliore programmatore al mondo e pensi di non aver mai bisogno di aiuto per il tuo progetto, la cosa veramente importante sono gli utenti del codice. Il codice di per se stesso non è importante: il progetto è utile nella misura in cui le persone lo trovano tale".
A questo punto, aggiungo che questo non è un problema del programmatore. Ho visto intere aziende bloccarsi nell’idea che "perfezionare" il programma fosse tutto, per poi trascurare quello che gli utenti vogliono dal programma, dare loro supporto e così via. Molti di noi che hanno svolto questo tipo di attività per un pò, hanno visto questo ciclo ripetersi più e più volte.
Per approfondire questo secondo punto, Torvalds dice che questo è il motivo per il quale il team di sviluppo del kernel di Linux è "molto sistematico riguardo la ‘no regression’ per esempio (cioè il non ricadere ad un precedente stato di avanzamento del software ndr).
Interrompere l’esperienza dell’utente allo scopo di aggiustare qualcosa è un concetto totalmente sbagliato; non puoi farlo. Se interrompi l’esperienza che l’utente ha del programma puoi pensare di aver aggiustato qualcosa nel codice ma, se per aggiustare il codice "rompi" l’utente, hai violato il secondo punto e cioè pensi che il codice sià più importante dell’utente. E questo non è vero."
Torvalds conclude, "Troppo numerosi sono i progetti nei quali sembra che si pensi che il codice sia più importante dell’utente, e quindi si cambiano varie parti a destra e a sinistra, e non ci si scusa per questo proprio perché si pensa di star lavorando al ‘fixing’ del codice e quindi di fare la cosa giusta.
A tutto questo posso solo aggiungere “Amen!”>>
La seconda parte…è qui!!!