Czy zespół programistów potrzebuje menedżera?


28

Tło:

Obecnie należę do zespołu czterech: 1 menedżera, 1 starszego programisty i 2 programistów. Wykonujemy szereg niestandardowych wewnętrznych systemów / projektów (np. 6-8 tygodni) dla organizacji około 3500 pracowników, a także całą konserwację i wsparcie wymagane od wcześniej utworzonych systemów. Nie ma nas wystarczająco dużo, aby wykonać całą pracę, która może nadejść po naszej myśli - mamy za mało personelu. Kierownictwo to potwierdza, ale ograniczenia budżetowe ograniczają naszą zdolność do rekrutacji dodatkowych członków zespołu (nawet jeśli odzyskamy wynagrodzenie).

Zmiana

To pozostawia nas tam, gdzie teraz jesteśmy. Nasz menedżer powinien zostawić swoją rolę na pastwiskach nową, pozostawiając wolne miejsce w zespole. Zarząd korzysta z okazji, aby zrestrukturyzować nasz zespół, w którym rolę menedżera zespołu zastąpiłby inny programista i inny starszy programista. Ich logika polega na tym, że potrzebujemy więcej programistów, więc oto sposób na sfinansowanie tego (jedna z ról jest częściowo finansowana z innego wolnego stanowiska).

Zespół nie miałby bezpośredniego kierownika liniowego, a role i obowiązki zostałyby podzielone między seniorów i (stosunkowo nowego na stanowisku) kierownika serwisu (rola nietechniczna z niewielką lub żadną wiedzą / doświadczeniem w zakresie rozwoju, której celem jest dzielenie się wśród wielu innych zespołów i osób) - kto byłby naszym następnym faktycznym menedżerem w górę łańcucha żywnościowego.

Myślę, że ostatnie pytanie brzmi:

Czy możliwe jest prowadzenie zespołu programistów bez menedżera? Czy miałeś już takie doświadczenie? A co może pójść nie tak / może być dla nas korzystne?

Idealnie chciałbym „zobaczyć światło” i korzyści płynące z robienia rzeczy w ten sposób, lub wymyślić kilka argumentów przeciwko temu.


20
Jeśli nikt nie jest menedżerem, to właściwie każdy jest menedżerem. Przepis na katastrofę.
JohnFx

14
Zespoły samozarządzające lub kierowane przez Google. Istnieją niepotwierdzone dowody, że w niektórych sytuacjach może działać naprawdę dobrze. Czy pasuje do ludzi i kultury, to prawdziwe pytanie IMO.
Guy Sirton,


@Guy Sirton: Czy którykolwiek z tych artykułów dotyczy programistów? Wątpię.
Jim G.

@Guy Sirton: Zobacz komentarz JohnFx. Jest w 100% poprawny.
Jim G.

Odpowiedzi:


47

Im większe ryzyko, tym bardziej potrzebujesz „osłony powietrznej”. To właśnie powinien zapewnić menedżer. Podczas gdy zespół wykonuje pracę, kierownik powinien upewnić się, że nic nie powstrzyma zespołu od osiągnięcia celów zespołu. Niezależnie od tego, czy jest to modyfikowanie harmonogramu, ingerencja między zespołem a personelem sprzedaży, czy po prostu upewnianie się, że zespół jest opłacany na czas i że ekspres do kawy pozostaje sprawny. Naprawdę świetny menedżer pozwala zespołowi funkcjonować prawie tak, jakby go nie było.

Rzeczywistość jest oczywiście taka, że ​​większość menedżerów kompletnie tego nie robi. Albo zarządzają nimi, albo stają się przestarzałe, aby górne szczeble firmy mogły kontrolować rzeczy bardziej bezpośrednio, a prawdziwie świetni menedżerowie rzeczywiście są rzadkim ptakiem. Jeśli chodzi o zespół programistów, istnieją pewne zalety i wady obu sposobów, jeśli chodzi o hierarchiczną lub płaską strukturę zespołu. Jeśli zespół jest bardzo mały, a wykonana praca wymaga niewielkiego nakładania się (a przez to rozumiem, że każdy ma niezależny projekt), to z mojego doświadczenia wynika, że ​​płaska (inaczej niezarządzana) struktura zespołu może działać bardzo dobrze, jeśli wszystkie członkowie zespołu są zdyscyplinowani. Z mojego doświadczenia wynika jednak, że tam, gdzie członkowie zespołu w dużym stopniu się pokrywają, tam gdzie są dwie lub więcej stosunkowo silnych osobowości,

