6 soovitust, kuidas mitu arendustiimi koos tööle panna, nii et kõik on rahul

Tarkvaraarendus on keeruline protsess, kuid veel keerulisemaks muutub see siis, kui tarkvaraga tegelevad paljud erinevad tiimid. Üsna tihti nii juhtubki. Lisaks vilumusele koodikirjutamises tulevad mängu hoopis muud teemad, mis mõnikord kipuvad minema hoopis psühholoogia valdkonda. Mida siis teha, et kõik arendajad oleksid õnnelikud?

Meeskondade vaheline edukas koostöö võib olla keeruline ning nõuab palju suhtlemist, planeerimist ja organiseerimist, et kõik oleksid nii-öelda samal leheküljel. Kuid hea ettevalmistusega on see võimalik.

Singleton pakub välja kuus olulist teemat, kuidas erinevad tarkvaraarendajate meeskonnad saavad arenduses edukalt koostööd teha ja mida arendajate töös tasub arvestada.

1. Suhtlemine on mõistagi edu võti

Tarkvaraarenduse meeskondade omavahelise koostöö üks kõige olulisemaid teemasid on suhtlemine. Ilma mõistlikul tasemel tõhusa suhtluseta võivad meeskonnad sattuda nii-öelda oma mullidesse, mis toob kaasa viivitusi ja isegi ebaõnnestumisi projektis. 

Meeskondade vahel on oluline luua selged suhtluskanalid, et kõik oleksid teadlikud sellest, mille kallal teised töötavad ja mistahes uuendused või muudatused peaksid jõudma kiiresti kõigini.

Samuti peaksid meeskonnad regulaarselt kohtuma kas silmast silma või üle interneti, et läbi arutada edenemised, väljakutsed ja probleemid. 

Üks hea võimalus kõiki osalisi teemadega kursis hoida on näiteks igahommikused kiired püstijalakoosolekud, mis kestavad võib-olla ainult kümme minutit, aga kus igaüks saab sõna ja räägib, millega parajasti tegeleb. 

Aja asjatu raiskamise vältimiseks ongi oluline, et sellised rutiinsed koosolekud oleksid väga lühikesed ja keskenduksid vaid põhiküsimustele. Selliste kohtumiste eesmärk on hoida kõiki kursis ja tagada, et kõik töötavad sama eesmärgi nimel.

2. Liiga ühtne arvamus pole ka päris hea – julgusta erinevusi

Väga hästi üksteisega läbi saavad tiimiliikmed võivad tekitada ühtsuse müüri, mis tähendab, et ebameeldivamaid teemasid eriti ei puudutata ja alati on tähtis konsensus ehk kõik peavad nõus olema. Tööõhkkonna jaoks on see muidugi hea, aga töö tulemusele võib siin peituda oht, et probleemid jäetakse tähelepanuta.

Tiimide vahelises koostöös on oluline ka need ebameeldivad teemad näiteks tiimijuhtide poolt eraldi läbi arutada ja pühenduda neile eraldi tagasiside-kohtumistel või online koosolekutel, kus saab ilma kriitikat kartmata probleeme arutada. Neil koosolekutel ettepanekuid ja pakutud lahendusi maha teha ei tohi.

3. Planeeri ette

Erinevate tarkvaraarenduse meeskondade tõhusa koostöö tagamiseks on vaja tegevusi kindlasti ette planeerida. 

Selleks peab kirja panema arenduse selged eesmärgid, etapid ja olulised tähtajad. Meeskonnad peaksid olema teadlikud oma rollidest ja kohustustest kogu projektis ning sellest, kuidas nad üldisesse projekti sobituvad.

Samuti peaksid meeskonnad tegema koostööd, et välja selgitada võimalikud takistused või väljakutsed, mis projekti käigus võivad tekkida. 

Projekti mõjutada võivate riskide maandamiseks on oluline teha riskide hindamine ja plaanid ennustatavate probleemide lahendamiseks.

4. Väikesed põnevad koostöövormid tiimide vahel tõstavad taset

Paljudele arendajatele sobivad erinevad põnevad koostöövormid, mida tiimiliikmete puhul võiks proovida: näiteks paarisprogrammeerimine või mentoritunnid, kus programmeerijad saavad ekspertidelt küsimusi küsida.

Paarinädalase projekti või arendusetapi eest saab panna vastutama vanemarendaja, kes juhib paari nooremarendajat, et julgustada tiimis teadmiste jagamist ja aidata vanemarendajatel kogeda vastutust kellegi teise töö tulemuste eest. 

Selline töömeetod võib anda põnevaid lahendusi ka erinevatest tiimidest pärit inimeste kaasamisel.

5. Dokumenteeri ja arhiveeri versioone

Kes peaks tagama koodi vastavuse standarditele ja looma dokumentatsiooni, et ka kõrvalistel oleks võimalik jälgida, mida valmis tehti? Mitme tiimiga puhul peab mõnest tiimist leidma kindlasti ka vastutaja sellele küsimusele. Meeskonnad peavad tegema koostööd, et koodibaas oleks järjepidev ja hõlpsasti tulevikus hooldatav ja uuendatav. See tähendab kodeerimisstandardite ja parimate tavade kehtestamist, mida kõik järgivad. 

Seega oluline on tagada, et kood oleks hästi dokumenteeritud ja et mis tahes tehtud muudatustest saaksid teada ka kõik ülejäänud meeskonnad.

6. Vali õiged tööriistad

Õigete tööriistade ja protsesside kasutamine aitab erinevatel tarkvaraarenduse meeskondadel tõhusamalt koostööd teha. Meeskondadel peaks olema juurdepääs samadele platvormidele, nagu versioonikontrollisüsteemid, projektihaldustööriistad ja testimisraamistikud. Muidugi peaksid olema kasutusel ka samad suhtluskanalid ja suhtlustarkvara. Nii saavad kõik ühtemoodi aru, mida tehakse, vähendades kommunikatsioonihäirete ja vigade ohtu.

Samuti on tähtis, et olemas oleks selged protsessid koodi ülevaatamiseks, testimiseks ja juurutamiseks. Meeskondadel peab olema selge arusaamine arenduse töövoost ja koodiarenduse seisust.

Võib küll keeruline olla, aga sellest saab üle

Erinevate tarkvaraarenduse meeskondade koos töötamine võib olla keeruline, kuid oluline on tagada, et kõik tegutseksid sama eesmärgi nimel. Tõhus suhtlemine, planeerimine ja koostöö on edu saavutamise võti. 

Üks kõige olulisem meeskonnatöö praktika, mida järgida, on avatud suhtlemine. Suureks abiks on ka põhjaliku dokumentatsiooni pidamine. Tagasiside peab olema kiire ja võimalikult lühikese ahelaga (otse koodikirjutajalt ülemusele jms).

Lõppude lõpuks on muidugi olulised ka selged tööjuhised. Meeskond ei saa teha teiste tiimidega koostööd, kui pole selgeid ülesandeid.

Nende koostöö tavadega pole keeruline ka mitme tiimiga koostööd teha.

Mis on DigiPRO ja kes seda teevad? Loe siit

Populaarsed lood mujal Geeniuses

Kolm korda nädalas

Telli DigiPRO uudiskiri

Kolm korda nädalas (esmaspäeviti, kolmapäeviti ja reedeti) spetsiaalne DigiPRO liikmetele tehtud kommenteeritud uudiskiri, et sa midagi olulist maha ei magaks. Iga uudiskirja magnet on meie ajakirjanike kirjutatud pikem artikkel, mis meie arvates võiks selles valdkonnas töötavaid inimesi huvitada ja neile vajalik olla