Storie dalla Sala Macchine


Home Page | Commenti | Articoli | Faq | Documenti | Ricerca | Archivio | Storie dalla Sala Macchine | Contribuire | Imposta lingua:en it | Login/Register


Un Sacco di Cose sono proprio come Niente

Avete mai sentito parlare di "Change Management"?

No, non e' quando voi decidete di cambiare i vostri manager, prendete una mitragliatrice e rifate la scena di Terminator nella stazione di polizia e poi mettete in giro degli annunci "Ci servono dei manager, quelli vecchi sono un po' morti". Perche' sarebbe una fantastica idea, anche se fantasticamente illegale.

Quello che e' normalmente chiamato "change management" e' un'insieme di cose molto confuse, che puo' contenere, ma non necessariamente, cose come una sequenza ben stabilita di passi per apportare modifiche ad un insieme di sistemi.

L'idea di base e' che, se avete un insieme di sistemi, apportare modifiche a tutti in blocco e' molto piu' semplice, piu' veloce e piu' efficiente che farlo manualmente uno alla volta. Il che ha senso, in contesto.

Il problema piu' grosso, quando si cerca di portare l'idea nel regno della realta', e' che si deve cominciare con l'avere un INSIEME di sistemi. Cioe', tutti quei sistemi devono essere piu' o meno simili. Il problema e' quando l'unica similitudine tra i vari sistemi che compongono il vostro "insieme" e' "sono computers ed appartengono a noi".

Che vor' di'? Entriamo nel dettaglio.

L'adorabile posto a cui io mi riferisco con il nomignolo di "ShittyHostingProvider", fu creato come una piattaforma da SUSL quando decise di lanciare la sua societa' di Web Development, perche', non essendo del tutto scemo, capi' al volo che, avere una societa' di sviluppo web, senza avere un modo per pubblicare il prodotto finito, non era una grande idea.

Si mise quindi in combutta con un suo amico dai tempi dell'universita', e creo' la societa' "sorella" che si occupava di hosting. Ovviamente, la parte di hosting non poteva di certo sopravvivere solo con i sottoprodotti della parte di sviluppo web. Le due societa' andarono quindi, piu' o meno, avanti per strade separate.

Questo significa che ShittyHostingProvider acquisi' un gran numero di client diversi, i quali erano interessati ad hostare i loro siti senza dover necesssariamente assumere un sysadmin o imparare una marea di roba per conto loro.

Tutto bello, tutto giusto. Il problema era che, ognuno di quei clienti, aveva la sua idea sul come il "loro" sistema avrebbe dovuto essere impostato e funzionare. E l'unico modo di "acquisire" il cliente era, piu' o meno, fare le cose nel "loro" modo e non nel "tuo" modo. Soprattutto quando ancora non c'e' un "tuo" modo di fare le cose.

ShittyHostingProvider fini' quindi, con una ampia collezione di sistemi, che erano installati, configurati ed operanti, ognuno in un modo diverso dall'altro. C'era il Classico server PHP, il solito TomCat, lo strambo WebSphere, l'elefante Oracle, il carro armato DB2 e poi il Club di Windows. E nessuno di questi era minimamente simile agli altri.

