Meeskonna konfliktide juhtimine – tasakaal vĂ”i hĂ€davajadus?

Epigraaf:
Kordagi metsas kohtusid Siiliku ja Karupoeg.
— Tere, Siiliku!
— Tere, Karupoeg!
Nii, sÔna sÔna juurde, nalja nalja kÔrvale ja Siiliku sai Karupoja kÀest pihta ...

Allpool on meie tiimijuhi ja RAS toote arendusdirektori — Igor Marnati mĂ”tteid tööalaste konfliktide iseloomust ning vĂ”imalikest juhtimismeetoditest.

Meeskonna konfliktide juhtimine – tasakaal vĂ”i hĂ€davajadus?

Enamik tööalaseid konflikte, millega me silmitsi seisame, areneb sarnaselt ĂŒlaltoodud epigraafis kirjeldatule. Osalised, kes algselt suhtuvad ĂŒksteisesse ĂŒsna sĂ”bralikult, pĂŒĂŒavad lahendada mingit kĂŒsimust, kuid lĂ”puks jÀÀb probleem lahendamata ja osalistevahelised suhted nĂ€iliselt halvenevad.

Elu on mitmekesine; eespool kirjeldatud stsenaariumis esineb variatsioone. MĂ”nikord on osaliste vahel alusetult halvad suhted, mĂ”nikord ei ole kĂŒsimust, mis vajaks vahetut lahendamist (nagu nĂ€iteks epigraafis), mĂ”nikord jÀÀvad suhted pĂ€rast arutelu samaks, mis olid enne, kuid kĂŒsimus jÀÀb siiski lahendamata.

Millised on ĂŒhised jooned kĂ”ikides olukordades, mida vĂ”ib mÀÀratleda kui töökontakti olukord?

Meeskonna konfliktide juhtimine – tasakaal vĂ”i hĂ€davajadus?

Esiteks on olemas kaks vĂ”i enam osapoolt. Need osapooled vĂ”ivad olla erinevates positsioonides organisatsioonis, olla omavahelises suhetes vĂ”rdsed (meeskonnakaaslased) vĂ”i asuda erinevatel hierarhiatasanditel (ĂŒlem - alluv), olla individuaalsed (töötaja) vĂ”i grupiviisilised (juhtudel, kus konflikt on töötaja ja meeskonna vĂ”i kahe meeskonna vahel) jne. Konflikti tĂ”enĂ€osusele ja selle lahendamise lihtsusele avaldab suurt mĂ”ju osaliste vaheline usaldustase. Mida paremini osalised ĂŒksteist tunnevad ja mida kĂ”rgem on usaldustase, seda suurem on vĂ”imalus, et nad saavad omavahel kokkuleppele. NĂ€iteks hajutatud meeskonna töötajad, kes ei ole kunagi isiklikult kohtunud, satuvad tĂ”enĂ€olisemalt konfliktsesse olukorda lihtsa töökĂŒsimuse lahendamisel kui inimesed, kes on vĂ€hemalt paar korda isiklikult kohtunud. SeetĂ”ttu on hajutatud meeskondades töötades ÀÀrmiselt oluline tagada, et kĂ”ik meeskonna liikmed saaksid regulaarselt omavahel isiklikult kokku.

Teiseks, konfliktide korral tööl on osalised olukorras, kus nad peavad lahendama kĂŒsimuse, mis on oluline ĂŒhe vĂ”i mĂ”lema osapoole ning kogu organisatsiooni jaoks. Sellisel juhul, olukorra spetsiifika tĂ”ttu, on osalistel tavaliselt piisavalt aega ja erinevaid viise probleemi lahendamiseks (formaalsed, mitteformaalsed, kohtumised, kirjad, juhtkonna otsused, meeskonna eesmĂ€rkide ja plaanide olemasolu, hierarhia olemasolu jne). See eristab olukorda tööalase (vĂ”i mitte-tööalase) kĂŒsimuse lahendamisest organisatsioonis nĂ€iteks tĂ€naval, kus esitatakse tĂ€htis kĂŒsimus: "Hei, kutid, millisest piirkonnast te olete?!" vĂ”i eelmainitud konflikti korral. Tööalase kĂŒsimuse lahendamisel on oluline tööprotsessi kvaliteet ja kĂŒsimuste lahendamise kultuur meeskonnas.

Kolmandaks on meie arutelu seisukohalt konfliktis mÀÀravaks teguriks asjaolu, et osalised ei suuda iseseisvalt leida lahendust, mis rahuldaks kĂ”iki pooli. See olukord nĂ”uab kolmanda osapoole, vĂ€list arbitraatori sekkumist. See punkt vĂ”ib tunduda vastuoluline, kuid pĂ”himĂ”tteliselt, kui konfliktne olukord suudetakse edukalt lahendada ilma vĂ€list arbitraatorit kaasamata, on kĂŒsimus edukalt lahendatud ja poolte suhted ei ole halvenenud. Sellest konfliktist me ilmselt isegi ei kuule vĂ”i saame teada juhuslikult pĂ€rast selle lahendamist. Mida rohkem kĂŒsimusi meeskond suudab iseseisvalt lahendada, seda efektiivsemalt ta töötab.

