Return to search

Requirements engineering in agile software projects

Many software projects are failed due to the delivery decisions that were made without adequate requirements information. In addition, the project management process including agile-oriented requirement management process has been identified as one of the four success factors in the agile software projects. Having the clear rules for requirements engineering is, therefore, an important thing for agile software projects from their success point of view.

In this study, the objective is to analyze agile requirements engineering and to find out practices that are used in it. The goal is to define a continuous process to identify customer needs and translate them into software requirements in the agile software development. This goal is going to be achieved by a systematic literature review on the agile requirements engineering. For the agile software development and the traditional requirements engineering, the theory has been gathered from some basic books of the theme.

The primary research question for this study is:

How the customer needs will be translated into requirements in the agile software project as a continuous process?

There are also two secondary research questions:

1. What are the customer needs and how can they be identified?

2. What kind of practices are used in the agile requirements engineering?

Generally, the requirements engineering process includes four separate steps. First, the business usefulness of the system should be evaluated (feasibility study). After that, the requirements are discovered (elicitation and analysis)and converted into some standard form (specification). Last phase includes checking that the requirements define the system as customer wants (validation).

Agile requirements engineering includes four major practices. The high-level interaction between the development team and the customer, iterative approach for the requirements engineering, prioritizing the requirements based on their business value for the customer, and eliciting also the non-functional requirements. In addition, the documentation of requirements is minimalistic in agile approaches.

Results of this study can generally be applied and the model created can be utilized as a guideline when doing requirements engineering in the agile software projects. / Monet ohjelmistoprojektit epäonnistuvat, koska tieto vaatimuksista on riittämätöntä toimituspäätöksiä tehdessä. Lisäksi projektinhallinnan prosessi, johon sisältyy ketterä vaatimustenhallinnan prosessi, on tunnistettu yhdeksi neljästä ketterien ohjelmistoprojektien menestystekijästä. Tämän takia ketterien ohjelmistoprojektien onnistumiseksi on tärkeää, että vaatimusmäärittelylle on selkeät ohjeet.

Tämän tutkimuksen tarkoituksena on analysoida ketterää vaatimusmäärittelyä ja löytää siinä yleisesti käytettyjä tapoja. Tavoitteena on määrittää jatkuva prosessi, jossa asiakkaan tarpeet tunnistetaan ja käännetään ohjelmiston vaatimuksiksi ketterässä ohjelmistokehityksessä. Tavoitteeseen pyritään tekemällä systemaattinen kirjallisuuskatsaus ketterään vaatimusmäärittelyyn. Ketterää ohjelmistokehitystä sekä perinteistä vaatimusmäärittelyä käsitellään muutaman perusteoksen pohjalta.

Tutkimuksen ylätason tutkimuskysymys on:

Kuinka asiakkaan tarpeet käännetään vaatimuksiksi jatkuvana prosessina ketterissä ohjelmistoprojekteissa?

Lisäksi tutkimuksella on kaksi alatason tutkimuskysymystä:

1. Mitä asiakkaan tarpeet ovat ja kuinka ne tunnistetaan?

2. Minkälaisia tapoja ketterässä vaatimusmäärittelyssä käytetään?

Yleinen vaatimusmäärittelyprosessi sisältää neljä vaihetta. Ensin arvioidaan järjestelmän liiketoiminnallinen tarpeellisuus (kannattavuusselvitys). Tämän jälkeen etsitään vaatimuksia (selvitys ja analyysi) ja käännetään ne johonkin standardimuotoon (spesifikaatio). Viimeisessä vaiheessa tarkistetaan, että vaatimukset määrittävät järjestelmän juuri asiakkaan haluamalla tavalla (validointi).

Ketterässä vaatimusmäärittelyssä on neljä yleistä käytäntöä. Korkean tason kanssakäyminen asiakkaan ja kehitystiimin välillä, iteratiivinen eli toistava lähestymistapa vaatimusmäärittelyyn, vaatimusten priorisointi perustuen asiakkaalle syntyvään arvoon ja myös ei-funktionaalisten vaatimusten tunnistus. Lisäksi voidaan sanoa, että vaatimusten dokumentointi ketterissä menetelmissä on vähäistä.

Tämän tutkimuksen tuloksia voidaan yleisesti ottaen hyödyntää ja kehitettyä mallia voidaan käyttää vaatimusmäärittelyn ohjenuorana ketterissä ohjelmistoprojekteissa.

Identiferoai:union.ndltd.org:oulo.fi/oai:oulu.fi:nbnfioulu-201705091721
Date09 May 2017
CreatorsRantanen, E. (Eetu)
PublisherUniversity of Oulu
Source SetsUniversity of Oulu
LanguageEnglish
Detected LanguageFinnish
Typeinfo:eu-repo/semantics/bachelorThesis, info:eu-repo/semantics/publishedVersion
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess, © Eetu Rantanen, 2017

Page generated in 0.0134 seconds