Voglio dire, anche guardando due server teoricamente simili, tipo 2 server Tomcat, c'erano delle differenze. Uno dei due aveva tomcat installato in /var/lib/tomcat (perche'?) l'altro era in /opt/tomcat (PERCHE'?). Anche guardando cose piu' generiche si trovavano differenze. Certificati SSL? Uno li ha in /etc/pki/tls/certs, quell'altro in /etc/httpd/ssl (PERCHEEEE'????)

E dato che i clienti non avevan alcuna idea dei dettagli, e non gli interessava neanche saperli (in fondo, e' per quello che pagavano ShittyHostingProvider no?), chiunque fosse che stava installando un sistema era, piu' o meno, libero di fare come cappero gli pareva, e decidere sul momento come procedere. E dato che il Boss non senti' mai il bisogno di dire "'spetta un momento, questa e' una cazzata, vediamo di portare un po' di ordine nel chaos".... Be', il Chaos ando' avanti per la sua strada.

Ovviamente, quando si trattava di procedere con il rilascio di una applicazione, anche quell'attivita' era una cosa fatta 'ad hoc'. Per alcuni sistemi si trattava semplicemente di copiare la nuova applicazione nella directory giusta e poi riavviare l'applicazione, per altri era un incubo di modifiche manuali in files di configurazione, ricompilazioni ed altro. Quindi un "rilascio" poteva essere una cosa di alcuni minuti o di diverse ore.

E si puo' andare avanti in questo modo per sempre (o quasi), certo, ogni sistema e' unico, ma chissenefrega? Finche' funzionano e si mantiene una documentazione anche appena decente di come fare le cose per ognuno, continueranno a funzionare.

Nel frattempo, SUSL aveva deciso di "aumentare" gli affari, acquistando e "fondendo" insieme una massa di altre societa' del settore. Il risultato di queste "fusioni" sembrava, a me, un po' come i mostri dei film di serie B, fatti incollando insieme un mucchio di fogli di plastica da imballaggio e verniciandoli di verde. Con un sacco di gente che non si conosce, non si capisce ed improvvisamente deve "cooperare" e "condividere" i "loro" sistemi. Ed ognuno di questi sistemi e' fatto "ad hoc" ovviamente, e non ha alcuna relazione o similitudine con nessun altro.

Ovviamente ognuno sa perfettaemnte come IL LORO sistema funziona, ma non ha nessuna informazione, ne' alcun interesse, negli ALTRI sistemi che compongono questo minestrone.

E poi... Qualcuno ha l'IDEA: Hei! Perche' non prendiamo questa-o-quella certificazione? Ed uno dei punti principali di quella certificazione e': specificare ed utilizzare un sistema standardizzato per gestire le modifiche nel vostro ambiente. Ed a quel punto la bomba scoppia, perche' non c'e' UN ambiente, ci sono un centinaio di ambienti diversi tutti dentro un'unica scatola.

Per affrontare il problema il management decise di assumere qualcuno e di creare un "gruppo" di sviluppo del sistema di gestione.

La persona che fu' inizialmente assunta per portare avanti il lavoro, chiamiamolo CL per brevita', aveva delle qualifiche speciali: aveva creato e fatto fallire la sua personale societa' di hosting. Dopodiche' nei 5 anni successivi aveva assunto 5 diverse posizioni con altrettante societa', da "office manager" a "dispatch operator" (che non ho la piu' pallida idea di che cazzo significhi). Quindi era perfettamente competente per il lavoro di creazione un sistema di gestione cambiamenti totalmente integrato.

Ora, quando incontrai questo tipo per la prima volta, il mio cervello immediatamente riporto' alla luce, da uno scantinato polveroso dove erano sepolte, le memorie di un tizio che incontrai anni ed anni fa, tizio che, quando il suo Project Manager disse che "questa cosa bisogna procedere con i piedi di piombo" rispose "che cosa vuol dire?".

In ogni caso, inizio' immediatamente ad organizzare un mucchio di meeting con questo-o-quell'altro tizio nella societa'. Stranamente, "questo-o-quell'altro tizio" sembravano essere permanentemente assenti, nell'ufficio sbagliato, troppo occupati, in vacanza o troppo ubriachi per partecipare ai vari meeting. Si, capisco che avere un meeting con te stesso non si qualifica nemmeno come "avere un meeting", ma e' la maniera perfetta di giustificare la totale assenza di progressi del progetto.

Dato che sembrava incapace di procedere, SUSL decise di assegnarlo temporaneamente alla nostra "unita'" in modo che potesse "vedere in prima persona quale e' la procedura attuale", io feci presente che "la procedura attuale e' semplicemente FARE LE FOTTUTE COSE", ma apparentemente non era sufficiente. CL quindi si ritrovo' con una scrivania nel nostro ufficio e la possibilita' di vedere un po' di tickets. Ovviamente si guardo' bene dal toccarne uno.

Finche' il Boss decise che era il momento di assegnarne uno esplicitamente.

Il problema che si ritrovo' era di un cliente che aveva deciso, o meglio, gli sviluppatori del sistema avevano deciso, che invece di caricare le foto e le altre immagini del loro sito gia' pronte, volevano caricare le immagini "raw", e poi utilizzare un sistema semi-automatico per manipolare le immagini con varie trasformazioni per renderle pubblicabili. Per farlo, avevano scritto una sorta di interfaccia che usava ImageMagik.

Ora, niente di straordinario, se escludiamo il fatto che ad un certo punto un bell'aggiornamento di ImageMagik ammazzo' l'intero sistema. In dettaglio, una serie di parametri vennero resi "deprecati" e guarda caso su quei parametri gli sviluppatori avevano basato il 90% del loro codice. Il risultato e' che quando l'aggiornamento fu applicato in produzione, l'intero sistema smise di funzionare di colpo.

Il cliente non se ne rese conto subito perche' i programmatori avevano deciso che non erano interessati ai messaggi ritornati da ImageMagik e quindi non vi era nessun controllo di processo, e quando il problema venne riportato e DaBoss rifilo' il ticket a CL, nessuno aveva la piu' pallida idea di quale era il problema esattamente.

Per fargli giustizia, CL guardo' il codice del cliente per un bel 45 minuti prima di dichiarare che non vedeva niente di strano (perche' non c'era niente di strano in quel codice), quindi inizio' a fare varie prove a destra ed a sinistra ed a guardare a cose come diritti di scrittura su files e directory e cose cosi'.

Dopo un paio di giorni spesi provando cose varie senza ottenere nessun risultato, ricomincio' ad organizzare meeting con altra gente per ritornare al suo incarico iniziale e sostanzialmente 'scompari' dall'ufficio per circa un mese.

Dato che era tutt'ora "owner" del ticket, nessuno poteva vedere nessun tipo di reazione sullo stesso. Reazioni che erano per la maggior parte da parte del cliente che domandava "che cazzo sta' succedendo?"...

Durante il mese, ci furono una serie di "team meeting" che CL avrebbe dovuto presenziare, nei rari casi in cui era presente diede 'aggiornamenti' sul progetto sulle linee di "e' stato fatto un sacco di roba"...

Dopo circa un mese, ricevemmo una mail che era rimasto vittima di un incidente al mattino ed era ricoverato in ospedale. Il giorno dopo uno dei nostri Project Manager lo incontro' accidentalmente mentre stava facendo shopping e non sembrava qualcuno che avesse subito un incidente, manco un po'.

Due giorni dopo gli furono chieste le chiavi dell'ufficio e poi gli fu indicata la porta.

Ora, cosa possiamo dire di questa triste storia? Che se dai a qualcuno un obiettivo senza avere un modo di misurare il progresso fatto, puoi stare sicuro che non otterrai quello che vorresti.

Davide
22/01/2017 13:06

Precedente Successivo

I commenti sono aggiunti quando e soprattutto se ho il tempo di guardarli e dopo aver eliminato le cagate, spam, tentativi di phishing et similia. Quindi non trattenete il respiro.

7 messaggi this document does not accept new posts

Daniele Lupo

Di Daniele Lupo postato il 22/05/2017 09:08

Bene, dato che proprio oggi comincio un lavoro da un cliente che non sa cosa vuole e come capire se sto facendo il lavoro bene o male, spero di non fare la sua fine... -- Daniele Lupo

Nik

Di Nik postato il 22/05/2017 17:12

Comunque, per me "dispatch operator" è "fattorino"

-- Chronicles of a Broken Heart

Thomas

Di Thomas postato il 23/05/2017 00:48

A me "dispatch operator" sembra un bel modo per dire "centralinista"...

-- Thomas

Boso

@ Thomas Di Boso postato il 23/05/2017 09:56

 

A me "dispatch operator" sembra un bel modo per dire "centralinista"...

 

Switchboard Operator, centralinista si dice Switchboard Operator... con le maiuscole eh!

-- Boso

Guido

Di Guido postato il 23/05/2017 07:54

Piu' porti avanti una cosa fatta male e piu' difficile sara' sistemarla...

-- who uses Debian learns Debian but who uses Slackware learns Linux

Solito codardo anonimo

Di Solito codardo anonimo postato il 23/05/2017 15:18

Chi s'è poi preso la gatta da pelare? Uno a caso, vero?

Del resto cosa potevi aspettarti da qualcuno che vantava tra le sue qualifiche il "dispatch operator", che sarebbe semplicemente l'operatore da call center (almeno credo)?

-- Solito codardo anonimo

Matteo

Di Matteo postato il 26/05/2017 09:27

Un po' come il nostro Warehouse & Logistic Manager (magazziniere)...

-- Matteo

7 messaggi this document does not accept new posts

Precedente Successivo


Il presente sito e' frutto del sudore della mia fronte (e delle mie dita), se siete interessati a ripubblicare uno degli articoli, documenti o qualunque altra cosa presente in questo sito per cortesia datemene comunicazione (o all'autore dell'articolo se non sono io), cosi' il giorno che faccio delle aggiunte potro' avvisarvi e magari mandarvi il testo aggiornato.


Questo sito era composto con VIM, ora e' composto con VIM ed il famosissimo CMS FdT.

Questo sito non e' ottimizzato per la visione con nessun browser particolare, ne' richiede l'uso di font particolari o risoluzioni speciali. Siete liberi di vederlo come vi pare e piace, o come disse qualcuno: "Finalmente uno dei POCHI siti che ancora funzionano con IE5 dentro Windows 3.1".

Web Interoperability Pleadge Support This Project
Powered By Gojira