CodeGym /Corsi /JAVA 25 SELF /Sviluppo di un prodotto IT

Sviluppo di un prodotto IT

JAVA 25 SELF
Livello 6, Lezione 6
Disponibile

1. Un po’ di storia

Quando, negli anni ’90, la Rivoluzione di Internet era solo agli inizi, nessuno sapeva come sviluppare correttamente i servizi online. Tutte le loro feature diventavano subito disponibili agli utenti, il che distingueva nettamente questo approccio dallo sviluppo software tradizionale.

Il motore di ricerca più grande dell’epoca, la società Yahoo, decise di intraprendere una nuova strada e adottare un approccio da Hollywood — persino i loro manager si chiamavano produttori :) Non sorprende che non abbia funzionato 🤷‍♂️

È interessante. Yahoo — il più grande perdente in fatto di acquisizioni di altre aziende. A suo tempo fu loro proposto più volte di acquistare sia Google sia Facebook. Alla fine, verso la fine della loro parabola, Microsoft cercò di inglobarli per 40 miliardi, ma rifiutarono di nuovo. Qualche anno dopo furono acquistati per appena 3 miliardi. Negli anni ’90, all’apice della loro popolarità, Yahoo era valutata 200 miliardi di dollari e, se avessero comprato Google, oggi il loro valore potrebbe aver raggiunto diverse migliaia di miliardi. Non fare come Yahoo. 🙈

Dai tempi della Rivoluzione di Internet sono stati testati decine di diversi modi di sviluppare software e oggi la situazione si è stabilizzata. Esistono ruoli standard con responsabilità standard, processi standard e software standard.

Nel corso della formazione imparerete tutto ciò che vi serve sapere, per lavorare in aziende IT moderne, con strumenti di sviluppo moderni. 🎓

2. Team di prodotto

Un tipico team di sviluppo è composto da:

  • Persone che decidono quali funzioni e feature deve avere il prodotto
    • Product Owner
    • Business Analyst
  • Persone che decidono come apparirà il prodotto
    • UI Designer
    • UX Designer
  • Sviluppatori che realizzano tutto questo
    • Software Architect
    • Backend Developer
    • Frontend Developer
    • Mobile Developer
  • Persone responsabili del buon funzionamento e della qualità del prodotto
    • QA Automation
    • DevOps

IT team

Product Owner nello sviluppo software ricopre un ruolo chiave, gestendo il prodotto e assicurandosi che il team di sviluppo si concentri sull’esecuzione delle attività più importanti. Definisce la visione del prodotto, compila e dà priorità al backlog, contribuendo a garantire che ogni fase dello sviluppo sia il più possibile allineata agli obiettivi di business e ai requisiti degli utenti.

UX Designer si occupa di creare un’interfaccia del prodotto comoda ed efficace, che include la ricerca delle esigenze degli utenti, lo sviluppo di prototipi e il test delle interfacce. Questo lavoro mira a migliorare l’interazione dell’utente con il prodotto, rendendolo il più possibile chiaro e facile da usare.

Gli specialisti DevOps si occupano di ottimizzare i processi di sviluppo del software e la sua gestione operativa, per accelerare e semplificare il rilascio degli aggiornamenti del prodotto. Il loro lavoro include l’automazione di test, deployment e monitoraggio dei sistemi, nonché la configurazione dell’infrastruttura e la garanzia di integrazione e delivery continue (CI/CD).

3. Team di sviluppo

Lo sviluppo vero e proprio è svolto dai programmatori. Si possono grossolanamente suddividere in 5 categorie:

  • Software Architect
  • Backend Developer
  • Frontend Developer
  • Mobile Developer
  • Database Administrator

I ruoli e il loro perimetro possono variare a seconda della dimensione del team e delle specificità del prodotto, ma in generale la situazione è la seguente:

  • 🏗️ Software Architect: responsabile della progettazione dell’architettura di sistemi software complessi. Il/La Software Architect progetta l’infrastruttura tecnica, definisce la struttura e i metodi di interazione tra i vari componenti del prodotto software, garantendone scalabilità, prestazioni e sicurezza.
  • ⚙️ Backend Developer: si specializza nello sviluppo della parte server delle applicazioni. I compiti del Backend Developer comprendono l’implementazione della logica, l’integrazione di database e sistemi di gestione dei dati, l’elaborazione delle richieste degli utenti e il mantenimento dell’interazione con la parte frontend.
  • 🖥️ Frontend Developer: sviluppa l’interfaccia utente delle applicazioni web. Questo ruolo richiede conoscenze di HTML, CSS e JavaScript, nonché di framework e librerie per creare interfacce interattive e reattive che offrano una buona esperienza utente.
  • 📱 Mobile Developer: si occupa dello sviluppo di applicazioni per dispositivi mobili. Il/La Mobile Developer crea applicazioni per diversi sistemi operativi (ad esempio, iOS e Android), tenendo conto delle peculiarità della piattaforma, delle prestazioni dei dispositivi e dell’esperienza utente.
  • 🗄️ DBA (Database Administrator): è responsabile della gestione dei database, garantendone disponibilità, sicurezza e ottimizzazione. Il/La DBA svolge attività di configurazione, monitoraggio e manutenzione dei database, nonché lo sviluppo di strategie di backup e ripristino dei dati.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION