Upravljanje timom programera: kako i kako ih pravilno motivirati? Drugi dio

epigraf:
Muž, gledajući prljavu djecu, kaže ženi: dobro, hoćemo li ovo oprati ili roditi novu?

Ispod reza nalazi se drugi dio članka našeg vođe tima, kao i direktora razvoja proizvoda RAS Igora Marnata, o posebnostima motiviranja programera. Prvi dio članka možete pronaći ovdje - habr.com/ru/company/parallels/blog/452598

Upravljanje timom programera: kako i kako ih pravilno motivirati? Drugi dio

U prvom dijelu članka dotaknuo sam se dva niža nivoa Maslowove piramide: fiziološke potrebe, potrebe za sigurnošću, udobnošću i postojanošću i prešao sam na sljedeći, treći nivo, naime:

III - Potreba za pripadanjem i ljubavlju

Upravljanje timom programera: kako i kako ih pravilno motivirati? Drugi dio

Znao sam da se italijanska mafija zove “Cosa Nostra”, ali sam bio veoma impresioniran kada sam saznao kako se prevodi “Cosa Nostra”. “Cosa Nostra” u prijevodu sa italijanskog znači “Naš posao”. Izbor imena je vrlo uspješan za motivaciju (ostavimo po strani zanimanje, u ovom slučaju nas zanima samo motivacija). Čovek obično želi da bude deo tima, da se bavi nekim velikim, zajedničkim, našim poslom.

Veliki značaj pridaje se zadovoljavanju potrebe za pripadnošću i ljubavlju u vojsci, mornarici i svim velikim paravojnim formacijama. I, kao što vidimo, u mafiji. To je razumljivo, jer treba forsirati ljude koji imaju malo zajedničkog, koji u početku ne čine tim istomišljenika, koji su okupljeni regrutacijom (ne dobrovoljno), koji imaju različit nivo obrazovanja, različite lične vrijednosti , da bukvalno svoje živote, uz smrtnu opasnost, posvete nekom zajedničkom cilju, povjerite svoj život saborcu.

Ovo je veoma jaka motivacija, za većinu ljudi je izuzetno važno da se osećaju kao da pripadaju nečemu većem, da znaju da ste deo porodice, zemlje, tima. U vojsci u te svrhe služe uniforme, razni rituali, parade, marševi, transparenti i tako dalje. Otprilike isti faktori su važni za svaki tim. Bitni su simboli, korporativni brend i korporativne boje, rekviziti i suveniri.

Važno je da značajni događaji imaju svoje vidljivo oličenje sa kojim se mogu povezati. Danas je uobičajeno da kompanija ima svoju robu, jakne, majice itd. No, važno je i istaknuti tim unutar kompanije. Često izdajemo majice na osnovu rezultata izdanja, koje dajemo svima koji su uključeni u izdanje. Neki događaji, zajedničke proslave ili aktivnosti sa cijelim timom su još jedan važan faktor motivacije.

Osim vanjskih atributa, na osjećaj pripadnosti timu utiče još nekoliko faktora.
Prvo, prisustvo zajedničkog cilja koji svi razumiju i dijele procjenu njegove važnosti. Programeri obično žele da shvate da rade sjajnu stvar, i da ovu kul stvar rade zajedno, kao tim.
Drugo, tim mora imati komunikacijski prostor u kojem je prisutan cijeli tim i koji pripada samo njemu (na primjer, chat u messengeru, periodične timske sinkape). Pored radnih pitanja, neformalna komunikacija, ponekad diskusija o vanjskim događajima, svjetlo offtop - sve to stvara osjećaj zajedništva i tima.
Kao treće, istakao bih uvođenje dobre inženjerske prakse unutar tima, želju za podizanjem standarda u odnosu na one prihvaćene u kompaniji. Implementacija najboljih pristupa prihvaćenih u industriji, prvo u timu, a potom i u kompaniji u cjelini, daje timu priliku da osjeti da je na neki način ispred drugih, vodeći, to stvara osjećaj pripadnosti u kul tim.

Na osjećaj pripadnosti utiče i učešće tima u planiranju i upravljanju. Kada su članovi tima uključeni u raspravu o ciljevima projekta, planovima rada, timskim standardima i inženjerskim praksama, te intervjuiranju novih zaposlenika, oni razvijaju osjećaj učešća, zajedničkog vlasništva i utjecaja na rad. Ljudi su mnogo spremniji da izvrše odluke koje su sami doneli i izneli od onih koje predlažu drugi, čak i ako su praktično usklađene.

