Agile requirements engineering with interactive prototyping: Case study

No Thumbnail Available

URL

Journal Title

Journal ISSN

Volume Title

School of Science | Master's thesis
Checking the digitized thesis and permission for publishing
Instructions for the author

Date

2013

Major/Subject

Tietojenkäsittelyoppi

Mcode

T-76

Degree programme

Language

en

Pages

97

Series

Abstract

The rise of agile methodologies in software development has led to abandonment of many traditional tools. Especially requirements engineering is in a state of confusion as the more traditional model isn't applicable as it is but new models are only just being developed. The area of agile requirements engineering is lacking concrete models of doing things and needs more research. In this thesis I investigated how the challenges of agile requirements engineering can be met with interactive prototyping. To research this I first tried to find the biggest challenges faced when doing requirements engineering in agile projects and then looked into how interactive prototyping could help in solving these problems. To investigate the research questions I looked into previous literature as well as carried out a case study based on an agile project and its practices during a year. As a result of both methods I developed a model for doing requirements engineering in agile projects. The results of the research indicated that agile requirements engineering can be practiced with rather similar methods as more traditional requirements engineering but with emphasis more on continuous communication and less on documents. Some of the biggest requirements engineering challenges faced in agile projects were insufficient communication, lack of tangible plans, neglecting quality and architectural requirements and lack of understanding the big picture. Of these four challenge areas the former two benefit most from prototyping whereas the latter two can even be worse off because of too much emphasis on short term visible features. The results seem to indicate that prototyping can be beneficial for agile projects as long as it is used in conjunction with some other methods that complement it suitably. These other methods could include keeping track of quality requirements, reviewing the big picture at regular intervals and building acceptance tests based on prototypes.

Ketterien menetelmien suosion nousu ohjelmistokehityksessä on johtanut monien perinteisten työkalujen hylkäämiseen. Erityisesti tarvemäärittely on suuressa murroksessa, sillä sen perinteisemmät menetelmät eivät sovellu sellaisinaan ketterään maailmaan ja uusia toimintatapoja vasta kehitetään. Ketterään tarvemäärittelyyn ei ole kehitetty vielä käytännönläheisiä toimintamalleja ja se kaipaakin lisää tutkimusta. Tässä diplomityössä tutkin sitä, miten vuorovaikutteisilla prototyypeillä voidaan vastata ketterän tarvemäärittelyn haasteisiin. Tutkiakseni tätä halusin selvittää, mitkä ovat ketterän tarvemäärittelyn suurimmat haasteet, ja kuinka vuorovaikutteiset prototyypit voivat niissä auttaa. Vastasin tutkimuskysymyksiin sekä aiemman kirjallisuuden pohjalta että tapaustutkimuksella, joka pohjautui ketterän projektin vaiheisiin yhden ajalta. Kirjallisuuden ja tapaustutkimuksen pohjalta kehitin mallin siitä, miten ketterää tarvemäärittelyä voidaan harjoittaa vuorovaikutteisiin prototyyppeihin pohjautuen. Tutkimuksen tulokset osoittivat, että ketterää tarvemäärittelyä voidaan toteuttaa paljolti samantyyppisillä työkaluilla kuin perinteistä tarvemäärittelyä. Painopiste on kuitenkin ketterässä tarvemäärittelyssä enemmän jatkuvassa kommunikaatiossa ja vähemmän tunnollisessa dokumentoinnissa. Ketterissä projekteissa tarvemäärittelyn kanssa kohdatuista haasteista suurimpia olivat puutteellinen kommunikaatio, konkreettisten suunnitelmien puute, laatu- ja arkkitehtuurivaatimusten laiminlyönti sekä kokonaiskuvan puuttuminen. Näistä neljästä kaksi ensimmäistä hyötyvät eniten prototyyppien käyttämisestä kun taas kaksi jälkimmäistä voivat jopa kärsiä siitä prototyyppien painottaessa juuri lyhyen tähtäimen näkyviä toiminnallisuuksia. Tulokset osoittavat, että prototyyppien käyttäminen on erittäin hyödyllistä ketterissä projekteissa, kunhan niiden ohella hyödynnetään myös muita sopivia työkaluja, kuten laatuvaatimusten seuraamista, kokonaiskuvan hahmottelua tasaisin väliajoin sekä hyväksymistestien laatimista prototyyppien perusteella.

Description

Supervisor

Kauppinen, Marjo

Thesis advisor

Sarvas, Risto

Keywords

agile software development, ketterä ohjelmistokehitys, agile requirements engineering, ketterä tarvemäärittely, interactive prototyping, vuorovaikutteinen prototyyppi

Other note

Citation