Decision-making in Agile Requirements Engineering

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Bachelor's thesis

Department

Major/Subject

Mcode

SCI3027

Language

en

Pages

43

Series

Abstract

In agile software development, effective requirements engineering is crucial in order to ensure software project success. Reaching optimal agile requirements engineering practices depends on a thorough decision-making process involving many vital aspects, such as continuous communication between stakeholders and adaptation to evolving requirements. This thesis deals with the decision-making processes of agile requirements engineering. The research presented here has been conducted as a literature review, with its main objective narrowed down to three research questions. The data used has been collected from three sources: IEEE Xplore, ACM Digital Library (ACMDL), and Scopus. This thesis presents nine key decision-making activities in agile requirements engineering. These include continuous prioritization of requirements, prototyping, and communication with stakeholders. Additionally, 12 key challenges have been identified that hamper effective requirements engineering. These include challenges such as lack of documentation and tacit knowledge-based decisions. To mitigate these problems, eight different solution options are proposed, such as an AI tool to improve requirements validation and enriched user stories to reduce the lack of documentation. In conclusion, agile requirements engineering decision-making processes are multi-step and often challenging, but with the right methods and tools, the quality and efficiency of decision-making can be improved. However, there are still challenges in agile requirements engineering that require further research to address. For example, an AI tool proved to be an excellent way to improve requirements validation, so focusing on similar methods for other aspects of agile requirements engineering would be a promising area to focus on for further research.

Ketterässä ohjelmistokehityksessä tehokas vaatimustenmäärittely on ratkaisevan tärkeää ohjelmistoprojektien onnistumisessa. Optimaalisten vaatimustenmäärittelykäytäntöjen saavuttaminen riippuu etenkin päätöksentekoprosessista, joka koostuu useista osista, kuten jatkuvasta kommunikaatiosta sidosryhmien välillä ja mukautumisesta kehittyviin vaatimuksiin. Tämä kandidaatintyö käsittelee vaatimustenmäärittelyn päätöksentekoprosesseja ketterässä kehityksessä. Työ on toteutettu kirjallisuuskatsauksena, jossa sen tavoite on rajattu kolmeen tutkimuskysymykseen. Data on kerätty kolmesta lähteestä, jotka ovat IEEE Xplore, ACM Digital Library (ACMDL) ja Scopus. Työssä on esitellään yhdeksän keskeistä päätöksentekoaktiviteettia, jotka liittyvät vaatimustenmäärittelyyn ketterässä kehityksessä. Näistä keskeisiä ovat esimerkiksi vaatimusten jatkuva priorisointi, prototyyppien luominen ja jatkuva kommunikaatio sidosryhmien kanssa. Lisäksi työssä on tunnistettu 12 keskeistä haastetta, jotka hankaloittavat tehokasta vaatimustenmäärittelyä, kuten dokumentaation puute ja hiljaiseen tietoon pohjautuvat päätökset. Näiden ongelmien lievittämiseksi on esitetty kahdeksan erilaista ratkaisuvaihtoehtoa, kuten tekoälytyökalu parantamaan vaatimusten validointia ja rikastetut käyttäjätarinat vähentämään dokumentaation puutetta. Johtopäätöksenä voidaan todeta, että ketterän vaatimustenmäärittelyn päätöksentekoprosessit ovat monivaiheisia ja usein haasteellisia, mutta oikeilla menetelmillä ja työkaluilla voidaan parantaa päätöksenteon laatua ja tehokkuutta. Ketterässä vaatimustenmäärittelyssä on kuitenkin vielä haasteita, joiden ratkaisuihin tarvitaan lisätutkimusta. Tässäkin työssä esimerkiksi tekoälytyökalu osoittautui erinomaiseksi tavaksi parantaa vaatimusten validointia, joten keskittyminen samankaltaisiin menetelmiin olisi erinomainen jatkotutkimuskohde.

Description

Supervisor

Savioja, Lauri

Thesis advisor

Mendes, Fabiana

Other note

Citation