Ohjelmisto
Avustajapiste
Toteutin avustajapalveluja välittävälle yritykselle toiminnanohjausjärjestelmän. Järjestelmä on vastuussa muun muassa työvuorosuunnittelusta, työntekijä- ja asiakasrekisterien ylläpidosta, palkka-aineistojen luomisesta, poissoloseurannasta, raportoinnista ja tilastoinnista.
Ongelmat
- Päivittäisessä työnteossa käsiteltävät tiedot olivat hajallaan paperikalentereissa, post-it-lapuilla ja useissa eri ohjelmissa.
- Toimiston henkilöstön työ oli täysin paikkasidonnaista, ja tärkeät tiedot olivat kerrallaan vain yhden henkilön käytettävissä.
- Tiedonkulku ei toiminut parhaalla mahdollisella tavalla, kun monet asiat olivat vain yhden henkilön tietojen ja muistin varassa.
- Suuri mahdollisuus asioiden unohtumiselle ja muille inhimillisille virheille.
- Avustajat kirjasivat tiedot tekemistään työtunneista paperille, ja tietojen toimituksessa oli liikaa viivettä.
Ratkaisut
- Päivittäisessä työnteossa käsiteltävien tietojen tuominen yhteen järjestelmään, joka on käytettävissä missä vain ja millä tahansa laitteella.
- Intuitiivinen käyttöliittymä, jota osataan käyttää ilman perehdyttämistäkin, kun työntekijöiden vaihtuvuus voi olla suurta.
- Minimoidaan virheiden määrää panostamalla tietojen validointiin sekä käyttäjän ohjaamiseen ja opastamiseen.
- Tehdään tietojen syöttämisestä vaivatonta, että asiat tulevat varmasti kirjatuksi, ja näytetään oleelliset tiedot ilman ylimääräisiä klikkailua, jotta ne tulevat huomatuksi.
- Tehtyjen työtuntien kirjaaminen mahdolliseksi puhelimella.
Avainsanat
- Ohjelmistokehitys
- Käyttöliittymä
- Logo
- Yritysilme
- Ulkoasu
- Ylläpito
- Laravel
- Livewire
- Alpine.js
- Tailwind CSS
- Redis
- PHPUnit
- Webpack
- Mailgun
- Composer
- GitHub
Toteutin selainkäyttöisen tietojärjestelmän, jossa on ominaisuuksina muun muassa työvuorosuunnittelu, työntekijä- ja asiakasrekisterit, palkka-aineiston luominen, poissoloseuranta, raportoinnit ja tilastoinnit. Järjestelmässä on myös oma osio asiakkaiden luona työskenteleville avustajille, jonka kautta he näkevät puhelimeltaan tulevat ja menneet työvuoronsa, pystyvät tekemään niihin muutoksia ja kuittaavat tehdyt työt. Osaksi samaa järjestelmää toteutin myös yrityksen kotisivujen ylläpidon.
Kehitin järjestelmää tiiviissä yhteistyössä koko asiakasorganisaation kanssa, ja oli mahtavaa, miten innoissaan asiakkaan puolelta oltiin läpi koko prosessin aina suunnittelusta ja testauksesta käyttöönottoon ja jatkokehitykseen. On aina hienoa nähdä, miten ilman teknistä taustaakin olevat ihmiset innostuivat ohjelmistonsuunnitteluprojektista, kun he pääsevät itse mukaan suunnittelemaan järjestelmää, joka merkittävästi helpottaa heidän omaa päivittäistä työntekoansa.
Lähtökohdat
Sain Avustajapisteeltä tarjouspyynnön, jossa etsittiin teknistä toteuttajaa räätälöidylle tietojärjestelmälle. Siinä oli melko kattavasti kuvailtu nykytilanne ja ongelmat sekä se, millaisia ominaisuuksia tietojärjestelmältä toivottaisiin. Tein näiden tietojen pohjalta seikkaperäisen kiinteähintaisen tarjouksen.
Avustajapisteen toiminta oli aiemmin ajan perustunut lähinnä paperikalentereihin sekä toimisto-ohjelmiin kertyneisiin hajanaisiin tietoihin. Kaikki päivittäinen toiminta haluttiin digitalisoida työn tehostamiseksi, tiedonkulun parantamiseksi ja kasvun mahdollistamiseksi.
Aluksi pidimme asiakkaan kanssa muutaman palaverin, joissa käytiin läpi olemassa olevia toimintamalleja ja kartoitettiin pahimmat kipupisteet ja pullonkaulat. Näiden tapaamisten avulla sain hyvän käsityksen kaikista todellisista ongelmista, joita järjestelmällä lähdettäisiin ratkomaan. Olin jo tarjousvaiheessa tehnyt melko yksityiskohtaisen suunnitelman, jota vielä tässä vaiheessa täydennettiin ja joitakin ominaisuuksia priorisoitiin.
Toteutus
Olin tarjouksessa antanut alustavan aikataulun, jossa järjestelmän toteutus oli jaettu neljään vaiheeseen, ja jokaiselle vaiheelle oli oma deadline. Koska mitään isompia muutoksia ei tarjoukseen nähden suunnitteluvaiheessa ilmennyt, ei aikatauluakaan ollut tarvetta muuttaa.
Aloin toteuttamaan järjestelmää sovitusti, ja jokaisen vaiheen valmistumisen jälkeen asiakas pääsi testaamaan järjestelmän toimintoja erillisessä testiympäristössä. Asiakkaan antamien kommenttien perusteella korjattiin bugeja ja tehtiin pieniä muutoksia, joiden tarvetta ei oltu osattu suunniteluvaiheessa huomioida.
Testikäytön myötä asiakkaalle tuli mieleen myös monia uusia ominaisuuksia, joista osa toteutettiin jo ennen käyttöönottoa ja osa siirrettiin myöhemmässä vaiheessa toteutettaviksi.
Käyttöönotto
Yksittäiset vaiheet pysyivät hyvin aikataulussa, ja järjestelmä valmistui myös kokonaisuudessaan sovitussa aikataulussa. Järjestelmä otettiin käyttöön helmikuussa 2020 onnekkaasti vain kuukausi ennen koronapandemian alkua.
Järjestelmän ansiosta työn teko olikin nyt enenevissä määrin mahdollista myös etänä, ja järjestelmä pääsi heti alkuun kunnolliseen testiin, kun nopeasti muuttuvassa tilanteessa piti saada asiakkaiden parissa avustajien työvuorojakin sumplittua uusiksi joskus hyvinkin nopeasti.
Käytön myötä asiakkaalle tuli edelleen runsaasti uusia ideoita, miten työtä voisi tehdä järjestelmän avulla vieläkin tehokkaammin. Kehittämistä onkin jatkettu aktiivisesti valmistumisen jälkeenkin.
Onnistuminen
Järjestelmän käyttöönoton myötä Avustajapiste on pystynyt kasvamaan ja laajentamaan toiminta-aluettaan, ja olen saanut kiitosta asiakaspalvelustani ja ongelmatilanteiden nopeasta ratkaisemisesta. Avustajien viive työtuntien kirjaamisessa putosi keskimäärin alle seitsemään tuntiin, kun se aiemmin oli ollut 1–2 viikkoa. Järjestelmä on nopeuttanut myös esimerkiksi palkanmaksua, ja aiemmin useamman päivän vienyt työ hoituu nyt muutamassa tunnissa.
Järjestelmä suunniteltiin alusta alkaen tukemaan asiakkaan omaa, vuosien varrella omaksuttua tapaa tehdä työtä, ja kiinnitin suunnittelussa erityistä huomiota käyttöliittymän yksinkertaisuuteen ja intuitiivisuuteen. Saadun palautteen perusteella käyttökokemus onkin ollut hyvä, ja työntekijät ovat pitäneet järjestelmää helppokäyttöisenä. Myös uusien työntekijöiden ollut helppo aloittaa järjestelmän käyttö ilman merkittävää perehdyttämistä.
On yleistä, että toiminnan digitalisoituminen ja uusien järjestelmien käyttöönotto aiheuttaa muutosvastarintaa työntekijöissä. Siksi olikin erityisen mukava seurata, miten positiivisesti järjestelmä on otettiin vastaan nimenomaan sen kanssa päivittäin työskentelevien henkilöiden toimesta. Kuunteleva ja osallistava kehittämistapa varmasti auttoi suhtautumaan muutoksiin myönteisesti, ja motivoi työntekijöitäkin ottamaan kaiken irti uudesta järjestelmästä ja olemaan aktiivisia myös sen jatkokehityksessä.
Tekniset valinnat
Toteutin järjestelmän backendin alunperin Laravel 6:lla. Useat käyttöliittymäkomponentit kirjoitin Vue 2:lla ja ulkoasun rakensin Tailwind CSS:llä. Järjestelmän toteutuksen hetkellä Livewire ja Alpine.js olivat niin tuoretta teknologiaa, että en vielä halunnut ottaa niitä tuotantokäyttöön. Korvasin Vuen kuitenkin myöhemmässä vaiheessa Livewirellä ja Alpinella muun jatkokehitystyön ohessa. Julkaisun jälkeen järjestelmä on päivitetty vähintään kerran vuodessa käyttämään aina Laravelin tuoreinta versiota.
Käyttöliittymän suunnittelun lähtökohtana oli, että järjestelmä toimii mutkattomasti myös mobiililaitteilla. Tein toteutuksen mobile first -periaatteella, joten järjestelmän kaikki näkymät toimivat erinomaisesti jokaisella laitteella ruudun koosta riippumatta.