Veel ĂŒks konflikti iseloomulik joon, millega tasub tegeleda, on emotsionaalse pinge tase lahendamisel. Konflikt ei pruugi olla seotud kĂ”rge emotsionaalse intensiivsusega. Osalejad ei pea kindlasti karjuma ja kĂ€tega vehkima, et olukord oleks sisuliselt konfliktne. KĂŒsimus ei lahene, teatud emotsionaalne pinget on siiski kohal (vĂ”ib-olla ei avaldu see vĂ€liselt selgelt), seega on meil tegemist konfliktolukorraga.

Kas peaks ĂŒldiselt sekkuma konfliktsetesse olukordadesse vĂ”i on parem lasta neil iseenesest lahendada ja oodata, kuni probleem ise kaob? Peab. Ei ole alati teie vĂ”imuses ega pĂ€devuses konflikti tĂ€ielikult lahendada, kuid igas olukorras, sĂ”ltumata konflikti suurusest, saate vĂ”tta tĂ€iskasvanu positsiooni, tuues sellega kaasa veel paar inimest enda ĂŒmber, leevendada konflikti negatiivseid tagajĂ€rgi ja soodustada selle lahendamist.

Enne kui vaatame mitmeid konfliktsete olukordade nĂ€iteid, peatume mĂ”nel olulisel hetkel, mis on ĂŒhised kĂ”igile konfliktidele.

Konflikti lahendamisel on oluline pĂŒsida olukorra kĂ”rgemal tasemel, mitte laskuda vaidlusesse (seda kutsutakse ka „metakoha vĂ”tmiseks“), ehk siis mitte sattuda lahendamise protsessi ĂŒhepoolseks osaliseks. Vastasel juhul muutute olema pigem ĂŒhe poole toetuseks, mis ainult sĂŒvendab vaidlust teise poole kahjuks. Otsuste tegemisel on oluline, et see oleks moraalselt aktsepteeritud kĂ”igi osapoolte poolt, nagu öeldakse, "ostetud". KĂŒll isegi siis, kui pooled ei olnud rahul tehtud otsusega, peaksid nad siiski olema siiralt nĂ”us selle tĂ€itmisega. TeisisĂ”nu, olema valmis erimeelsusi vĂ€ljendama ja samas jĂ€rgima. Muidu konflikt lihtsalt muutub vormi, hÔÔguv tuli jÀÀb turvastikku ja mingil hetkel pĂ”leb see kindlasti uuesti.

Teine punkt, mis on osaliselt seotud esimesega — kui olete juba otsustanud osaleda konflikti lahendamises, vĂ”tke seda ÀÀrmiselt tĂ”siselt suhtlemise ja konteksti mĂ”istmise seisukohalt. RÀÀkige isiklikult iga poolega. Eristi, alustuseks. Ära piirduma e-kirjaga. Jaotatud meeskonna korral rÀÀkige vĂ€hemalt videokĂ”ne teel. Ära rahuldu kuulujuttudega ega tunnistajate ĂŒtlustega. MĂ”ista, milline on iga poole lugu, mida nad tahavad, miks nad seda soovivad, mida nad ootavad, kas nad on seda kĂŒsimust varem proovinud lahendada, mis juhtub, kui see ei lahene, milliseid lahendusvĂ”imalusi nad nĂ€evad, kuidas nad teise poole seisukohta kujutavad, mis nende arvates on Ă”ige vĂ”i vale jne. Laadige oma pĂ€he kogu vĂ”imalik kontekst, erapooletult, eeldades, et kĂ”ik on Ă”iged. Te ei ole konfliktis sees, te olete sellest vĂ€ljaspool, meta-positsioonis. Kui kontekst on kĂ€ttesaadav ainult e-posti ahelas — loe vĂ€hemalt see tervikuna lĂ€bi ja seotud arutlused ja dokumendid. PĂ€rast lugemist — rÀÀgi ikkagi hÀÀlega. Peaaegu garanteeritult kuulete midagi olulist, mida e-kirjadest ei leidu.

Kolmas oluline punkt on ĂŒldine suhtlemine. Need on tavalised asjad, mitte midagi erakordset, kuid neil on suur mĂ”ju. Me ei pĂŒĂŒa aega sÀÀsta, rÀÀgime kĂ”igi osalistega, kritiseerime mitte inimest, vaid vaatleme tema tegevuste tagajĂ€rgi (mitte "sa oled ebaviisakas", vaid "vĂ”ib-olla, et inimesed vĂ”ivad selle ĂŒle Ă€ra minna"), anname vĂ”imaluse sĂ€ilitada nĂ€gu ning oma arutelud viime lĂ€bi isiklikult, mitte avalikult.

Konfliktide pĂ”hjused on tavaliselt seotud ĂŒhe kahe pĂ”hjusega. Esimene on seotud sellega, kas inimene on konflikti hetkel tĂ€iskasvanu vĂ”i lapse positsioonis (sellega seoses rÀÀgime allpool). See on seotud tema emotsionaalse kĂŒpsuse ja suutlikkuse vĂ”imega oma emotsioone juhtida (mis, muide, ei pruugi ĂŒldse alati olla seotud tema vanusega). Teine levinud pĂ”hjus on tööprotsessi ebatĂ€iuslikkus, mis loob halli tsooni olukordi, kus vastutus on jagatud osaliste vahel, osaliste ootused ei ole ĂŒksteisele selged ning rollid on protsessis hĂ€gused.

