Tout au long de ma carrière, j'ai travaillé dans des entreprises qui disposaient d'un ensemble d'environnements différents pour des objectifs différents. Nous avons toujours eu plus ou moins notre environnement de bureau, un environnement de test, un environnement de contrôle qualité, un environnement de transfert et un environnement de production. Cela concernait à la fois les serveurs / applications et toutes les sources de données que nous utilisions.
Lorsque j'ai commencé à travailler pour ma société actuelle, j'ai constaté que 90% des applications avaient été développées sur un environnement de bureau en utilisant des sources de données de production ou directement sur le serveur de production, en fonction de la plate-forme. Cela n’était pas particulièrement surprenant, car j’avais été embauché en partie pour apporter des changements afin d’améliorer le fonctionnement de l’équipe de développement, ce qui ressort clairement de mon processus d’entretien. Nous avons lentement commencé à adopter cette philosophie et très bientôt, la plupart des applications pourraient être exécutées dans un environnement de bureau, de test ou de production. Peu de temps après, cette mise en scène a également eu lieu.
Maintenant, la plupart de nos développeurs voient les avantages de cette méthodologie et la défendent avec vigilance. Cependant, nous avons un certain nombre d'applications héritées qui n'ont jamais été migrées. Nous avons également un certain nombre de programmeurs de longue date qui considèrent cela comme une perte de temps. Malheureusement, nous avons eu la parole, mais jamais la direction n’a pleinement souscrit. Nous avons eu ce que nous pensions être un engagement à investir de manière substantielle dans ce projet il y a environ un an, mais rien ne s'est concrétisé malgré la planification considérable que nous avons mise en œuvre. Nous constatons maintenant que nous avons besoin de plus en plus d'environnements. Nous avons besoin de l’aide des équipes d’administration de serveur / réseau pour la configuration et nous avons besoin de la participation des parties prenantes de l’entreprise pour prendre en charge le cycle de publication. Nous sommes maintenant à un endroit où un projet peut fonctionner ce que les développeurs raisonnables considéreraient "normalement"
J'aimerais présenter un argument complet, mais la direction n'a vraiment pas le temps et l'intérêt de m'écouter tant qu'il n'y a pas de problème critique. Je ne peux pas vraiment expliquer les avantages simplement, car cela me semblait toujours une seconde nature. Je me demandais s’il existait des raisons valables, simples et irréfutables justifiant la séparation des environnements, ce qui donnerait aux gestionnaires un manque d’expérience en matière de développement pour appuyer cette idée. . Existe-t-il de bonnes ressources / littérature sur le sujet?