CodeGym /Corsi /Frontend SELF IT /Sviluppo del prodotto

Sviluppo del prodotto

Frontend SELF IT
Livello 47 , Lezione 3
Disponibile

5.1 Un po' di storia

Quando negli anni '90 la Rivoluzione di Internet stava appena iniziando, nessuno sapeva come sviluppare correttamente i servizi online. Tutte le loro feature diventavano immediatamente disponibili per gli utenti, cosa che differenziava molto questo approccio dallo sviluppo classico del software.

Il più grande motore di ricerca dell'epoca, Yahoo, decise di intraprendere una nuova strada e adottare l'approccio di Hollywood: i loro manager erano addirittura chiamati Produttori :) Non sorprende che non abbia funzionato. 🤦‍♂️

È interessante

Yahoo — il più grande perdente in termini di acquisizione di altre aziende. Gli è stato offerto più volte di acquistare sia Google che Facebook. E al loro tramonto, Microsoft voleva inglobarli per 40 miliardi, ma hanno rifiutato di nuovo. Dopo un paio d'anni sono stati acquistati per 3 miliardi. Eppure negli anni '90 al loro apice valevano 200 miliardi, e se avessero comprato Google, ora varrebbero un paio di trilioni. Non essere come Yahoo.

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

Durante la formazione imparerai tutto ciò che ti serve sapere per lavorare nelle aziende IT moderne, con strumenti di sviluppo moderni.

5.2 Team di prodotto

Team di prodotto

Un team di sviluppo tipico è composto da:

  • Persone che decidono, quali funzionalità e feature deve avere il prodotto
    • Product Owner
    • Business Analytic
  • Sviluppatori, che realizzano tutto questo
    • Software Architect
    • Backend Developer
    • Frontend Developer
    • Mobile Developer
  • Persone, che sono responsabili del corretto funzionamento del prodotto
    • QA Automation
    • DevOps

Product Owner nello sviluppo software gioca un ruolo chiave. Gestisce il prodotto e si assicura che il team di sviluppo si concentri sull'esecuzione dei compiti più importanti. Definisce la visione del prodotto, compone e priorizza l'elenco delle attività (backlog). Questo aiuta a garantire che ogni fase dello sviluppo risponda il più possibile agli obiettivi aziendali e alle esigenze degli utenti.

UX Designer si occupa di creare un'interfaccia prodotto comoda ed efficace, che include la ricerca dei bisogni degli utenti, lo sviluppo di prototipi e il testing delle interfacce. Questo lavoro è volto a migliorare l'interazione dell'utente con il prodotto, per renderlo il più chiaro e comodo possibile.

DevOps specialisti ottimizzano i processi di sviluppo software e la sua gestione operativa, per accelerare e semplificare il rilascio degli aggiornamenti del prodotto. Il loro lavoro include l'automazione del testing, del deployment e del monitoraggio dei sistemi, nonché la configurazione dell'infrastruttura e la garanzia dell'integrazione e distribuzione continua (CI/CD).

5.3 Team di sviluppo

Lo sviluppo vero e proprio è svolto dai programmatori. Possono essere grossolanamente divisi in 5 categorie:

  • Software Architect
  • Backend Developer
  • Frontend Developer
  • Mobile Developer
  • DBA

I ruoli e i loro contenuti possono cambiare a seconda delle dimensioni del team e della specificità del prodotto, ma la situazione è circa questa:

Software Architect: è responsabile della progettazione di architetture complesse dei sistemi software. L'Architect sviluppa l'infrastruttura tecnica, definisce la struttura e i metodi di interazione dei vari componenti del prodotto software, garantendone la scalabilità, le prestazioni e la sicurezza.

Backend Developer: si specializza nello sviluppo della parte server delle applicazioni. I compiti del Backend Developer includono l'implementazione della logica, l'integrazione delle basi di dati e dei 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, oltre a framework e librerie per creare interfacce interattive e reattive, che garantiscono una buona interazione dell'utente con il prodotto.

Mobile Developer: si occupa dello sviluppo di applicazioni per dispositivi mobili. Il Mobile Developer crea applicazioni per diversi sistemi operativi (ad esempio, iOS e Android), tenendo conto delle caratteristiche della piattaforma, delle prestazioni dei dispositivi e dell'esperienza utente.

DBA (Database Administrator): è responsabile della gestione delle basi di dati, garantendone la disponibilità, la sicurezza e l'ottimizzazione. Il DBA esegue compiti di configurazione, monitoraggio e manutenzione delle basi di dati, nonché lo sviluppo di strategie per il backup e il ripristino dei dati.

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