onnistumisen edellytykset

24.2.2010 21:14
kategoriat: ohjelmointi
Olen tehnyt töissä jo toista vuotta samaa projektia, mutta sain yllättäen parin viikon pestin toisen asiakkaan sovelluksen kehitysprojektiin. Sovellus on pieni verkkosovellus, joka hakee tietoa yhdestä paikasta ja palauttaa ne kutsujalle. Nyt siihen piti lisätä samanlainen haku myös toisesta paikasta. Kuulostaa yksinkertaiselta.

No ei. Alkuperäinen haku tehdään ihan SQL-lauseilla suoraan tietokannasta. Uusi haku tehdään Rest-kutsuna netin yli. Tekniikastakaan ei ollut ihan varmaa tietoa, vaan Rest oli erään kollegani valistunut arvaus (joka onneksi osui oikeaan). Sain käyttööni valmiiksi kasatun paketin käytettävästä rajapinnasta ja pelkistetyn ohjeen siitä, miten uuden kohteen tiedot vastaavat vanhan kohteen käsitteitä. Rajapinnan varsinaisesta käytöstä ei tietenkään ollut minkäänlaista ohjetta tai esimerkkiä. Kun otetaan huomioon, että toimiala oli minulle täysin vieras ja ennen projektin alkua tiesin Restistä vain nimen ja että se liittyy jotenkin tiedon hakemiseen, odotukset eivät olleet kauhean korkealla.

Sovelluksen varsinaiset tuotanto- ja testiympäristöt ovat asiakkaan omassa verkossa, jonne ei työkoneeltani pääse, joten en pystynyt koodaillessa kokeilemaan, olenko onnistunut veikkaamaan hakujen toiminnan oikein tai edes sitä, minkälaista ja muotoista tietoa alkuperäinen haku palauttaa. Uuden haun lisäksi myös vanhaan hakuun tuli muutoksia, joten rajapinta sinnekin suuntaan muuttui. Hakua käyttävästä sovelluksesta vastaa tietenkin eri firma, joten heidän käsityksensä rajapinnan muutoksista saattoi olla hieman erilainen. Voisi sanoa, että hommassa ja sen onnistumisessa oli aika monta liikkuvaa osaa.

Pari ensimmäistä päivää kului googlaillessa ja sen jälkeen koodaillessa uskottavimmalta näyttävän ratkaisutavan mukaan. Pieniä vinkkejä ja dokumentinpalasia tippui hiljalleen omalta väeltä ja asiakkaan puolelta, joten kokonaiskuvakin hahmottui ja kahden viikon jälkeen sovellus alkoi olla valmis testattavaksi.

Testaus alkoi lupaavasti, sillä projektin käytössä oli kyllä tunnukset testipalvelimelle, mutta mitään ympäristöä ei ollut asennettu. Asiakkaan edustaja soitteli ympäriinsä ja sai selville palvelinohjelmiston nimen ja version. Sovelluspalvelimen asennuspaketti ja sen asennus- ja käyttöohjeet piti googlata ja sen jälkeen vielä yrittää viritellä koko homma toimimaan jotenkin yhteen uuden sovelluksen kanssa. Niinpä ällistys oli uskomaton, kun ensimmäinen testikokeilu palautti ihan oikeanlaista tietoa. Olisi pitänyt saada kuva omasta naamasta ja lattialle putoavasta leuasta.

Se uudempi haku ei tietenkään toiminut, koska paketista puuttui riippuvuuksia, joista meillä ei ollut ollut hajuakaan. Selvittelyä ei auttanut se, että sovelluksen käynnistäminen tuotti puolisen megatavua huttua lokitiedostoon. Kollegani löysi jostain sopivat paketit ja niiden asentelun jälkeen haku alkoikin toimia, ainakin osittain. Jälkeen päin selvisi, että rajapinnan ohjeisiin oli jäänyt virhe, jonka takia kaikki haut kaatuivat tekniseen virheeseen.

Täytyy myöntää, että asiakkaalle ei välttämättä jäänyt päivästä kovin vahvaa kuvaa, mutta olisi se voinut mennä huonomminkin.

Seuraavaa hommaa varten täytyy muistaa varmistaa, että ainakin osa näistä löytyy:
  • Kattavat määrittelyt
  • Teknisen ympäristön tiedot (tekniikat, palvelin, rajapinnat)
  • Edes jotain vaadittavaa osaamista tai aikaa opiskella tekniikkaa ennen projektin alkua
  • Mahdollisuus testata sovellusta omassa kehitysympäristössä
Toisaalta onhan se kivaa, että konsultillakin on vähän haasteita.
 
Ei kommentteja

Tämän merkinnän kommentointi on suljettu.

  Ylös