lunedì, febbraio 20, 2012

Analisi dei requisiti? Non serve: fammi un pezzo alla volta

È un gelido mattino di gennaio, i gatti mi hanno guardato con quella faccia da "Ma tu sei completamente deficiente!" quando sono uscito di casa e la Gamamobile(tm) era tramutata in un ghiacciolo che mi ha ustionato anche solo restando ad un metro di distanza.

La mattinata lavorativa comincia con una mail da parte $utOnto@$exGestoreTributiImmobili. The story so far: fino a tre anni orsono $exGestoreTributiImmobili forniva un software che, come dice il nome, permetteva di gestire la tassa sugli immobili. Quando venne iniziato $megaProgetto al sottoscritto appiopparono la scrittura di un applicativo che facesse le stesse cose ma meglio. Per farla breve il progetto è stato fermato cinque volte perché "coloro che tutto vogliono" dovevano fare in modo di far usare il software di $aziendaEsterna. Cosa è accaduto? Il nuovo programma si è rivelato una porcata (consegnato in ritardo di un anno tra l'altro NdGama), la mancanza di alcune funzionalità ha fatto in modo che l'ufficio competente usasse quel poco da me scritto affiancato al programma di $exGestoreTributiImmobili (il cui contratto è stato rinnovato per gli ultimi anni).
Tutto questo fino al cambio dei vertici.
Il progetto è ripartito, questa volta in maniera definitiva, ed io e $nuovaCollega ci siamo messi a sviluppare con la ferocia di un gruppo di labrador in vista della confezione aperta del Ciappi.

Di come è andata la storia dello sviluppo del nuovo programma parlerò in un altro momento e mi focalizzo su quanto segue: essendo il programma di $aziendaEsterna una porcata colossale i dati storici da importare sono quelli di $exGestoreTributiImmobili.
Siccome $collegaNuova è un genio nel trovare anomalie e puntigliosa al punto giusto per stanare qualsiasi bug presente nel codice, l'operazione di importazione ha dato risultati inaspettati: la banca dati fa pena! I principali criteri di integrità sono risultati dediti al meretricio, il rispetto per i tipi di dati un'opzione trascurabile (campo numerico: valore "1-2"... $mioSql l'ha fatto diventare -1 tra l'altro!), dati di test ancora presenti nella banca dati di produzione e, come ciliegina sulla torta, campi di importanza fondamentale vuoti come l'anima di un commerciale.

Considerando che tale programma è stato usato per un decennio inizio a capire come mai ci sono stati tutti quei problemi nella gestione di quell'ufficio...

Tornando a noi è quindi facile immaginare come $nuovoDirigente si sia inc@zz@to come un'ape ed abbia preteso da parte di $exGestoreTributiImmobili una bonifica dei dati.

Il colloquio con $utOnto è stato del tipo:

$nuovoDirigente - Questi dati fanno schifo!

$utOnto - Ve li bonifichiamo noi dati!

Dopo un mese da queste frasi e dalla fornitura delle anomalie (di un solo anno) è tornato $utOnto con $tiziaSconosciuta per dire che si sarebbero occupati dell'operazione di bonifica. Ci hanno messo un mese per decidere chi doveva fare il lavoro? Andiamo male, molto male!

Ed eccoci quindi al presente: l'email di $utOnto@$exGestoreTributiImmobili


Oggetto: R: Estrazione dati errati
A: Gama, $nuovoDirigente

Buongiorno,

invio i file bonificati per i fabbricati e per i terreni con identificativi
mancanti e/o errati.…



In allegato un file.

L'apparizione di $nuovaCollega sulla porta con il fumo che usciva dalle orecchie doveva avvertirmi.

1600 righe presenti nell'allegato
6 bonificate

"Ve li bonifichiamo noi i datiiii!"

Quasi scordavo: To be continued!

Gama

domenica, febbraio 05, 2012

Buongiorno Gama

Che io sia rincoglionito non è un segreto ma credo di aver superato ogni limite questa volta.

Flashback a ieri, bella giornata e divertente serata in compagnia. Io e la mia oscura metà abbiamo quindi salutato gli amici dopo le solite innumerevoli chiacchiere lieti del fatto di poter dormire.
Arrivati al nuziale talamo ho quindi cercato di impostare una tarda sveglia... Già dovevo intuire che qualcosa stava per accadere: la sveglia è risultata totalmente impiantata. Poco male, provvedo ad un resettone e la reimposto ex novo. Cosa assolutamente sbagliata da fare dopo le due di notte.

Fast forward ad oggi, domenica mattina.

Suona la sveglia, ore 11, provo a svegliare invano la mia oscura metá ed opto per un: "Ma chi se ne frega, siamo stanchi e non abbiamo molto da fare". Il sonno mi sfugge e dopo un'ora e mezza decido che è sufficientemente tardi per alzarsi. Sveglio la diabolica consorte ed indugiamo ancora tra le coperte con lei che non riesce a tenere gli occhi aperti.
Poi subentra la fame e ci alziamo pianificando cosa preparare per il pranzo.

Giunti in cucina ci troviamo davanti al display del microonde che annuncia trionfante 9.37... Ieri è saltata la luce ed ho sbagliato ad impostarlo.

Poi accendiamo i telefoni ed io me ne esco con una di quelle domande che solo io posso tirare fuori in questi casi: "Ma perchè il mio cellofono dice che sono le 9 e mezza?".

Giuro che si sono sentite le risate di sottofondo come nelle sit-com mentre mia moglie mi guardava con uno sguardo a metà tra l'omicida e lo sconvolto: "Perchê anche il mio fa la stessa ora, così come il microonde, il termostato e tutto ciò che abbiamo in casa che non sia la sveglia!".

All'apice del rincoglionimento, la mia mente ha sviluppato il rifiuto della situazione piuttosto che l'accettazione della stessa: "Ok, ci siamo riaddormentati ed abbiamo dormito fino a lunedì mattina...".

Lo sguardo della mia oscura metà è stato indescrivibile (mi dice che però ha pensato "Saresti in ritardo per il lavoro in quel caso").

Cosa è successo? Non ho sbagliato ad impostare l'ora sulla sveglia e non ho imparato a viaggiare nel tempo: la succitata sveglia prevede l'impostazione rapida del fuso orario, questa (ho scoperto poco fa) viene presentata come prima opzione nei settaggi ed io, ignorante e mezzo addormentato, ho pensato fosse il giorno (da notare che avrei anche sbagliato quello comunque). Domenica mattina, potevamo dormire, siamo svegli per la gioia dei felini che hanno mangiato ed ora vengono grattinati a profusione.

Credo che ogni ulteriore commento sia superfluo.


Gama