SeetĂ”ttu peab konfliktide (nagu ka muude kĂŒsimuste) lahendamisel juht arvestama kolme perspektiiviga: lĂŒhiajaline — probleem vĂ”i konflikt lahendatakse kohe, keskpĂ€rane — minimeerida sarnaste konfliktide tekkimise tĂ”enĂ€osust, ja pikaajaline — meeskonnas kĂŒpse kultuuri arendamine.

Igas meis on sisemine laps, umbes kolme-nelja aastane. Suurema osa ajast magab ta tööl, kuid mĂ”nikord Ă€rkab ja vĂ”tab juhtimise enda kĂ€tte. Lapsel on oma prioriteedid. Tema jaoks on oluline nĂ”uda, et see on tema liivakast, ema armastab teda rohkem, tema mĂ€nguauto on kĂ”ige parem (disain on parim, ta programmeerib paremini, 
). Konfliktsituatsioonis vĂ”ib laps oma mĂ€nguasju tugevalt hoida, jalgadega trampida ja labidaga lĂ”hkuda, kuid ta ei suuda tĂ€iskasvanute kĂŒsimusi lahendada (lahenduse arhitektuur, automatiseerimise testimise lĂ€henemised, tĂ€htajad jne), ta ei mĂ”tle meeskonnale kasulike asjade peale. Lapsi konfliktis vĂ”ib julgustada, lohutada ja saata magama, paludes tal kutsuda oma tĂ€iskasvanu. Enne arutelu alustamist konflikti tingimustes veenduge, et te rÀÀgite praegu tĂ€iskasvanuga, mitte lapsiga, ja et olete ise tĂ€iskasvanu positsioonil. Kui teie aus eesmĂ€rk praegu on tĂ”sise kĂŒsimuse lahendamine, olete tĂ€iskasvanu positsioonil. Kui teie eesmĂ€rk on jalgadega trampida ja labidaga lĂ”hkuda - see on lapse positsioon. Saatke oma sisemine laps magama ja kutsuge tĂ€iskasvanu, vĂ”i edasilĂŒkake arutelu. Inimene teeb emotsionaalse otsuse ja seejĂ€rel otsib sellele ratsionaalset Ă”igustust. Otsus, mille teeb laps, lĂ€htudes laste prioriteetidest, ei ole optimaalne.

Lisaks konfliktikĂ€itumisele iseloomustab laste vĂ”i tĂ€iskasvanute positsiooni ka vastutuse tase, mille inimene on valmis enda peale vĂ”tma. Ekstreemsetes ilmingutes nĂ€eb programmeerija laste positsioon, mida olen korduvalt kohanud, vĂ€lja nii: ma kirjutasin koodi, saatsin selle ĂŒlevaatamiseks — minu töö on lĂ”petatud. Ülevaatajad peavad selle ĂŒle vaatama ja ĂŒhendama, QA peab selle kontrollima, kui esinevad probleemid — nad teavitavad mind. Kuidas kummaline, isegi ĂŒsna vanad ja kogenud inimesed kĂ€ituvad mĂ”nikord sarnaselt. Teine ÀÀrmus on, et inimene peab end vastutavaks selle eest, et tema kood töötaks, oleks katnud testidega, oleks isiklikult kontrollitud, edukalt lĂ€binud ĂŒlevaatamise (vajadusel pole probleemi ĂŒlevaatajate tĂ€iendavaid kĂŒsimusi arutada) ja oleks ĂŒhendatud, QA abi osutatakse vajadusel, testimise stsenaariumid on kirjeldatud jne. Normaalsetes tingimustes on programmeerija kas algselt lĂ€hemal tĂ€iskasvanule vĂ”i liigub sinna koos kogemuse kasvuga (tingimusel, et meeskonnas kultiveeritakse Ă”iglast kultuuri). Ekstreemsetes olukordades jĂ€tkab ta tavaliselt laste positsiooni omamist, mistĂ”ttu tekivad tal ja meeskonnal perioodiliselt probleemid ja konfliktid.

Meeskonna Ă”ige ja kĂŒpse kultuuri kasvatamine on iga juhi oluline ĂŒlesanne. See nĂ”uab pikka aega ja iga pĂ€ev pingutusi, kuid tulemus on seda vÀÀrt. Meeskonna kultuuri mĂ”jutamiseks on kaks viisi — isiklik eeskuju (millele jĂ€rgitakse kindlasti, sest meeskond vaatab alati liidri poole) ning arutelud ja Ă”ige kĂ€itumise edendamine. Siin pole samuti midagi keerulist ega eriliselt formaalset: probleemide arutamisel mĂ€rkige, kuidas oleks saanud teisiti tegutseda, rĂ”hutage, kui olete mĂ€rganud, et probleem lahendati Ă”igesti, kiitke ning tooge vĂ€lja releasi ĂŒlevaatuses jne.

KĂ€sitleme mitmeid tĂŒĂŒpilisi konfliktseid olukordi, lihtsast keeruliseni:

Meeskonna konfliktide juhtimine – tasakaal vĂ”i hĂ€davajadus?

Töötamisega mitte seotud konfliktid

Tööl esinevad ĂŒsna tihti konfliktid, mis ei ole seotud tööalaste probleemidega. Nende tekkimine ja lihtsus lahendamisel on tavaliselt otseselt seotud osalejate emotsionaalse intelligentsuse ja kĂŒpsuse tasemega ning ei ole seotud tööprotsessi tĂ€iuslikkuse vĂ”i puudulikkusega.

