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
Instructions for the author
Authors
Date
2013
Department
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, MarjoThesis advisor
Sarvas, RistoKeywords
agile software development, ketterä ohjelmistokehitys, agile requirements engineering, ketterä tarvemäärittely, interactive prototyping, vuorovaikutteinen prototyyppi