W nieagresywnym zespole programistycznym główny programista ogólnie :
- Ustawia standard (kodowanie i inne)
- Zespół bada nowe technologie
- Ustawia kierunek techniczny dla zespołu
- Ma ostatnie słowo w sprawach
- Projektuje architekturę systemu
Jednak zwinny zespół działa inaczej:
- Zwinny zespół będzie polegał na nowatorskim designie, a nie z góry
- Zwinny zespół projektuje razem, a nie jest dyktowany przez jedną osobę
- Zwinny zespół decyduje o własnym kierunku technicznym, który najlepiej jest zrealizować
Gdzie to pozostawia wiodącego programistę w zwinnym zespole? Czy można mieć wiodącego programistę w zwinnym zespole? Czy zwinny zespół wymaga od lidera różnych obowiązków?
design
architecture
agile
scrum
team-leader
Peter Bridger
źródło
źródło
Odpowiedzi:
Nic zwinnego nie zmienia sposobu, w jaki powinien działać główny programista. Powinny one angażować resztę zespołu w podejmowanie decyzji dotyczących architektury systemu i kierunków technicznych bez względu na model rozwoju.
Wydawanie decyzji edyktem to okropny sposób działania każdego zespołu programistów. Zwinne sprawia, że kupowanie od reszty zespołu jest bardziej wyraźnym procesem, a główny programista i tak powinien to robić.
To, że nie ma ustalonej roli głównego programisty w metodyce scrum, nie oznacza, że opinie bardziej doświadczonych programistów nie są najbardziej szanowane. Zwinne nie pozwala wszystkim na szaleństwo na punkcie swoich własnych rzeczy, a następnie próbuje to wszystko trzymać razem, wciąż istnieje wspólna wizja i kierunek, który należy ustalić.
źródło
W zwinnym zespole każdy powinien odłożyć swoje ego na bok.
Jeśli jeden z członków zwinnego zespołu ma większe doświadczenie niż inni, to prawdopodobnie zdarzy się, że doświadczony członek będzie zaangażowany w większość przeglądów kodu, a ludzie często będą uciekać się do doświadczenia tej osoby podczas podejmowania decyzji w zespole.
Tak więc „wiodący” programista będzie nadal „prowadził”, ale jako naturalna konsekwencja ich doświadczenia, a nie jako obowiązkowa funkcja ich tytułu.
To idealny świat, w którym ludzie mogą odłożyć swoje ego na bok. Powodzenia!
źródło
Oprócz odpowiedzi Ryathala :
Mówisz o nowym wyglądzie i kierowaniu zespołem, jakby płynęły one z zespołu w doskonałej harmonii i harmonii. Grupy ludzi, grupy programistów szczególnie mają konflikty . Jako lider zespołu, twoja praca w zwinnym zespole jest bardziej sędzią lub katalizatorem niż w wodospadzie. Gdy zespół ma spór o to, na przykład, jakiego projektu użyć, upewnisz się, że ludzie mają równe zdanie i trzymają się sporów o wartość. I w końcu jesteś arbitrem, do którego zaproponowane rozwiązanie wybierze zespół, gdy ścieżka nie będzie jasna.
Jest to jeden z najważniejszych obowiązków lidera, ale wiele innych rzeczy jest potrzebnych, aby zgrupować grupę ludzi w zespół. Nadal musisz dawać przykład, jeśli chodzi o dobre kodowanie, i często to egzekwować (bezpośrednio lub poprzez stworzenie kultury do tego celu). Musisz ułatwić komunikację między wszystkimi członkami swojego zespołu, ponieważ raz dziennie w trybie stand-up nie będzie tego przerywać.
Inną ważną rzeczą, którą przeoczyłeś, są spotkania. Niepraktyczne jest doprowadzanie całego zespołu na każde spotkanie, na którym zespół musi wchodzić w interakcje z biznesmenami, innymi zespołami technicznymi itp. Jako lider zespołu jesteś jego przedstawicielem. Chodzisz na spotkania, żeby mogli zostać przy biurku i załatwić sprawę. Jesteś punktem kontaktowym, aby nie przeszkadzały im osoby zatrzymujące się bezpośrednio. Pracujesz, aby pobrać informacje ze świata zewnętrznego (nad czym pracują inne zespoły, jak wyglądają zwinne zespoły podczas następnego sprintu, jaki jest status tego otwartego wymagania itp.), Sprowadzić je dla nich i przekazać.
Krótko mówiąc, jesteś środkiem smarnym, aby upewnić się, że mogą działać płynnie.
źródło
Twój nieagresywny opis nie unieważnia twojego zwinnego opisu.
Nic w twojej definicji wiodącego dewelopera nie mówi, że projekt musi być wcześniejszy. Może wyznaczyć kierunek i nadal może opracować wstępny projekt. Ten projekt zdecydowanie się pojawia.
Nic w twojej definicji głównego dewelopera nie mówi, że dyktuje on projekt. Chociaż może mieć ostatnie zdanie, tylko słaba pozycja lidera całkowicie zlekceważy myśli jego większości członków drużyny. Z drugiej strony tylko biedny zespół w pełni zignorowałby myśli głównego dewelopera.
Znów nie oznacza to, że ołów nie początkowo ustawia tego kierunku. Prowadzenie jest częścią tego zwinnego zespołu. Nawet w niestabilnym środowisku tylko słaba szansa na kontynuowanie marszu zespołu w tym kierunku, gdy stanie się to świadomie niewykonalne lub gdy zostaną przedstawione nowe informacje, które unieważnią ten kierunek.
źródło
Pytanie nasuwa kilka innych pytań. Jak myślisz, co kwalifikuje Cię do powiedzenia zespołowi inżynierów oprogramowania, co masz robić? Czy to twoje doświadczenie? Czy to zabawny, mały tytuł, który wręczył ci szef? Czy to twoje ego? Twoja kadencja w firmie? Czy to twój „rozmach?” Twój Styl?" Twoje „umiejętności przywódcze?”
Zwinne zespoły nie rozdają sobie odznak ani czapek, które mówią: „Gratulacje, jesteś naszym super geniuszem - tylko ty możesz wykonywać super tajną podwójną pracę genialną”. Koncentruje się raczej na PRACY POD RĘKĄ. Jeśli rzeczywiście jesteś bardziej doświadczony, to doświadczenie powinno POKAZAĆ, jak dobrze twoje projekty popychają pracę do przodu w kierunku ukończenia. Twoje samodzielnie wybrane zadania (karty) powinny odzwierciedlać obszary, w których jesteś najbardziej ekspertem. Z drugiej strony, jeśli jakieś dziecko po studiach ma lepszy pomysł i pasuje lepiej do kontekstu niż coś, co pojawia się około 40-letniego weterana z, dlaczego, u licha, mielibyśmy mieć gorszy projekt? Nasze miejsca pracy nie są gabinetami terapeutycznymi - tam właśnie przychodzimy budować wspaniałe rzeczy.
To nasuwa kolejne pytanie: kto decyduje, co znaczy „lepszy”? Odpowiedź: zespół interesariuszy. Oznacza to, że programiści, specjaliści od wymagań, testerzy, ludzie biznesu itp. Są twórcami i użytkownikami danej rzeczy. Jeśli masz świetny pomysł, lepiej pokaż, dlaczego jest lepszy. Jeśli nie możesz tego zrobić, to nie ma powodu, aby zespół uważał, że twój pomysł jest lepszy. Zwinny zachęca do merytokracji.
Co dzieje się z „liderem zespołu programistów”? w zwinny? Nic - po prostu lepiej zasłużyć na to imię - lepiej NAPRAWDĘ być w stanie wyprodukować lepsze oprogramowanie niż inni ludzie w zespole. W przeciwnym razie nie ma powodu, by nazywać ich „leadem” - to tylko mała odznaka lub śmieszny kapelusz i jest bez znaczenia. Wiele osób uważa to za groźne. Czują się, jakby „pracowali” nad odznaką lub śmiesznym kapeluszem. Dobrzy programiści nie działają na śmieszne czapki. Pracują, aby zbudować świetne oprogramowanie i planują to robić, dopóki nie wykrzyczą - ich celem jest doskonalenie się w tworzeniu oprogramowania każdego dnia. Jeśli to nie ty, być może zechcesz zajrzeć do zarządzania projektami. Prawdopodobnie będziesz szczęśliwszy.
źródło
Z mojego doświadczenia z Agile, zespół programistów jako całość ponosi mniej odpowiedzialności, niż sugerują to twoje przykłady, pozostawiając wiodącemu programistowi i architektowi koordynację wyborów projektowych na najwyższym poziomie, ale przekazując projekt niższego poziomu zespołowi zwinnemu jako całości.
Tak więc główny programista pozostaje odpowiedzialny za architekturę systemu i wybory technologiczne. Jest to bardzo ważne: chociaż zwinny zachęca do nowo powstających projektów i refaktoryzacji, powinno to mieć miejsce na poziomie obiektów kodu. System jako całość musi mieć wyższy poziom wstępnego projektu i sztywności inny projekt ryzyko stania się nieskoordynowane bałagan.
W naszym projekcie główny programista zlecił wybór technologii i zaprojektował, w jaki sposób komponenty systemu będą ze sobą współdziałać. Zwinne spotkania dotyczące planowania koncentrowały się na tym, jak zaprojektować te komponenty w ramach jego mandatów wyższego poziomu. Na marginesie, utrzymuje to ograniczenie zakresu podczas męczących spotkań planistycznych.
Funkcjonował również jako ostateczność. Gdy poszczególni programiści napotykali problemy, których nie byli w stanie rozwiązać, szli na prowadzenie, a ostateczna odpowiedzialność za naprawienie problemów spoczywała na nim.
źródło