Blogi ja uutiset

Takaisin
28.10.2021

Sisua kehitetty jo 7 vuotta – vinkit ohjelmistoprojektin onnistumiseen

Alkuvuodesta 2022 Hankenin Sisu-käyttöönoton myötä olemme päässeet yhteen maaliimme: kuusi suurta yliopistokäyttöönottoa ja master-järjestelmän vaihtoa on saatu tehtyä onnistuneesti tiiviissä puolentoista vuoden aikaikkunassa. Se on kulminaatiopiste pitkälle kehityskaarelle, jossa Sisu on pistetty alulle. Hankkeesta syntyi Funidata Oy, Sisun Software as a Service -palvelumalli on sovitettu ympäristöömme ja viidestä asiantuntijasta ollaan tultu isommaksi softayritykseksi. Vuosien varrella olemme keränneet paljon oppia korkeakoulusektorin ohjelmistokehityksestä ja -prosesseista, joista jaamme ajatuksia tässä kirjoituksessa. Kerromme kolme vinkkiä, jotka ovat olleet avainasemassa ison ohjelmistoprojektin onnistumisessa.

Tiivis asiakasyhteistyö

Sisua tehdään asiakkaille ja korkeakouluissa oleville käyttäjille. Mikään ei ole tärkeämpää kuin hyvä yhteistyö perheenomaisessa ilmapiirissä, jotta pääsemme yhteiseen tavoitetilaan Sisu-palvelun kehittymisessä. Kun asiakkaat painivat arkipäiväisten asioiden parissa ja huolehtivat korkeakoulun toimintaa koskevien muutoksien toteutumisesta, me Funidatalla huolehdimme siitä, että Sisu kehittyy ja sen tavoitetila ja visio tulevat toteutumaan. Tekemistämme ovat ohjanneet asiakkaiden kanssa tehdyt rohkeat, ketterät ja ratkaisukeskeiset päätökset, jotta opintotietojen ydinjärjestelmien master-vaihdot on saatu tehtyä.

Kehityskäytäntöjen tärkeys

Tulevalle opintotietojärjestelmälle oli jo sisällöllinen ja tekninen visio, kehityskäytännöt ja tavoitearkkitehtuuri ennen kuin yhtään koodiriviä oli sujahtanut Sisun git-repositorioon.

Kehityskäytäntöjemme taustalla on peruspilareita: ketterä kehittäminen, käytettävyys, tietoturva ja automaatio. Nämä ovat kulkeneet mukana alusta asti ja ovat nyt jo osa funidatalaisten DNA:ta. Vahvat peruspilarit tukevat sellaisten ratkaisujen tekemistä, jotka johtavat pidemmällä tähtäimellä hyviin ja toimiviin lopputuloksiin. Saavutettavuus on viimeisimpänä tullut tärkeäksi osaksi perustustamme ja näkyy jatkossa aikaisempaa enemmän kaikessa kehitystyössämme.

Pelkästään teknologiavalinnoilla voi olla kauaskantoisia seurauksia ja niihin on syytä panostaa. Mikään ei ole raskaampaa kuin isot teknologiamuutokset kesken palvelun elinkaaren. Sisun osalta on panostettu pitkän elinkaaren teknologioihin, jolloin myös rakennettavan sovelluksen elinkaarta on helpompi hallita. Siltikään emme ole onnistuneet täydellisesti: käyttöliittymään valitun AngularJS -käyttöliittymäkirjaston korvaaminen uudemmalla Angularilla on ollut iso työ, joka jatkuu edelleen.

Ketterät kehitysprosessit ovat myös olleet seuranamme alusta lähtien. Kehityskehykseksi valikoitui Scrum, josta vuosien saatossa on kehittynyt Funidatan oma variantti. Emme ole päätyneet hirvittävän kauas lähtökohdista, mutta haluamme ymmärtää syvällisesti, miksi teemme eri asioita ja mitä niillä saavutamme. Kaikki sitoutuvat yhteisiin prosesseihin ja tästä syystä haluamme, että niiden kehittäminen on koko henkilöstön asia.

Kehityskäytäntöjen hyödyt eivät ole jääneet pelkästään Sisun käyttöön, vaan pyrimme hyödyntämään kaikkea oppimaamme kaikessa kehitystyössämme palvelusta riippumatta. Loppujen lopuksi hyvän palvelun tekeminen on raakaa työtä, jota voi helpottaa hyvillä menetelmillä.

Developer Experience

Vuosien saatossa olemme havahtuneet hyvän kehittäjäkokemuksen tärkeyteen. Pyrimme huomioimaan DX-näkökulmia ja luomaan kannustavaa kulttuuria, jossa kaikki puhaltavat yhteen hiileen. Epäonnistumiset kuuluvat jokaiseen kehityshankkeeseen, jossa otetaan riskejä eikä tyydytä tavanomaiseen. Emme hae syyllisiä, vaan opimme jokaisesta vastoinkäymisestä.

Pyrimme luomaan palveluillemme arkkitehtuurin, joka tekee niiden kehittämisestä helppoa ja josta on hyvä ottaa mallia. Samoin olemme hakeneet työkaluja, jotka tukevat kehitystyötä mahdollisimman hyvin ja jotka mahdollistavat maksimimäärän automaatiota, jolla puuduttavia toisteisia tehtäviä saadaan vähennettyä.

Haluamme myös miettiä kehittäjiä, jotka tekevät töitä palveluidemme kanssa. Matalan kynnyksen kanavat yhteydenpitoon ja helpot tavat saada apua ovat meille tärkeitä. Pääasiassa käytämme Slackia fasilitoimaan laajempaa kehittäjäyhteisöämme, jotta myös esimerkiksi Sisun parissa työskentelevät henkilöt pystyvät oppimaan toisiltaan.

Kohti tulevia käyttöönottoja ja palveluiden jatkokehittämistä

Edellä mainitut kolme tekijää antavat hyvän pohjan tuleville käyttöönotoille ja mahdollistavat Sisun ja muiden palveluidemme jatkokehittämisen pitkälle tulevaisuuteen. Sisu on kasvanut jo 70 000 käyttäjän päivittäiseksi työkaluksi ja infrastruktuurimme kestää vielä paljon lisää. Olemme aina valmiita uusiin käyttöönottoihin!