1.1 «Le persone non nascono più, vengono coltivate»
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 attraverso i passaggi dal livello globale più alto fino al più basso — la scrittura del codice. Penso che vi aspettino alcune scoperte interessanti…
I prodotti IT moderni non vengono più scritti, vengono creati. Sono assemblati da parti di librerie, framework, programmi e prodotti di terzi oppure utilizzano direttamente servizi internet remoti a pagamento o gratuiti.
Un prodotto moderno è un vero e proprio zoo di tecnologie, servizi, soluzioni e processi. Parte del lavoro è svolta dalle persone, parte è automatizzata, e poi il 90% è eseguito da servizi cloud nei data center. Il mondo ormai è cambiato.
Ma la prima cosa che noterete sono i cambiamenti costanti. Non scrivete più programmi, apportate loro modifiche.
1.2 Cambiamenti costanti
Arriverete al lavoro e vi unirete a un team di 20 persone che sta lavorando al prodotto da 5 anni. Ora la sua 7ª versione è disponibile per gli utenti. E il vostro compito sarà quello di apportare modifiche a questo prodotto. Piccole, così da non spaventare gli utenti attivi attuali.
E questo non sarà semplice, poiché il prodotto già funziona. Ha clienti che pagano. Quindi non potete rompere nulla. Apportare modifiche a un prodotto già funzionante è molto più difficile che in uno nuovo. Esistono standard speciali, protocolli di migrazione e utility per questo. Viene subito in mente un aneddoto:
Si incontrano due vecchi amici: uno è diventato meccanico, l'altro un chirurgo... Ognuno ha la propria vita, preoccupazioni, gioie... Raccontano tutto l'uno all'altro, e poi parlano degli stipendi. Il meccanico dice: "Beh, prendo 30k al mese e sono molto soddisfatto, e tu quanto?". Il cardiochirurgo dice: "Beh, più o meno 100k per un'operazione...". Il meccanico si interessa: "Strano, perché c'è tanta differenza? In fondo facciamo la stessa cosa - cambiamo i pezzi". E il chirurgo gli dice: "Beh, andiamo alla macchina, accendila...". Il meccanico accende la macchina, il chirurgo apre il cofano e dice al meccanico: "Vedi, il motore è acceso? Cambia! :)"
Anche se accade un miracolo, e il vostro team scrive un prodotto da zero per un anno intero e solo dopo lo rilascia, sapete cosa accadrà dopo?
Se il vostro prodotto avrà successo, il proprietario vorrà svilupparlo. Rilasciare una nuova versione, aggiungere alcune funzionalità. O almeno condurre qualche esperimento. E sapete cosa seguirà? I cambiamenti.
1.3 Il valore del prodotto
Dal punto di vista dello sviluppo moderno, ha valore solo il codice che è già stato rilasciato e la funzionalità che gli utenti stanno utilizzando. Se avete scritto del codice, è memorizzato da qualche parte, funziona, ma non viene usato dalle persone, il suo valore è vicino a zero. Pertanto, tutto il codice dovrebbe passare a production il prima possibile.
Il vostro codice deve seguire queste fasi:
- Lo avete scritto e vi siete assicurati che funzioni.
- Il vostro TeamLead lo ha revisionato e aggiunto al ramo principale in Git.
- I test durante la build del programma hanno dimostrato che non avete rotto niente di importante.
- I test di integrazione hanno dimostrato che il prodotto funziona come previsto.
- Il tester ha verificato questo codice e ha dato il via libera per il rilascio.
- Successivamente è necessario assemblare la nuova versione del prodotto e rilasciarla sul server.
- La nuova versione del prodotto deve essere confezionata in Docker Images e rilasciata.
- Potrebbe essere necessario eseguire gli script di migrazione e apportare modifiche al database e/o ad altre soluzioni di terze parti.
- Poi è necessario raccogliere i log sul server per assicurarsi che tutto funzioni come previsto.
- In caso di una situazione imprevista, se avete rotto qualcosa, è necessario ripristinare la build, riportare lo stato precedente del database e non perdere le azioni che gli utenti hanno effettuato mentre lavoravano con la versione instabile del prodotto.
Nella maggior parte delle aziende queste attività sono ora risolte: sono stati creati nuovi processi, assunte persone specializzate, 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 entra in produzione e diventa un valore — inizia a portare beneficio alle persone.
Nella maggior parte delle aziende il codice passa questo percorso in due settimane. Tuttavia, ci sono aziende che fanno rilasci ogni settimana o addirittura ogni giorno. Alcuni casi speciali - diverse volte al giorno.
Il codice scritto non vale niente. Il valore lo porta solo il codice che funziona in production.
GO TO FULL VERSION