Rođendani, godišnjice, značajni događaji u životima kolega - zajednička pica, mali poklon tima daju topao osjećaj uključenosti i zahvalnosti. U nekim firmama je uobičajeno da se daju male spomen obeležja za 5, 10, 15 godina rada u kompaniji. S jedne strane, ne mislim da me to toliko motiviše za nova dostignuća. Ali, očigledno, skoro svakome će biti drago što ga nisu zaboravili. Ovo je jedan od onih slučajeva kada odsustvo činjenice više demotiviše nego njeno prisustvo motiviše. Slažete se, može biti šteta ako vas LinkedIn ujutro podsjeti i čestita 10. godišnjicu na vašem radnom mjestu, ali nijedan kolega iz kompanije vam nije čestitao niti vas se sjetio.

Naravno, bitna stvar je promjena u sastavu tima. Jasno je da čak i ako se dolazak ili odlazak nekoga iz tima unaprijed najavi (na primjer, u biltenu kompanije ili tima, ili na sastanku tima), to nikoga posebno ne motivira na nova dostignuća. Ali ako jednog lijepog dana vidite novu osobu pored sebe, ili ne vidite staru, to može biti iznenađenje, a ako odete, potpuno neugodno. Ljudi ne bi trebali tiho nestati. Pogotovo u raspoređenom timu. Pogotovo ako vaš posao zavisi od kolege iz druge kancelarije koji je iznenada ustao i nestao. O takvim trenucima svakako vrijedi unaprijed obavijestiti tim posebno.

Važan faktor, koji se na engleskom zove svojina (bukvalni prevod „posedovanja“ ne odražava u potpunosti njegovo značenje). To nije osjećaj vlasništva, već osjećaj odgovornosti za svoj projekt, onaj osjećaj kada se emocionalno povezujete s proizvodom i proizvod sa sobom. Ovo otprilike odgovara molitvi marinca u filmu “Full Metal Jacket”: “Ovo je moja puška. Ima mnogo takvih pušaka, ali ova je moja. Moja puška je moj najbolji prijatelj. Ona je moj život. Moram naučiti da ga posjedujem na isti način na koji posjedujem svoj život. Bez mene, moja puška je beskorisna. Ja sam beskoristan bez moje puške. Moram pravo pucati iz puške. Moram da pucam preciznije od neprijatelja koji me pokušava ubiti. Moram ga upucati prije nego on upuca mene. Neka bude tako..."

Kada čovjek dugo radi na proizvodu, ima mogućnost da snosi punu odgovornost za njegovo stvaranje i razvoj, da vidi kako iz „ničega“ nastaje radna stvar, kako je ljudi koriste, javlja se taj moćni osjećaj. Proizvodni timovi koji dugo rade zajedno na jednom projektu obično su motiviraniji i kohezivniji od timova koji su okupljeni na kratko vrijeme i rade na montažnoj liniji, prelazeći s jednog projekta na drugi, bez pune odgovornosti za cijeli proizvod, od početka do kraja.

IV. Potreba za priznanjem

Lepa reč takođe prija mačku. Svi su motivisani prepoznavanjem važnosti posla koji su obavili i njegovom pozitivnom ocjenom. Razgovarajte sa programerima, dajte im periodične povratne informacije, proslavite dobro obavljen posao. Ako imate veliki i raspoređeni tim, periodični sastanci (koji se zovu jedan na jedan) su savršeni za to; ako je tim vrlo mali i radi zajedno na lokalnom nivou, ova prilika se obično pruža bez posebnih sastanaka u kalendaru (iako periodični do jednog je sve. Još uvijek je potrebno, samo to možete raditi rjeđe). Ova tema je dobro pokrivena u podcastima za menadžere na manager-tools.com.

Međutim, vrijedno je imati na umu kulturološke razlike. Neki pristupi poznati američkim kolegama neće uvijek funkcionirati s ruskim. Nivo ljubaznosti prihvaćen u svakodnevnoj komunikaciji u timovima u zapadnim zemljama u početku se programerima iz Rusije čini pretjeranim. Određenu direktnost karakterističnu za ruske kolege njihove kolege iz drugih zemalja mogu shvatiti kao nepristojnost. Ovo je veoma važno u komunikaciji u međuetničkom timu, dosta je pisano na ovu temu, menadžer takvog tima mora to zapamtiti.