W grę wchodzi wiele czynników, ale tak naprawdę sprowadza się to do zaangażowanych osobowości, ich indywidualnych motywacji i celów zawodowych, a także przykładu i wskazówek dostarczonych przez wyższe kierownictwo, które określą, jak konieczne jest stanowisko menedżera lub lidera zespołu. Ogólnie rzecz biorąc, jeśli występuje chaos, a kiedy zespół o to prosi, to wyraźnie potrzebuje przywództwa. Jeśli na ogół wszystko przebiega dobrze bez udziału kierownictwa, być może zespół może zarządzać w niehierarchicznej strukturze przez jakiś czas ... przynajmniej dopóki obciążenie i harmonogram nie staną się zbyt trudne do zarządzania.


11
+1 za „ochronę powietrzną” to to, co menedżerowie naprawdę muszą robić w takiej sytuacji (inna sytuacja, jeśli są konkretnie kierownikami projektów ).
jcmeloni

5
+1 za pierwszy akapit - -1 za następny, +1 za ostatni. Zwalnianie menedżerów może być zabawne, ale na tych forach jest trochę cienkie .......
mattnz

7
+1: „Podczas gdy zespół wykonuje pracę, menedżer powinien upewnić się, że nie ma nic, co powstrzymałoby zespół przed osiągnięciem celów zespołu.”: Nie wszyscy menedżerowie są tacy, ale miałem szczęście mieć takie menedżer. Zwykle mogę pracować bez wskazówek, ale posiadanie menedżera, który uniemożliwia mi dotarcie do niepokojących wydarzeń lub informacji podczas mojej pracy, jest naprawdę świetny i zwiększa moją wydajność!
Giorgio

17

Ktoś musi być menedżerem, ale w przypadku twojego zespołu nie sądzę, że jest to praca na pełny etat. Zatrudnij kolejnego sr. dev i uczyń jednego z nich menedżerem. Idealnie, ten, który najlepiej pasuje do roli menedżera i niekoniecznie najlepszego programisty.

Kierownik musi podjąć ostateczną decyzję w przypadku braku konsensusu, więc osoba ta powinna mieć kwalifikacje techniczne. Ocena innych programistów, spotkań i odpieranie wyższego kierownictwa jest częścią pracy.

Sugerowana lektura: Rok bez spodni . Nawet duży projekt oprogramowania (WordPress) może obejść się bez bezpośrednich menedżerów, ale są pewne zadania (nikt nie chce robić / są bardzo trudne) lub wymagają integracji dużej liczby programistów do tego samego zadania, może być bardzo trudne bez niektórych centralna kontrola.


Nigdy nie miałem bezpośredniego menedżera, który nie pisze kodu tak jak zespół.
Vorac

@Vorac - po prostu ciekawy, jaki jest największy zespół deweloperów, w jakim kiedykolwiek byłeś?
JeffO

10 osób ogółem :)
Vorac

12

Prosta odpowiedź na twoje pytanie brzmi „tak”, jak wskazali inni.

Bardziej kompletna, ale bardziej złożona odpowiedź na twoje pytanie to:

„Kierownictwo to potwierdza, ale ograniczenia budżetowe ograniczają naszą zdolność do rekrutacji dodatkowych członków do zespołu”

Kierownictwo mówi „tak, uznajemy to, uznajemy, że” to tylko „słowa”, aby poczuć się lepiej. Nie uważają, że ma to decydujące znaczenie dla sukcesu organizacji, w przeciwnym razie naprawdę wsparliby kogoś.

