Leonidaslaiset @Raisio-konserni

Leonidas on toteuttanut Raisio-konsernille kaksi nopeaa protoa. Ensimmäinen oli maataloustuottajien viljavaraston hallintaa helpottava sovellus siilokirjanpitoon ja toinen ruokintasuunnitelmia tarjoava mobiilisovellus Ruoksu. Projekteissa oli mukana Leonidakselta viisi työntekijää, joista haastattelussa nyt käyttöliittymäsuunnittelija Noora Pirttilahti ja ohjelmistokehittäjä Cihan Bebek.

Mikä oli sinun osuutesi Raision Siilokirjanpito- ja Ruoksu-projekteissa?

Cihan: Siilokirjanpito on ensimmäisiä projekteja, joita Leonidaksella aloin kehittää. Siilokirjanpito oli taloon tullessani jo olemassa oleva projekti, mutta siitä uupui vielä muutama Raision toivoma ominaisuus. Hyppäsin projektiin nopeasti sisään ja toteutin toivotut ominaisuudet sovellukseen.

Ruoksun kehittämiseen pääsin mukaan jo projektin alkuvaiheessa ja toteutimme ohjelmiston tiukassa yhteistyössä Nooran kanssa. Mietimme keskenään ja Raision kanssa kommunikoiden, miten Ruoksun ominaisuuksien kuuluisi toimia, jotta ne olisivat loogisia ja helppoja käyttää. Suunnittelun jälkeen minä ohjelmoin ominaisuuksien logiikan sekä palvelin- että käyttöliittymäpuolelle ja Noora toteutti käyttöliittymän ulkoasun.

Noora: Ruoksussa päätehtäväni oli sovelluksen interaktioiden ja käyttöliittymän suunnittelu, jonka lisäksi tein jonkin verran front end -ohjelmointia.

Miten perehdyit Raision projekteihin?

Cihan: Molempiin projekteihin tutustumisen teki helpoksi yhdessä Raision kanssa suunniteltu speksi siitä, mitä projektien kuuluu toteuttaa. Tämän mahdollisti hyvä keskusteluyhteys ja suunnittelutyö Raision kanssa. Raision henkilöt pystyivät kuvailemaan realistisia esimerkkejä, miten maataloustuottajat saattaisivat Siilokirjanpitoa ja Ruoksu-sovellusta käyttää. Tämän perusteella pystyimme suunnittelemaan ohjelmistojen ominaisuuksien käytön vastaamaan kuvattuja käyttötilanteita.

Noora: Tutkailin aiempaa Siilokirjanpito-projektia ja sen toiminnallisuutta. Se on käyttöliittymältään hyvin yksinkertainen siinä mielessä, että perustoimintojen on sujuttava nopeasti ja vaivatta. Tätä näkökulmaa toin myös Ruoksu-sovellukseen. Taustatietoina saimme paperiset ruokintasuunnitelmat, jotka ohjelmiston olisi tarkoitus digitalisoida. Keskustelimme asiakkaan kanssa ongelmista, jotka johtuivat ruokintasuunnitelmien paperisuudesta: ne voivat jäädä täyttämättä tai voidaan täyttää muistin varassa useita päiviä myöhemmin. Näiden keskusteluiden pohjalta pääsin miettimään, kuinka kyseisiä ongelmia olisi mahdollista kiertää teknologian avulla. Pallottelimme Harrin ja Cihanin kanssa ideoita ja ajatuksia, joiden pohjalta lähdin tekemään ensimmäisiä käyttöliittymäkuvia.

Millä teknologioilla työskentelit?

Noora: Ensimmäisiä luonnoksia tein Sketchillä, josta siirryin nopeasti React.js:n pariin, jotta Cihan pääsi tekemään toiminnallisuutta ensimmäiseen iteraatioon.

Cihan: Molemmat projektit jakavat saman backendin eli palvelinohjelmiston ja tietokannan. Palvelin käyttää Node.js:ää Express-frameworkilla ja Postgresiä tietokantanaan. Node.js/Express ovat edelleen loistavat työkalut palvelimien rakentamiseen ja Postgres on varma ja luotettava valinta tietokannaksi.

