Wir haben ein sehr großes Projekt, das mehrere Anwendungen umfasst, die als Basis für verschiedene Kunden dienen.
Jeder Kunde hat seine eigene Personalisierung des Produkts, unterschiedliche Meilensteine, unterschiedliche Anforderungen usw., und daher wird sich jedes Projekt unabhängig von seinen eigenen Anforderungen weiterentwickeln.
Der Kern des Projekts ist in jedem Projekt ähnlich (aber nicht gleich) und die Organisation ist so aufgebaut, dass es Teams gibt, die jeden Kunden unabhängig behandeln (aber bei Bedarf mit ihnen kommunizieren). Bisher konnte ich kein Schema finden, das unseren Anforderungen entspricht, weder durch Durchsuchen des Internets noch durch eine brillante Idee :)
Bisher haben wir daran gearbeitet, das Produkt für alle Anforderungen geeignet zu machen, mit spezifischen Zweigen für notwendige Änderungen, aber obwohl das Produkt eine gute Architektur hat, wird es langsam zu einem großen Problem. Hier sind die Hauptprobleme, mit denen wir konfrontiert sind:
- Unterschiedliche Meilensteine für jeden Kunden: Das bedeutet, dass jedes Team Versionen zu unterschiedlichen Zeiten erstellen muss, ohne dass der Rest der Verpflichtungen die Stabilität oder das Produkt beeinträchtigt.
- Unterschiedliche Anforderungen, die sich in einigen Fällen auf den Kern des Systems auswirken können oder nicht.
- Große Teams (20+ Teammitglieder)
- Umgang mit Fehlern im System: Was tun Sie, wenn ein Team in seinem Projekt einen Fehler findet, der andere Kunden betreffen könnte?
Hinweis: Es handelt sich um ein Projekt mit 10 + M LOC.
Hinweis: Wir verwenden Team Foundation System, Visual Studio 2008 und C # (hauptsächlich).
Irgendwelche Vorschläge, Quellen oder Ideen, wie man die Situation angeht? Gibt es ein Modell auf dem Markt, das ein ähnliches Problem hat?