TĂŒĂŒpilised nĂ€ited — keegi ei kasuta piisavalt sageli pesumasinat vĂ”i duĆĄi all kĂ€imist, mis hĂ€irib teisi, mĂ”ni meesterahvas tunneb end kitsas ruumis, kui aken on avatud, ĂŒks inimene teeb liiga palju lĂ€rmi, samas kui teised vajavad vaikust tööks, ja nii edasi. Selliste konfliktide lahendamisega ei tohiks venitada ega lasta olukorral iseenesest areneda. Need ei lahene iseenesest ja hĂ€irivad igapĂ€evaselt tööd ning mĂŒrgitavad meeskonna Ă”hkkonda. Õnneks on nende lahendamine tavaliselt lihtne — piisab, kui rÀÀkida rahulikult (muidugi silmast silma) kolleegiga, kes ei jĂ€lgi hĂŒgieeni, tagada mugav istumisasetus neile, kes hindavad vaikust/jahedust, osta helisummutavad kĂ”rvaklapid vĂ”i paigutada vaheseinad jne.

Teine nĂ€ide, millega olen oma töös mitmel korral kokku puutunud, on meeskonnaliikmete psĂŒhholoogiline ĂŒhilduvus. Mingil pĂ”hjusel ei saa inimesed lihtsalt koos töötada; iga suhtlus lĂ”ppeb skandaaliga. MĂ”nikord on see seotud sellega, et inimesed peavad kinni polariseeritud arvamustest mĂ”ne tulise kĂŒsimuse osas (tavaliselt poliitilise) ega suuda neid töö vĂ€liselt jĂ€rel jĂ€tta. Nende veenmine taluma ĂŒksteist vĂ”i oma kĂ€itumist muutma on pigem lootusetu tegevus. Ainus erand, millega olen kokku puutunud, on noored kolleegid, kellel on avatud mĂ”tlemine; nende kĂ€itumist on veel vĂ”imalik jĂ€rk-jĂ€rgult muuta perioodiliste vestlustega. Tavaliselt lahendatakse see probleem edukalt, jagades nad erinevatesse meeskondadesse vĂ”i, vĂ€hemalt, tagades vĂ”imaluse vĂ€ga harva omavahel kokku puutuda.

KĂ”ikides nimetatud olukordades peaks iga osalejaga rÀÀkima isiklikult, arutama olukorda, huvi tundma, kas nad nĂ€evad iseenesest probleemina, kĂŒsima, millised on nende arvates lahendused, ja tagama nende kaasamise selle otsuse vastuvĂ”tmisse.

Töötasandi optimeerimise seisukohalt (keskmise tÀhtajaga, millest ma rÀÀkisin) ei ole siin palju parandada, ainus asi, mida optimeerida, on arvestada meeskonna koostööfaktorit ja mitte panna koos inimesi, kes vÔivad omavahel konflikti sattuda.

Meeskonnakultuuri seisukohalt esinevad sellised olukorrad palju harvemini meeskondades, kus on kĂŒps kultuur, kus inimesed austavad ĂŒksteist ja suudavad kĂŒsimusi iseseisvalt lahendada. Lisaks sellele lahendatakse sellised konfliktid palju lihtsamalt (tihti automaatselt) meeskondades, kus on kĂ”rge usaldus, inimesed on koos kaua töötanud ja/vĂ”i suhtlevad sageli vĂ€ljaspool tööd.

Tööalaste konfliktide tĂŒĂŒbid:

Sellised konfliktid tulenevad tavaliselt mĂ”lemast pĂ”hjusest korraga, nii emotsionaalsest (kui keegi osalejatest ei ole tĂ€iskasvanu positsioonil) kui ka tööprotsessi puudustest. Üks levinumaid konflikte, millega ma kokku olen puutunud, on konfliktid koodi ĂŒlevaatamise vĂ”i arutelu kĂ€igus arendajate vahel.

TĂ”staksin esile kaks tĂŒĂŒpilist juhtumit:

1) Esimesel juhul ei saa arendaja kolleegilt koodikontrolli. Patch on ĂŒlevaatamiseks saadetud ja midagi ei juhtu. Esmapilgul ei tundu kahe osapoole vahel ilmset konflikti olevat, kuid lĂ€hemalt vaadates tuleb see vĂ€lja. Tööprobleem jÀÀb lahendamata, ĂŒks osapool (ĂŒlevaadet oodates) tunneb selgelt ebamugavust. Ekstreemne variant sellest juhtumist on arendamine kogukonnas vĂ”i erinevates meeskondades, kusjuures ĂŒlevaatajal ei pruugi olla huvi just selle konkreetse koodi vastu, kuna töökoormus vĂ”i muud asjaolud vĂ”ivad teda isegi ĂŒlevaatamise pĂ€ringutele tĂ€helepanu pööramast takistada, ning vĂ€list arbitraatori (ĂŒlema, kes mĂ”lemale osapoolele ĂŒhine on) ei pruugi ĂŒldse olla.

