1. «Le persone non nascono più, le coltivano»
Bene, visto che siete ancora qui, continuiamo. «E vi mostrerò quanto è profonda la tana del coniglio» © 🐇
Vi racconterò come avviene il processo di sviluppo di un prodotto — percorreremo i passi dal livello più alto e globale fino al più basso — la scrittura del codice. Credo che vi aspettino alcune scoperte interessanti…
I prodotti IT moderni non si scrivono più, si creano. Si assemblano a pezzi da librerie, framework, programmi e prodotti di terzi oppure si utilizzano servizi internet remoti a pagamento o gratuiti 🧩.
Un prodotto moderno è un vero e proprio zoo di tecnologie, servizi, soluzioni e processi. Parte del lavoro lo fanno le persone, parte è automatizzato, e gli altri 90% sono eseguiti dai servizi cloud nei data center ☁️. Il mondo non è più quello di una volta.
Ma la prima cosa che noterete è il cambiamento costante. Non scrivete più programmi, ci fate modifiche.
2. Cambiamenti continui
Arriverete al lavoro e vi unirete a un team di 20 persone che lavora su quel prodotto da 5 anni. Attualmente gli utenti hanno accesso alla sua versione 7. Il vostro compito sarà portare modifiche a quel prodotto. Piccole, per non spaventare gli utenti attivi di oggi.
E non sarà facile, perché il prodotto è già in funzione. Ha clienti, e loro pagano 💰. Quindi non si può rompere nulla. Introdurre modifiche in un prodotto già funzionante è molto più difficile che in uno nuovo. Per questo esistono standard speciali, protocolli di migrazione e utility. Mi viene subito in mente un aneddoto:
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 a un certo punto si parla degli stipendi. Il meccanico dice: "Guarda, io prendo 30 al mese e ne sono molto contento, e tu quanto prendi?". Il cardiochirurgo risponde: "Beh, prendo circa 100K per un'operazione...". Il meccanico si interessa: "Strano, perché una differenza così grande? Sembra che facciamo la stessa cosa — cambiamo pezzi". E il chirurgo gli dice: "Vieni con me alla macchina, accendila...". Il meccanico accende la macchina, il chirurgo apre il cofano e dice al meccanico: "Vedi, il motore funziona? Cambialo!" 😂
Anche se dovesse accadere un miracolo e il vostro team avesse passato un anno a scrivere il prodotto da zero per poi rilasciarlo, sapete cosa succederà dopo? Se il vostro prodotto avrà successo, il product owner vorrà svilupparlo. Rilasciare una nuova versione, aggiungere qualche funzionalità. O almeno condurre qualche esperimento. E sapete cosa ne seguirà? Cambiamenti 🙈
3. Il valore del prodotto
Dal punto di vista dello sviluppo moderno, valore ha solo il codice che è già stato rilasciato e quella feature che gli utenti utilizzano. Se avete scritto del codice, è archiviato da qualche parte, funziona, ma gli utenti non lo usano, il suo valore è vicino a zero. Perciò tutto il codice dovrebbe arrivare in produzione il prima possibile 🚀
Il vostro codice deve attraversare queste fasi:
- ✔️ Lo avete scritto e vi siete assicurati che funzioni.
- 🔍 Il vostro TeamLead lo ha revisionato e l'ha aggiunto al ramo principale in Git.
- 🧪 I test durante la build hanno dimostrato che non avete rotto nulla di importante.
- 🧩 I test di integrazione hanno mostrato che il prodotto funziona come deve.
- 🛡️ Il tester ha verificato quel codice e ha dato il via al rilascio.
- 📦 Poi bisogna costruire 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 deve.
- ⏪ In caso di situazione anomala, se avete rotto qualcosa, bisogna rollbackare la build, ripristinare lo stato precedente del database e non perdere le azioni compiute dagli utenti mentre usavano la versione instabile del prodotto.
Nella maggior parte delle aziende questi compiti sono oggi risolti: sono stati strutturati nuovi processi, assunte persone dedicate, introdotti protocolli di sicurezza speciali e standard di controllo qualità. Più grande è l'azienda, meno tempo passa dalla scrittura del codice al momento in cui arriva in produzione e si trasforma in valore — comincia a portare beneficio alle persone.
Nella maggior parte delle aziende il codice percorre questa strada in due settimane. Tuttavia ci sono aziende che rilasciano ogni settimana o anche ogni giorno. I casi particolari — più volte al giorno.
Il codice scritto da solo non vale nulla. Il valore lo porta solo il codice che gira in production.
GO TO FULL VERSION