Demonstracije funkcija, gde programeri pokazuju karakteristike razvijene tokom sprinta, dobra su praksa za realizaciju ove potrebe. Osim što je ovo odlična prilika da se raščisti kanali komunikacije između timova, upoznaju produkt menadžeri i testeri sa novim mogućnostima, to je i dobra prilika da programeri pokažu rezultate svog rada i ukažu na svoje autorstvo. Pa, i uglancajte svoje govorničke vještine, naravno, što nikada nije štetno.

Bilo bi dobro da se značajan doprinos posebno istaknutih kolega obilježi svjedodžbama, spomen znakovima (barem lijepom riječju) na zajedničkim timskim druženjima. Ljudi obično jako cijene takve potvrde i spomen znakove, nose ih sa sobom pri selidbi i općenito brinu o njima na svaki mogući način.

Za obilježavanje značajnijeg, dugogodišnjeg doprinosa u radu tima, stečenog iskustva i stručnosti, često se koristi sistem ocjena (opet se može povući analogija sa sistemom vojnih činova u vojsci, koji pored toga za osiguranje podređenosti, također služi ovoj svrsi). Često mladi programeri rade dvostruko više kako bi stekli nove zvijezde na ramenima (tj. prešli sa juniorskog programera na programera s punim radnim vremenom, itd.).

Poznavanje očekivanja vaših ljudi je ključno. Neki će vjerovatnije biti motivirani visokom ocjenom, šansom da se zovu, recimo, arhitektom, dok su drugi, naprotiv, ravnodušni prema ocjenama i titulama i povećanje plate će smatrati znakom priznanja od strane kompanije. . Komunicirajte s ljudima kako biste razumjeli šta žele i kakva su njihova očekivanja.

Demonstracija priznanja, viši nivo povjerenja od strane tima, može se dati davanjem veće slobode djelovanja ili uključivanja u nova područja rada. Na primjer, nakon sticanja određenog iskustva i postizanja određenih rezultata, programer, osim što implementira svoje karakteristike u skladu sa specifikacijom, može raditi na arhitekturi novih stvari. Ili se uključite u nova područja koja možda nisu direktno povezana s razvojem - automatizacija testiranja, implementacija najboljih inženjerskih praksi, pomoć u upravljanju izdanjima, govoreći na konferencijama itd.

V. Potreba za spoznajom i samoaktualizacijom.

Mnogi programeri su fokusirani na različite vrste programskih aktivnosti u različitim fazama svog života. Neki ljudi vole da se bave mašinskim učenjem, razvijaju nove modele podataka, čitaju mnogo naučne literature za posao i stvaraju nešto novo od nule. Drugi je bliži otklanjanju grešaka i podršci postojećoj aplikaciji, u kojoj morate duboko kopati u postojeći kod, proučavati dnevnike, tragove steka i mrežne captcha danima i sedmicama, i pisati gotovo nikakav novi kod.

Oba procesa zahtijevaju veliki intelektualni napor, ali su njihovi praktični rezultati različiti. Vjeruje se da programeri nerado podržavaju postojeća rješenja, već su motivirani da razvijaju nova. Ima zrno mudrosti u ovome. S druge strane, najmotiviraniji i najsjedinjeniji tim s kojim sam ikada radio bio je posvećen podršci postojećem proizvodu, pronalaženju i ispravljanju grešaka nakon što ih je tim za podršku kontaktirao. Momci su bukvalno živjeli za ovaj posao i bili su spremni za izlaske subotom i nedjeljom. Jednom smo se željno pozabavili još jednim hitnim i složenim problemom, bilo 31. decembra uveče ili 1. januara popodne.

