Apprixin Builder-oppimisjärjestelmä on yhtäaikaisesti käytössä kymmenillä asiakkailla, sadoissa koulutuksissa ja tuhansilla käyttäjillä. On selvää, että eri tahoilla on toisistaan hyvinkin erilaisia tarpeita ja toiveita Builderin kehittämisen suhteen. Tämän kirjoituksen tarkoitus on avata ja kertoa vähän, miten Apprixissa hoidetaan tuotekehitys niin, että kaikkien toiveet pystytään täyttämään mahdollisimman hyvin.
Apprixin Builder-järjestelmä on tehty niin, että sen avulla voidaan toteuttaa hyvin monenlaisia sähköisiä koulutuksia, ja kaikki toiminnot ovat käytettävissä verkkoselaimen avulla. Samassa ohjelmistossa tulee siis olla eri käyttäjillä käytössään todella paljon erilaisia toimintoja.
Builder-järjestelmän kehittämisen perusperiaatteena on, että:
- Olemme lähtökohtaisesti valmiita toteuttamaan järjestelmään mitä tahansa asiakkaan toiveita.
- Kaikki yleiskäyttöiset toiveet pyritään toteuttamaan niin, että näitä pystytään tarjoamaan käyttöön kaikille muillekin Builderin käyttäjille.
Edellä mainitut periaatteet eivät ole mitenkään itsestään selviä, eikä kaikki SaaS (Software as a Service) -palveluita tarjoavat yritykset suinkaan toimi näin. Olisi esim. huomattavasti helpompaa toimia niin, että ohjelmistoon ei koskaan tehdä mitään asiakaskohtaisia räätälöintejä, vaan että ohjelmistosta on olemassa vain yksi ja ainoa versio ja se on tismalleen samanlainen kaikille (tämä on itseasiassa hyvin yleinen toimintatapa: vai oletko kuullut, että joku olisi saanut vaikkapa Microsoftille läpi räätälöityjä toiveitaan Office 365:sta löytyviin tekstinkäsittely, taulukkolaskenta yms. ohjelmistoihin).
Ylätason tavoitteitamme Builderin räätälöintimahdollisuuksiin liittyen ovat mm.:
- Builder on helppo käyttää sekä koulutusten suunnittelijoille, että niihin osallistuville.
- Helppokäyttöisyyden tavoitteesta pidetään kiinni, vaikka Builderissa on paljon erilaisia toimintoja.
- Koulutuksissa pystytään käyttämään sellaisia sisältöjä ja harjoituksia, jotka palvelevat oppimista mahdollisimman hyvin.
- Erilaisiin oppimistilanteisiin voidaan tarvita esim. hieman toisistaan poikkeavia harjoitustehtäviä.
- Koulutukset ovat graafiselta ilmeeltään tilaajiensa toiveiden mukaisia.
- Graafisen ilmeen räätälöinti tarkoittaa sitä, että koulutusmateriaaleissa käytetyt värit ja kirjasimet, sekä kuva-aineistot ovat asiakkaan oman ilmeen mukaisia.
Samalla kun tarjoudumme muokkaamaan oppimisjärjestelmää hyvinkin pitkälle asiakkaiden toiveiden mukaisesti, syntyy järjestelmän kehittämistä kohtaan suuri joukko toistensa kanssa jopa ristiriitaisia toiveita. Pystyäksemme hallinnoimaan tätä toiveiden tulvaa, on tuotekehityksemme jaettu vastuiltaan kolmeen eri vaiheeseen:
1: Vaatimustenhallinnalla tarkoitetaan tiivistäen sitä, että keräämme kaikki eri lähteistä tulevat ideat samaan ”toiveiden tynnyriin” (Feature back log). Kehitysideoita voi tulla yhtä hyvin sekä asiakkailtamme, että itseltämme, ja ne saattavat koskea joko uusia toiveita järjestelmän suhteen, tai valitettavasti välillä löytyy myös bugeja/epäloogisuuksia, joita tarvitsee muuttaa/korjata. Käymme kehitysideat läpi ja priorisoimme ja suunnittelemme niiden toteutusrytmin. Korkeimmalle prioriteetille nousevat kiireisimmät toiveet, ja toisaalta monesti useita samaan aihepiiriin liittyviä toiveita on tehokasta toteuttaa samalla kertaa. Vaatimustenhallinnan tavoitteena ja lopputuloksena on huolehtia, että kehittäjillämme on selvät sävelet siitä, mitä asiaa aletaan edistämään seuraavaksi.
2: Yksittäisten kehitysideoiden toteuttamisesta Apprixilla vastaa tiimi ohjelmistokehityksen huippuosaajia. Toteutuksiin kootaan tapauskohtaisesti sopiva kokoonpano niin teknisen arkkitehtuurin, käyttökokemuksen/käyttöliittymien, graafisen ilmeen, pedagogiikan kuin teknisen toteutuksen ja testaamisen osaajia. Tiimi huolehtii, että toteutettava kokonaisuus vastaa toiminnallista tarvettaan, on helppo käyttää ja toisaalta integroituu luontevasti osaksi järjestelmän muita toimintoja.
3: Kun uuden toiminnon toteutus on valmis, huolehtii julkaisujen hallinta siitä, että toiminto tulee hallitusti osaksi Builder-järjestelmää. Tässä yhteydessä varmistetaan vielä, että kaikki Builderiin tehtävä koodi on toteutettu niin, että se nivoutuu osaksi muuta koodia. Koodista tarkistetaan esimerkiksi, että siinä noudatetaan yhteisesti määriteltyjä tietoturvaan liittyviä käytäntöjä ja varmistetaan, ettei ohjelmiston eri osissa esim. toteuteta eri tavoin hyvin samanlaisia tarpeita.
Lopputuloksena asettamistamme tavoitteista, asiakkailtamme tulleista toiveista ja selkeästä tuotekehitysprosessista olemme onnistuneet pääsemään tilanteeseen, jossa Builder on yhtä aikaa sekä jokaisen asiaan tarpeisiin räätälöity yksilöllinen järjestelmä, että toisaalta kaikki asiakkaamme pääsevät hyötymään jatkuvasti tapahtuvasta tuotekehityksestä.
Tavoitteenamme on, että meillä on joka hetki käynnissä muutama suurempi kehityshanke, joissa toteutetaan järjestelmään joitain kokonaan uusia toiminnallisuuksia. Suurempien kehityshankkeiden lisäksi yhtäaikaisessa kehityksessä on tyypillisesti joitain kymmeniä pienempiä yksittäisiä toiveita/ideoita. Taitavien ja tehokkaiden kehittäjien, sekä selkeän tuotekehitysprosessin ansiosta Builderiin julkaistaankin lähtökohtaisesti joka viikko jotain uutta: joko pienempiä parannuksia, tai isompia uusia toimintoja. Näistä tuotekehityksen hedelmistä pääse nauttimaan koko asiakaskuntamme.
Tervetuloa mukaan käyttämään tarpeittesi ja toiveittesi mukaista sähköistä oppimisjärjestelmää!
–
Kirjoittaja
Antti Rasi
Kirjoittaja on Apprixissa mukana mm. tuotekehitysprosessin kehittämisessä sekä arkkitehtuurin ja uusien toimintojen suunnittelussa.