Istnieje wiele czynników, które przyczyniają się do napięcia wokół spotkań. Weź to pod uwagę jako jeden z ważnych powodów, dla których spotkania mogą cię kosztować więcej niż są warte:
- Focus - oprogramowanie kontra spotkania
- Zarządzanie - menedżerowie potrzebują pomiaru
- Osobowość - introwertycy kontra ekstrawertycy
- Czas - przerwy, czas Twórcy i Menedżera
- Cele, priorytety
Każdy z tych czynników wyjaśniono poniżej,
Koncentracja - Lubię tworzyć oprogramowanie, które obejmuje myślenie o wyzwaniach (problemach), tworzenie rozwiązań, tworzenie oprogramowania i spotkania, które odwracają uwagę od zadań związanych z tworzeniem oprogramowania. Istnieje stan o nazwie „ Flow ”, w którym programista jest zanurzony w wyzwaniu (problemie), zbudował mentalny model rozwiązania i całkowicie skupia się na budowaniu rozwiązania. Deweloper może pracować do północy, pozostawiać tylko po to, aby jeść i spać, a następnie powrócić do stanu bliskiego miejsca, w którym wyszedł.
Programiści muszą unikać rozpraszania uwagi, a wielu uważa, że kodowanie do późnych godzin ma zalety (unikają hałasu, rozmów telefonicznych, zajętego biura i współpracowników niebędących programistami przerywających pracę). A kiedy pracowałeś do 10, 11 lub 12, przychodzenie do pracy później (10, 11 w południe?) Jest nieracjonalne. Czy można oczekiwać od programistów pracy od 9 rano do północy?
Spotkania Scrumowe (i wszelkie inne) odwracają uwagę programisty od ich głównego celu, jakim jest budowanie oprogramowania.
Zarządzanie - Menedżerowie muszą mierzyć, aby odnieść sukces, stąd potrzeba harmonogramów, rezultatów, harmonogramów, priorytetów i spotkań w celu pomiaru i zgłaszania postępów oraz ujawniania zależności, opóźnień i obszarów ryzyka. Wyzwanie związane ze Scrumem polega na tym, że menedżer potrzebuje tych rzeczy, ale deweloper musi się skupić. Spotkania służą menedżerowi i zapewniają menedżerowi sposób uzyskiwania, mierzenia i śledzenia statusu i postępów, ale spotkania rzadko zapewniają użyteczność programistom. Weź pod uwagę, że menedżerowie zapewniają większą wartość, gdy radzą sobie z rozrywkami, usuwają bariery i umożliwiają programistom skupienie się na tworzeniu oprogramowania.
Istnieją rozwiązania potrzeby spotkań. Menedżer może odwiedzać swoich programistów, prosić o raporty o stanie, przyjmować protokół, gdy zakłócenia są mniej ingerujące, lub przyjąć zasady informujące programistę o postępach, gdy programista jest przerywany. Zobacz dyskusję czasu, dlaczego jest to ważne.
Osobowość - weź pod uwagę, że niektórzy ludzie są introwertykami, a inni ekstrawertykami. Ekstrawertycy lubią interakcje społeczne i są przez nich ładowani. Menedżerowie są zazwyczaj ekstrawertykami (ponieważ ekstrawertycy są zwykle lepsi w kontaktach społecznych), chociaż introwertycy mogą odnosić sukcesy jako menedżerowie. Introwertycy mogą cieszyć się, a nawet celować w interakcjach społecznych, ale są ładowani przez samotność. Deweloperzy często są introwertykami i odnoszą sukcesy pracując samodzielnie (lub w małych zespołach), ponieważ nie potrzebują „interakcji społecznych”; mogą być szczęśliwi pracując samodzielnie nad problemami (chociaż ekstrawertycy mogą być również programistami). Codzienne spotkania scrumowe mogą stać się spotkaniami towarzyskimi, dobrymi dla ekstrawertyków, ale nie tak dobrymi dla introwertyków.
Czas - programiści nie mogą pisać kodu podczas spotkań. Nie mogą też myśleć o trudnych problemach (chyba, że burza mózgów), podczas gdy są rozproszeni przez spotkania. Programiści potrzebują dużych bloków nieprzerwanego czasu, aby skupić się na tworzeniu oprogramowania. Spotkania są przerwami, które odwracają uwagę od ich wysiłków. Kiedy godzinami zanurzasz się w rozwiązywaniu problemu, prawie już skończyłeś, a ktoś mówi „czas na scrum”, zostajesz przerwany i być może tracisz godziny pracy podczas „zmiany biegów”. Lub pozostałeś w pracy do 23:00, opuściłeś pracę, pojechałeś do domu, spałeś na problemie, obudziłem się, wróciłem do pracy gotowy do rozwiązania problemu, a potem zostałeś przerwany po godzinie pracy nad problemem, ponieważ to „czas na scrum”.
Paul Graham ma doskonały artykuł na temat Maker Time vs. Manager Time, który wyjaśnia ten problem znacznie lepiej niż ja. Wystarczy powiedzieć, że przerwanie spotkania, niezależnie od tego, czy jest planowane, czy nieplanowane, może przerwać przepływ i zmusić programistę z czasu Maker do czasu Menedżera. Uwierz mi, chcesz programistów na czas Maker.
Cele, priorytety - Programiści i menedżerowie mają różne cele i priorytety. Menedżerowie mają obowiązek śledzenia harmonogramów, minimalizacji kosztów, upewnienia się, że ich raporty są odpowiedzialne i że wykonują. Programiści mają na celu zbudowanie oprogramowania, które sprosta wyzwaniom / problemom. Cele te nie są w konflikcie, ale to mechanizm komunikacji powoduje napięcie. Spotkania służą potrzebom menedżera i optymalizują czas menedżerów, ale są sprzeczne z potrzebami programisty. Spotkania Scruma odrzucają pierwszą zasadę spotkań, „mają porządek obrad” i mają tendencję do błąkania się dalej. Spotkania służą do optymalizacji komunikacji (dla menedżera), ale kosztują czas programisty (przerwy, utrata przepływu itp.).
Jaki jest cel Aby szybko i jakościowo tworzyć oprogramowanie, które zaspokaja potrzeby, a ograniczeniami są (jakość, czas, koszt, proces). Scrum i inne zwinne metodologie rozpoznają ograniczenie procesu i próbują zminimalizować ten czynnik, i odniosły sukces, ponieważ minimalizują to ograniczenie. Ale dodawanie spotkań kosztuje czas, a przerwanie kosztuje programistę znacznie więcej niż czas trwania spotkania.