Nekoliko faktora je uticalo na ovu visoku motivaciju. Prvo, to je bila kompanija sa velikim imenom u industriji, tim se povezao sa njom (pogledajte „Potreba za pridruženjem“). Drugo, oni su bili zadnja granica, iza njih nije bilo nikoga, u to vrijeme nije postojao proizvodni tim. Između njih i kupaca postojala su dva nivoa podrške, ali ako je problem stigao do njih, nije se imalo kuda povući, niko nije stajao iza njih, cijela korporacija je bila na njima (četiri mlada programera). Treće, ova velika kompanija imala je veoma velike kupce (vlade zemalja, automobilski i avio-koncerni, itd.) i veoma velike instalacije u nekoliko zemalja. Kao rezultat toga, uvijek složeni i zanimljivi problemi, jednostavni problemi rješavani su uz podršku prethodnih nivoa. Četvrto, na motivaciju tima uvelike je utjecao profesionalni nivo tima za podršku s kojim su komunicirali (bilo je vrlo iskusnih i tehnički sposobnih inženjera), a mi smo uvijek bili sigurni u kvalitet podataka koje su pripremali, analize koju su radili. , itd. Peto, mislim da je ovo najvažnija stvar - ekipa je bila jako mlada, svi momci su bili na početku karijere. Bili su zainteresirani za proučavanje velikog i složenog proizvoda, rješavanje ozbiljnih problema koji su im bili novi u novoj sredini, nastojali su profesionalno uskladiti nivo okolnih timova, problema i kupaca. Projekat se pokazao kao odlična škola, svi su kasnije napravili dobru karijeru u kompaniji i postali tehnički lideri i viši menadžeri, jedan od momaka je sada tehnički menadžer u Amazon Web Services, drugi je na kraju prešao u Google, i sve od njih se i dalje s toplinom sjećaju ovog projekta.

Da se ovaj tim sastoji od programera sa 15-20 godina iskustva iza sebe, motivacija bi bila drugačija. Starost i iskustvo nisu, naravno, 100% odlučujući faktori, sve zavisi od strukture motivacije. U ovom konkretnom slučaju želja za znanjem i rastom mladih programera dala je odlične rezultate.

Općenito, kao što smo već nekoliko puta spomenuli, morate poznavati očekivanja svojih programera, razumjeti ko od njih želi proširiti ili promijeniti svoje područje djelovanja i uzeti u obzir ta očekivanja.

Izvan Maslowove piramide: vidljivost rezultata, gamifikacija i konkurencija, bez sranja

Postoje još tri važne tačke u vezi sa motivacijom programera koje svakako treba spomenuti, ali njihovo uvlačenje u Maslowov model potreba bilo bi previše umjetno.

Prvi je vidljivost i blizina rezultata.

Razvoj softvera je obično maraton. Rezultati istraživanja i razvoja postaju vidljivi nakon mjeseci, ponekad i godina. Teško je ići do cilja koji je daleko iza horizonta, količina posla je zastrašujuća, cilj je daleko, nije jasan i ne vidi se, „noć je mračna i puna užasa“. Bolje je razbiti put do njega na dijelove, napraviti stazu do najbližeg drveta koje je vidljivo, dostupno, obrisi su jasni, a nije daleko od nas - i krenuti do ovog bliskog cilja. Želimo se potruditi nekoliko dana ili sedmica, dobiti i procijeniti rezultat, a zatim krenuti dalje. Stoga je vrijedno razbiti rad na male dijelove (sprintovi u agilnom stilu dobro služe ovoj svrsi). Završili smo dio posla – snimili, izdahnuli, razgovarali, kaznili krivce, nagradili nevine – možemo započeti sljedeći ciklus.

Ova motivacija je u određenoj mjeri slična onoj koju igrači doživljavaju kada dovršavaju kompjuterske igrice: povremeno dobijaju medalje, bodove, bonuse dok završavaju svaki nivo; to se može nazvati „dopaminskom motivacijom“.

Istovremeno, vidljivost rezultata je doslovno važna. Zatvorena karakteristika na listi bi trebala postati zelena. Ako je kod napisan, testiran, pušten, ali nema promjene u vizualnom statusu vidljivom programeru, on će se osjećati nepotpuno, neće biti osjećaja dovršenosti. U jednom od timova u našem sistemu za kontrolu verzija, svaka zakrpa je prošla kroz tri uzastopne faze - build je sastavljen i testovi prošli, zakrpa je prošla pregled koda, zakrpa je spojena. Svaka faza je vizuelno označena zelenim kvačicom ili crvenim krstom. Jednom kada se jedan od programera požalio da pregled koda traje predugo, kolege su morale da ubrzaju, a zakrpe su visile nekoliko dana. Pitao sam, šta to zapravo mijenja za njega? Uostalom, kada je kod napisan, build je sastavljen i testovi su prošli, on ne mora obraćati pažnju na poslanu zakrpu ako nema komentara. Kolege će to same pregledati i odobriti (ako, opet, nema komentara). Odgovorio je: "Igore, želim da dobijem svoja tri zelena krpelja što je pre moguće."

Druga tačka je gejmifikacija i konkurencija.

