Contexte: Je travaille dans une petite entreprise de logiciels qui a traditionnellement fait du travail de recherche et qui n'a pas beaucoup d'expérience dans l'espace commercial. Nous essayons maintenant de pousser dans le monde commercial. En raison de nos origines dans la recherche, nous sommes habitués à un cycle de développement très rapide et très peu structuré en termes de maintenance des versions correctes des projets. Problème: Le manque de structure s'avère maintenant être un peu gênant, car chaque développeur a une vue légèrement différente de la base de code. Un problème qu'un développeur découvre n'est pas reproductible par un autre développeur, et les problèmes rencontrés dans un build peuvent disparaître dans le suivant (ou pire, de nouveaux problèmes peuvent apparaître). Cela crée une expérience très frustrante pour quelqu'un qui est responsable de l'intégration de tous les projets et de s'assurer que les normes de qualité et de performance sont respectées - c'est-à-dire moi-même.Stratégie de lancement de projet/code
Solution potentielle: Personnellement, je suis convaincu que nous devons appliquer une meilleure structure via des numéros de version fixes et des versions régulières. Il devrait être évident que le bon versioning aiderait à résoudre beaucoup de nos problèmes, mais bien sûr cela ne va pas sans poser de problèmes - les développeurs doivent faire un travail supplémentaire pour effectuer et tester les versions, et ne pourront plus utiliser les dernières versions de tout. Question: Pour arriver à un point - quelles sortes de stratégies recommandez-vous pour garantir que le processus et l'effort requis pour les rejets se déroulent aussi facilement que possible? Nous utilisons git pour le contrôle de version, maven pour notre système de construction, et nous avons des systèmes de suivi de bogues et d'intégration continue, donc je crois que les outils sont là. Je ne suis tout simplement pas sûr de ce à quoi devrait ressembler un bon processus de libération.
Bonne entrée, merci! – toluju