Lahendus, mis aitab sellistes olukordades, lĂ€htub pikaajalistest eesmĂ€rkidest ja kĂŒpsest kultuurist. Esiteks, mĂ”istlik aktiivsus. Ei tasu oodata, et lihtsalt ĂŒlevaatusel riputatud kood köidab ĂŒlevaatajate tĂ€helepanu iseenesest. Tuleb aidata ĂŒlevaatajatel seda mĂ€rkama. Pinguta paar inimest, esita kĂŒsimus synkapi ajal, osale aruteludes. Loomulikult vĂ”ib liialdamine pigem kahjulik olla, seega tasub kasutada tervet mĂ”istust. Teiseks, eelnev ettevalmistus on vĂ€ga tĂ”hus. Kui meeskond mĂ”istab, mis ja miks toimub ning miks see kood ĂŒldse vajalik on, arutatakse ja kooskĂ”lastatakse disain eelnevalt kĂ”igiga, siis on suurem tĂ”enĂ€osus, et inimesed mĂ€rkavad sellist koodi ja aktsepteerivad selle töösse. Kolmandaks, autoriteet mĂ€ngib rolli. Kui soovid, et sinu koodi vaadatakse ĂŒle, tegele ka ise aktiivselt ĂŒlevaatustega. Tee kvaliteetseid ĂŒlevaateid, koos reaalse kontrollimise, testimise ja kasulike kommentaaridega. Kui su nimi on meeskonnas tuntud headest kĂŒlgedest, on suurem tĂ”enĂ€osus, et sinu koodile pööratakse tĂ€helepanu.

Tööprotsessi seisukohalt on siinkohal vĂ”imalikud parandused — Ă”igete prioriteetide seadmine, mis aitab arendajal saavutada enda ja meeskonna eesmĂ€rke (teisi ĂŒle vaadata, kirjutada kirju kogukonnale, toetada koodi arhitektuuri, dokumentatsiooni, testimise kirjeldamisega, osaleda aruteludes kogukonna liikmetega jne), vĂ€ltides samaaegselt liiga pikaaja ootejĂ€rjekorra loomist ja nii edasi.

Teiseks levinud konfliktide puhul koodi vĂ”i disaini ĂŒlevaatamisel on erinevad arusaamad tehnilistest kĂŒsimustest, kodeerimisstiilist ja tööriistade valikust. Siinkohal on usk osalejate vahel ÀÀrmiselt oluline, kuuluvus ĂŒhte meeskonda ja varasem koostöö kogemus. Pattide olukord tekib siis, kui mĂ”ni osalejatest vĂ”tab lapsiku positsiooni, mitte ei pĂŒĂŒa aru saada, mida teine osaleja talle edastada soovib. Sageli vĂ”ivad nii teise poole pakkunud lĂ€henemine kui ka algselt pakutud lĂ€henemine olla tĂ€iesti edukad ja pole olulist vahet, millist neist valida.

Kordagi ĂŒhes mu meeskonna arendajas (nimetame teda Pasha) valmistas ta paranduse pakettide juurutamise sĂŒsteemi, mida arendas ja toetas naabripoolse osakonna kolleegid. Ühel neist (Igoril) oli oma tugev arvamus selle kohta, kuidas tĂ€pselt Linuxi teenuseid seadistada pakettide juurutamisel. See arvamus erines paranduses pakutud lĂ€henemisest ja nad ei suutnud kokku leppida. Nagu ikka, olid tĂ€htajad lĂ€henemas ja pidime leidma mingi lahenduse, keegi pidi vĂ”tma tĂ€iskasvanud positsiooni. Pasha tunnustas, et mĂ”lemal lĂ€henemisel on oma Ă”igustused, kuid tal oli soov, et tema variant lĂ€heks lĂ€bi, kuna ĂŒhelgi variandil ei olnud selgeid tehnilisi eeliseid.

Meie arutelu nÀgi vÀlja umbes nii (muidugi vÀga skeemaatiliselt, vestlus kestis pool tundi):

— Pasha, meil on paar pĂ€eva feature freeze. Oluline on, et me kĂ”ik kokku koguksime ja testimist vĂ”imalikult kiiresti alustada. Kuidas me saaksime Igorist ĂŒle kĂ€ia?
— Ta tahab seadistada teenuseid teistmoodi, kommentaare sinna kleebitud 

— Kas seal on suured ĂŒmbertegemised, palju jamamist?
— Ei, seal on paar tundi tööd, aga lĂ”pptulemuselt ei ole vahet, see toimib niikuinii, miks seda vaja on? Ma tegin toimiva asja, vĂ”tame selle vastu.
— Kuule, kui kaua te seda juba arutate?
— Oleme juba umbes poolteist nĂ€dalat selles kinni.
— Em ... me saame paari tunniga lahendada kĂŒsimuse, mis on juba poolteist nĂ€dalat kestnud, ja me ei tee seda?
— Noh, jah, aga ma ei taha, et Igor arvaks, et ma olen alla andnud ...
— Kuule, mis on sinu jaoks olulisem, vĂ€ljaanne koos sinu lahenduse sees, vĂ”i Igoriga vĂ”itlemine? Saame temaga vĂ”idelda, kuid siis on tĂ”eliselt hea vĂ”imalus, et me jÀÀme vĂ€ljaandest ilma.
— Noh ... oleks muidugi Ă€ge, Igorile vastu vaadata, aga okei, vĂ€ljaanne on olulisem, nĂ”us.
— Kas sulle on tĂ”eliselt nii tĂ€htis, mida Igor arvab? Ausalt öeldes on tal sellest tĂ€iesti ĂŒkskĂ”ik, ta tahab lihtsalt ĂŒhtset lĂ€henemist erinevates kohtades, mille eest ta vastutab.
— Okei, teen nii nagu ta kommentaarides palub ja alustame testimist.
— AitĂ€h, Pasha! Ma olin kindel, et teist kahest oled sina kĂŒpsem, kuigi Igor on sinust vanem :)

