Il setup dell'ambiente di sviluppo: la documentazione del nuovo arrivato

Allineiamoci Offline18 settembre 20265 min

Lunedì mattina: un nuovo collega è in prova e il Junior viene incaricato di seguirne il setup dell'ambiente di sviluppo. La wiki aziendale si rivela una trappola archeologica: repository inesistenti, un VPN sostituito due anni fa, una versione di Java mai vista. I passaggi mancanti vivono in uno script senza commenti scritto sette anni fa dal Senior stesso per un'emergenza. Il setup prosegue per via orale, con appunti personali ufficialmente sconsigliati dalla condivisione. Arriva lo Scrum Master con la soluzione canonica: un workshop di mezza giornata sul knowledge sharing, con template e sessione preparatoria. La discussione degenera nel paragone tra la wiki dichiarata dalla direzione e la realtà del legacy. Esito: un file di setup condiviso che funziona, aggiornato solo su richiesta, e贴

Voci, personaggi e contenuti creativi generati con strumenti di intelligenza artificiale e approvati prima della pubblicazione.

Trascrizione

Narratore: Allineiamoci Offline. Le voci di questo episodio sono generate sinteticamente. È lunedì mattina. In azienda è arrivato un nuovo collega in prova, e al Junior è stato affidato il suo setup dell'ambiente di sviluppo. La procedura ufficiale è documentata nella wiki.

Junior Developer: Ok, nuovo collega, ti do il benvenuto ufficiale: il primo task è configurare l'ambiente. Niente panico, c'è la wiki. La wiki aziendale è la nostra bibbia.

Narratore: Il nuovo collega apre la wiki in una scheda dedicata. Il Junior lo assiste con la fiducia di chi ha letto la procedura solo in teoria.

Senior Developer: Prima che inizi: le credenziali che vedi in quella pagina appartengono a un collega andato via due anni fa. Formalmente le possiede ancora nessuno. Non domandare a chi.

Junior Developer: Nessuno? E se non funzionano?

Senior Developer: Funzionano. Non è la parte preoccupante.

Narratore: Il nuovo collega segue la wiki alla lettera. Al primo passaggio, la wiki indica di clonare un repository. Il repository non esiste più.

Junior Developer: Il repository non esiste più. La pagina della wiki è dell'era precedente, ma c'è scritto 'ultimo aggiornamento: di recente'. Qualcuno ha modificato solo la data. Secondo passaggio: collegarsi alla VPN. Che VPN? Questa qui.

Narratore: Il Junior salta il passaggio del VPN e arriva alla sezione sulle dipendenze.

Senior Developer: Quella versione di Java non è più scaricabile. Ne esiste una copia, ma non ricordo su quale portatile.

Junior Developer: Chiediamo in giro? Qualcuno se la sarà salvata, no?

Senior Developer: Quel VPN è stato sostituito due anni fa.

Junior Developer: Lo sapevo. E poi la wiki chiede di installare una versione di Java. Ho controllato: questa versione non l'ha mai vista nessuno. Non l'ha vista nemmeno internet.

Narratore: La wiki, a questo punto, consiglia di consultare la pagina dedicata alle dipendenze. La pagina è vuota, tranne per una nota che dice di chiedere al team.

Junior Developer: Chiedere a chi? C'è scritto: owner, vedere pagina collegata.

Senior Developer: La pagina collegata è cancellata. Circolare.

Narratore: Dopo due ore, il setup procede in modalità archeologica. Il Junior scopre che i passaggi mancanti sono racchiusi in uno script, privo di commenti, che nessuno ha mai documentato.

Junior Developer: Senior, ho trovato questo script. Setup_ambiente_final_final. Senza commenti. Chi l'ha scritto?

Senior Developer: Io. Sette anni fa. C'era un'emergenza. Non chiedere quale.

Junior Developer: Sette anni fa era un'emergenza. Oggi è la procedura. Nel frattempo, come l'ha trasmessa ai nuovi arrivati?

Senior Developer: A voce. Come adesso. È il nostro formato di documentazione più affidabile.

Junior Developer: Tu sei l'unico che sa come usarlo?