Siilokirjanpidon frontend on toteutettu Jade/Stylus/Knockout.js stackilla. Knockout.js on hyvä ja helppokäyttöinen kevyt kirjasto dynaamisten käyttöliittymien toteuttamiseen. Jade ja Stylus helpottavat käyttöliittymän näkyvien osien (HTML/CSS) toteuttamista.

Ruoksun frontend on toteutettu Reactilla. React on loistava moderni työkalu käyttöliittymien rakentamiseen. Ruoksu käyttää Reduxia ohjelman tilan hallitsemiseen. React/Redux on moderni ja arvioni mukaan kauaskantoinen teknologiavalinta. React on jo erittäin suosittu, ja uskon, että sen suosio tulee seuraavina vuosina vain kasvamaan.

Molemmat projektit käyttävät paketinhallintaa ja skriptejä, jotka tekevät projektin kehitysympäristön pystyttämisestä ja muutosten julkaisemisesta tuotantoon helppoa. Ohjelmiston kehittäjä voi siis keskittyä itse ominaisuuksien tekemiseen ja ongelmien korjaamiseen, eikä kehitys- ja tuotantoympäristöjen kanssa säätämiseen.

Millaisia asioita oli sovelluksen käyttöliittymässä huomioitava, kun sovellusten käyttöpaikkana on viljavarastot ja navetat?

Noora: Käyttöliittymän piti olla erityisen yksinkertainen ja selkeä, jotta se olisi oikeasti hyödyllinen käyttöolosuhteissa. Ruokintasuunnitelman rehumääriä mitatessa ei ole aikaa pohtia, mikä on workflow’n seuraava vaihe, ja puhelimen kanssa ei siinä tilanteessa juuri ehdi näpertää. Helppokäyttöisyyden ja -lukuisuuden lisäksi visuaaliseen ilmeeseen vaikuttivat Raision omat värit kuten Siilokirjanpidossakin.

Cihan: Projektien ajatuksena oli, että maataloustuottajat voisivat käyttää ohjelmistoja tilalla kulkiessaan. Rakensimmekin käyttöliittymän ensin toimimaan sulavasti mobiililaitteilla, ja vasta sitten mietimme sen käyttöä pöytäkoneilla ja kannettavilla tietokoneilla. Näin varmistimme ohjelmistojen helppokäyttöisyyden puhelimilla ja tableteilla, jotka molemmat asettavat perinteisiin tietokoneisiin verrattuna omia rajoitteitaan, kuten pienemmät näytöt ja kosketuskäyttöliittymä. Vaikka ohjelmistot onkin rakennettu “mobile first”, ne toimivat loistavasti myös desktopilla.

Miten projektit etenivät?

Cihan: Siilokirjanpitoa oli mukava ja helppo kehittää, sillä kollegani ohjelmoima codebase oli hyvälaatuista ja tehty moderneilla, järkevästi valituilla teknologioilla. Nitistimme bugit ja lisäsimme uusia ominaisuuksia ripeässä aikataulussa.

Ruoksu-sovelluskin eteni hyvässä tahdissa, sillä jälleen teknologiat olivat kätevät ja tekeminen oli mukavaa. Nooran kanssa työskentely oli sujuvaa ja pystyimme hyvin toimimaan rinnakkain siten, ettei kummankaan työskentely odottanut toista.

Molemmissa projekteissa kävimme jatkuvasti keskustelua Raision kanssa siitä, mitä on tarpeellista toteuttaa ja missä järjestyksessä.

Noora: Ruoksu eteni varsinkin alussa nopeasti: olimme yhteydessä Raision suuntaan ja iteroimme ohjelmaa jatkuvasti heidän palautteensa pohjalta.

Millaisia kokemuksia projekteihin liittyvät tutustumiskäynnit olivat?  

Cihan: Pääsin Harrin ja Nooran kanssa käymään Raisiolla. Kokemus oli mielenkiintoinen, ja oli hauskaa nähdä Raision tehtaat ensimmäistä kertaa. Siellä suunnittelimme raisiolaisten kanssa Ruoksu-sovelluksen tarpeita ja pohdimme, miten sovelluksen käyttäjät tulisivat sitä käyttämään.

