Właśnie skończyłem czytać Peopleware (DeMarco, Lister) i trochę wcześniej badałem programowanie ekstremalne (XP). Jak widzę teraz, te dwa podejścia są prawie do siebie wykluczające.
Peopleware sugeruje izolowanie programistów od wszelkich zakłóceń i nadaje priorytet nieprzerwanej pracy, aby pomóc programistom osiągnąć przepływ. Z drugiej strony XP proponuje zapewnienie jak największej komunikacji, sugerując nawet, że programiści mogą „usiąść razem”, kodować w parach i generalnie pracować w tym samym pomieszczeniu (generując dużo hałasu).
Czy te dwie konkurujące ze sobą szkoły myślenia, może jedna z nich okazuje się dobra / zła, czy też istnieje skuteczny kompromis? Widzę argumenty obu stron, ale nie widzę żadnego rozsądnego kompromisu.
Jestem bardzo nowy w studiowaniu zarządzania programowaniem, więc możliwe, że coś źle zrozumiałem. Wszystkie komentarze są mile widziane.
PS Jako dodatkowe mini-pytanie, jako programista, co uważasz za bardziej produktywne?
źródło
Odpowiedzi:
Ominął Cię punkt z Peopleware. Nigdzie w książce nie sugeruje się izolowania programistów w poszczególnych biurach, ale grupuj ich od 2 do 4 osób na biuro.
Głównym powodem jest izolacja programistów od hałasu niezwiązanego z programowaniem, takiego jak sprzedawca krzyczący na telefon, pogawędka między kierownikiem a sekretarką, hałas generowany przez poruszające się osoby, dzwonienie telefonu, trzaskanie drzwiami i inne.
Programowanie ekstremalne jest w pełni kompatybilne z biurem 2-4. Aby wykonać programowanie w parach, masz maksymalnie 2 lub 3.
źródło
Myślę, że oba podejścia opisują ogólną strategię pracy, ale niekoniecznie każdą minutę roboczą dziennie. Bilans musi istnieć.
Bądź na tyle blisko, aby umożliwić szybką komunikację, ale wycofaj się do jakiegoś odosobnionego obszaru, gdy dyskusja zostanie zakończona, a rzeczywista praca musi nastąpić.
Osobiście uważam, że „siedzenie razem” i „generowanie dużego hałasu” przez cały czas nie działa. Jest czas na rozmowę, aby omówić problemy, zdecydować o kolejnych krokach itd. Następnie jest czas na kodowanie, a ludzie muszą mieć do tego ciche obszary.
źródło
Kluczem jest wyrażenie „izoluj programistów od wszelkich zakłóceń i nadajesz priorytet nieprzerwanej pracy”. Priorytet jest oczywisty w XP, gdy Historie są wybierane w każdej iteracji, aby były najbardziej wartościowe. Klienci muszą dążyć do posiadania „stabilnego” zestawu opowieści, bez zmiany zdania zbyt wiele w trakcie iteracji (może się zdarzyć, ale powinny to być szczególne przypadki, a nie norma).
Część „izolowanie programistów” jest najtrudniejsza. Oznacza to, że programiści powinni robić to, co robią najlepiej: programować. Aby XP działało, programiści muszą znaleźć się w środowisku, w którym koncentrują się wyłącznie na wypełnianiu historii, bez żadnych zewnętrznych kosztów ogólnych, takich jak spotkania, rozmowy telefoniczne, drobne przysługi i tym podobne. Można to osiągnąć albo przez umieszczenie każdej pary programistów w ich własnym biurze, albo poprzez umieszczenie wszystkich programistów w sali wojennej, do której nikt inny nie może wejść, chyba że jest to absolutnie potrzebne.
źródło
Osobiście uważam, że NIE MOŻNA pracować z kimś w parze, nawet jeśli uczę się od tej osoby. Może po prostu dlatego, że niektórzy ludzie (tj. Ja) pracują lepiej na bardziej „klasyczne” sposoby (wchodzenie w strefę, cisza itp.).
A może faktem jest, że XP jest głównie wdrażany w sklepach internetowych, w których ludzie noszą wiele czapek i zamiast rozwiązywać trudne problemy w jednej domenie (np. Optymalizując fragment kodu), spędzają czas na znajdowaniu już istniejącego rozwiązania problemu, który nie jest bardzo trudne intelektualnie (np. zintegrowanie koszyka na stronie itp.).
W przypadku czegoś takiego praca w parach, dużo komunikacji itp. Może być jedynym sposobem na skuteczne przejście do przodu (nie spędzisz X godzin, aby znaleźć ten moduł wysyłania wiadomości e-mail Joomla! / Błąd Droopal, prawda? ?)
źródło
Tak, XP jest całkowicie niezgodny z Peopleware i dobrymi praktykami rozwoju oprogramowania. Być może musisz odświeżyć się w sekcji przed kontynuowaniem?
http://code.scottshipp.com/2017/03/22/open-office-plans-excerpt-from-peopleware/
Tabela 8-1 na dole dość dokładnie to przedstawia, a ostatecznym wejściem jest ostateczna torpeda.
W wieloosobowym biurze nie ma fizycznego sposobu, aby tego uniknąć. Czyjaś jednostka małżeńska dzwoni do nich i nawet jeśli osoba ta wyjdzie po odebraniu połączenia, nadal jesteś przerywany przez tę odpowiedź. Ktoś próbuje być uprzejmy, iść na kawę i woła, czy ktoś czegoś chce.
Nie zapominajmy, że programista, który wkłada słuchawki i podkręca głośność, abyś mógł go jeszcze usłyszeć w odległości 6 stóp lub jeszcze gorzej, czuje się zmuszony do używania długopisu / ołówka do bębnienia wraz z fragmentem „świetnej melodii”. Aha, a jeśli nie jesteś wystarczająco szczęśliwy, aby mieć jednego sportowego kibica pracującego w branży IT, wszyscy są napompowani.
„Och! Widziałeś wczorajszą grę? !!!! I to WEZWANIE !!!! Czy oni byli ślepi ?? !!”
Cóż, rozumiesz, o co chodzi.
XP z wczesnej definicji to 2 programistów i jedna klawiatura. Jest to metodologia, która naprawdę nadaje się tylko do głębokiego nurkowania przy trudnych do znalezienia poprawkach, a nie do tworzenia oprogramowania na dużą skalę. Zarówno koncepcje Open Plan, jak i Team Room naruszają badania przeprowadzone w Peopleware.
źródło