|
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.
|