Wszystko zależy od ogólnego procesu tworzenia oprogramowania. Zarządzanie konfiguracją i sposób tworzenia nowej wersji nie mogą zostać zdefiniowane bez wiedzy na temat całego procesu.
Istnieje frakcja „zwinna”, która wybrałaby „zawsze działający obszar pierwszego zatwierdzenia”. Będą stale uruchamiać zautomatyzowane urządzenia do budowania i testowania w tym obszarze i starają się mieć działający system „przez cały czas”.
Uważaliby (master) -> (release) z organizacją może 1,2 pośrednich kroków za korzystną.
Następnie istnieje bardziej „klasyczna” frakcja, której proces opiera się na planowaniu i planowanych krokach integracji w kierunku kamieni milowych, w których wydanie „jednostki pracy” jest zaplanowanym działaniem z wymaganiami, takimi jak „wydanie tylko, gdy jest (testowane) i powinien pasować do następnego planowanego kamienia milowego ". Tam planowanie obejmuje wersjonowanie „jednostek pracy” i zazwyczaj dokładają one wszelkich starań, aby określić, jak ma wyglądać następna planowana wersja produktu pod względem funkcji i poprawek. W trosce o planowanie chcą wiedzieć, że to, co programista wydaje, jest „właściwe” i świadomy akt popełnienia jednostki pracy.
To klasyczne podejście niekoniecznie oznacza, że istnieją dłuższe czasy, w których nie jest dostępna pełna wersja produktu.
Tak więc „klasyczny” obieg pracy wyglądałby następująco: (dev) -> (jednostka) -> (integracja) -> (test / qa) -> (produkcja).
Rolą integratora jest „akceptowanie / kupowanie” wydanych jednostek lub odrzucanie ich, jeśli nie odpowiadają one potrzebom kolejnego nadchodzącego wydania.
Na marginesie można również łączyć te dwa podstawowe podejścia w odpowiedni sposób.
Z mojego doświadczenia (które dotyczyło głównie zastosowania „klasycznego” podejścia), „klasyczne” podejście działało całkiem dobrze w projektach od około 4–50 osób w zespole.