W tym artykule:
- W tradycyjnym modelu programowania w parach – niezależnie od tego, czy odbywa się ono przy jednym komputerze, czy zdalnie – role są podzielone na kierowcę (drivera) i nawigatora.
- Według jednego z opracowań, aż 84% osób pracujących w parach szybciej przyswajało nowe technologie.
- Alternatywną metodą jest tzw. ping-pong pairing, często wykorzystywana w TDD – polega na tym, że jedna osoba tworzy test jednostkowy, a druga implementuje kod, który ten test przechodzi, po czym następuje zamiana ról.
Spis treści:
Pair programming – co to jest?
Modele pair programmingu – driver/navigator i inne
Główne zalety pracy w parach dla zespołów deweloperskich
Korzyści ekonomiczne pair programmingu
Wyższa jakość projektowania (designu)
Intensywniejsze uczenie się i mentoring
Budowa zespołu i większe zadowolenie z pracy
Zmniejszone ryzyko utraty specjalistów
Kiedy warto stosować pair programming?
Wyzwania i częste problemy przy pracy w duecie – jak ich unikać
Pair programming – co to jest?
Programowanie w parach to metoda pracy, w której dwie osoby pracują razem nad jednym zadaniem, ale każdy z nich ma swoją rolę. Jedynie dokładne trzymanie się ich pozwala duetowi jednocześnie pisać kod, szybko reagować na błędy, wspólnie poszukiwać lepszych rozwiązań i skutecznie je implementować.
Modele pair programmingu – driver/navigator i inne
W klasycznym modelu pair programmingu (czy to fizycznie podczas korzystania z jednego komputera, czy zdalnie) występuje podział ról na kierowcę (driver) i nawigatora.
Nawigator proponuje kierunek dalszych działań oraz przeprowadza code review. Informuje kierowcę o kolejnych fragmentach kodu do napisania, wskazuje na bieżąco błędy i kontroluje output (w konsoli przeglądarki, w widoku aplikacji, a czasem również w logach systemowych lub terminalu). W stosownym momencie omawia z kierowcą dalsze wytyczne i uwagi.
Natomiast driver jest odpowiedzialny za pisanie kodu zgodnie z poleceniami nawigatora. W związku z tym powinien zachować czujność i rozeznanie – wiedzieć, kiedy zgłosić wątpliwości, a kiedy dopytać, gdy nie rozumie poleceń.
Inne podejście to tzw. ping-pong pairing, często stosowane przy TDD: jedna osoba pisze test jednostkowy, a druga od razu implementuje kod, który ten test przechodzi – i tak na zmianę. Zaś przy pracy zdalnej obaj programiści mają dostęp do edycji kodu dzięki rozszerzeniom do popularnych IDE. Wówczas nawigator może poprawiać zauważone błędy nawet bez komunikowania tego kierowcy, w związku z czym programowanie przebiega szybciej. W tym przypadku zdarza się także, że każdy deweloper otrzymuje do napisania inne linijki kodu, a konsultuje się tylko w razie potrzeby.
Przeczytaj także: Czym są interfejsy w Javie i dlaczego są potrzebne?

