Laadun kehittämisen merkitys on noussut jälleen esiin, kun kokonaiset toimialat siirtyvät etätoimintaan pyrkiessään samalla ylläpitämään prosessiensa ja tuotteidensa laatua.
COVID muutti koko maailman toimintaa. Kun hallitukset ottivat käyttöön sosiaalista etäisyyttä ja karanteeneja koskevia toimenpiteitä, yritysten oli keksittävä toimintatapansa uudelleen.
Testaajana, SDET:nä, QA-insinöörinä tai missä tahansa muussa yrityksesi laadun kehittämisestä vastaavassa roolissa työpäiväsi todennäköisesti häiriintyi.
Tehokas laadun kehittäminen etätyöympäristössä
Ennen pandemiaa työskentelin jo täysin etänä Auth0:ssa (maailmanlaajuisesti hajautetussa etätyöyrityksessä), ja olen työskennellyt etänä myös muissa yrityksissä.
Tässä artikkelissa jaan vinkkejäni, niksejäni ja prosessejani etätyön ja laadunvarmistuskäytäntöjen hallintaan. Kun laadun kehittämisen trendit kehittyvät nopeasti erityisesti etäympäristöissä, on tärkeää pysyä ajan tasalla työkaluista ja strategioista, jotka voivat tukea tätä muutosta.
Tärkein yleisluonteinen neuvo, jonka voin antaa, on valmistautua asynkroniseen viestintään – joudut usein odottamaan vuorovaikutusta, ja sinun on opittava tulemaan toimeen sen kanssa.
Kun otat käyttöön etätyökäytäntöjä, on tärkeää tunnistaa laadun kehittämisen ja laadunvarmistuksen välinen ero. Laadunvarmistus keskittyy yleensä virheiden havaitsemiseen jälkikäteen, kun taas laadun kehittäminen on kokonaisvaltaisempi ja ennaltaehkäisevä lähestymistapa, jolla varmistetaan laadun sisältyminen jokaiseen kehitysvaiheeseen.
Etätyötä tekevien QA-insinöörien strategiat ja vinkit
1. Vastuuvapauslauseke: tämä ei ole aivan normaalia liiketoimintaa
Pandemian aikana etätyöntekijöillä oli usein ylimääräistä stressiä ja paineita (lapsia kotona, sopimattomat työskentelyolosuhteet kotona, perheenjäsenten kuolemat tai sairaudet ja niin edelleen). Olitpa esihenkilön, johtajan, kokeneen työntekijän tai juniorin roolissa, on ratkaisevan tärkeää ymmärtää, että nykyinen tilanne ei vastaa normaalia. COVID oli poikkeustilanne (toivottavasti!), ja siksi se edellytti kaikilta ylimääräistä sopeutumista.
Esihenkilönä osoita alaisillesi, että olet valmis auttamaan. Teknisenä johtajana tai pääarkkitehtina anna tiimillesi suunta, mutta osoita myös olevasi ihminen ja että hekin voivat turvallisesti näyttää haavoittuvuutensa. Kaikkien muiden ei pidä tuntea painetta suoriutua tavalliseen tapaan – on ymmärrettävää, että asiat hidastuvat.
Yritysten tulisi tunnustaa, että tiimien etenemisvauhti hidastuu ja ettei etätyö ole tässä syyllinen. Nämä ovat ainutlaatuisia olosuhteita. Etätyön ansiosta yrityksesi voi toimia, vaikka ei täydellä nopeudella.
2. Koodikatselmoinnit ovat yksi parhaista laadun tarkistuspisteistäsi
Vaikka yrityksessäsi olisi perinteisesti ollut manuaalisempi laadun parissa työskentelevä rooli, koodikatselmointien pitäisi olla jo tutkallasi. Ne ovat usein tärkeä osa ohjelmistokehityksen elinkaarta ja toimivat kohtaamispisteenä, jossa ihmiset joutuvat viestimään keskenään parantaakseen koodin laatua ja estääkseen virheitä.
Etätilanteessa ne ovat erityisen tärkeitä, koska ne ovat luonnollinen rituaali, joka on yleensä jo käytössä, joten niiden noudattamista on helppo valvoa. Oikein käytettyinä ne auttavat aiemmin mainitsemieni asynkronisen viestinnän ongelmien kanssa. Oikean laadun kehittämiseen tarkoitetun ohjelmiston hyödyntäminen voi tehostaa koodikatselmointiprosesseja merkittävästi, sujuvoittaa viestintää ja vähentää virheitä ennen niiden syntymistä.
Have an account? Log In
Parhaat vinkkini koodikatselmointeihin:
- Kannusta ihmisiä tarkistamaan ensin oma työnsä: oman työn tarkistaminen on käytäntö, jossa koodimuutosta ehdottava henkilö tarkistaa myös itse oman koodinsa ja jättää hyödyllisiä kommentteja ennen julkisen tarkistuksen pyytämistä. Tämä vähentää tulevien tarkistajien hukkaan käyttämää aikaa ja voi jopa auttaa oman työnsä tarkistajaa löytämään pieniä, hölmöjä virheitä etukäteen;
- Suorita koodintarkistuksia pareittain tai ryhmätyöskentelynä: tämä on erityisen hyödyllistä tapauksissa, joissa PR koskettaa arkaluonteista koodia tai kyseessä on melko suuri muutos, kuten uudelleenjärjestely. Muutosta ehdottava henkilö voi liittyä videoneuvotteluun, jakaa näyttönsä ja esitellä PR:nsä tiimille tai kollegalle. Tämä auttaa todella nopeasti varmistamaan, että kaikki ovat samalla sivulla, ja voi parantaa merkittävästi koodin laatua.
- Ota kehittäjät mukaan automaatiokoodin tarkistamiseen: on tärkeää, että kehittäjät osallistuvat automaatio- ja testauskoodin tarkistamiseen. Näin heidän ymmärryksensä siitä, miten sovellusta testataan, pysyy ajan tasalla ja samanlaisen koodilaadun noudattamista voidaan edistää kaikessa koodissa;
- Varmista, että SDET:t ja testaajat tarkistavat sovelluskoodia: tämä on todella tärkeää. Laatuinsinöörien tulisi osallistua koodintarkistuksiin. Voit tehdä tämän, vaikka et olisi kovin tekninen (se on hyvä tapa selvittää, mitä sinun pitäisi oppia!). Et ainoastaan voi antaa arvokasta palautetta, vaan saat myös tietoa siitä, mitä sovelluksessa tarkalleen ottaen muuttuu (mikä saattaa jäädä sinulta huomaamatta uuden asynkronisen toimintaympäristön vuoksi). Tämä tieto auttaa sinua tekemään parempia testauspäätöksiä tiimin puolesta.
Jos sinulla ei vielä ole tiukkaa koodintarkistusprosessia, nyt on hyvä aika perustella sen parantamista. Se on perustavanlaatuinen työkalu aikana, jolloin synkroninen viestintä voi olla vaikeampaa.
Älä epäröi hyödyntää koodintarkistustyökaluja organisoinnin ja yhteistyön tukena.
3. Hyödynnä pariohjelmoinnin voimaa
En perehdy pariohjelmoinnin tai ryhmäohjelmoinnin yksityiskohtiin, sillä siitä saisi kokonaan oman artikkelinsa ja aiheesta löytyy runsaasti tietoa verkosta.
Halusin kuitenkin tuoda esiin, että tämä on erittäin arvokas työkalu tällaisena aikana. Työskenteletpä sitten toisen SDET:n kanssa testauskoodin parissa tai muodostat parin kehittäjän kanssa sovelluskoodin työstämistä varten, mielestäni tämä on erinomainen käytäntö, joka auttaa vahvistamaan tiimihenkeä, jakamaan tietoa sekä parantamaan koodin ja sovelluksen laatua.
Tässä on joitakin yleisesti esitettyjä kysymyksiä pariohjelmoinnista sekä niiden vastaukset:
Mitä pariohjelmointi on?
Kuten nimi kertoo, pariohjelmointi on toimintaa, jossa kaksi henkilöä osallistuu yhdessä saman koodin kirjoittamiseen. Sitä voidaan tehdä myös useamman henkilön voimin, jolloin sitä kutsutaan yleensä ryhmäohjelmoinniksi.
Miten pariohjelmointi toimii?
Pariohjelmoinnissa on yleensä ohjaaja (joka kirjoittaa koodia) ja navigoija (tai tarkkailija). Tämä toimii hyvin etäneuvottelutyökaluissa, joissa yksi henkilö voi jakaa näyttönsä ja kirjoittaa koodia ja toinen voi tehdä ehdotuksia, kommentteja tai muistutuksia tai auttaa havaitsemaan ja ehkäisemään virheitä.
Mitä työkaluja käytät pariohjelmointiin?
Jos haluat tehdä yhteistyötä, esimerkiksi VS Codeen on kehitetty erinomaiset yhteistyöominaisuudet (Visual Studio Live Share), joiden avulla useat ihmiset voivat työskennellä jaetun projektin parissa. Se toimii paljon paremmin kuin voisi kuvitella – se on erittäin tehokas ja toimii todella hyvin sellaisten ihmisten kanssa, jotka tuntevat toisensa jo ennestään tai joiden työskentelytyylit ovat samankaltaiset.
Voiko pariohjelmointia tehdä teknisesti suuntautumattomien ihmisten kanssa?
Kyllä, ja se on erinomainen tilaisuus kehittää sekä mentorointitaitoja että tiimin teknistä osaamista.
Onko sinulla kehittäjiä, jotka ovat erityisen kiinnostuneita opettamisesta tai joilla on ehkä kokemusta työpajojen tai opastusten järjestämisestä? He voivat muodostaa kanssasi parin ja opastaa sinua koodikannan läpi, jolloin saat lisää kokemusta, jos teknistä osaamista ei vielä ole paljon.
Entä testaaminen?
Kokeile testaamiseen menetelmää, jota kutsun nimellä ”käänteinen pariohjelmointi”. Se kannustaa toimimaan pariohjelmoinnin vastaisesti ja muuttuu sen sijaan pari- tai ryhmätestaukseksi. Muodosta pari kehittäjien kanssa ja näytä heille, miten testaat sovellusta, pyydä heitä auttamaan sen testaamisessa tai toimikaa päinvastoin! Tämä on todella hyödyllinen tapa käsitellä monimutkaisia ongelmia. Lue aiheesta ideoita Maaret Pyhäjärven toisesta erinomaisesta artikkelista.
4. Järjestä etätestaussessioita tiimityön ja yhteistyön tueksi: virhejahti-, pelipäivä- ja muita vastaavia tapahtumia.
Testaussessiot (joita kutsutaan joskus myös virhetalkoiksi, pelipäiviksi jne.) ovat yleensä tiimin toteuttamaa yhteistyötoimintaa.
Niiden tarkoituksena voi olla tietyn uuden ominaisuuden testaaminen, tai ne voidaan järjestää säännöllisesti sovelluksen testaamiseksi. Oikeat laatuinsinöörityökalut voivat muuttaa tilanteen täysin näiden yhteistyösessioiden aikana tarjoamalla reaaliaikaisia näkemyksiä ja yksinkertaistamalla monimutkaisia testiympäristöjä.
Ajatuksena on tuoda tiimin jäsenet ja tiimin ulkopuoliset henkilöt yhteen eri aloilta (kehitys, testaus, tuote, suunnittelu, liiketoiminnan sidosryhmät jne.) testaamaan sovellusta. Kehittäjinä tai testaajina meillä saattaa joskus olla puolueellinen ja teknisesti painottunut käsitys siitä, miltä sovelluksen pitäisi näyttää, joten muiden sidosryhmien näkemykset voivat tarjota erittäin arvokasta palautetta.

Halusin nostaa tämän esiin, koska mielestäni tällainen toiminta on erittäin hyödyllistä näinä aikoina. Se tuo tiimejä yhteen ja kannustaa eri osastojen väliseen viestintään ja yhteistyöhön, minkä ansiosta voidaan mahdollisesti löytää virheitä tai virheellisiä määrityksiä, jotka muuten saattaisivat jäädä huomaamatta.
Etänä järjestäminen voi tietenkin olla haastavaa, joten tässä on muutamia vinkkejä siihen (ja näiden sessioiden järjestämiseen yleisesti).
Vinkkejä etätestaussessioiden järjestämiseen:
- Nämä pitäisi pystyä järjestämään videoneuvottelutyökalun avulla. Varmista, että käytettävissä on myös keskustelukanava (jos käytät Slackia, voit ehkä luoda tätä varten erillisen Slack-kanavan);
- Kun tarvitaan tiettyjä laitteita (esimerkiksi matkapuhelimia tai olohuoneen laitteita), varmista etukäteen, mitä laitteita osallistujilla on. Jos testaat iOS-sovellusta ja kutsut mukaan henkilön, jolla ei ole iPhonea, kaikkien aika menee hukkaan;
- Nimeä aina yksi tai useampi vastuuhenkilö jokaista sessiota varten. Heidän tulee auttaa sen järjestämisessä etukäteen, valmistella osallistujille tarvittavat dokumentit tai asetukset sekä ohjata sessiota;
- Osallistujille kannattaa laatia selkeät asennusohjeet ja tarjota ne heidän käyttöönsä ennen sessiota. Sessioon käytettävä aika kannattaa käyttää testaamiseen, ei asentamiseen;
- Kannattaa myös antaa selkeät ohjeet ongelmien ilmoittamiseen, vaikka ohje olisi vain “julkaise se kanavalla” (sen sijaan että kaikki yrittäisivät ilmoittaa ongelmista samanaikaisesti neuvottelupuhelussa);
- Laadi sessiolle suunnitelma. Tällaisissa tilanteissa on hyödyllistä, että osallistujat noudattavat jonkinlaista käsikirjoitusta tai vähintään suunnitelmaa siitä, mitä tarkastellaan;
- Tästä huolimatta kannusta tutkivaan testaukseen, mutta pidä mielessä, että jotkut saattavat tarvita hieman rohkaisua tutkimisen aloittamiseen.
- Näitä voidaan edelleen järjestää myös enemmän taustajärjestelmiin keskittyvissä järjestelmissä. Mielenkiintoinen harjoitus voisi olla muuttaa sessio kaaostekniikan kokeiluksi teknisesti suuntautuneemmalle yleisölle. AWS:llä on näistä oma versionsa nimeltä pelipäivät, joista voi saada ideoita.
- Kannusta hauskanpitoon! Nämä voivat olla erittäin viihdyttäviä, kun ne toteutetaan oikein – käytin itse aikoinaan Miniclipillä järjestämissäni testaussessioissa Game of Thronesin hahmoja pelillistämiseen.
Voit löytää aiheesta myös yksityiskohtaisempaa tietoa tästä blogikirjoituksesta, jossa käsitellään useita edellä mainitsemiani asioita.
5. Hallitse vapaa-aikaasi viisaasti – vahvista laatuinsinöörityötaitojasi
Kuten olen maininnut, sinun on totuttava asynkroniseen viestintään. Testauksen maailmassa (tiimisi toimintatavoista riippuen) testaajan tehtävät voivat usein riippua siitä, että kehitystyö on saatu päätökseen. Kun tiimit etenevät hitaammin ja viestintä toimii eri tavalla, saatat huomata, että sinulle jää ylimääräistä aikaa.
Muistan, että eräällä entisen yritykseni kollegalla oli tapana sanoa päivittäisessä tilannepalaverissa “Olen estynyt asian x vuoksi”, minkä jälkeen hän vietti päivän odottaen tilanteen vapautumista. Jossain vaiheessa autoin häntä kehittämään taitojaan eri alueilla, ja yksi työstettävistä asioista oli juuri tämä ajattelutapa. Tämä pätee erityisesti nyt, kun mahdollisten joutoaikojen lisääntymisen lisäksi olet mukavasti kotona ja ympärilläsi on paljon häiriötekijöitä.
On tärkeää, että hallinnoit ajankäyttöäsi ja pidät kirjaa asioista, joiden oppimisesta olet kiinnostunut.
Tässä on muutamia esimerkkejä asioista, joita voit tehdä vapaa-ajallasi:
- Oletko keskittynyt enemmän manuaaliseen laadunvarmistukseen? Ehkä haluat käyttää aikaa automaation opetteluun.
- Onko sinulla paljon käyttöliittymäkehityksen osaamista? Ehkä sinun kannattaisi käyttää aikaa myös palvelinpuolen taitojen kehittämiseen.
- Saatavilla on paljon erinomaisia ilmaisia resursseja, kuten freeCodeCamp tai Youtube, sekä edullisia vaihtoehtoja, kuten Udemy (siellä on usein tarjouksia). Lisäksi monet konferenssit ovat siirtyneet etämuotoon koronaviruksen vuoksi, ja joihinkin voi osallistua ilmaiseksi (esimerkiksi OnlineTestConf)!
- Tai ehkä haluat oppia lisää sovelluksesta perehtymällä sen koodiin.
- Ehkä tiedät myös, että uusi projekti on alkamassa ja sinun on opittava sitä varten uusi taito.
- Lisäksi voit käyttää tämän ajan uusien ideoiden prototyyppien tekemiseen, teknisen velan siivoamiseen, dokumentointiin ja muuhun vastaavaan.
Sillä ei oikeastaan ole väliä. Valitse itsellesi sopivia asioita, mutta panosta henkilökohtaiseen kehittymiseesi.
Se ei tarkoita, ettet voisi pitää taukoa (onhan kyseessä maailmanlaajuinen pandemia). Ihmiset ymmärtävät sen. Laadunvarmistustaitojesi kehittäminen tai itsesi kehittäminen on kuitenkin arvokasta, erityisesti tällaisina aikoina, kun työmarkkinat ovat romahtaneet.
More Articles
6. Käytä tiimitoimintaa ihmissuhteiden kehittämiseen
Lopuksi haluan todeta, että vaikka tämä ei varsinaisesti liity testaamiseen, pidän tärkeänä tiimin yhteisen toiminnan edistämistä. Nuo ihmissuhteet ovat tärkeitä ja tarjoavat tervetulleen irtioton työstä. Toimistoympäristössä niitä syntyy yleensä luontevammin, esimerkiksi lounaalla, kahvitauolla tai jopa samassa huoneessa heitetyn satunnaisen kommentin kautta.
Muutamia vinkkejä ihmissuhteiden rakentamiseen etäympäristössä:
- Nykyisessä tiimissäni otimme juuri käyttöön Donut Slack -sovelluksen tiimimme kanavalla. Se yhdistää meidät joka viikko sattumanvaraisesti yhden tiimin jäsenen kanssa keskustelua varten – voimme puhua siellä mistä tahansa.
- Meillä on myös perjantainen kirjakerho, jossa jaamme vuorotellen tietoa keskenämme (keskitymme työssä merkityksellisiin aiheisiin, mutta aihe voi olla mikä tahansa!);
- Järjestäkää kanavalla tiimin yhteisiä lounaita tai kahvitaukoja, jolloin vietätte aikaa yhdessä samalla tavalla kuin toimistolla. Tämä toimii tietysti parhaiten, jos olette kaikki samankaltaisilla aikavyöhykkeillä;
- Järjestäkää tietovisoja tai pelatkaa verkkopelejä yhdessä silloin tällöin. Jackbox Party Pack on erinomainen esimerkki asiasta, joka toimii erittäin hyvin etäympäristössä.
Liity saadaksesi lisää näkemyksiä
Jos haluat lisää laadunvarmistukseen liittyviä vinkkejä, neuvoja ja strategioita, tilaa The CTO Clubin uutiskirje ja pysy ajan tasalla uusimmista näkemyksistä. Autamme sinua kasvattamaan toimintaasi älykkäämmin ja johtamaan vahvemmin huippuasiantuntijoiden oppaiden, resurssien ja strategioiden avulla!



