Nous avons un très gros projet qui comprend plusieurs applications qui sert de base à différents clients.
Chaque client a sa propre personnalisation du produit, différentes étapes, différentes exigences et ainsi de suite, et donc chaque projet évoluera indépendamment en fonction de ses propres besoins.
Le cœur du projet est similaire (mais pas égal) dans chaque projet et l'organisation est faite de sorte qu'il existe des équipes qui traitent chaque client de manière indépendante (mais avec une communication entre eux si nécessaire). Jusqu'à présent, je n'ai pas pu trouver de schéma qui réponde à nos besoins, que ce soit en recherchant sur Internet ou en trouvant une idée géniale :)
Jusqu'à présent, nous avons travaillé pour obtenir le produit adapté à tous les besoins, avec des branches spécifiques pour les changements nécessaires, mais, bien que le produit ait une bonne architecture, cela devient lentement un gros problème. Voici les principaux problèmes auxquels nous sommes confrontés:
- Différents jalons pour chaque client: ce qui signifie que chaque équipe doit produire des versions à des moments différents sans que les autres commits n'affectent la stabilité ou leur produit.
- Exigences différentes, qui peuvent ou non affecter le cœur du système dans certains cas.
- Grandes équipes (20+ membres de l'équipe)
- Gestion des bogues dans le système: que faire si une équipe trouve un bogue dans son projet qui pourrait affecter d'autres clients?
Remarque: Nous parlons d'un projet qui a 10 + M LOC.
Remarque: Nous utilisons Team Foundation System, Visual Studio 2008 et C # (principalement).
Avez-vous des suggestions, des sources ou des idées sur la façon d'aborder la situation? Y a-t-il un modèle sur le marché qui a un problème similaire?