TFS? Biegnij na wzgórza! Odejdź tak szybko, jak to możliwe. Robi wiele różnych rzeczy, ale żadna z nich nie jest tak dobra, jak dostępne narzędzia najlepszych ras.
Ale poważnie:
Gdy masz już przyzwoity system kontroli wersji (SVN, GIT itp.), Zaleciłbym ustawienie reguł zarządzania oddziałami, np. Kiedy tworzyć oddziały, po co, kiedy łączyć, kto i wiele więcej.
Do niedawna używaliśmy jednej gałęzi do nowego rozwoju („trunk”). W celu wydania utworzymy gałąź z pnia. Ostateczna kontrola jakości zostanie przeprowadzona w tym oddziale, a po jej zakończeniu wydamy (jesteśmy w wersji miesięcznej).
Przestawiliśmy się na koncepcję „bez śmieci w bagażniku”, aby zmniejszyć ryzyko związane z harmonogramem. Ta koncepcja zasadniczo zawiera regułę, według której należy tworzyć gałęzie do prac programistycznych oddzielnie od pnia. Na przykład możesz mieć oddzielną gałąź dla funkcji, dla małego zespołu programistów lub podobnego. Używamy „epików”, aby opisać małą cechę lub dającą się uwolnić część cechy i stworzyć gałąź dla każdej epiki. Co najmniej raz dziennie wszystkie zmiany z pnia są łączone w epicką gałąź. Kluczem jest dobra obsługa scalania przez kontrolę wersji lub oddzielne narzędzie (np. Scalanie trójstronne). Kontrola jakości eposu zostanie wykonana na gałęzi epickiej. Po przejściu epicka gałąź zostanie połączona w pień i zostanie uruchomiony test integracji. Wciąż mamy oddziały na wydania.
Dzięki epickim gałęziom znacznie zmniejszyliśmy ryzyko harmonogramu, ponieważ jesteśmy teraz w stanie uwolnić się z pnia i uwzględnić wszystkie epopeje, które zostały pomyślnie połączone w pień. Eposy, które nie są kompletne, tęsknią za autobusem i pojawią się w kolejnej wersji (w przyszłym miesiącu).
To oczywiście może działać tylko w naszym środowisku. Bardzo prawdopodobne, że będziesz mieć czynniki inne niż nasze, które wpłyną na wybór najlepszych opcji zarządzania oddziałami.
Na przykład, jeśli masz zespół z wieloma osobami pracującymi zdalnie i nie zawsze podłączonymi do serwera kontroli wersji, wtedy chciałbyś użyć systemu kontroli wersji, który obsługuje model rozproszony. GIT i kilka innych należałoby do tej kategorii. Według mojej najlepszej wiedzy TFS wymaga połączenia z serwerem, aby pliki były zapisywalne (naprawione w wersji 2010?).
Mam nadzieję, że udało mi się pokazać, że nie ma „jednego rozmiaru dla wszystkich”. Zacznij od procesów w konkretnym zarządzaniu oddziałami, określ wymagania i na koniec wybierz narzędzie, które najlepiej odpowiada Twoim potrzebom. Może to TFS, a może nie.