Rok temu ukończyłem studia informatyczne, a teraz pracuję w małej firmie zajmującej się tworzeniem stron internetowych (ja i jeden inny programista, a także menedżerowie, obsługa klienta i tester). Aż tuż przed moim uruchomieniem nie było systemu kontroli źródła. Teraz powoli zaczynamy wdrażać SVN, ale inny (starszy) programista (odtąd nazywany Joe) nalega, że jedynym kodem, który powinien zostać przypisany do naszego repozytorium SVN, jest ten, który został przetestowany i zatwierdzony jako gotowy do produkcji. Oznacza to, że w większych projektach może nie być żadnych zobowiązań przez kilka tygodni lub dłużej.
Czy to normalna praktyka? Wydaje mi się, że tracimy wiele korzyści płynących z kontroli źródła, w tym:
- Dokładne śledzenie postępów projektu
- Śledzenie pojawiających się i rozwiązywanych problemów
- Łatwo wycofuj błędy
- Łatwe tworzenie kopii zapasowych kodu, dzięki czemu nie tracimy dużo, jeśli stacja robocza ulegnie awarii
- Łatwiej jest dokładnie określić, jaki kod działa w poszczególnych zakładach produkcyjnych, zakładając, że stemplujemy poprawki w plikach wykonywalnych, jak opisano tutaj
- Łatwa współpraca (chociaż nie wykonujemy żadnej pracy zespołowej; to wszystko projekty solo)
- Itp.
EDYCJA: Powinienem podkreślić, że historycznie w tej firmie nie było żadnej prawdziwej pracy zespołowej; tylko dwóch programistów pracujących nad oddzielnymi projektami. Ponadto wiele projektów jest niewielkich, więc można je zrealizować w ciągu kilku tygodni. Firma działa na rynku od ponad dekady i dobrze sobie radzi bez kontroli źródła. Projekty są zazwyczaj realizowane w przewidywanym terminie.