CodeGym /Corsi /JAVA 25 SELF /Creazione di prodotti: come nascono i prodotti IT moderni...

Creazione di prodotti: come nascono i prodotti IT moderni

JAVA 25 SELF
Livello 8 , Lezione 6
Disponibile

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.

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