KĂŒsimus sai lahendatud, vĂ€ljaanne ilmus Ă”igeaegselt, Pasha ei vĂ€ljendanud erilist rahulolematust, sest ta ise pakkus lahenduse ja viis selle ellu. Igor oli ĂŒldiselt rahul, kuna tema arvamust arvestati ja tegid nii, nagu ta eelnevalt soovitas.

Teine sarnane konflikt, mis tĂ”eliselt esindab, on valik tehniliste lahenduste/raamatukogude/lĂ€htepunktide vahel projektis, eelkĂ”ige jaotatud meeskonnas. Ühes projektis, mis esitleb ennast C/C++-na, selgus lĂ”puks, et projekti tehniline juhtkond on STL (Standard Template Library) kasutamise vastu. See on keele standardne raamatukogu, mis lihtsustab arendust, meie meeskond on selle kasutamist vĂ€ga harjunud. Selgus, et projekt on palju lĂ€hemal C-le kui C++-le, mis ei olnud meeskonda just eriti innustav, kuna juhtkond oli valinud tĂ”eliselt heade C++-dearendajate. Samal ajal töötas Ameerika osa meeskonnast, nii insenerid kui ka juhid, ettevĂ”ttes juba pikka aega, nad olid harjunud olemasoleva olukorraga ning neid rahuldas see. Venemaa osa meeskonnast koondati kokku hoopis hiljuti, vaid paar nĂ€dalat tagasi (sh mina). Venemaa osa meeskonnast ei soovinud kategooriliselt loobuda oma traditsioonilisest lĂ€henemisest arendusele.

Alustasid lĂ”putud kirjalikud arutelud kahe manda vahel, kus kirjad, mis ulatusid kolme-nelja ekraanini, lendasid edasi-tagasi, nii grupikirjade kui isiklike kaudu, programmeerijate vahel — programmeerijatele ja juhtidele. Nagu tavaliselt juhtub, ei lugenud sellise suurusega kirju keegi peale autorite ja nende tulihingeliste toetajate. Vestlused krĂ”bisesid pingest, edastades igas suunas mitmekesiseid mĂ”tteid STL tehniliste eeliste kohta, kui hĂ€sti see on testitud, ohutu ning ĂŒldiselt, kui suurepĂ€rane on elu selle kasutamisel ja kui kohutav ilma selleta.

See oli ĂŒsna pikalt, kuni ma lĂ”puks aru sain, et arutame tehnilisi kĂŒlgi, kuid probleem ei ole tegelikult tehniline. Probleem ei seisne STL hindamises vĂ”i selle kasutamise keerukuses. Probleem on pigem organisatoriline. Meil oli lihtsalt vaja mĂ”ista, kuidas meie ettevĂ”te töötab. Enne ei olnud kellelgi meist kogemust töötada sellises ettevĂ”ttes. Probleem seisnes selles, et koodi arendamise ja tootmisseviimise jĂ€rel hooldasid seda tĂ€iesti teised inimesed teistest meeskondadest ja teistest riikidest. See tohutu inseneriteemade meeskond, kuhu kuulus mitu tuhat inseneri, suutis endale lubada vaid tĂ€iesti minimaalset tehniliste vahendite komplekti, nii öelda, minimum minimorum. KĂ”ik, mis ĂŒletas ettevĂ”ttes kehtestatud inseneristandardi, ei saanud tulevikus fĂŒĂŒsiliselt toetust. Meeskonna tase mÀÀratakse tema nĂ”rgimate liikmete jĂ€rgi. PĂ€rast seda, kui me mĂ”istsime, reaalset motivatsiooni Ameerika meeskonna tegevuste osas, see kĂŒsimus vĂ”eti pĂ€evakorrast Ă€ra ning me kĂ”ik koos suutsime edukalt arendada ja turule tuua toote, jĂ€rgides ettevĂ”ttes kehtinud standardeid. Kirjad ja vestlused ei toiminud sel juhul hĂ€sti, et jĂ”uda ĂŒhiselt kokkuleppele, nĂ”udis see mitmeid reise ja palju isiklikku suhtlemist.

Tööprotsessi seisukohalt aitaks antud juhul olemasolu kirjeldus kasutatavatest vahenditest, nende nĂ”udmistest, piirangud uute lisamisele ja pĂ”hjendused sellistele piirangutele. Sellised dokumendid vastavad umbes punktides kirjeldatule Reuse Strategy ja Development Environment juhendis „Manager’s Handbook for Software Development”, mis on koostatud NASA. Omal ajal kirjeldab see suurepĂ€raselt kĂ”iki peamisi tegevusi ja etappe sellise tarkvaraarenduse planeerimisel. Selliste dokumentide olemasolu lihtsustab oluliselt arutelu selle ĂŒle, milliseid komponente ja lĂ€henemisi tootes vĂ”ib kasutada ning miks.

Kultuuri seisukohalt on selge, et kui osalised pĂŒĂŒavad kuulata ja mĂ”ista kolleegide tegude tegelikke motiveerivaid tegureid ning tegutsevad projekti ja meeskonna prioriteetide, mitte isikliku ego jĂ€rgi, siis konflikti lahendamine oleks kergem ja kiirem.

Teises konfliktis seoses tehnilise lahenduse valikuga vajasin samuti mĂ€rkimisvÀÀrset aega, et mĂ”ista ĂŒhe poole motivatsiooni (see juhtum oli vĂ€ga ebatavaline), kuid pĂ€rast seda, kui motivatsioon selgeks sai, oli lahendus ilmne.

