„Univerzalno“ u razvojnom timu: korist ili šteta?

„Univerzalno“ u razvojnom timu: korist ili šteta?

Zdravo svima! Moje ime je Ljudmila Makarova, ja sam menadžer razvoja u UBRD-u i trećina mog tima su „generalisti“.

Priznajte: svaki Tech Lead sanja o međufunkcionalnosti unutar svog tima. Tako je cool kada jedna osoba može zamijeniti troje, pa čak i to učiniti efikasno, bez odlaganja rokova. I, što je najvažnije, štedi resurse!
Zvuči veoma primamljivo, ali da li je zaista tako? Pokušajmo to shvatiti.

Ko je on, naš preteča očekivanja?

Termin „generalista“ se obično odnosi na članove tima koji kombinuju više od jedne uloge, na primer, programer-analitičar.

Interakcija tima i rezultat njegovog rada zavise od profesionalnih i ličnih kvaliteta učesnika.

Sve je jasno sa hard skillovima, ali soft skills zaslužuju posebnu pažnju. Pomažu u pronalaženju pristupa zaposleniku i usmjeravaju ga na zadatak gdje će biti najkorisniji.

Postoji mnogo članaka o svim vrstama ličnosti u IT industriji. Na osnovu svog iskustva, podijelio bih IT generaliste u četiri kategorije:

1. “Univerzalni – Svemogući”

Ovi su svuda. Uvek su veoma aktivni, žele da budu u centru pažnje, stalno pitaju kolege da li im je potrebna njihova pomoć, a ponekad mogu biti i dosadni. Njih zanimaju samo smisleni zadaci, učešće u kojima će dati prostora za kreativnost i može zabaviti njihov ponos.

U čemu su jaki:

  • sposobni su da riješe složene probleme;
  • zaronite duboko u problem, “kopajte” i ostvarite rezultate;
  • imati radoznao um.

Ali:

  • emocionalno labilan;
  • loše upravljano;
  • imaju svoju nepokolebljivu tačku gledišta, koju je vrlo teško promijeniti;
  • Teško je nekoga natjerati da uradi jednostavnu stvar. Laki zadaci povređuju ego svemogućeg.

2. “Univerzalno – ja ću to shvatiti i uraditi”

Takvim ljudima treba samo priručnik i malo vremena - i oni će riješiti problem. Obično imaju jaku pozadinu u DevOps-u. Takvi generalisti se ne zamaraju dizajnom i radije koriste razvojnu metodu zasnovanu isključivo na njihovom iskustvu. Oni lako mogu razgovarati sa tehničkim vodstvom o odabranoj opciji za implementaciju zadatka.

U čemu su jaki:

  • nezavisni;
  • otporan na stres;
  • kompetentan za mnoga pitanja;
  • erudit - s njima se uvijek ima o čemu razgovarati.

Ali:

  • često krše obaveze;
  • imaju tendenciju da sve komplikuju: riješite tablicu množenja integracijom po dijelovima;
  • kvalitet rada je nizak, sve radi 2-3 puta;
  • Neprestano pomjeraju rokove, jer se u stvarnosti ispostavi da sve nije tako jednostavno.

3. „Univerzalno – u redu, pusti mene, jer nema nikog drugog“

Zaposlenik je dobro upućen u nekoliko oblasti i ima relevantno iskustvo. Ali ni u jednom od njih ne uspijeva da postane profesionalac, jer se često koristi kao spas, zakrpajući rupe u tekućim zadacima. Savitljiv, efikasan, smatra se traženim, ali nije.

Praktičan idealan zaposlenik. Najvjerovatnije ima smjer koji mu se najviše sviđa, ali zbog zamućenja kompetencija ne dolazi do razvoja. Kao rezultat toga, osoba rizikuje da postane nezatražena i emocionalno izgorjela.

U čemu su jaki:

  • su odgovorni;
  • orijentisan na rezultat;
  • miran;
  • potpuno kontrolisan.

Ali:

  • pokazuju prosječne rezultate zbog niskog nivoa kompetencija;
  • ne mogu riješiti složene i apstraktne probleme.

4. “Svestrani je majstor svog zanata”