Prilikom razvoja jednog od proizvoda, naš inženjerski tim je imao za cilj da zauzme istaknutu poziciju u zajednici jednog od proizvoda otvorenog koda, da uđe u top-3. U to vrijeme nije postojao objektivan način da se procijeni nečija vidljivost u zajednici; svaka od velikih kompanija učesnica mogla je tvrditi (i povremeno tvrditi) da je ona broj jedan doprinosilac, ali nije postojao pravi način da se uporede doprinosi učesnika. međusobno, da na vrijeme ocijene njegovu dinamiku. Shodno tome, nije bilo načina da se timu postavi cilj koji bi se mogao izmjeriti u nekim papagajima, procijeniti stepen njegovog ostvarenja itd. Kako bi riješio ovaj problem, naš tim je razvio alat za mjerenje i vizualizaciju doprinosa kompanija i pojedinačnih saradnika www.stackalytics.com. Sa motivacione tačke gledišta, ispostavilo se da je to samo bomba. Nisu samo inženjeri i timovi stalno pratili svoj napredak i napredak svojih kolega i konkurenata. Najviši menadžment naše kompanije i svi glavni konkurenti također su započeli svoj dan sa stackalytics. Sve je postalo vrlo transparentno i vizuelno, svako je mogao pažljivo pratiti svoj napredak, upoređivati ​​sa kolegama itd. Inžinjerima, menadžerima i timovima je postalo zgodno i lako postavljati ciljeve.

Važna stvar koja se javlja kada se implementira bilo koji sistem kvantitativnih metrika je da čim ih implementirate, sistem automatski teži da prioritet postizanja ovih kvantitativnih metrika, nauštrb kvalitativnih. Na primjer, broj završenih pregleda koda koristi se kao jedna od metrika. Očigledno, pregled koda se može obaviti na različite načine, možete provesti nekoliko sati na temeljnom pregledu i provjeri složene zakrpe uz provjeru testova, pokretanje na svojoj klupi, provjeru sa dokumentacijom i dobiti plus jednu recenziju u svojoj karmi, ili slijepo klikni na par desetina u par minuta zakrpa, svakom daj +1 i dobij plus dvadeset u karmi. Bilo je komičnih slučajeva kada su inženjeri tako brzo kliknuli na zakrpe da su dali +1 automatskim zakrpama iz CI sistema. Kao što smo se kasnije šalili, "idi, idi, Dženkins." U slučaju urezivanja, bilo je i mnogo ljudi koji su prolazili kroz kod pomoću alata za formatiranje koda, uređivali komentare, mijenjali tačke u zareze i tako pumpali svoju karmu. Suočavanje s ovim je prilično jednostavno: koristimo zdrav razum i, osim kvantitativnih, koristimo i bitne, kvalitativne. Stepen iskorišćenosti rezultata rada tima, broj eksternih saradnika, nivo pokrivenosti testom, stabilnost modula i celog proizvoda, rezultati testiranja obima i performansi, broj inženjera koji su dobili rame glavnog recenzenta remenje, činjenica da su projekti prihvaćeni u osnovnu projektnu zajednicu, usklađenost sa kriterijumima različitih faza procesa inženjeringa - svi ovi i mnogi drugi faktori moraju biti procijenjeni uz jednostavne kvantitativne metrike.

I na kraju, treća tačka - Bez sranja.

Programeri su veoma pametni ljudi i izuzetno logični u svom poslu. Oni provode 8-10 sati dnevno gradeći dugačke i složene logičke lance, tako da u hodu vide ranjivosti u njima. Kada nešto rade, oni, kao i svi drugi, žele da shvate zašto to rade, šta će se promeniti na bolje. Izuzetno je važno da ciljevi koje postavljate svom timu budu pošteni i realni. Pokušati prodati lošu ideju programskom timu je loša ideja. Ideja je loša ako sami u nju ne vjerujete, ili, u ekstremnim slučajevima, nemate unutrašnje stanje neslaganja i posvećenosti (ne slažem se, ali ću to učiniti). Jednom smo u jednoj kompaniji implementirali sistem motivacije, čiji je jedan od elemenata bio elektronski sistem za davanje povratnih informacija. Uložili su mnogo novca, vodili ljude u Ameriku na obuku, generalno, uložili su do maksimuma. Jednom je, u razgovoru nakon obuke, jedan od menadžera rekao svojim podređenima: „Ideja nije loša, izgleda da će uspjeti. Neću vam lično davati elektronsku povratnu informaciju, ali vi je dajte svojim ljudima i tražite od njih.” To je to, ništa se dalje nije moglo implementirati. Ideja se, naravno, završila ničim.

izvor: www.habr.com

Dodajte komentar