Un paio di giorni fa mi sono occupato di controllare lo sviluppo di un software che ormai è in giro da un po’ di anni.
Sai, quando sviluppi del software e implementi nuove funzionalità difficilmente torni indietro a verificare quelle che hai implementato in precedenza, le dai per scontato che funzionino.
Lascia che ti racconti cosa mi è successo..
DI solito prima di rilasciare una parte di sviluppo ci sono parecchie fasi di backtesting che vengono fatte.
Le prime fasi di test ovviamente vengono fatte da chi ha sviluppato in se il software che rilascia una “alpha” oppure una “beta” se è in fase più avanzata.
Poi si procede a selezionare un piccolo gruppo di utenti che fa parte del programma beta per testare le funzionalità e capire se tutto va come previsto.
In questo caso diciamo che bug minori sono accettati, in fondo questa fase è fatta apposta per scovare malfunzionamenti.
Successivamente si procede al rilascio in gold release, il che vuol dire che il software va in produzione.
Ti racconto cosa mi è successo..
Nel verificare le nuove funzionalità ho deciso di ripercorrere una vecchia serie di test di funzionalità già rilasciate e.. con mia grande sorpresa ho scoperto diversi malfunzionamenti.
Come se nessuno prima di me avesse mai effettivamente provato di nuovo quelle sezioni di software.
La cosa che più mi ha stupito è che, questo software è in giro davvero da tanti anni.. se non erro almeno dal 2015 e da allora nessuno ha mai segnalato questi problemi.
Che sia io il problema?
Beh, questa domanda ti sorge spontanea se nessuno ti ha mai segnalato qualcosa no?
Allora torno in ufficio e ne discuto con i colleghi..rifacciamo qualche test e.. non ero io il problema!
Sviluppare non è semplice
Lo so per esperienza diretta, sai quando ero alle superiori mi trovavo in una condizione in cui ero stato inserito in un gruppo di lavoro che definire “sfaticati” era poco.
Su un gruppo di cinque persone ero l’unico a lavorare e per sopperire alla mancanza di volontà degli altri (perchè il voto era collettivo alla fine) mi toccava fare anche il loro lavoro.
Purtroppo nonostante l’impegno arrivavo alla sufficienza stiracchiata perchè alla fine dovevo sempre fare il lavoro di cinque persone.
Ad un certo punto decisi di smetterla di provarci con questo gruppo e mi estraniai facendo solo quello che dovevo fare io.
Ricordo che come progetto d’esame dovevamo costruire una centrale d’allarme e io ero incaricato alla creazione della centralina.
Visto che sviluppare software mi piaceva e mi piace tutt’ora anche se non lo faccio più da tanto ormai, decisi di prendermi la parte di sviluppo software che doveva gestire la centrale, i sensori e i trigger dell’allarme.
Alle superiori utilizzavamo Assembler come linguaggio perchè riuscivamo a gestire direttamente i sensori e cosi sviluppai il codice per gestire la centrale ma potei testarlo solo sull’IDE su PC visto che il gruppo di cui facevo parte non riuscì ad arrivare a meta costruendo l’hardware.
Mi resi conto che non venivo preso sul serio proprio a causa del comportamento degli altri membri del gruppo, cosi decisi di mettere su un progetto tutto mio.
Non avevo grandi conoscenze di linguaggi però la mia forza è sempre stata la logicità dietro i processi cosi presi un tool di sviluppo che sicuramente conosci, RPG Maker, ai tempi c’era la versione XP.
Insieme ad un ragazzo che era anche lui appassionato di queste cose iniziai a creare qualcosa, qualche piccolo livello.
Poi ebbi l’idea di cercare su internet come le altre persone sviluppassero con questo tool ed ebbi una sorta di epifania 😀
Il design delle aree di gioco divenne davvero spettacolare, nel frattempo a scuola iniziammo a fare qualcosina in C e la logica dietro al C mi venne d’aiuto.
RPG Maker fondamentalmente è un tool che ti permette di sviluppare dei videogiochi stile primi Final Fantasy e cosi implementai diverse funzioni tipo un ciclo giorno-notte, un algoritmo che generava dinamicamente i premi dalle scatole del tesoro considerando la rarità degli oggetti e cosi via.

Misi insieme tutto quello che ero riuscito a creare in un anno di test in un progetto che portai avanti da solo per tre mesi.
Ricordo che facevo provare le sezioni di gioco a mio fratello (poveretto, giocò le stesse sezioni decine di volte 😀 ) per scrivere la lista di bug e fixarli subito dopo; dopo tre mesi di lavoro chiusi le prime quattro ore di gioco piene.
Nel frattempo a scuola lo sviluppo in C continuava ma non avevo i risultati sperati non per colpa mia ma per colpa di insegnati che in quel momento non riuscivano a vedere il potenziale che c’era dietro quelle righe di codice.
Ricordo che mi commissionarono un compito per casa in cui sviluppare una banale calcolatrice.
Tornai a scuola con il compito fatto e funzionante ma per delle divergenze con il professore a proposito di una sezione del codice presi solo un 7 mentre un mio compagno che fece come diceva il prof ottenendo lo stesso risultato prese un bel 9..
Sinceramente ero davvero stanco di questa situazione cosi decisi di portare in classe il mio videogioco.
Lo installai su un PC del nostro laboratorio di elettronica e chiesi ad un compagno di classe di provarlo.
Piano piano si creò una sorta di calca intorno a quel PC, una serie di “grande!”, “fantastico!”, “ma come hai fatto??!” si levavano da quella zona.. tutto questo attirò i professori che si lamentarono del fracasso e visto il monitor ed i ragazzi che giocavano ad un videogame in classe durante l’orario di lezione, a gran voce ovviamente si lamentarono della cosa.
I miei compagni cosi dissero che stavano provando il videogame che io avevo sviluppato ma i prof non gli credevano cosi mi chiamarono tutti e tre alla cattedra perchè non riuscivano a capire.
Ricordo che iniziarono a far domande e si guardavano tra loro increduli quando spiegai come funzionavano gli algoritmi dei cicli giorno-notte e quello della generazione dei tesori.
Ti assicuro che fu una delle mie più grandi soddisfazioni, avevo raggiunto il mio scopo.
Da quel momento, la mia media in Sistemi non scese mai più sotto al nove.
Lascio a te trarre le conclusioni e gli spunti di riflessione e ti dirò, mi ha fatto piacere ricordare questo episodio qui con te.
Non ti andrebbe di lasciarmi un tuo commento qui sotto?
Fammi sapere se hai avuto esperienze simili 😉
Un saluto
Luigi