Start pagina | Aantekeningen |  NederlandsHulpbronnen | Zoek
Home page | CommentsNetherlandsResources | Search
 
 
 


Standardizzare, che passione!

Messaggio su un NG:
Sono [nome rimosso], sto' operando come Project Manager per conto di una societa', attualmente mi sto' occupando di standardizzare il sistema di sviluppo del software della societa'. Volevo avere delle impressioni sui prodotti (IDE, editor etc.) che possono essere impiegati e se secondo voi e' una buona idea forzare uno standard in questo campo.

Risposta mia: lascia perdere, e' una lotta persa in partenza e produrrai piu' danni di quello che tu non stia gia' facendo.

Ora, tale risposta ha innescato un certo giro di messaggi, pertanto e' meglio che io spieghi il perche' ed il percome della mia opinione. Come al solito, questa e' la mia opinione, siete liberissimi di avere un'idea diversa, soprattutto se siete dei Project Manager...

In una azienda moderna vi sono due concetti che dovrebbero regnare sovrani: 1. Efficienza e 2. Praticita'. Come si capisce il condizionale e' d'obbligo e non e' affatto facoltativo.

Ora, un "manager" e' un'individuo che per sua stessa ammissione non ha la piu' pallida idea di cosa sta' facendo, non capisce di cosa si occupano le persone che dovrebbe "gestire", ne' tantomento ha idea di cosa fare per migliorare i summenzionati concetti.

Se qualcuno non l'ha ancora capito i manager non sono proprio al primo posto nella mia lista di individui da salvare nel caso di catstrofe termonucleare globale.

Ma una cosa che proprio non bisogna fare, e' tentare di "standardizzare" tutto lo standardizzabile.

Se lo si fa', si finisce con l'ottenere il risultato totalmente opposto e di produrre una reazione a catena che porta all'imediata perdita di tutti i dipendenti che sarebbe meglio tenere, mentre (per legge di compensazione) rimangono solo quelli che sarebbe meglio cacciare via a pedate.

Intendiamoci: non ho niente contro un certo tipo di "standard". Se TCP/IP e compagnia varia non fossero standard non avremmo Internet e tutto quello che ne consegue. Se non ci fosse uno standard sulla larghezza delle automobili non potremmo guidare la nostra auto da un paese all'altro e cosi' via.

Ma tutti questi "standard" non sono stati imposti da nessuno, sono il risultato di una serie di azioni causa/effetto che hanno portato dal caos primigenio all'emergere di uno o piu' "standard" che nessuno ha dichiarato tali da nessuna parte. Perche' questi si sono affermati mentre altri sono svaniti nel nulla? ragioni economiche, ragioni pratiche o semplicemente perche' questi sono piu' belli degli altri, il fatto e' che alcuni si affermano mentre altri svaniscono (e solo alcuni ne sentono la mancanza).In generale, la soluzione piu' efficiente si impone mentre le altre scompaiono.

Se si tenta di forzare un certo modo di fare le cose, si fornisce un chiaro segno che conformita' e' meglio di efficienza, da questo alla dannazione eterna, il passo e' breve.

Detto questo, potete immaginare quale sara' la reazione di un gruppo di programmatori di fronte all'annuncio che "d'ora in poi tutti dovranno usare XXXXX per sviluppare il proprio codice!".

Non credo che ci saranno grida di "evviva" ne' verranno aperte bottiglie di spumante, ritengo piuttosto che ci saranno una serie di frasi del tipo "ficcatelo nel..." mormorate a mezza bocca...

L'introduzione (forzata) di un unico strumento di sviluppo in un gruppo e' il primo passo che porta al dissolvimento del gruppo stesso.

Se lo scopo del gruppo e' produrre codice, lasciate che ognuno utilizzi il proprio editor del cuore, per quanto vecchio, strambo o assurdo sembri, il propietario dello stesso non lo vede cosi'.

Ogni programmatore ha un certo modo di lavorare, ha i suoi 'giocattoli' preferiti che ha selezionato in mezzo ad un campionario quasi sterminato mediante un processo di ricerca/controllo/me-gusta-non-me-gusta (processo tutt'altro che logico e scientifico, ma viene impiegato da circa 2000 anni...), conosce ogni switch ed ogni flip dei propri "arnesi" ed ha costruito un sistema di lavoro che gli consente di fare praticamente tutto utilizzando tali strumenti in maniera da massimizzare l'efficienza (cioe' perdere meno tempo possibile e rompersi le balle il meno possibile).

Date ad un programmatore un no-brain-job (es. aggiustare un file ASCII di 120Kb per poterlo processare con un qualche tipo di programma), e nel 90% dei casi lo fara' usando un qualche tipo di funzione automatica infilata dentro al suo editor preferito. Se e' particolarmente creativo, o se il suo editor del cuore manca di tale funzione, procedera' a colmare la lacuna per i giorni a venire. In generale non ci impieghera' piu' di un paio d'ore, mentre a farlo a mano ci avrebbe impiegato 3 giorni.

Dovendo invece utilizzare forzatamente un determinato strumento, ognuno si trovera' in seria difficolta'. Teniamo anche conto che i programmatori (specie quelli esperti) odiano dover scartabellare in mezzo a pile di carta per mezz'ora solo per sapere "come XXXX si richiama il cerca/sostituisci in questo XXXXX di editor???". Quindi invece di 3 ore o 3 giorni ci impieghera' 3 settimane, scarichera' la colpa sul fatto che "non conosce lo strumento" e, fondamentalmente, sara' molto scocciato.

A meno che il nuovo strumento non sia una cosa ultrasofisticata e ultragalattica, un'arnese al cui confronto tutti gli altri sbiadiscono e svaniscono (ma se lo fosse, lo userebbero gia'), non c'e' speranza che sia accettato. Il rifiuto sara' piu' o meno marcato, ma ci sara'.

Ora, non so se il tizio che aveva fatto la domanda abbia o no "comprato la mia idea", ma non sembrava molto soddisfatto della mia risposta...

Davide Bianchi
03/02/2001

Davide Bianchi
22/03/2008 00:00

Torna all'elenco Previous  Next


No messages this document does not accept new posts