Innymi rzeczami, na które należy uważać (ponieważ jest w tym dużo psychologii), jest to, że kierownictwo przekazuje złe wieści, ale łączy w sobie jakiś żart, być może wspominając bezpośrednio o problemie, może nie, ale w zasadzie nie można go zakwestionować ( jest to subtelna i sprytna technika). Kolejnym wartym uwagi jest 3-godzinne spotkanie, na którym przedstawiany jest plan, a po 2 godzinach 55 minutach pytane są o twoje opinie.

Bądź ostrożny w kwestii zarządzania, które „mówi” właściwą rzecz, w przeciwieństwie do zarządzania, które „robi” właściwą rzecz.


6

Brak menedżera = Brak odpowiedzialności = Bałagan przynajmniej na dłuższą metę. Każdy będzie robił rzeczy, które mu się podoba, a kierownictwo średniego szczebla będzie biegać, nie wiedząc, z kim porozmawiać lub kto ma rację, a kto nie ma racji w związku z danym problemem lub prośbą. O ile zadania nie są tak rozdzielone i nie mają żadnych powiązań lub nie ma ich wcale, posiadanie wielu „małych menedżerów” nie działa w rozwoju, ponieważ istnieje wiele sposobów wykonania dowolnego zadania i ponieważ zarządzanie wymaga wiedzy specjalistycznej, nie zawsze może być zajęty przez programistę. Istnieje potrzeba, aby ktoś zobaczył pełny obraz. Sugerowany styl może działać w przypadku zespołów zapewniających wsparcie starszych lub bieżących aplikacji, ale nie w fazie rozwoju. Aby być optymistą, zajmie twojej organizacji i kilka prób i awarii, zanim to zadziała dość dobrze.


Może to być prawdą w przypadku grup programistów o małej dyscyplinie, ale nie jest tak w przypadku dobrze zmotywowanego, samoorganizującego się zespołu. Jeśli zespół jest tak słabo zdyscyplinowany, jak sugeruje twoja odpowiedź, problem leży po stronie HR niż zarządzania.
Dan Lyons,

@DanLyons, dzięki za komentarz. Kiedy wyższe kierownictwo musi wiedzieć, kiedy produkt zostanie dostarczony lub o ile więcej pieniędzy musimy jeszcze zapłacić lub dlaczego ten raport nie działa, ... itd. musi być przynajmniej jedna wiarygodna odpowiedź. Moim zdaniem każda grupa z więcej niż 1 osobą musi wyznaczyć menedżera. W końcu na końcu każdego projektu IT musi wystrzelić jedna osoba :)
NoChance

1
Wydaje się, że firma, która tworzy WordPress, jest w stanie to zrobić.
JeffO

To dla mnie nowość. Słuszna uwaga.
NoChance

4

Zgadzam się z powyższymi odpowiedziami, ale jest to ważna uwaga.

„Menedżer” to stanowisko, ale myśląc o rolach , kierownik to ktoś, kto ma pewne obowiązki . Niezależnie od tego, jakie są te obowiązki, negocjacje z CxO, pisanie raportów, zarządzanie urlopami, a nawet napełnianie ekspresu do kawy - Twój zespół potrzebuje osoby odpowiedzialnej za to.

Profesjonaliści - może to być jeden z was, a to może znacznie poprawić jego karierę. Reszta zespołu zdobędzie kogoś, kto nie jest „przydzielony z góry”, ale kogoś, kto głęboko rozumie potrzeby zespołu.
Oczywiście nie zapomnij negocjować, ile czasu poświęci na zadania kierownicze i co pozostało z tego, co robiła wcześniej.

Wady - Możliwe też, że nikt z was nie chciałby zostać menedżerem. Nie ma w tym nic złego. Wielu programistów woli raczej klawiaturę i innych programistów niż „marnowanie czasu” na raporty, diagramy i spotkania. Zaufaj mi, pięć minut z krzyczącym szefem każdego ranka jest niezwykle demotywujące! :)

Chciałbym więc od nowa odpowiedzieć na następujące pytanie:
Czy można prowadzić zespół programistów bez dedykowanego menedżera? - Tak .
Czy Twój zespół jest gotowy na tę zmianę? - Nie mogę powiedzieć.
Spróbuj. Po prostu warto spróbować.


-1: Warto spróbować? Kiedy? W projekcie, który nie ma znaczenia?
Jim G.

@Jim: ... chyba że istnieje menedżer, który dba tylko o jego / jej możliwość patronowania ludziom, oczywiście zapobiegając ich rozwojowi. ;-)
bytebuster

3

Obecnie pracuję w małym zespole bez menedżera. Mała firma. To dobrze działa.

Twój przebieg może się różnić.


3

Tak, potrzebujesz przewodnika technicznego i kierownika. Osobiście uważam, że przewodzenie techniczne jest znacznie ważniejsze. (Jeśli nie jesteś pewien, co to jest, to w zasadzie osoba, która rozdaje pracę i upewnia się, że wszyscy robią to, co powinni).


1
Zgodzić się. Biorąc pod uwagę opis roli „Service Manager” w pytaniu, uzupełnieniem jest kierownik techniczny w zespole.
MSalters

2

Zespół programistów nie potrzebuje menedżera, jeśli każda osoba jest wystarczająco dojrzała, aby pracować jako zespół i spełniać oczekiwania interesariuszy.

Istnieją pewne role (powiedzmy programiści), które wymagały skupienia się na problemie, który należy rozwiązać i nie martwić się o inne czynniki środowiskowe. Tam pomaga menedżer.

Powiedziawszy, że zawsze pomaga ktoś starszy, który może wnieść wartość dodaną. Nawet CEO podlega zespołowi menedżerów (rada dyrektorów).

Moje 2 centy ...


1

Sugerowałbym, że zależy to od bitew, które należy stoczyć dla drużyny w organizacji. Jeśli występują problemy uniemożliwiające wykonywanie pracy, menedżer powinien je rozwiązać.

Może to być na przykład zapewnienie, że priorytety są kontrolowane i ustalane w rozsądny sposób, zapewniając, że masz sprzęt, oprogramowanie itp. Potrzebne do wykonywania swoich zadań. Powinny być orędownikiem zespołu w organizacji.

W jaki sposób angażujesz się w biznes, jak określasz, nad czym powinieneś pracować, kto określa, kiedy „skończysz”. Jeśli organizacja zajmuje się tymi sprawami bez konieczności wykonywania przez kierownika wielu działań, to świetnie. Ale wtedy mogą nastąpić zmiany poza zespołem i być może, jeśli jedna lub dwie kluczowe osoby w firmie zmienią role, możesz znaleźć się w trudnej sytuacji.

Być może mógłbyś wybrać silnego lidera w organizacji, który może być twoim adwokatem, ale nie musi brać udziału w codziennym zarządzaniu, podchodzić do nich i sprawdzać, czy byliby gotowi objąć ich zespół. (Być może zrobiłeś to już ze wspomnianym „menedżerem serwisu”).


1

krótka odpowiedź: tak, może.

Długa odpowiedź: ale zależy to od osobowości zespołu. Oczywiście, ktoś musi zdecydować, co robisz, więc potrzebujesz kogoś, kto się zgłosi - może to nie być kierownik zespołu, ale ktoś musi dać ci pracę do wykonania. W zespole może być potrzebny ktoś, kto zdecyduje o priorytetach i / lub kwestiach technicznych, ale może to łatwo zrobić kierownik zespołu.

Może potrzebujesz połączyć swój zespół deweloperów z innym, czy masz zespół testowy> czy lepiej byłoby użyć tego samego menedżera dla obu, zachowując jednocześnie częściowo autonomiczny zespół programistów?

Wydaje mi się, że menedżer usług może z radością zapewnić ci pracę, którą musisz wykonać, a także sprawdzić, czy pasuje do niezbędnej jakości, i nie potrzebuje żadnego doświadczenia programistycznego, aby wykonać to zadanie - oprogramowanie jest narzędziem biznesowym, albo spełnia wymagania lub nie, i zwykle najlepsi ludzie mogą ustalić, że to użytkownicy. Kierownik serwisu będzie działał jako łącznik między tobą a nimi i mam nadzieję, że utrzymasz prawidłową pracę. Martwię się tylko, że nie miał wystarczającej kontroli nad obowiązkami twojego zespołu, tak jakby wszystko zaczęło się psuć, skończysz w nieszczęśliwym stanie, dopóki kierownictwo nie uczyni go (lub, co gorsza, kimś innym) odpowiedzialnym za ty.


1

Zespoły samozarządzające nie są niczym niezwykłym. Zwykle wymagają jasnych wskaźników wydajności, aby stworzyć wewnętrznie generowaną rozliczalność. Twoja organizacja może to mieć, ale jeśli nie możesz wygenerować dodatkowego zatrudnienia na podstawie oszczędności kosztów, być może to nie zadziała. Drugim wyzwaniem jest to, że twój nowy szef nie brzmi jak ktoś, kto wiedziałby, jak nagradzać talent.

Na dobre lub złe wygląda na to, że potrzebujesz trenera gracza. Ktoś, kto może zarówno zarządzać zespołem, jak i występować w nim. W grupie 4 osób jest to z pewnością wykonalne. W grupie 8 lub 10 nie byłoby. Wyzwaniem jest określenie, kto powinien być tym trenerem zawodnika. Domyślnie jest to najlepszy programista, ale czy koniecznie chcesz powiązać ich z administratorem? Nie ma trudnej i szybkiej odpowiedzi, poza stwierdzeniem, że organizacje o wysokich wynikach znajdują sposoby, aby nie zmuszać wszystkich swoich najlepszych techników do zostania menedżerami.


-1 dla pierwszego akapitu. +1 za drugi akapit.
Jim G.

1

Menedżer jest zazwyczaj brakującym ogniwem między organizacją a zespołem programistów.

  • Dbają o to, by Twoja praca była odpowiednia i spełniała potrzeby organizacji.
  • Odpowiedz na wyższe kierownictwo
  • Zarządzaj harmonogramem, aby projekt był na czas
  • Upewnij się, że twoje potrzeby dotyczące projektu zostały zaspokojone.

Mniejsze zespoły o małych obowiązkach mogłyby funkcjonować bez wyznaczonego kierownika. Ale gdy obowiązki stają się coraz większe, będziesz potrzebować kogoś, kto zarządza wszystkimi tymi ryzykami i problemami.

Biorąc pod uwagę twoją konfigurację, ktoś z twojego zespołu ostatecznie będzie pełnił rolę menedżera, nawet jeśli nie zostanie on wyznaczony jako taki. Zazwyczaj rozdzielone obowiązki nie działają dobrze. Wiele zależy od tego, jak jest dystrybuowany i od rodzaju zaangażowanych osób.


1

Korzyści z posiadania menedżera zależą od roli, jaką odgrywają dla twojego zespołu. Tak naprawdę sprowadza się to do roli potrzebnej zespołowi:

  • Czy potrzebujesz kogoś, kto ma uprawnienia do rozwiązywania sporów między członkami zespołu i pozwala zespołowi skoncentrować się na terminowym dostarczaniu dobrej jakości pracy?
  • A może potrzebujesz kogoś, kto zapewni ochronę powietrzną, jak wspomniano w najwyższej odpowiedzi? Zarządzaj harmonogramami, ustalaj priorytety, interweniuj między kierownictwem a zespołem itp.

Potrzebujesz tego? Czy osoby na pozycjach, które zanotowałeś, mogą to dla ciebie zrobić? Jeśli tak, to nic ci nie jest. Jeśli nie, prawdopodobnie zmierzasz w kierunku katastrofy.

Źródło: osobiste doświadczenia z projektami grupowymi oraz zarządzanymi i niezarządzanymi zespołami.


0

Myślę, że zespoły płaskie są zawsze problemem, chyba że powierzysz jednego faceta stadzie grupie inżynierów tej samej / podobnej klasy.

Jak wspomniał S.Robins, JEŚLI wszyscy członkowie zespołu są dobrze zdyscyplinowani, wówczas umieszczenie menedżera może być niepotrzebnym wąskim gardłem. Kilka małych firm, w których pracowałem, ma ograniczenia siły roboczej (między innymi z powodu ograniczeń budżetowych), a zatem mają tendencję do umieszczania grupy kilku odświeżaczy / juniorów w płaskim zespole z jednym facetem o szczebel nad nimi zarządzający .

Jeśli menedżer „o 1 poziom wyżej” nie jest w stanie zarządzać ludźmi, to się odwróci. Odświeżacze / juniorzy rozpoczynający karierę będą bardzo konkurencyjni - postaraj się mocno umocnić jak najwcześniej w zespole, a ktoś musi czasem powstrzymać ludzi, aby ich konkurencyjność nie zaszkodziła współpracy.

Problem z utrzymaniem płaskiego zespołu polega na tym, że przy skalowaniu projektu nieuchronnie będziesz musiał pozwolić jednemu lub dwóm facetom zrobić więcej, wziąć na siebie większą odpowiedzialność. W tym momencie będziesz musiał stworzyć dobrze zdefiniowaną hierarchię i zdecydowanie ustanowić odpowiedniego Menedżera, aby odbierać połączenia i zarządzać ludźmi, ponieważ bardzo często, gdy są promocje z tej samej grupy, zawsze jest niezadowolona grupa.

Innym złym pomysłem, jaki widzę w wielu mniejszych Cos, jest po prostu postawienie starszego faceta pod względem mianowania lub doświadczenia jako menedżera. Albo najbardziej zaawansowany technicznie facet w grupie zostaje awansowany do roli menedżera. Nigdy nie widziałem, żeby się to udało.

Czuję, że jakikolwiek zespół składający się z więcej niż 4 osób na pewno będzie potrzebował Menedżera na wczesnym etapie, jeśli projekt będzie dobrze skalowany. Idealnie jest to osoba techniczna z umiejętnościami zarządzania mężczyzną, dobra komunikacja powinna być odpowiedzialna za niektóre decyzje.


0

Pracuję dla firmy, w której stosujemy zwinne praktyki, w szczególności Scrum. Działa to doskonale we wszystkich dziedzinach: zespoły programistyczne i kierownictwo są zadowolone. Dostają to, czego chcą.

  1. Wszyscy inżynierowie zgłaszają się do kierownika technicznego. Kierownik ds. Inżynierii pełni niezwykle techniczną i funkcjonalną rolę, a jej rola wymaga większego zaangażowania w dział. Ta rola jest równoważna z właścicielem produktu.
  2. Kierownik projektu pełni oddzielną rolę, podobnie jak mistrz scrum, i zwykle jest wykonawcą na czas określony (od 12 miesięcy do 18 miesięcy, bez przedłużenia umowy)
  3. Kierownik projektu - scrum master - jest całkowicie odpowiedzialny za działania niefunkcjonalne i niezwiązane z inżynierią

Działa to doskonale, ponieważ zespół programistów skupia się na aspektach inżynieryjnych, analitycy biznesowi / właściciele produktów koncentrują się na aspektach biznesowych. Kierownik projektu jest odpowiedzialny za śledzenie zadań, raportowanie i inne typowe obowiązki Scrum Master.

Kierownictwo średniego szczebla jest zlecane na zewnątrz i nie ma ścieżki wzrostu od kierownictwa średniego szczebla do najwyższego kierownictwa. Szansą na rozwój jest rola zespołu programistów lub analityków biznesowych do kierownika inżynierii, a nie roli nadzorczej.

Nasza firma głęboko wierzy, że kadra kierownicza średniego szczebla nie stanowi dużej wartości dodanej dla firmy i najlepiej pozostawić ją zewnętrznym firmom konsultingowym.


0

Warto zauważyć, że bez względu na to, czy wyznaczy on osobę na kierownika, prawdopodobne jest, że jeden z was zostanie de facto menedżerem, prawdopodobnie osobą o największym doświadczeniu / czasie.

W szczególności, ponieważ odbywa się to jako środek redukcji kosztów (tj. Nie płać menedżerowi, zamiast tego zatrudnij programistę), a nie jako przemyślana restrukturyzacja, wydaje się prawdopodobne, że wyższe kierownictwo będzie nadal działać tak, jak miało to miejsce wcześniej po prostu zajmowanie się ludźmi, których znają lepiej (tj. najdłuższa porcja).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.