Prototypointi ketterässä ohjelmistokehityksessä
Tenhunen, Katariina (2023)
Tenhunen, Katariina
2023
Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2023-12-18
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-2023121710941
https://urn.fi/URN:NBN:fi:tuni-2023121710941
Tiivistelmä
Ohjelmistokehityksen yhtenä haasteena on luoda ratkaisuja, jotka vastaavat täydellisesti käyttäjien tarpeisiin ja odotuksiin. Tämän ratkaisemiseksi ketterät menetelmät ovat nousseet suosituksi lähestymistavaksi, sillä ne korostavat sopeutumiskykyä, yhteistyötä ja muutosherkkyyttä koko tuotteen kehityksen elinkaaren ajan. Prototypoinnin hyödyntäminen ketterissä menetelmissä voi mahdollistaa ratkaisujen löytämistä ja lisätä todennäköisyyttä tuottaa tuote, joka vastaa asiakkaan tarpeita.
Tämä työ on kirjallisuuskatsaus prototypoinnin soveltuvuudesta ketteriin menetelmiin. Työssä tarkastellaan ketterien menetelmien arvoja ja tavoitteita, sekä prototypoinnin eri metodien tuomia hyötyjä ja haasteita. Työn tarkoituksena on saada vastaus kysymyksiin, miten prototypointi voi tuoda hyötyä ketteriin ohjelmistokehityksen menetelmiin, mitä haasteita prototypoinnista voi syntyä ja voiko asiakas hyötyä prototypoinnista. Työssä ei oteta kantaa siihen, miten prototypoinnin metodien valinta tehdään tai miten niiden konkreettinen implementointi osaksi ketteriä menetelmiä tapahtuu. Työssä ei myöskään pyritä löytämään parasta prototypoinnin metodia, vaan keskitytään prototypoinnin hyötyjen ja haasteiden tarkasteluun.
Tarkastelussa on ketteristä menetelmistä Scrum ja Kanban, jotka ovat kaksi yleisintä käytössä olevaa metodia. Scrum on nykyään yksi yleisimmistä ketteristä menetelmistä, ja se keskittyy iteratiiviseen kehitykseen. Kanban taas on Scrumiin verrattuna hieman kevyempi työkalu projektin hallintaan.
Prototypoinnin menetelmistä tarkasteluun on valittu inkrementaalinen, evolutionäärinen ja rapid-prototypointi niiden yleisen suosion vuoksi. Inkrementaalinen prototypointi on menetelmä, jossa tuote rakennetaan vaiheittain, ja jokainen iteraatio lisää uusia ominaisuuksia tai parannuksia. Evolutionäärinen prototypointi on hyvin samankaltainen metodi, jolla tuotteesta rakennetaan nopeasti perusversio, ja sitä jalostetaan useiden iteraatioiden kautta. Aiemmista metodeista eroava rapid-prototypointi on menetelmä, jossa luodaan nopeasti alustavia versioita tuotteesta ilman niiden jatkokehitystä.
Kirjallisuuden ja tarkastelun pohjalta huomataan, että prototypoinnin hyödyntäminen ketterässä ohjelmistokehityksessä on hyödyllistä, sillä sen tuomat hyödyt ovat linjassa ketterien menetelmien periaatteiden kanssa. Prototypointi ketterässä ohjelmistokehityksessä mahdollistaa loppukäyttäjien ja asiakkaan aktiivisen osallistumisen kehitysprosessiin, ongelmien tunnistamisen varhaisessa vaiheessa, sekä muuttuviin vaatimuksiin vastaamisen nopeasti. Prototypointi mahdollistaa lisäksi konkreettisen esitystavan abstrakteille ideoille.
Tämä työ on kirjallisuuskatsaus prototypoinnin soveltuvuudesta ketteriin menetelmiin. Työssä tarkastellaan ketterien menetelmien arvoja ja tavoitteita, sekä prototypoinnin eri metodien tuomia hyötyjä ja haasteita. Työn tarkoituksena on saada vastaus kysymyksiin, miten prototypointi voi tuoda hyötyä ketteriin ohjelmistokehityksen menetelmiin, mitä haasteita prototypoinnista voi syntyä ja voiko asiakas hyötyä prototypoinnista. Työssä ei oteta kantaa siihen, miten prototypoinnin metodien valinta tehdään tai miten niiden konkreettinen implementointi osaksi ketteriä menetelmiä tapahtuu. Työssä ei myöskään pyritä löytämään parasta prototypoinnin metodia, vaan keskitytään prototypoinnin hyötyjen ja haasteiden tarkasteluun.
Tarkastelussa on ketteristä menetelmistä Scrum ja Kanban, jotka ovat kaksi yleisintä käytössä olevaa metodia. Scrum on nykyään yksi yleisimmistä ketteristä menetelmistä, ja se keskittyy iteratiiviseen kehitykseen. Kanban taas on Scrumiin verrattuna hieman kevyempi työkalu projektin hallintaan.
Prototypoinnin menetelmistä tarkasteluun on valittu inkrementaalinen, evolutionäärinen ja rapid-prototypointi niiden yleisen suosion vuoksi. Inkrementaalinen prototypointi on menetelmä, jossa tuote rakennetaan vaiheittain, ja jokainen iteraatio lisää uusia ominaisuuksia tai parannuksia. Evolutionäärinen prototypointi on hyvin samankaltainen metodi, jolla tuotteesta rakennetaan nopeasti perusversio, ja sitä jalostetaan useiden iteraatioiden kautta. Aiemmista metodeista eroava rapid-prototypointi on menetelmä, jossa luodaan nopeasti alustavia versioita tuotteesta ilman niiden jatkokehitystä.
Kirjallisuuden ja tarkastelun pohjalta huomataan, että prototypoinnin hyödyntäminen ketterässä ohjelmistokehityksessä on hyödyllistä, sillä sen tuomat hyödyt ovat linjassa ketterien menetelmien periaatteiden kanssa. Prototypointi ketterässä ohjelmistokehityksessä mahdollistaa loppukäyttäjien ja asiakkaan aktiivisen osallistumisen kehitysprosessiin, ongelmien tunnistamisen varhaisessa vaiheessa, sekä muuttuviin vaatimuksiin vastaamisen nopeasti. Prototypointi mahdollistaa lisäksi konkreettisen esitystavan abstrakteille ideoille.
Kokoelmat
- Kandidaatintutkielmat [8453]