Tuotekehityksen etulinjassa

Kehitysmenetelmämme perustuvat alan parhaisiin käytäntöihin ja pitkään käytännön kokemukseemme erilaisista ohjelmistokehityshankkeista. Sovellamme menetelmiä tarkoituksenmukaisesti hankkeen koon, vaatimusten ja käyttötarkoituksen kriittisyyden mukaan.

Keskeisimmät ohjelmistoprojekteissa käyttämämme menetelmät ovat ketterät menetelmät, inkrementaalinen kehitysmalli ja testivetoinen kehitys. Lopputuotteen toiminnallisuuden ja suorituskyvyn lisäksi pidämme tärkeänä hyvin suunniteltua ja helposti käytettävää käyttöliittymää. Lopputuotteen laadun ja virheettömyyden varmistamiseksi noudatamme kurinalaista katselmointikäytäntöämme.

>> Ketterät menetelmät

Ketterät menetelmät (Agile methods) on kokoelma ohjelmistoalalla yleisesti hyväksi todettuja periaatteita ja toimintatapoja. Niiden avulla pystytään kehittämään entistä laadukkaampia ohjelmistoja entistä nopeammassa aikataulussa.

Ketterille menetelmille tunnusomaista ovat tekninen erinomaisuus ja ammatillisesti korkeatasoiset suoritukset. Keskeistä on myös kokemusten jakaminen ja niistä oppiminen. Vastuu yksittäisistä moduuleista on aina koko tiimillä, ei koskaan yhdellä ihmisellä. Tämän johdosta kehitystyö on henkilöriippumatonta, mikä pienentää projektin riskejä jatkon ja jatkuvuuden osalta.

Ketterien menetelmien periaatteisiin kuuluu tiivis kommunikaatio asiakkaan ja suunnittelijoiden välillä. Asiakas pystyy vaikuttamaan syntyvään ohjelmistoon koko projektin ajan. Ketterien menetelmien tavoitteena on mukautua nopeasti muuttuviin ympäristöolosuhteisiin tai muuttuviin asiakasvaatimuksiin. Mukautuva prosessi tuottaa aina tarkoituksenmukaisen ja asiakkaalle mieluisan lopputuloksen.

>> Inkrementaalinen kehitys

Inkrementaalinen kehitys tuottaa nopeasti uusia toiminnallisuuksia ja näkyvää tulosta. Se vähentää projektin riskejä, auttaa varmistamaan aikataulun pitämisen ja tekee projektista asiakkaalle täysin läpinäkyvän.

Kehitämme ohjelmistoa 2-4 viikon sykleissä eli inkrementeissä. Projektin alussa keskitymme ohjelmiston kriittisimpiin toimintoihin, lopussa matalamman prioriteetin toimintoihin ja viimeistelyyn. Jokaisen inkrementin sisällä kehitys etenee perinteisesti suunnittelusta testaukseen.

Asiakas pystyy seuraamaan projektin etenemistä konkreettisesti ja pääsee, näin halutessaan, jo projektin alussa koekäyttämään ohjelmistoa, esimerkiksi loppukäyttäjien kommenttien keräämiseksi. Myös järjestelmätestaus voidaan aloittaa heti projektin alkuvaiheessa. Kun järjestelmätestausta pystytään tekemään koko projektin ajan, lopputuotteesta tulee laadukas ja toimiva.

>> Testivetoinen kehitys

Käytännön projekteissa olemme havainneet testivetoisen kehityksen (Test Driven Development, TDD) parantavan ohjelmiston laatua merkittävästi. Pitkälle automatisoitu testaus moninkertaistaa järjestelmän testauksen ja kasvattaa järjestelmän luotettavuutta, kustannustehokkaasti.

Testivetoisessa kehityksessä rakennetaan jokaiselle toimintokokonaisuudelle testitapaukset ennen varsinaisia toimintoja. Pyrkimys testitapausten läpäisemiseen ohjaa suunnittelijaa keskittymään olennaisiin asiohin ja tekemään asiat oikein. Testiympäristö rakennetaan siten, että testejä on mahdollista ajaa automaattisesti.

Testivetoinen kehitys tuottaa perinteiseen testaukseen verrattuna huomattavasti enemmän sekä testitapauksia että testauskertoja. Testikattavuus nousee ja virheet löytyvät nopeasti. Koko järjestelmän testaukseen käytetty aika moninkertaistuu. Suunnittelijoiden testaukseen käyttämä aika ei kuitenkaan lisäänny testitapausten ajon hoituessa automaattisesti. Näin myös kustannukset pysyvät kurissa.

>> Käyttöliittymät ja käytettävyys

Hyvä käyttöliittymä on tuotteen paras mainos. Helposti käytettävä ohjelmisto tekee loppukäyttäjän työstä joustavaa ja tehokasta.

Kokeneista erikoisasiantuntijoista koostuva käyttöliittymätiimimme osallistuu jokaisen projektimme käyttöliittymäosuuksien katselmointiin ja tuottaa tarvittavat parannusehdotukset projektiryhmän käyttöön.

Kumppanimme kautta projektien käytössä on myös käytettävyyslaboratorio, jossa käyttöliittymille voidaan suorittaa käytettävyysanalyyseja.

>> Katselmoinnit

Korkea laatu edellyttää hyvien menetelmien lisäksi myös jatkuvaa laadunvarmistusta. Katselmoinnit ovat laadunvarmistusta tehokkaimmillaan.

Tutkimusten mukaan hyvin suoritettujen katselmointien avulla säästetään testaukseen ja virheidenkorjaukseen kuluvasta ajasta jopa 70 %. Tällä on huomattava vaikutus hankkeen kokonaisaikatauluun ja kustannuksiin.

Katselmoinnin tehtävänä on löytää virheet mahdollisimman nopeasti niiden syntymisen jälkeen, kun virheen paikallistaminen on vielä helppoa ja korjaaminen edullista. Tästä syystä hyödynnämme katselmointeja projektin jokaisessa vaiheessa.

 

Bitwise Oy | Viinikankatu 1 C | 33100 Tampere | Tel 03 3454 3000 | Fax 03 3454 3030 | Mail info@bitwise.fi