10.1 «Le persone non nascono più, vengono coltivate»
Bene, se sei ancora qui, continuiamo. «E ti mostrerò quanto è profonda la tana del coniglio» (c)
Lasciami spiegarti come avviene il processo di sviluppo di un prodotto. Passeremo attraverso i passaggi dal livello più alto, globale, fino al più basso — la scrittura del codice. Penso che ti 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 terze parti, o addirittura si utilizzano servizi internet a pagamento o gratuiti.
Un prodotto moderno — è un vero zoo di tecnologie, servizi, soluzioni e processi. Parte del lavoro viene fatta dalle persone, parte è automatizzata, e il restante 90% viene svolto dai servizi cloud nei data center. Il mondo non è più lo stesso.
Ma la prima cosa a cui farai attenzione — sono i cambiamenti costanti. Non scrivi più programmi: apporti modifiche.
10.2 Cambiamenti costanti
Entrerai al lavoro e ti unirai a un team di 20 persone che lavora sul prodotto da 5 anni. Ora gli utenti hanno accesso alla settima versione. E il tuo compito sarà apportare modifiche a questo prodotto. Piccole, per non spaventare gli utenti attuali attivi.
E non sarà facile, perché il prodotto è già operativo. Ha clienti, e pagano soldi. Quindi non si può rompere nulla. Apportare modifiche a un prodotto già funzionante è più difficile che farlo in uno nuovo. Per questo ci sono standard speciali, protocolli, migrazioni e utility. Viene subito in mente una barzelletta:
Si incontrano due vecchi amici: uno è diventato meccanico, l'altro chirurgo... ognuno con la propria vita, preoccupazioni, gioie... Raccontano tutto l'uno all'altro e arrivano a parlare di salari. Il meccanico dice: "Beh, prendo 30mila al mese e ne sono molto felice, e tu quanto?", dice il cardiochirurgo: "Beh, circa 100mila per operazione"... A questo punto il meccanico si interessa: "Strano, perché una differenza così grande, sembra che facciamo la stessa cosa - cambiamo pezzi di ricambio", e il chirurgo gli risponde: "Beh, andiamo alla macchina, accendi"... il meccanico accende la macchina, il chirurgo apre il cofano e dice al meccanico "Vedi, il motore funziona? Cambialo! :)"
Anche se accade un miracolo e il tuo team ha scritto il prodotto da zero per un anno intero e solo dopo l'ha rilasciato, sai cosa succederà dopo?
Se il tuo prodotto avrà successo, il proprietario del prodotto vorrà svilupparlo. Rilasciare una nuova versione, aggiungere qualche funzionalità. O almeno condurre alcuni esperimenti. E sai cosa seguirà? Modifiche.
10.3 Valore del prodotto
Dal punto di vista dello sviluppo moderno del prodotto, ha valore solo quel codice che è stato già rilasciato, e quella feature, che gli utenti utilizzano. Se hai scritto del codice, è memorizzato da qualche parte, funziona, ma non viene utilizzato dalle persone, allora il suo valore è vicino allo zero. Pertanto, tutto il codice deve passare in production il prima possibile.
Il tuo codice deve passare attraverso queste fasi:
- L'hai scritto e hai verificato che funzioni
- Il tuo TeamLead lo ha revisionato e aggiunto nel branch principale in Git
- I test durante la build del programma hanno mostrato che non hai rotto nulla di importante
- I test di integrazione hanno mostrato che il prodotto funziona come dovrebbe
- Il tester ha controllato questo codice e ha dato il via libera al rilascio
- Poi bisogna assemblare la nuova versione del prodotto e rilasciarla sul server
- La nuova versione del prodotto deve essere impacchettata in Docker Images e rilasciata
- Potrebbe essere necessario avviare script di migrazione e apportare modifiche al database e/o ad altre soluzioni terze
- Poi è necessario raccogliere i log sul server, per assicurarsi che tutto funzioni come dovrebbe
- In caso di situazione straordinaria, se hai rotto qualcosa, è necessario fare un rollback della build, ripristinare lo stato precedente del database e non perdere le azioni che gli utenti hanno fatto mentre lavoravano con la versione instabile del prodotto
Nella maggior parte delle aziende questi compiti sono ora risolti: sono stati creati nuovi processi, assunte persone specializzate, introdotti protocolli di sicurezza speciali e standard di controllo qualità.
Più grande è l'azienda, meno tempo trascorre dalla scrittura del codice al momento in cui esso arriva in production e si trasforma in valore — inizia a portare benefici alle persone.
Nella maggior parte delle aziende il codice segue questo percorso in due settimane, ma ci sono aziende che fanno rilasci ogni settimana, o addirittura ogni giorno. Alcuni casi unici — più volte al giorno.
Il codice scritto non vale niente. Il valore lo porta solo il codice che funziona in production.
GO TO FULL VERSION