Olukord on selline: umbes 20 inimesest koosnevas meeskonnas tuleb uus arendaja, keda nimetame Stasiks. Meie selle hetke standardne suhtlemisinstrument meeskonnas oli Skype. Hiljem selgus, et Stas oli suur avatud standardite ja avatud lĂ€htekoodiga tarkvara fĂ€nn, kasutades ainult selliseid tööriistu ja operatsioonisĂŒsteeme, mille lĂ€htekood on avalikult kergesti kĂ€ttesaadav ja mis kasutavad avalikult kirjeldatud protokolle. Skype selliste tööriistade seas ei ole. Me kulutasime tohutult aega selle lĂ€henemise eeliste ja puuduste arutamiseks, katsetes kĂ€ivitada Skype'i analooge erinevates operatsioonisĂŒsteemides, Stasi pĂŒĂŒdel veenda meeskonda teistelt standarditele ĂŒle minema, kirjutada talle isiklikult e-kirju, helistada talle isiklikult telefoniga, osta talle teine arvuti spetsiaalselt Skype'i jaoks jne. LĂ”puks arvasin, et see probleem ei ole tegelikult tehniline ega korralduslik, pigem on see maailmavaateline probleem, vĂ”i isegi vĂ”ib öelda, et religiooniline (Stasi jaoks). Isegi kui me lĂ”puks Stasi ja Skype'i ĂŒhendasime (milleks oli kulunud mitu kuud), tekkiks sama probleem jĂ€rgmisel tööriistal uuesti. Mul ei olnud reaalset vĂ”imalust Stasi maailmavaadet muuta ja mul ei olnud pĂ”hjust pĂŒĂŒda muuta meeskonna maailmavaadet, mis töötas selles keskkonnas suurepĂ€raselt. Inimene ja ettevĂ”te olid maailmavaateliselt lihtsalt ortogonaalsed. Taolistes olukordades on hea lahendus — korralduslik. Me liikusime Stasi teise meeskonda, kus ta oleks rohkem orgaaniline.

Probleemi pÔhjus on minu arvates seotud konkreetse inimese isikliku kultuuri ja ettevÔtte kultuuri vahelise mittesobivusega (inimene, kellel on tugev arvamus, mis ei luba tal kompromisse teha). Sellisel juhul on see kahtlemata juhi viga. Alguses oli vale vÔtta ta sellise projekti peale. Stas kraadi lÔppes avatud lÀhtekoodiga tarkvara arendusprojekti juurde ja ta edeneb seal suurepÀraselt.

Hea nĂ€ide konfliktist, mis on tekitatud samal ajal arendaja lapsemeelsest lĂ€henemisest ja töökĂ€igus esinevatest puudustest — olukord, kus arendajal ja QA meeskonnal on erinevad ootused funktsiooni valmiduse osas, mis on edastatud QA-le ilma definition of done'ita. Arendaja arvas, et piisab koodi kirjutamisest ja funktsiooni viskamisest QA-le — seal nad saavad ise hakkama. ÜkskĂ”ik, et tegu oli ĂŒsna kogenud programmijaga, oli tal siiski madal kvaliteedi tĂ”e piir. QA ei olnud sellega nĂ”us ja nĂ”udsid, et ta nĂ€itaks neile ja kirjeldaks, mida ta ise kontrollis, ning kĂŒsisid testimistestide stsenaariumi. Neil oli varem olnud probleeme selle arendaja funktsionaalsusega ning nad ei soovinud oma aega tarbetult raisata. Muide, nad olid Ă”iged — funktsioon ei töötanud tĂ”epoolest, koodi ei kontrollitud enne QA-le edastamist.

Selle olukorra lahendamiseks palusin tal nĂ€idata, et kĂ”ik tĂ”esti töötab (see ei töötanud ning tal tuli see parandada), arutasime meeskonnaga ja QA-ga valmimise mÀÀratlemist (kirjalikuks see ei saanud, kuna ei soovinud protsessi liiga bĂŒrokraatlikuks muuta), ning selle spetsialistiga lahkusime peagi (ĂŒldise kergenduse mĂ”ttes).

Tööprotsessi seisukohalt on selles osas vĂ”imalikud parandused - valmimise mÀÀratlemise olemasolu, iga funktsiooni toetamise nĂ”uded ĂŒhik- ja integratsioonitestidega, arendaja lĂ€biviidud testimise kirjeldus. Ühes projektis mÔÔtsime testide katvust CI ajal ning juhul, kui katvus pĂ€rast patĆĄi lisamist langes, mĂ€rgiti testid lĂ€bikukkumisena, st iga uut koodi vĂ”idi lisada ainult siis, kui selle jaoks olid olemas uued testid.

