Code Code Baby

Feb 4, 2020 | Blog, Software Products

”Työskentelen Profit Softwaren kehitystiimissä ohjelmistokehittäjänä. Tyypillinen työpäiväni alkaa sillä, että tarkastan työn alla olevista tehtävistä kommentit, joita asiakkaat tai kollegani ovat minulle laittaneet. Jos eteeni tulee akuutteja asioita, joita ei ole vielä informoitu Scrum Masterille**, välitän ne eteenpäin.

Tiimissämme on tällä hetkellä käytäntö, jossa pidämme joka-aamuisen scrum-palaverin. Neljänä päivänä viidestä hoidamme sen Slackissa. Kommentoimme toisillemme mahdollisista vinkeistä, minkä lisäksi toiminnallisuuksista käydään keskusteluja eri kanavissa pitkin päivää. Osa tiimistämme työskentelee etänä, pääosa istuu toimistolla, mikä luo mukavasti etenemisen meininkiä.

If there was a problem, Yo, I’ll solve it*

Ennen uuden toiminnallisuuden työstämistä tutustun vaatimuksiin. Hahmotan, millainen uusi ratkaisu voisi olla, dokumentoin asiaa ja listaan tekemiseen liittyviä vaiheita. Uusi toiminnallisuus ei synny yksin, vaan mukana on tiimi kehittäjistä testaajiin.

Seuraavaksi alan rakentamaan toiminnallisuudelle omaa sivuhaaraa. Näitä kutsutaan termillä ”branch”. Rakennan työstämälleni toiminnallisuudelle haaran versionhallintaan ja laitan työvedoksen talteen. Koodaan toiminnallisuuteen liittyvät muutokset eri kirjastoihin ja tutkin, miten olemassa olevat testit eri menetelmillä kattavat näitä kirjastoja. Varaudun kirjoittamaan sopivan määrän yksikkö- ja integraatiotestejä.

Välillä sukellan internetin ihmeelliseen maailmaan tutkimaan ratkaisumalleja tai keskustelen kollegoideni kanssa. Rakennan koodauksen aikana muutamaa laajempaa testitapausta, joilla voin nopeasti toistaa tämän toiminnallisuuden sekä siihen liittyviä muita, jo olemassa olevia toiminnallisuuksia. Tämä varmistaa sen, että voin muokata koodia ilman regressio-ongelmia.

All right stop, Collaborate and listen*

Toiminnallisuuden testauksessa olemassa olevan version päälle tehdään muutokset kyseistä toiminnallisuutta koskien ja rakennetaan tästä edelleen versio testiin. Version voi kuka tahansa ladata käyttöönsä ja asentaa sellaisiin ympäristöihin, joissa voidaan ajaa testipattereita.

Yleensä pyydän viikoittaisesta demokokouksesta aikaa, jolloin voin esitellä aikaansaannokseni. Kollegat ja asiakas katselmoivat demoni antaen lisätarkennuksia. Hoidan tarvittavat tarkennukset, testaajakollega puolestaan listaa testit, jotka kannattaa automatisoida. Testauksen aikana tarkkailemme kattavuuden nousua ja ideoimme asioita, jotka tulee verifioida tutkivan testauksen kautta.

Kun toiminnallisuus on mielestäni vaiheessa, jossa senior-kehittäjä voi sen käydä läpi, teen katselmointipyynnön. Tämän jälkeen koodi ja testit ovat ohjelmistomme päähaarassa, joka paketoi kokonaisuutta useita kertoja päivässä.

Varmistan lopuksi, että ratkaisun kuvauksen dokumentaatio on ajan tasalla ja tiketit on leimattu oikeaan releaseen. Raportoin korjatut virheet ja kuvaan vaiheet, joilla korjaus on toistettavissa sekä juurisyyn, miksi virhe on päässyt läpi. Testaajakollega ja katselmoinnista vastaava hoitavat tässäkin omat tehtävänsä ja työ luistaa.

Love it or leave it*

Tiimissä käymme läpi retrospektiivin: mitä tekemistä jatketaan, mitä käynnistetään ja vielä sekin, mitä lopetetaan. Meillä on mukavan arvostava ilmapiiri, jossa kaikkien havainnot ja ideat tulevat kuulluksi ja niillä on merkitystä.

Minulle tiimimme työn merkityksellisyys on tärkeää. Kehitämme yhteiskunnan toiminnan kannalta kriittistä ohjelmistoa ja pidämme sen laadun korkealla tasolla aktiivisilla toimilla. Hyödynnämme moderneja työkaluja sekä menetelmiä meidän tiimiimme sopivalla tavalla. Opimme lisää sekä liiketoiminnasta että teknologioista.

Asiakkaan kanssa kommunikoiminen on työssämme onnistumisen avain. Asiakas antaa meille palautetta, niin kehityskohteista kuin onnistumisista, ja arvostaa tiimimme kokonaissuoritusta. Koen olevani omalla kentälläni asiantuntijatyössä, jossa saan esitellä työtäni ja tehdä hommia yhdessä muiden kanssa.”

Oheinen tarina on totta ja perustuu Profit Softwaren kehittäjän aka devaajan haastatteluun. Jos kiinnostuit ja haluat oman työpäiväsi kuulostavan samalta, tutustu avoimiin työpaikkoihimme osoitteessa: https://careers.profitsoftware.com/.

*) Alkuperäiset sanat kappaleesta Vanilla Ice: Ice Ice Baby

**) Tuntuuko termistö hankalalta? Ei huolta, olemme koonneet alle IT-jargon-suomi -sanakirjan:

Feature
Toiminnallisuus. Toiminnallisuus voi liittyä esimerkiksi siihen, miten järjestelmä toimii tietyssä tilanteessa.

Issue branch build
Olemassa olevan version päälle tehdään sivuhaara uudelle toiminnallisuudelle.

Regressio-ongelma
Kun järjestelmästä korjataan koodivirhe ja testataan, että korjaus toimii. Tämän jälkeen huomataan, että jokin muu asia ei enää toimikaan kuten aiemmin. No niin, korjaus on siis rikkonut jotain muuta ennalta määrättyä toiminnallisuutta, joten muutos aiheutti regressiota.

Release
Release eli julkaisu. IT-maailma ei eroa muusta maailmasta: uusi release on entistä ehompi versio edellisestä.

Retrospektiivi
Suomeksi: miten meillä meni. Katsaus menneeseen, onnistumisiin, kehityskohteisiin ym. yhdessä tiimin kanssa.

Scrum Master
Scrum on ketterässä ohjelmistokehityksessä yleisesti käytetty projektinhallinnan viitekehys. Scrum Master luotsaa kehitystiimiä.

News

Profit Software rebrands as Evitec to support Nordic expansion

Profit Software is a leading provider of system solutions and consulting services to the Nordic financial service industry. It also offers analytics and information management services across multiple industries. The company is now starting a major rebranding project...

Blog

Tuotekehitystä ketterästi ja yhdessä oppien

Tässä sisältösarjassa tuomme esille Profit Softwaren eri kehittäjätiimejä. Nyt esittelyvuoron saa Mikan ja Teron johdolla tuotetiimimme, joka on erikoistunut Profit Life & Pension -järjestelmään tunnetussa ja pitkäaikaisessa finanssialan asiakkuudessamme. Mika...

Mitä löytyy modernin sopimushoitojärjestelmän ytimestä?

Digitalisaatio on jo monen vuoden ajan ollut kestopuheenaihe vakuutusalalla. Koronaviruksen tuoma paine pystyä palvelemaan asiakkaita etäyhteyksin kiihdytti keskustelua entisestään. Yhtiöt ovatkin viimeistään koronan myötä kehittäneet asiakasrajapinnassa tapahtuvaa...

Alanvaihtajina IT-alalla

Haastattelimme kolmea, jo pitkän uran vakuutus- ja pankkialalla työskennellyttä profitlaista: Annikaa, Elkaa ja Maijaa. Annikalla ja Elkalla on takanaan parisenkymmentä vuotta työskentelyä vakuutusalalla, Maijalla on pitkä kokemus pankkimaailmasta. Alanvaihtajina...

Me tarjoamme turvallisen alun tech-uraansa aloitteleville

Alkuvuoden 2022 aikana olemme saaneet yli kaksisataa työhakemusta juniorpositioihin eri paikkakunnille. Loistavista hakijoista valitsemme keväällä aloittamaan eri tiimeissämme toistakymmentä nuorta osaajaa. Meillä on kokemusta jo useiden vuosien ajalta uraansa...

Profit Software tarjoaa monipuolisia haasteita junior-kehittäjille

Ilmari tuli Profit Sofwarelle töihin vuoden 2021 toukokuussa. Hän on opiskellut Lappeenrannan yliopistossa tuotantotaloutta, pääaineenaan data-analytiikka päätöksenteossa. Etsiessään kesätöitä hän löysi Profit Softwaren työpaikkailmoituksen ja kiinnostui lukemastaan....