Ketterä ohjelmistokehitysprojekti on juuri sitä mitä termikin tarkoittaa – ketterää. Tämä ei kuitenkaan tarkoita, etteikö projektin johtaminen olisi suunnitelmallista, tavoitteellista ja hallittua, vaan kehitysprojektin ketteryys tulee nopeista iteraatiosykleistä sekä reagointikyvystä ongelmatilanteiden ilmestyessä.
Projektin taustalla toimintaa ohjaa aina projektisuunnitelma etappeineen. Nämä tavoitteet eivät kuitenkaan ole kiveen kirjoitettuja totuuksia ja projektitiimillä pitää olla rohkeutta ja vapautta määritellä projektille tarpeen tullen uudet tavoitteet, mikäli nähdään riski alkuperäisen suunnitelman epäonnistumisesta.
Solenovolla lähdettiin ennakkoluulottomasti uudistamaan elinkaarensa loppuvaiheessa ollutta tuoteteknologiaa SoleCris-tutkimustiedonhallintajärjestelmän uudistuksen myötä. Harvinainen tilaisuus aloittaa järjestelmäkehitys puhtaalta pöydältä motivoi kehittäjiä ja uudistusprojektin ympärille kerättiinkin talon sisältä innokas ja osaava tuotekehitystiimi. Tiimin tehtävänä on ollut luoda asiakkaalle näkyvää arvoa tuotteen versiopäivityksen myötä, sekä samalla rakentaa uusi teknologiapohja Solenovon seuraavia kehitysprojekteja varten.
Kaksi rinnakkaista projektia
Projektinjohdollisia haasteita syntyi kahden rinnakkaisen projektin koordinoinnista, sekä tuntemattomien teknologisten haasteiden karikoiden navigoinnista. Suuren ja monitahoisen projektin johdossa on työskennellyt oma tiimi, joka koostuu asiakasvastaavasta, tuoteomistajasta sekä teknologiajohtajasta. Projektia on myös seurattu säännöllisesti ja tuettu Solenovon johtoryhmän tasolta.
Johtotiimissä on varmistettu se, että rinnakkaisten versiopäivitys- ja teknologiakehitysprojektien tavoitteet saadaan yhteisesti kommunikoitua ja edistettyä limittäin. Käytännössä tämä tarkoittaa, että teknologiapohjan on oltava ensin riittävän pitkälle kehitetty, jotta sitä voidaan hyödyntää tuotteen konkreettiseen toteutukseen. Solenovolla käytetyn ketterän SCRUM-ohjelmistokehityksen syklillä tämä tarkoittaa kahden viikon sprinteissä työskentelevän kehitystiimin osalta sitä, että teknologiapohjan kehityksellä on minimissään kahden viikon etumatka versiopäivityksen toteutukseen nähden.
Jokaisessa sprintissä on tehty lähes poikkeuksetta sekä teknologiakehitystä, että asiakkaalle näkyvää toteutusta vaihetelevilla painotuksilla riippuen projektin toteutusvaiheesta. Asiakkaalle näkyvä toteutus tehdään MVP-mallin (Minimum Viable Product) mukaisesti pyrkien kehittämään järjestelmää aina skeittilaudasta polkupyörän kautta täysiveriseen urheiluautoon. MVP-mallissa toteutetaan ensin yksinkertaisin asiakastarpeen täyttävä lopputulos, jota kehitetään jatkosteppien kautta lopulliseen tavoitetilaansa – prosessin ketteryyttä unohtamatta.
Ketterän kehitysprojektin haasteet
Haasteeksi ketterässä kehityksessä on osoittautunut testauksen limitys kehityssykleihin. Aikaisessa vaiheessa tapahtuva testaaminen mahdollistaa virheiden huomaamisen ja korjaamisen varhain, sekä tarjoaa tilaisuuden useaan korjaussykliin niitä tarvittaessa. Toisaalta liian aikaisessa järjestelmän kypsyysasteessa suoritettu testaus on varsinkin asiakkaille kuormittavaa, mistä syystä järjestelmäkehityksen lastentaudit pyritäänkin löytämään vähintään testihavaintotasolla Solenovon sisäisessä sovellustestauksessa.
Sisäiseen sovellustestaukseen kuuluu käyttäjäpuolen testauksen lisäksi sovelluskoodin automaattitarkastus osana laadullista QA-prosessia, sekä kehittäjien tekemä vertaistarkastus. Näiden lisäksi sovellusta käydään läpi ja testataan projektin edetessä myös GDPR:n sekä WCAG AA-tason vaatimusten täyttymisen osalta.
Avoin kommunikaatio mahdollistaa onnistuneen projektin
Kommunikaatio asiakkaiden suuntaan on ollut koko projektin ajan avointa, mistä saamme kiittää aktiivisten asiakasorganisaation edustajien lisäksi myös tasaisin väliajoin pidettyjä työpajoja. Asiakkaat ovat myös päässeet mukaan projektisykliin sprint review -tyylisesti. Jokaisella työpajakerralla on käyty yhdessä asiakkaiden kanssa läpi se, mitä kehitystiimi on päättyneellä sprintillä saanut aikaiseksi ja mikä on seuraavan kahden viikon sprintin tavoite. Tämän lisäksi asiakkaiden kanssa on tehty tulevilla sprinteillä kehitettävien ominaisuuksien määrittelyjä, jotta ne on voitu ajoissa tiketöidä tiimille konkreettisiksi työtehtäviksi.
Teknologiapohjan uudistamisen sekä sitä hyödyntävän SoleCris-järjestelmän päivitysprojektin rinnakkainen läpivienti on ollut haasteellista, mutta myös upea mahdollisuus luoda pohjaa yrityksen tulevaisuuden strategisten tavoitteiden saavuttamiselle skaalautuvien järjestelmien, sekä kansainvälisten markkinoiden valloittamiseksi.
SoleCris-tekstien takana
Tekstin on kirjoittanut SoleCris-tuotepäällikkö Juha Markkanen. Juhan pääosin tietokoneen ääressä tapahtuvaa hektistä työarkea tasapainottavat jo nuoruudesta asti mukana kulkeneet kuntosali- ja autoharrastukset. Hyötyliikunnan järjestämisestä vastaa tytär, jonka kanssa Juha suuntaa talvisin pulkkamäkeen.