Senior Developer: Sì. Da sette anni. Ogni volta che qualcuno parte in ferie, io prego.

Narratore: Il setup prosegue quindi per via orale. Il nuovo collega annota ogni passaggio in un file personale. Il Senior gli consiglia di non condividere quel file con nessuno, per prudenza.

Junior Developer: Ho finito gli appunti. Sono tre pagine. Metà delle cose non erano nella wiki.

Senior Developer: L'altra metà è cambiata da ieri, probabilmente. Appunti veri, quelli. Fanne una copia di riserva.

Junior Developer: Due copie. In tre posti diversi.

Senior Developer: Quel file, se lo perdi, siamo finiti. Se lo condividi, siamo finiti in altro modo. Tienilo lì.

Narratore: È a questo punto che entra nella stanza lo Scrum Master.

Scrum Master: Ottima notizia, mi sono appena accorto che il setup del nuovo collega sta generando conoscenza non strutturata! Vi propongo una cosa: un workshop di knowledge sharing di mezza giornata. Trasferiamo tutto il setup nella wiki, con action item chiari, un template standardizzato e una sessione di allineamento preparatoria. Siamo brillanti.

Junior Developer: Scusa, prima di organizzare il workshop: io ho una domanda concreta. Dove sta la documentazione aggiornata? Quella vera, quella che funziona oggi?

Scrum Master: La direzione ha dichiarato che tutta la conoscenza tecnica deve risiedere nella wiki aziendale. È una linea chiara. Quindi la risposta è: nella wiki.

Narratore: La linea della direzione, infatti, era stata comunicata con una presentazione. La presentazione era sul portale interno. Il portale interno richiedeva il VPN sostituito due anni fa.

Junior Developer: Quindi per leggere che la documentazione sta nella wiki, dobbiamo riaccendere il vecchio VPN?

Senior Developer: La wiki dichiara che il repository esiste. Il repository non esiste. La wiki dichiara un VPN. Il VPN è morto da due anni. La direzione dichiara. Il legacy vive.

Junior Developer: Quindi la soluzione al fatto che la documentazione non funziona è... un workshop per scrivere la documentazione, in una riunione di preparazione della riunione?

Senior Developer: Il workshop di mezza giornata lo faremo mentre il sistema è fermo. Perché documentare mentre lavori è un lusso.

Narratore: Nessuno chiese come mai lo script avesse nel nome la parola finale. Nessuno volle sapere quante volte quella parola fosse già stata definitiva.

Scrum Master: Esatto! E a fine workshop andremo in retrospettiva per valutare se il workshop ha funzionato. Così misuriamo il miglioramento del miglioramento.

Narratore: Dopo la discussione, la soluzione arriva comunque. Il nuovo collega ottiene l'accesso a un file di setup condiviso. Il file funziona. È aggiornato solo su richiesta, e contiene una riga di disclaimer che precisa che potrebbe non funzionare.

Junior Developer: Il file condiviso funziona. Ma chi lo aggiorna quando qualcosa cambia?

Senior Developer: Chi si accorge che non funziona più.

Junior Developer: E se nessuno si accorge?

Narratore: Su richiesta, in ogni caso, significava su richiesta del nuovo collega. Che in quel momento stava ancora facendo il setup.

Senior Developer: Quel disclaimer l'ho scritto io. È l'unica riga della documentazione che è ancora vera.

Narratore: Una settimana dopo. Il nuovo collega riesce finalmente a far girare il progetto. È il momento esatto in cui il Senior annuncia un cambio di repository, e lo Scrum Master inizia a pianificare un nuovo workshop.

Junior Developer: Aspetta. Ha fatto girare il progetto adesso, e tu sposti il repository adesso?

Senior Developer: Era temporaneo. Da sette anni.

Narratore: Il nuovo collega, che nel frattempo aveva imparato, salvò i propri appunti in locale, in tre copie, senza condividerli con nessuno. Per prudenza.

Scrum Master: Perfetto, allora il nuovo workshop avrà un obbiettivo ancora più chiaro. Ci vediamo alla sessione di allineamento preparatoria!