Ketterää väittelyä ohjelmistoarkkitehtuureista

Lectio praecursoria

Lectio praecursoria

Veli-Pekka Eloranta, joka työskenteli laitoksellamme vielä viime vuonna, on nykyään Vincit Oy:llä tittelillä Passionate Software Engineer. Uusista haasteistaan huolimatta hän viimeisteli väitöskirjansa ja väitteli viime perjantaina aiheenaan “Techniques and Practices for Software Architecture Work in Agile Software Development” (“Tekniikoita ja käytäntöjä ohjelmistoarkkitehtuurityöhön ketterässä ohjelmistokehityksessä”). Vastaväittäjinä toimivat professori Ivica Crnkovic (Chalmers University of Technology & University of Gothenburg, Ruotsi) ja professori Jukka Paakki (Helsingin yliopisto) ja kustoksena professori Tommi Mikkonen.

Nykyisin suurin osa ohjelmistoista kehitetään käyttäen niin sanottuja ketteriä menetelmiä. Ketterissä menetelmissä pyritään minimoimaan ohjelmistokehitykseen liittyviä riskejä tekemällä lyhyitä iteraatioita eli 2-4 viikon mittaisia kehitysjaksoja. Iteraation jälkeen asiakkaalta pyydetään palautetta iteraation aikana syntyneestä ohjelmiston osasta. Tällä tavoin ohjelmisto rakentuu paloissa, kunnes asiakas on tyytyväinen tuotteeseen. Lisäksi työtapaa pyritään jatkuvasti kehittämään entistä tehokkaammaksi.

Ketterät menetelmät ovat kuitenkin saaneet jonkin verran kritiikkiä siitä, että iteratiivinen kehitys johtaa huonosti suunniteltuun kokonaisuuteen, koska ohjelmiston arkkitehtuurisuunnittelu jää vähälle huomiolle. Huonosti suunniteltu arkkitehtuuri saattaa johtaa ohjelmiston heikkoon laatuun ja mahdollisesti isoonkin lisätyöhön projektin loppuvaiheessa.

– Tärkeimmät ja kauaskantoisimmat suunnittelupäätökset pitää tehdä ohjelmistoprojektin alkuvaiheessa, jolloin tietoa on olemassa kaikkein vähiten, Eloranta kiteyttää ongelman.

Eloranta tutki väitöstyössään miten arkkitehtuurityötä tehdään osana ketterää kehitystä yrityksissä ja minkälaista tietoa ja osaamista suunnittelussa tarvitaan. Nykyisten toimintamallien pohjalta kehitettiin uusia ketteriä työtapoja ja tekniikoita, joilla arkkitehtuurin laatua voidaan arvioida. Esimerkiksi arkkitehtuurin arviointimenetelmät ovat monesti olleet kankeita ja ovat vaatineet muutaman päivän yhtäjaksoisen työpanoksen kaikilta projektissa mukana olevilta. Osana väitöstyötä kehitettiin arkkitehtuuripäätöksiin perustuva DCAR-arviointimenetelmä, jolla voidaan iteratiivisesti arvioida tehtyjen päätösten järkevyyttä ottaen huomioon projektissa tähän mennessä opitut asiat. DCAR-menetelmässä ohjelmistoarkkitehtuuri ajatellaan sarjana päätöksiä, joille on olemassa perustelut. Päätösten seurauksena syntyy itse arkkitehtuurikuvaus. Väitöstyössään Eloranta kehitti lisäksi järjestelmän, jolla voidaan tuottaa tiettyyn tarpeeseen räätälöity arkkitehtuuridokumentti automaattisesti.

– Ei ole yhtä ja oikeaa toimintatapaa, joka takaa ohjelmiston hyvän laadun ja projektien onnistumisen. Yrityksen tulee löytää oma tapa, joka toimii ja jolla saadaan laadukkaita ohjelmistoja tehtyä ketterästi. Osana väitöstyötäni esitän malleja, joita voi soveltaa käytännön työhön tilanteesta riippuen. Näiden mallien avulla ketteryyden ja arkkitehtuurityön yhteensovittaminen käy helpommin, Eloranta toteaa.

Väitöstilaisuus alkamassa ja tunnelma korkealla

Väitöstilaisuus alkamassa ja tunnelma korkealla

Väitöstilaisuus sujui erinomaisesti. Vastaväittäjät pitivät keskustelun mukavan jutustelevalla tasolla, mutta pääsi Eloranta puolustamaan väitöskirjaansa parissa kiperämmässäkin kohdassa. Onnittelut! Eloranta ehti toimia Tietotekniikan laitoksella 10 vuoden ajan erilaisissa rooleissa. Toivotamme yhtä menestyksekästä uraa uusien haasteiden parissa!

This entry was posted in news, PhD thesis, research and tagged , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *