CodeGym /Corsi /C++ SELF /Creazione di prodotti: come nascono i prodotti IT moderni...

Creazione di prodotti: come nascono i prodotti IT moderni

C++ SELF
Livello 8, Lezione 6
Disponibile

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.

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION