Janne Tuomikoski
05.01.2016 · Janne Tuomikoski

Kaksi näkökulmaa ohjelmiston laadusta

Laatua ei voi jälkikäteen rakentaa. Se on pienten osien muodostama kokonaisuus, joka syntyy ammattitaidosta, kokemuksesta ja palavasta halusta tehdä asioita hyvin.

Ohjelmistojen laadusta löytyy tuhansia teoksia ja vielä useampia kirjoituksia eri puolilta Internetiä. Jo pelkästään laadun määritelmään on olemassa useita näkemyksiä, ja sen voi kokea monella eri tavalla riippuen mistä näkökulmasta sitä tarkastelee. Tässä kirjoituksessa keskityn kuitenkin kahteen eri näkökulmaan ohjelmistojen laadun osalta.

1. Saako asiakas sitä mitä haluaa?

Loppujen lopuksi ohjelmiston laadun määrittelevät aina asiakkaat ja loppukäyttäjät. Vaikka ohjelmisto olisi teknisesti kuinka laadukas tahansa, siitä ei jää käyttäjälleen laadukasta vaikutelmaa, mikäli se ei täytä oikeaa tarvetta. Aktiivinen dialogi asiakkaan kanssa koko projektin ajan on avainasemassa asiakkaan kannalta parhaan mahdollisen ratkaisun suunnittelemisessa. Palvelumuotoilijan, graafisen suunnittelijan, sekä teknisen asiantuntijan yhteistyöllä asiakkaan kanssa saavutetaan usein kokonaisvaltainen suunnitelma, josta on hyvä lähteä eteenpäin. Usein kokonaisuuden hahmottamiseen saadaan apua käyttäjätutkimuksen, sekä mahdollisen demon rakentamisella ennen itse ohjelmointityön aloittamista.

Ketterillä ohjelmistokehitysmenetelmillä varmistetaan asiakkaan aktiivinen mukanaolo pitkin projektia, sekä rakennetaan mahdollisimman avoin näkymä kehitystyön eri vaiheisiin. Samalla taataan, että asiakkaalla on aina mahdollisuus arvioida ohjelmiston soveltuvuutta tarkoitukseensa. Ketterät menetelmät mahdollistavat asiakkaille myös työn alla olevan ohjelmiston kohtalaisen nopean ja edullisen muuttamisen, tai hienosäätämisen halutunlaiseksi. Avoimuus, jatkuva keskustelu ja mahdollisuus muuttaa suunnitelmia matkan edetessä ovat avainasemassa hyvää ja laadukasta ohjelmistoa rakentaessa.

2. Toimiiko ohjelmisto teknisesti halutulla tavalla?

Ketterien menetelmien mukaisissa projekteissa on käytössä jatkuvan integroinnin (continuous integration) periaatteet, ja testausta automatisoidaan aina kun se on soveltuvaa. Jokainen muutos, lisäys ja uusi ominaisuus saadaan nopeasti integroitua olemassa olevaan koodipohjaan, ja automatisoidun testauksen avulla varmistetaan nopeasti toiminnallisuuden pysyminen ehjänä. Näiden perusperiaatteiden avulla kehitystyöhön saadaan vauhtia ja ketteryyttä työn laadun siitä kärsimättä. Yleisimmät testiautomaatiotyökalut, kuten Selenium, UI Automator, Instruments ja Robot Framework on hyvä ottaa ahkeraan käyttöön. Koko testauksen automatisointi ei kuitenkaan ole aina mahdollista tai kannattavaa. Tällöin ammattitaitoinen ja kokenut ohjelmistotestaaja on korvaamaton apu.

Vaikka ohjelmiston toiminnallisuudet toimisivat halutulla tavalla, ei sen tekninen laatu siltikään ole välttämättä riittävä. Ohjelmiston täytyy kestää kuormaa ja selviytyä jopa suunniteltua suuremmista käyttäjämääristä. Toiminnan tulee lisäksi olla riittävän nopeaa, jotta ohjelmisto soveltuu käyttötarkoitukseensa. Bitfactorilla laatuajattelu ja laadukas palvelu ei koske ainoastaan itse tuottamiamme ohjelmistoja. Tarvittaessa DevOps asiantuntijamme käyvät auttamassa asiakkaitamme valitsemaan ja käyttöönottamaan kuhunkin ympäristöön parhaiten sopivat työkalut. Autamme asiakkaitamme myös testauksen automatisoinnissa.

Laatua ei voi jälkikäteen rakentaa. Se on pienten osien muodostama kokonaisuus, joka syntyy ammattitaidosta, kokemuksesta ja palavasta halusta tehdä asioita hyvin. Laadun syntyminen on pitkälti kiinni tekemisen kulttuurista. Siksi Bitfactorilla panostetaan laatukeskeiseen kulttuuriin, joka ohjaa kaikkea tekemistämme ja varmistaa erinomaisen lopputuloksen syntymisen kerta toisensa jälkeen.

Kategoria
Teknologia

Haluatko tietää lisää aiheesta? Jätä tietosi, niin otamme yhteyttä.

Viimeisimmät blogikirjoitukset