Nel corso della mia carriera ho lavorato in aziende che avevano una collezione di ambienti diversi per scopi diversi. Avevamo sempre più o meno il nostro ambiente desktop, un ambiente di test, un ambiente di controllo qualità, un ambiente di staging e un ambiente di produzione. Questo è andato per entrambi i server / applicazioni e tutte le fonti di dati che stavamo usando.
Quando ho iniziato a lavorare nella mia attuale azienda, ho scoperto che il 90% delle app era stato sviluppato su un ambiente desktop da fonti di dati di produzione o sviluppato direttamente sul server di produzione a seconda della piattaforma. Ciò non è stato particolarmente sorprendente, in quanto sono stato assunto in parte per apportare modifiche per migliorare il modo in cui il team di sviluppo ha funzionato, il che è risultato evidente dal mio processo di intervista. Abbiamo iniziato lentamente a trasformare la filosofia e molto presto, la maggior parte delle app potrebbero essere eseguite in un ambiente desktop, di test o di produzione. Non troppo tempo dopo che anche questa scena è arrivata in giro.
Ora la maggior parte dei nostri sviluppatori vede il beneficio di questa metodologia e la difende vigile. Tuttavia, abbiamo una serie di app legacy che non sono mai state migrate. Abbiamo anche una serie di programmatori legacy che considerano questo come una perdita di tempo. Sfortunatamente, abbiamo ricevuto le mie labbra ma mai un pieno consenso da parte della direzione. Abbiamo ottenuto ciò che pensavamo fosse un impegno a investire sostanzialmente in questo circa un anno fa, ma nulla si è materializzato nonostante la notevole pianificazione che abbiamo messo in esso. Ora stiamo scoprendo che abbiamo bisogno di sempre più ambienti. Abbiamo bisogno dell'aiuto dei team di amministrazione di server / rete per l'installazione e abbiamo bisogno della partecipazione degli stakeholder aziendali per supportare il ciclo di rilascio. Siamo ora in un luogo in cui un progetto può funzionare ciò che gli sviluppatori ragionevoli considererebbero "normalmente" solo se si hanno le persone giuste nel progetto e il tempo necessario per impostare gli ambienti appropriati.
Mi piacerebbe presentare un argomento completo, ma la direzione non ha davvero tempo e interesse per ascoltarmi fino a quando non ci sarà un problema critico. Non riesco davvero ad articolare i benefici semplicemente perché mi è sempre sembrata una seconda natura. Mi stavo chiedendo se ci sono buone, semplici e inconfutabili ragioni per la separazione degli ambienti che porterebbero i manager privi di esperienza di sviluppo a supportare questa idea? . Ci sono buone risorse / letteratura sull'argomento?