Veel levinum nĂ€ide konfliktist, mis on tihedalt seotud töökorraldusega. Meil on toode, selle toote arendusmeeskond, tugiteenuste meeskond ja tellija. Tellijal tekivad toote osas probleemid, ta pöördub tugiteenuste poole. Tugiteenused analĂŒĂŒsivad probleemi ja mĂ”istavad, et see on toote viga, edastades probleemi arendusmeeskonnale. Arendusmeeskonnal on kiire aeg, vĂ€ljaanne lĂ€heneb, seega tellija probleemiga seotud pilet, mis on arendajale mÀÀratud, jÀÀb nĂ€dalateks tĂ€helepanuta teiste piletite keskele. Tugiteenused arvavad, et arendaja töötab tellija probleemi kallal. Tellija ootab ja loodab, et tema probleemiga tegeletakse. Tegelikult ei toimu midagi. PĂ€rast mitmeid nĂ€dalaid otsustab tellija lĂ”puks pĂ€rida edusamme ja kĂŒsib tugiteenustelt, kuidas lĂ€heb. Tugiteenused kĂŒsivad arenduse kĂ€est. Arendaja sĂ€hvab, vaatab piletite loendit ja leiab sealt tellija pilet. Lugedes tellija piletit, mĂ”istab ta, et probleemide lahendamiseks ei ole piisavalt teavet ning tal on vaja veel logisid ja dump'e. Tugiteenused kĂŒsivad tellijalt tĂ€iendavat teavet. Ja siis mĂ”istab tellija, et keegi ei ole tema probleemiga vahepeal tegelenud. Ja Ă€kki tabab Ă€ike ...

Selles olukorras on konflikti lahendamine ĂŒsna ilmne ja lineaarne (toote parandamine, dokumentatsiooni ja testide vĂ€rskendamine, kliendi rahustamine, kiire paranduse vĂ€ljaandmine jne). Oluline on analĂŒĂŒsida töövoogu ja mĂ”ista, kes vastutab kahe meeskonna koostöö korraldamise eest ja miks selline olukord ĂŒldse tekkis. On selge, et protsessis tuleb midagi parandada — keegi peaks ilma kliendi meeldetuletusteta jĂ€lgima ĂŒldpilti, olema proaktiivne. Kliendi piletid peaksid arendajate seas silma paistma. Toetamine peaks nĂ€gema, kas arendus töötab nende piletite kallal, ja kui ei, siis millal nad saavad alustada ja millal tulemusi oodata. Toetamine ja arendus peaksid perioodiliselt suhtlema ja arutama piletite staatust, vajalik teave tĂ”rgete lahendamiseks peaks olema maksimaalselt automatiseeritud jne.

Nagu sĂ”da, kus vastane ĂŒritab lĂŒĂŒa kahe ĂŒksuse vahelt, on ka töös kĂ”ige nĂ”rgem ja haavatavam koht sageli tiimide vaheline suhtlemine. Kui tugija arendusjuhid on piisavalt kĂŒpsed, saavad nad protsessi iseseisvalt parandada; kui ei, siis jĂ€tkab protsess konfliktide ja probleemide genereerimist, kuni sekkub juht, kes suudab olukorda parandada.

Teine iseloomulik nĂ€ide, millega olen kokku puutunud erinevates ettevĂ”tetes, on olukord, kus ĂŒhe meeskonna poolt arendatud toode, automaatsete integratsioonitestide teostamine teise meeskonna poolt ja infrastruktuur, millel seda kĂ”ike töös hoitakse, on kolmanda meeskonna tĂ”hustamisel. Testide lĂ€biviimise kĂ€igus tekivad pidevalt probleemid, mille pĂ”hjuseks vĂ”ivad olla nii toode kui ka testid ja infrastruktuur. Sageli on keeruline kokku leppida, kes peab tegema esmase probleemide analĂŒĂŒsi, jĂ€relvalvema vigu, analĂŒĂŒsima toote, testide ja infrastruktuuri logisid jne. Konfliktid on siin ĂŒsna sagedased ja samas ka kindlad. KĂ”rge emotsionaalse pinge korral kipuvad osalised sageli vĂ”tma laste positsioone, algavad arutelud stiilis: "miks ma pean sellega tegelema", "neil on sagedamini rikkeid" jne.

Tööprotsessist lĂ€htudes sĂ”ltuvad konkreetsed sammud kĂŒsimuse lahendamiseks tiimide koosseisust, testide tĂŒĂŒbist ja tootest jne. Ühes projektis kehtestasime perioodilised vahetused, mille kĂ€igus meeskonnad jĂ€lgisid teste vaheldumisi, nĂ€dalate kaupa. Teises projektis teostasid esialgse analĂŒĂŒsi alati testide arendajad, kuid see analĂŒĂŒs oli ĂŒsna pĂ”hjalik ja toode oli piisavalt stabiilne, seega töötas see sarnaselt hĂ€sti. Peamine on tagada protsessi lĂ€bipaistvus, ootuste selgus kĂ”ikide osaliste jaoks ja igaĂŒhe jaoks Ă”iglane olukord.

Kas konflikt organisatsioonis tegelikult on probleem vĂ”i on see halb mĂ€rk, et teie meeskonnas tekivad konfliktid sageli (vĂ”i lihtsalt perioodiliselt)? Üldiselt ei ole see nii, sest kui toimub kasv, areng ja mingit tĂŒĂŒpi dĂŒnaamika, siis tekivad kĂŒsimused, mida pole kunagi varem kĂ€sitletud, ning nende lahendamisel vĂ”ivad tekkida konfliktid. See on mĂ€rk sellest, et teatud valdkondadele tuleks rohkem tĂ€helepanu pöörata ja et on parendamise kohti. Halb on see, kui konfliktid tekivad vĂ€ga sageli ja neid on raske vĂ”i pikk lahendada. See on tĂ”enĂ€oliselt mĂ€rk halvasti vĂ€lja töötatud tööprotsessidest ja meeskonna ebakĂŒpsusest.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster