riesco a risponderti in modo dettagliato in quanto nelle mie varie esperienze di sviluppatore in progetti per grossi enti, ho notato diverse cose:
1)per ogni progetto di ogni ente, la ditta appaltatrice chiama a se altre 3 sub-ditte, naturalmente facendo scaricabarile su problematiche e responsabilità per futuri guai
2)i ragazzi ceh lavorano in questi progetti, metti un gruppo medio di 10 persone, solo 3 sono esperiti (capoprogetto e 2 senior) tutti gli altri sono neolaureati o ragazzetti alla seconda/terza esperienza con contrattini fuffa
3)le tempistiche sono fatte per risparmiare, infatti le ditte in sub-sub-appalto stringono molto i loro addetti ai lavori con tempistiche improponibili che influenzano molto la qualità del lavoro
4)una volta terminato il progetto (che non si termina MAI visto che da sempre problemi e chiamate in assistenza) i loro software NON comunicano con gli altri software! per il semplice motivo che le ditte sono in concorrenza tra di loro! ma vi pare che la ditta X andrà a fare una programma per il bene della ditta Y??? ma si scannano tra di loro mettendosi i bastoni tra le ruote!!!!
5)un serio progetto richiede una parte di TEST, io di questi TEST ne ho visti poco o niente, o per lo meno ci li faceva l'ente finale che ci ritornava gli errori riscontrati e noi ci basavamo su questi
6)gli enti pagano hanno un sistema farraginoso di procedure, e per ogni cosa dovevamo aspettare GIORNI per una risposta, per qualsiasi tipo di informazione o riunione! ASSURDO.
7)La cosa che piu mi ha fatto arrabbiare è quando c'è da fare manutenzione su un sistema progettato da altra ditta di software. NIENTE spefiche, NIENTE documentazione, NIENTE aiuti, IL NULLA!!! passaggio di consegne se vince un'altra ditta? INESISTENTE!!! (o almeno esiste sulla carta ) e ci siamo ritrovati a cercare di capire procedure scritte volontariamente male al fine di mettere i bastoni tra le ruote alla nuova ditta.