Toomas Polli: arendajate edukust ei saa hinnata elonmuskilikult koodiridu lugedes
Arendajate töö edukuse hindamisest pole iial nii palju räägitud, kui pärast Elon Muski Twitteri ostu. Hilisöödeni venivad koodilugemised, paberile prinditud viimase kuue kuu koodiread, kümme kuvatõmmist parimast koodist ja poolaasta commit’ide kokkuvõte on vaid osa sellest, millega on Twitteri arendajad pidanud hiljuti rinda pistma. Elisa tehnoloogiaüksuse juhi Toomas Polli sõnul on mõistetav, et uus juht tahab arendajate heas töös veenduda, kuid joonlauaga seda teha ei saa.
„Arendaja pole liinitööline, kes teeb nagu 30 teist töötajat iga päev täpselt samasugust liigutust. Iga projekt on erinev, iga tiim on erinev ja iga arendaja on erinev – üritades tuimalt koodi vaadates ning seda teistega kõrvutades mõista, kas keegi teeb oma tööd hästi, on võrdväärne puusalt hinnangu andmisega,“ lausus Polli. „On võimalik, et läheb täppi ja leiadki mingi probleemi, aga sama tõenäoliselt võid jõuda totaalselt valede järeldusteni.“
Ta märkis, et tänapäeval levinud agiilsete arendusparadigmade puhul on koodi hulk edukuse hindamisel olematu väärtusega, niisamuti ei saa kellegi sooritust hinnata üksikute töölõikude, kontekstist välja rebitud koodiridade või lõpptootesse panustatud uuenduste järgi. Selle asemel saab ainus kaljukindel mõõdik olla see, kas kõik tellijad saavad soovitud ajaks täpselt niimoodi töötava lahenduse, kui nad ette nägid, ning kas tiim tervikuna suudab oma eesmärgid täita.
„Oleme täna ka selgelt faasis, kus vähem koodi on parem. Mida vähemate muudatustega suudab keegi oma asja ära teha, seda parem on. Ridade hulka küll keegi lugemas ei käi, kuid seda põhimõtet tasuks siiski igal juhil ja igal arendajal meeles pidada. On küll uhke öelda, et kirjutasid 10 000 rida koodi, kuid kui tegelikult oleks hakkama saanud poole vähemaga, pole see asi, mille üle uhke olla,“ selgitas ta.
Iga tiim ei ole nagu teine
Niisamuti hoiatab Polli arendajate ja tiimide vahel liigsete võrdlusmomentide nägemise eest. Tema sõnul võib küll kaugelt vaadates tunduda, et arendaja on arendaja ning arendus on arendus, kuid reaalsuses on igas tiimis omad mured ja omad rõõmud. See tähendab, et kui üks tiim suudab sprindi käigus ära lahendada 20 ticket’it ja viia muutused ellu viies rakenduses ning teine tiim suudab midagi ära teha vaid ühes teenuses, ei ole üks meeskond automaatselt halvem kui teine.
Seetõttu soovitab ta kõrgema astme juhtidel reaalse pildi nägemiseks hinnata igat tiimi kui omaette ühikut, mille sooritust võrreldakse selle enda varasema tööga. „Mõne tiimi käes ongi üks ärikriitiline teenus, mille iga muutus on meeletult ressursimahukas. Teise käes võib aga olla kümme pisikest ja vähese ajalooga rakendust, mida ongi oluliselt lihtsam muuta. Neid tiime kõrvuti võrreldes tundub üks teisest oluliselt tublim, tegelikkuses panustavad mõlemad aga samaväärselt,“ selgitas ta.
Küll aga ei tähenda see tehnoloogiaüksuse juhi sõnul seda, et arendustiimide edukuse hindamisel peaks lähenema ainult kõhutundest. Kuigi tiime omavahel võrrelda ei saa, saab hõlpsasti vaadelda, kuidas on mingi konkreetse meeskonna töö pikemas perspektiivis arenenud. Alati võib küll tiimi töös ette tulla uusi keerukusi ja uusi raskusi, kuid sisukalt andmetesse süvenedes on trende siiski võimalik välja lugeda.
Tagasiside tuleb tiimi enda käest
Rääkides aga konkreetsete arendajate töö hindamisest, soovitab Polli kuulata tiime. „Agiilsed tiimid töötavad üheskoos ühiste eesmärkide nimel. Kui keegi ei suuda piisavalt panustada, saab ülejäänud meeskond sellest väga kiirelt aru. Kui nurinaid ei kuule ning tiim ütleb kui ühest suust, et koostöö sujub ja kellegagi probleeme pole, siis ega ilmselt pole ka,“ sõnas ta.
„Juhil võib tekkida tahtmine igale inimesele selged KPI-d külge panna, et ta reaalne väärtust Excelis lahti kirjutada. Tänapäevases arenduskeskkonnas aga asjad lihtsalt nii ei käi. Tiim on tervik – meeskond kas töötab või mitte. Tiimi funktsioon on oma tööd planeerida ja oma eesmärgid täita ning see on võimatu, kui mõni meeskonnaliige ei suuda piisavalt panustada. Seega ei tasu sekkuda, kui selleks pole selget vajadust, kuid oluline on reageerida, kui probleemid päriselt esile kerkivad,“ lisas Polli. „Võib olla täiesti kindel, et nigel sooritus ei suuda väga pikalt varju jääda. Isegi siis, kui meeskonna igat klahvivajutust ei jälgita.“
„Kui päeva lõpuks saab kõik tehtud, tellijad on rahul ning meeskonnaliikmed töötavad omavahel hästi, siis ongi tegu edukate tiimide ja edukate arendajatega. Iga tiim teeb oma korrektsioonid vajadusel ise – kolm astet ülalpool oleval juhil pole mingit vajadust sekkuda,“ sõnas ta. „Kui soovid teada, mis päriselt toimub ja mis on kellegi tugevus, siis räägi inimestega – nii arendajad ise kui ka nende tiimikaaslased mõistavad väga hästi, mida teeb keegi hästi ja mis valdkondades saaks asju teha paremini.“