Noora: Se yllätti, kuinka paljon suuremmilla maitotiloilla jo käytetään erilaisia ohjelmistoja ja teknologiaa helpottamaan päivittäistä työtä. Maitotilavierailulla oleellisinta oli nähdä, kuinka teknologia helpotti arkea. Sen pohjalta oli hyvä miettiä, kuinka saman tyyppistä helpotusta voisi tarjota myös pienemmille tiloille ilman kallista robotiikkaa.

Erottuivatko Raision projektit jotenkin normaalista työstäsi tai Leonidaksen asiakaskunnasta?

Cihan: Raisio eroaa muista softa-asiakkaistani siinä mielessä, että digitaaliset palvelut eivät ole heidän bisneksensä ydin. Silti Raision digitaalisten projektien johtaminen on erittäin pätevää ja heidän kanssaan on ollut mukavaa työskennellä.

Domainina maanviljely ja karjankasvatus on erittäin mielenkiintoinen, etenkin näin koko ikänsä kaupungeissa asuneelle. Sen lisäksi on aina palkitsevaa ja mieltä ylentävää tehdä ohjelmistoja, jotka päätyvät loppukäyttäjien käsiin ja helpottavat heidän jokapäiväistä työtään.

Noora: Pidän projekteista, joissa saan olla mukana erilaisten olemassa olevien järjestelmien nykyaikaistamisessa.

Millaista on olla mukana tuottamassa nopeita protoja? Miten protojen työstäminen erottuu pidempien projektien kanssa työskentelemisestä?

Noora: Iteraatiosyklit ovat lyhyempiä ja ohjelmiston muokkaaminen nopean palautteen pohjalta on minulle mielekäs työtapa. Oli mukavaa päästä aloittamaan puhtaalta pöydältä ja saada nopeasti yhdessä Cihanin kanssa jotain toimivaa aikaiseksi.

Cihan: Nopea prototypointi on Leonidaksen ytimessä ja varmasti tuttua jokaiselle Leonidaksen työntekijälle. Nopeat prototyypit ovat loistava tapa saada asiakkaalle konkreettista näytettävää ja testattavaa edullisella hinnalla – ja nopeasti.

Toimiva proto antaa aivan uudenlaista näkemystä siitä, mitä ohjelmistoprojektilla todellisuudessa halutaan saavuttaa, ja mihin ohjelmiston osiin kannattaa keskittyä. Tämä tuli vahvasti ilmi myös Raision kanssa toimiessa: heti kun raisiolaiset saivat alustavan prototyypin käsiinsä, heiltä alkoi pursuta näkemyksiä siitä, mitkä käyttäjien todelliset tarpeet ovat ja sitä kautta myös aivan uusia ideoita tuotteeseen.

Mitä opit Raision projekteista?

Noora: Ruoksu-sovellus oli ensimmäinen, jossa pääsin kunnolla pureutumaan React.js:n JSX-syntaksiin ja inline style -maailmaan. CSS:ään tottuneelle se aiheutti niin päänvaivaa kuin oppimisen iloakin.

Cihan: Uusien hyödyllisten tekniikoiden, kuten esimerkiksi React ja Redux, lisäksi olen oppinut juurikin nopeiden prototyyppien tekemisestä. Opin, että nopeita prototyyppejä kehittäessä on hyvä saada jotain konkreettista pikimmiten asiakkaan käsiin. Tällä tavoin asiakas voi alkaa jo aikaisessa vaiheessa pohtimaan mihin suuntaan projektia halutaan viedä. Kehittäjänä voin siten auttaa asiakasta löytämään parhaan mahdollisen ratkaisun mahdollisimman varhaisessa vaiheessa projektia. Näin pystymme minimoimaan asiakkaan turhan rahan ja ajan käytön sellaisiin ominaisuuksiin, joita käyttäjä ei oikeasti tarvitse. Sen sijaan voimme keskittyä ominaisuuksiin, jotka tuottavat mahdollisimman paljon arvoa loppukäyttäjälle.

Lue Raisio-konsernin asiakastarina täältä

 

 

Johanna Kalliomäki