1. «Le persone non nascono più, vengono allevate»
Bene, visto che siete ancora qui, continuiamo. «E vi mostrerò quanto è profonda la tana del coniglio» © 🐇
Lasciate che vi racconti come avviene il processo di sviluppo di un prodotto — passeremo passo dopo passo dal livello più alto e globale fino al più basso: la scrittura del codice. Penso che vi aspettino alcune scoperte interessanti…
I prodotti IT moderni non si scrivono più, si creano. Si assemblano a partire da librerie, framework, programmi e prodotti di terze parti oppure si usano direttamente servizi Internet remoti, a pagamento o gratuiti 🧩.
Un prodotto moderno è un vero e proprio zoo di tecnologie, servizi, soluzioni e processi. Una parte del lavoro la fanno le persone, una parte è automatizzata, e il restante 90% è svolto da servizi cloud nei data center ☁️. Il mondo non è più quello di una volta.
Ma la prima cosa che noterete — sono i cambiamenti continui. Non scrivete più programmi, apportate modifiche.
2. Cambiamenti continui
Arriverete al lavoro e vi unirete a un team di 20 persone che lavora al prodotto da 5 anni. Al momento agli utenti è disponibile la versione 7. E il vostro compito sarà apportare modifiche a questo prodotto. Piccole, in modo da non allontanare gli attuali utenti attivi.
E non sarà facile, perché il prodotto è già in funzione. Ha clienti, e questi pagano 💰. Quindi non si può rompere nulla. Introdurre modifiche in un prodotto già funzionante è parecchie volte più difficile che in uno nuovo. Per questo esistono standard dedicati, protocolli di migrazione e utility. Mi viene subito in mente una barzelletta:
Si incontrano due vecchi amici: uno è diventato meccanico, l'altro — chirurgo... Ognuno ha la sua vita, le sue preoccupazioni, le sue gioie... Si raccontano tutto e il discorso cade sugli stipendi. Il meccanico dice: «Beh, prendo 30k al mese e ne sono molto soddisfatto, e tu quanto?». Il cardiochirurgo risponde: «Io, più o meno 100k per intervento...». A quel punto il meccanico si incuriosisce: «Strano, perché una differenza così grande? In fondo facciamo la stessa cosa — cambiamo pezzi». E il chirurgo gli dice: «Andiamo all'auto, accendila...». Il meccanico accende la macchina, il chirurgo apre il cofano e dice al meccanico: «Vedi, il motore è acceso? Sostituiscilo!» 😂
Anche se fosse avvenuto un miracolo e il vostro team avesse scritto il prodotto da zero per un anno intero e solo dopo lo avesse rilasciato, sapete cosa accadrà poi? Se il vostro prodotto avrà successo, il product owner vorrà svilupparlo. Pubblicare una nuova versione, aggiungere qualche funzionalità. O almeno condurre alcuni esperimenti. E sapete cosa ne seguirà? Cambiamenti 🙈
3. Il valore del prodotto
Dal punto di vista dello sviluppo moderno, ha valore solo il codice già rilasciato e la funzionalità usata dagli utenti. Se avete scritto del codice, è conservato da qualche parte, funziona, ma le persone non lo usano, il suo valore è vicino a zero. Perciò tutto il codice dovrebbe andare in produzione il prima possibile 🚀
Il vostro codice deve attraversare queste fasi:
- ✔️ Lo avete scritto e vi siete assicurati che funzioni.
- 🔍 Il vostro Team Lead ha fatto la review e lo ha aggiunto al branch principale in Git.
- 🧪 I test durante la build hanno mostrato che non avete rotto nulla di importante.
- 🧩 I test di integrazione hanno mostrato che il prodotto funziona come deve.
- 🛡️ Il tester ha verificato questo codice e ha dato l'ok al rilascio.
- 📦 Poi occorre creare la nuova versione del prodotto e rilasciarla sul server.
- 🐳 La nuova versione del prodotto va impacchettata in Docker Images e rilasciata.
- 🗄️ Potrebbe essere necessario eseguire script di migrazione e apportare modifiche al database e/o ad altre soluzioni di terze parti.
- 📊 Poi bisogna raccogliere i log sul server per assicurarsi che tutto funzioni come previsto.
- ⏪ In caso di emergenza, se avete rotto qualcosa, occorre eseguire un rollback della build, ripristinare lo stato precedente del database e non perdere le azioni compiute dagli utenti mentre lavoravano con la versione instabile del prodotto.
Nella maggior parte delle aziende queste attività sono oggi risolte: sono stati costruiti nuovi processi, assunte persone dedicate, introdotti protocolli di sicurezza specifici e standard di controllo qualità. Più grande è l'azienda, meno tempo passa dalla scrittura del codice al momento in cui va in produzione e si trasforma in valore — cioè inizia a portare beneficio alle persone.
Nella maggior parte delle aziende il codice percorre questo cammino in due settimane. Tuttavia, ci sono aziende che fanno rilasci ogni settimana o persino ogni giorno. Alcune, addirittura, più volte al giorno.
Il codice scritto non vale nulla. Ha valore solo il codice che gira in produzione.
GO TO FULL VERSION