CodeGym /Corsi /Frontend SELF IT /Creazione di prodotti

Creazione di prodotti

Frontend SELF IT
Livello 48 , Lezione 0
Disponibile

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.

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