Osoba sa ozbiljnim iskustvom kao programer ima sistemsko razmišljanje. Pedantan, zahtjevan prema sebi i svom timu. Svaki zadatak koji uključuje njega može rasti u nedogled ako granice nisu definirane.

Dobro poznaje arhitekturu, bira način tehničke implementacije, pažljivo analizirajući uticaj izabranog rešenja na aktuelnu arhitekturu. Skroman, ne ambiciozan.

U čemu su jaki:

  • pokazati visok kvalitet rada;
  • sposoban da reši bilo koji problem;
  • veoma efikasan.

Ali:

  • netolerantni prema mišljenju drugih;
  • maksimalisti. Trude se da sve urade kako treba, a to povećava vrijeme razvoja.

Šta imamo u praksi?

Pogledajmo kako se najčešće kombinuju uloge i kompetencije. Uzmimo standardni razvojni tim kao polaznu tačku: PO, razvojni menadžer (tech lead), analitičari, programeri, testeri. Nećemo uzeti u obzir vlasnika proizvoda i tehničkog vođu. Prvi je zbog nedostatka tehničkih kompetencija. Drugi, ako ima problema u timu, treba da sve može da uradi.

Najčešća opcija za kombinovanje/spajanje/kombinovanje kompetencija je programer-analitičar. Testirajući analitičar i „tri u jedan“ su takođe vrlo česti.

Koristeći svoj tim kao primjer, pokazat ću vam prednosti i nedostatke mojih kolega generalista. U mom timu ih je trećina i jako ih volim.

PO je dobio hitan zadatak da uvede nove tarife u postojeći proizvod. Moj tim ima 4 analitičara. U to vrijeme jedan je bio na godišnjem odmoru, drugi je bio bolestan, a ostali su bili angažovani na realizaciji strateških zadataka. Ako bih ih izvukao, to bi neminovno poremetilo rokove implementacije. Postojao je samo jedan izlaz: koristiti "tajno oružje" - svestranog programera-analitičara koji je savladao traženu predmetnu oblast. Nazovimo ga Anatolij.

Njegov tip ličnosti je „Univerzalno – smisliću i uradiću”. Naravno, on je dugo pokušavao da objasni da „ima pun zaostatak svojih zadataka“, ali mojom odlučnom odlukom poslat je da riješi hitan problem. I Anatolij je to uradio! Izveo je inscenaciju i implementaciju u roku, a kupci su bili zadovoljni.

Na prvi pogled sve je ispalo. Ali nakon nekoliko sedmica, zahtjevi za poboljšanjem su se ponovo pojavili za ovaj proizvod. Sada je formulaciju ovog problema izvršio „čisti“ analitičar. U fazi testiranja novog razvoja, dugo nismo mogli da shvatimo zašto imamo greške u povezivanju novih tarifa, a tek onda, razmrsivši ceo klupko, došli smo do dna istine. Gubili smo mnogo vremena i propustili rokove.

Problem je bio što su mnogi skriveni momenti i zamke ostali samo u glavi našeg karavana i nisu pretočeni na papir. Kako je kasnije objasnio Anatolij, previše se žurio. Ali najvjerovatnija opcija je da je naišao na probleme već tokom razvoja i jednostavno ih je zaobišao, a da to nigdje nije odražavao.

Bila je druga situacija. Sada imamo samo jednog testera, tako da neke zadatke moraju testirati analitičari, uključujući i generaliste. Stoga sam dao jedan zadatak uslovnom Fedoru - „Univerzalno – u redu, pusti mene, jer nema nikog drugog“.
Fedor je „tri u jednom“, ali programer je već određen za ovaj zadatak. To znači da je Fedya morao kombinirati samo analitičara i testera.

Zahtjevi su prikupljeni, specifikacija je predata na razvoj, vrijeme je za testiranje. Fedor zna da se sistem modificira „kao svoj džep“ i temeljno je razradio trenutne zahtjeve. Stoga se nije zamarao pisanjem testnih skripti, već je proveo testiranje „kako sistem treba da radi“, a zatim ga proslijedio korisnicima.
Test je završen, revizija je otišla u proizvodnju. Kasnije se ispostavilo da je sistem ne samo obustavio uplate na određene bilansne račune, već je blokirao isplate sa vrlo rijetkih internih računa koji u tome nisu trebali sudjelovati.

