Nella visione convenzionale del processo di sviluppo software, che è certamente anche la più diffusa, i programmatori delle aziende tecnologiche non sono considerati progettisti, bensì esecutori dei progetti altrui. Dopo tutto, il lavoro di un programmatore è scrivere codice. La scrittura del codice è vista come un’attività di «costruzione», e tutti sanno che l’architettura deve essere completata prima che la costruzione possa iniziare.
Il vero lavoro di progettazione è svolto da progettisti software specializzati. Gli ingegneri elaborano i progetti e li consegnano ai programmatori, che li traducono in codice secondo le specifiche dell’ingegnere del software. In questa visione, quindi, al programmatore bastano competenze di architettura software sufficienti a comprendere i progetti che gli vengono affidati.
Ingegneri del software specializzati si occupano della progettazione vera e propria. RIADVICE, ad esempio, padroneggia le competenze di progettazione software: elaboriamo i progetti e li passiamo ai nostri programmatori, che li convertono in codice secondo le istruzioni del progettista. In questo caso al programmatore servono soltanto competenze di progettazione sufficienti a comprendere i progetti ricevuti: gli ingegneri del software rendono più semplice ai programmatori dare forma al codice.
Prendiamo l’esempio di uno spettro di «realtà» nello sviluppo software. La situazione descritta sopra si colloca a un’estremità dello spettro. Questo modello basato sul passaggio di consegne è più comune nei progetti più grandi e complessi e nelle aziende con una cultura dell’ingegneria del software tradizionale e consolidata da tempo.
All’altra estremità dello spettro non ci sono ingegneri, ma solo programmatori, ed è a loro che spetta la progettazione del sistema.
Tra questi due estremi esistono molte altre realtà intermedie.
- a) l’ingegneria del software pura, tradizionale e compartimentata, in cui ai programmatori vengono consegnati «progetti completi» estremamente dettagliati;
- b) i team di sviluppo di dimensioni minime, in cui i programmatori sono i veri protagonisti. Progettisti, programmatori capo o «architetti» operano nella «realtà intermedia» tra questi due poli.
RIADVICE gestisce tutti questi aspetti con servizi di ingegneria del software Agile end-to-end, dalla prototipazione all’architettura software, fino alla progettazione, alla UI/UX e al controllo qualità, guidati dai principi Agile.
Aiutiamo inoltre le aziende tecnologiche a raggiungere i loro obiettivi di progettazione software con servizi aggiuntivi come lo sviluppo di prodotto, la modernizzazione del software e le soluzioni enterprise.
Può sempre consultare la nostra pagina dedicata all’ingegneria del software per scoprire tutti i nostri servizi di progettazione e ingegneria del software.





