Paarisprogrammeerimine on agiilne tarkvaraarenduse praktika, kus kaks arendajat töötavad sama ülesande kallal koos. Nad võivad kasutada ühte töökohta või eraldi klaviatuure, hiiri ja monitore, mis on ühendatud sama arvutiga. Meie kontorilahenduses on üks arvuti, kaks klaviatuuri, kaks hiirt ja kaks sama sisu kuvavat ekraani.
Kuidas paarisprogrammeerimine töötab
K: Millised on kahe arendaja rollid?
V: Üks arendaja on juht ja kirjutab koodi. Teine on vaatleja, kes jälgib lahendust selle tekkimise ajal. Paar arutab disainiotsuseid, märkab vigu varakult ja vahetab rolle regulaarselt.
K: Kuidas vaatleja juhti aitab?
V: Juht saab keskenduda teostusele, samal ajal kui vaatleja hoiab silmas suuremat pilti. Ta saab pakkuda alternatiive, märgata võimalikke vigu ja esitada küsimusi enne, kui nõrk otsus jõuab koodibaasi kinnistuda. Paarisprogrammeerimine näitab hästi, miks kaks pead võivad olla parem kui üks.
K: Kas kaks arendajat ei oleks eraldi töötades produktiivsemad?
V: Mõnikord küll, kuid mitte alati. Paarisprogrammeerimine suurendab keskendumist, lühendab tagasisideahelat ja vähendab aega, mis kulub keerulise probleemi üksi lahendamisele. Pausid on endiselt vajalikud, kuid paar teeb neid tavaliselt koos ja naaseb tööle ühise kontekstiga.
Paarisprogrammeerimise eelised ja puudused
Tulemus sõltub meeskonnast, projektist ja inimeste tööstiilist. Meie kogemuse põhjal on peamised eelised järgmised.
Eelised:
- Koodibaasi jagatud omand
- Parem keskendumine ülesandele
- Vähem defekte ja kiirem tagasiside
- Uute arendajate kiirem kaasamine
- Tugevam meeskonnasisene suhtlus
- Pidev teadmiste jagamine
- Kohesed arutelud, mis parandavad lahenduse kvaliteeti
- Vähem aega keeruliste probleemide üksi lahendamisele
Mõneminutiline arutelu paarilisega võib säästa tunde katsetamist.
Puudused:
- Paarisprogrammeerimine ei sobi kõigile
- Praktika ei toimi, kui üks osaleja jääb passiivseks
- Mõlemad peavad oskama kuulata, oma mõtteid selgitada ja koostööd teha
- Väikeste, rutiinsete või hõlpsasti jagatavate ülesannete puhul ei pruugi paarist kasu olla
Kas paarisprogrammeerimine maksab kaks korda rohkem?
Mitte tingimata. Vastus sõltub projekti mahust ja keerukusest. Väikese ning lihtsa ülesande puhul võib paarisprogrammeerimine anda vähe lisaväärtust. Pikaajalises või tehniliselt nõudlikus projektis võivad paremad otsused, vähem vigu, jagatud teadmised ja kiirem sisseelamine vähendada kogukulu.
Paarisprogrammeerimine on lai teema ja üks tööviis ei sobi kõigile. Põhjalikumaks lugemiseks vaata ingliskeelset teadusuuringute kogumikku paarisprogrammeerimisest.