Kaugtööna paarisprogrammeerimine võib tunduda keeruline, sest mõlemad arendajad peavad nägema sama ekraani, kasutama sama arenduskeskkonda ja töötama samal ajal ühe ülesandega. Õigete ekraanijagamis- ja suhtlusvahenditega on see siiski täiesti tehtav.
Kui COVID-19 viis meid kodukontoritesse, katsetasime mitut lahendust. Mõni töötas paremini kui teine, kuid ükski polnud ideaalne. Meie nõuded olid selged: ekraani, klaviatuuri ja hiire jagamine, kõneside ning tugi erinevatele operatsioonisüsteemidele.
Kõneside ja suhtlus klientidega
K: Kuidas paar omavahel räägib?
V: Kasutasime peamiselt Discordi. See on töökindel, liitumine on lihtne ja lahendus sobib hästi pikkadeks arendussessioonideks.
K: Kuidas suhtleme klientidega?
V: Videokohtumistel kasutame tavaliselt kliendi eelistatud keskkonda, näiteks Zoomi, Skype'i või Teamsi. Lühemate ja pidevate arutelude jaoks sobivad Fleep või Slack.
Paarisprogrammeerimise tööriistad, mida katsetasime
Kõige paremini vastasid meie vajadustele Steam Remote Play ja AnyDesk. Mõlemal on selged eelised ja puudused. Lisaks proovisime Floobitsi ning jälgisime Tuple'i arengut.
Steam Remote Play
Steam Remote Play on loodud mängude striimimiseks, kuid selle väikese viivitusega ühendus sobib üllatavalt hästi ka tarkvaraarenduseks.
Eelised:
- Kogu töölaua jagamine
- Mitme monitori tugi
- Klaviatuuri ja hiire jagamine
- Tasuta kasutamine
- Otsene ühendus arvutite vahel
Puudused:
- Hostarvuti peab mängustriimimiseks piisavalt võimekas olema
- Mõlemas arvutis peab olema ajakohane kliendiversioon
- Aeglasema ühenduse või suure resolutsiooni korral võib pilt muutuda uduseks
- Mõned süsteemsed klahvikombinatsioonid, sealhulgas
Alt+Tab, ei pruugi töötada - Windowsi klahv ei pruugi toimida
- Esmane seadistamine pole päris lihtne
Meie kogemuses andsid kaabliga internetiühendus ja 1440p resolutsioon hea tasakaalu pildikvaliteedi ning reageerimiskiiruse vahel.
AnyDesk
Eelised:
- Kogu töölaua jagamine
- Klaviatuuri ja hiire jagamine
- Süsteemsed klahvikombinatsioonid töötavad
- Lihtne seadistada
Puudused:
- Sisendi lukustus võib olla häiriv, kui mõlemad soovivad samal ajal hiirt või klaviatuuri kasutada
- Eraldi kursorid ja nimesildid lisavad ekraanile müra
- Ärikasutus on tasuline
Sisendi lukustamise loogika oli meie jaoks suurim puudus. Ilma selleta oleks AnyDesk olnud Steam Remote Play'le tugevam alternatiiv.
Floobits
Eelised:
- Iga arendaja töötab oma kohalikus keskkonnas
- Toetab mitut IDE-t
- Tavapärased klahvikombinatsioonid säilivad
- Sobib hästi ühise koodi redigeerimiseks
Puudused:
- Kood sünkroonitakse keskse teenuse kaudu, mitte otse arvutite vahel
- Ärikasutus on tasuline
Floobits ja sarnased IDE-laiendused toimivad hästi, kui paar tegeleb ainult koodi kirjutamisega. Meie töö hõlmab ka veebilehitsejat, terminali, vestlusrakendusi, andmebaasiklienti ja teisi vahendeid, mistõttu ainult redaktori jagamisest ei piisa.
Tuple
Eelised:
- Loodud spetsiaalselt paarisprogrammeerimiseks
Puudused:
- Meie hindamise ajal oli saadaval ainult macOS-ile
Plaanisime lahendust proovida, kui Linuxi versioon muutub kättesaadavaks.
Mida kaugtöö paarisprogrammeerimisest õppisime
Kaugtöö populaarsus tõi turule palju uusi koostöövahendeid ning ükski meeskond ei jõua neid kõiki proovida. Sobiv lahendus sõltub operatsioonisüsteemidest, võrgu kvaliteedist, turvanõuetest ja sellest, kas jagada tuleb ainult koodiredaktorit või kogu töölauda.
Eelistame endiselt kontoris koos töötamist, kuid töökindel kaugühendus võimaldab jätkata paarisprogrammeerimist ka kodust. See on kasulik mitte ainult eriolukorras, vaid ka tavalisel päeval, mil inimene suudab töötada, kuid ei taha näiteks nohu kolleegidega jagada.