Mój zespół zajmuje się programowaniem par od samego początku, na długo przed tym, jak tam pracowałem, jako część sklepu w stylu „ekstremalnego programowania”. Programowanie w parach jest stanem domyślnym ; ludzie naprawdę wybierają się singleton tylko wtedy, gdy jest nieparzysta liczba, lub od czasu do czasu na dochodzenia, szczególnie te, które polegają na plątaniu się wrogim sprzętem i próbowaniu jego uruchomienia.
„Junior / senior” to nie jedyna droga. Przydatny jest „średniozaawansowany / młodszy”; pomaga facetowi na średnim poziomie zsyntetyzować zdobytą wiedzę, zmuszając go do przekazania jej komuś innemu. Wyzwania „Średniozaawansowany / Średniozaawansowany” stanowią wyzwanie dla dwóch osób, które dzielą się swoją wiedzą, komunikują się i pracują w zespole. I nawet jeśli masz dwóch naprawdę starszych facetów, są szanse, że mają oni różne obszary specjalizacji i mogą wymyślić różne podejścia. Aspekty dzielenia się wiedzą nie kończą się, gdy ktoś jest niejasno „przyśpieszony” w projekcie. Programowanie w parach jest raczej uosobieniem organizacji uczącej się . Nowe techniki i najlepsze praktyki rozprzestrzeniają się szybko.
Programowanie w parach pomaga również utrzymać jakość kodu (mniej defektów) i poczytalność kodu (nie tylko robi to, co zamierza, ale robi to, co powinno ... idealnie bez schodzenia wielotygodniowego królika dziura robi złą rzecz lub dwie różne właściwe rzeczy, które będą się dziko sprzeczały). Pomaga programistom utrzymać koncentrację: tutaj, w sercu Doliny Krzemowej, domu 80-godzinnego tygodnia pracy, możemy pracować tylko 40 godzin tygodniowo, ponieważ intensywnie kodujemy przez osiem godzin dziennie, zmieniając rzeczy precz ze sobą. (Ponadto, jeśli dłużej zajmujesz się programowaniem w parach, prawdopodobnie się przewrócisz. A przynajmniej wypalisz.) Jest to doskonałe rozwiązanie dla równowagi między życiem zawodowym a prywatnym, a także pomaga organizacji, gdy ważne jest, aby szybko realizować zadania (szczególnie w przypadku krótkich opóźnień).
To nie wszystko, całkowicie, 100% brzoskwinie i śmietana; Uważam, że programowanie w parach jest czasami przeszkodą w stosowaniu intuicyjnych procesów mózgowych, które są przydatne w niektórych problemach. Ostatnio, w ramach zadania przecieku pamięci, spędziłem trochę czasu zarówno z parami, jak i bez; bez niego czułem się bardziej swobodnie, próbując eksperymentować, nie wiedząc dokładnie, jak wyjaśnić, co robiłem w danym momencie. Istnieją również pewne zalety pracy w trybie singleton, możliwość przejścia na styczną i wykonania pewnych dzikich refaktoryzacji (cenionych w metodyce XP) na podstawie kaprysu.
Ale ogólnie rzecz biorąc, korzyści znacznie przewyższają koszty, a parowanie zadziałało dla nas spektakularnie: od etapu rozruchu, poprzez przejęcie przez większą firmę i naszą późniejszą integrację. (Mówiąc o tym, programowanie par pomogło nam utrzymać ciągłość kultury poprzez ekspansję i pomimo niewielkich obrotów).
(Opracowujemy oprogramowanie w Perlu, cena katalogowa od ~ 4000 do 40 000 $).