To se dogodilo zbog činjenice da Fedor nije provjerio kako „sistem ne bi trebao funkcionirati“, nije napravio plan testiranja ili kontrolne liste. Odlučio je da uštedi na vremenu i osloni se na sopstvene instinkte.

Kako se nosimo s problemima?

Ovakve situacije utiču na performanse tima, kvalitet izdanja i zadovoljstvo kupaca. Stoga ne mogu ostati bez pažnje i analize razloga.

1. Za svaki zadatak koji je izazvao poteškoće, tražim od vas da ispunite jedinstveni obrazac: mapu grešaka, koja vam omogućava da identifikujete fazu u kojoj je došlo do „povlačenja“:

„Univerzalno“ u razvojnom timu: korist ili šteta?

2. Nakon utvrđivanja uskih grla, sa svakim zaposlenim koji je uticao na problem održava se brainstorming: „Šta promijeniti?“ (posebne slučajeve ne razmatramo retrospektivno), kao rezultat toga se rađaju specifične radnje (specifične za svaki tip ličnosti) sa rokovima.

3. Uveli smo pravila za interakciju unutar tima. Na primjer, dogovorili smo se da sve informacije o napretku nekog zadatka obavezno evidentiramo u sistemu upravljanja projektima. Kada se artefakti promijene/identifikuju tokom procesa razvoja, to se mora odraziti u bazi znanja i konačnoj verziji tehničkih specifikacija.

4. Kontrola je počela da se sprovodi u svakoj fazi (posebna pažnja je posvećena problematičnim fazama u prošlosti) i automatski na osnovu rezultata sledećeg zadatka.

5. Ako se rezultat na sljedećem zadatku nije promijenio, onda dotičnog generalista ne stavljam u ulogu u kojoj se loše snalazi. Pokušavam procijeniti njegovu sposobnost i želju da razvije kompetencije u ovoj ulozi. Ako ne nađem odgovor, ostavljam ga u ulozi koja mu je bliža.

Šta se na kraju dogodilo?

Proces razvoja postao je transparentniji. BUS faktor je smanjen. Članovi tima, radeći na greškama, postaju motiviraniji i poboljšavaju svoju karmu. Postepeno poboljšavamo kvalitetu naših izdanja.

„Univerzalno“ u razvojnom timu: korist ili šteta?

nalazi

Zaposleni u generalisti imaju svoje prednosti i nedostatke.

Prednosti:

  • možete zatvoriti zaostali zadatak u bilo kojem trenutku ili riješiti hitnu grešku u kratkom vremenu;
  • integrirani pristup rješavanju problema: izvođač ga posmatra iz perspektive svih uloga;
  • generalisti mogu skoro sve da rade podjednako dobro.

nedostaci:

  • BUS faktor se povećava;
  • osnovne kompetencije svojstvene toj ulozi su erodirane. Zbog toga se smanjuje kvalitet rada;
  • povećava se vjerovatnoća pomjeranja rokova, jer nema kontrole u svakoj fazi. Postoje i rizici rasta “zvijezde”: zaposleni je uvjeren da bolje zna da je profesionalac;
  • povećava se rizik od profesionalnog sagorevanja;
  • mnogo važnih informacija o projektu može ostati samo “u glavi” zaposlenog.

Kao što vidite, ima više nedostataka. Stoga koristim generaliste samo ako nema dovoljno resursa i ako je zadatak prilično hitan. Ili osoba ima kompetencije koje drugima nedostaju, ali kvalitet je u pitanju.

Ako se poštuje pravilo raspodjele uloga u zajedničkom radu na zadatku, onda se kvaliteta rada povećava. Na probleme gledamo iz različitih uglova, pogled nam nije zamagljen, uvijek se pojavljuju svježe misli. Istovremeno, svaki član tima ima sve mogućnosti za profesionalni rast i proširenje svojih kompetencija.

Vjerujem da je najvažnije osjećati se uključenim u proces, raditi svoj posao, postepeno povećavajući širinu svojih kompetencija. Međutim, generalisti u timu donose prednosti: glavna stvar je osigurati da efikasno kombinuju različite uloge.

Želim svima samoorganizirajući tim "univerzalnih majstora svog zanata"!

izvor: www.habr.com

Dodajte komentar