Requirements engineering and Agile software development

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

2010

Major/Subject

Tietojenkäsittelyoppi

Mcode

T-76

Degree programme

Language

en

Pages

72

Series

Abstract

Requirements engineering is an important part of software development process as it addresses the challenges to find out the relevant requirements to be developed. It also covers issues like managing the changing requirements. Requirements engineering activities are needed no matter is the software development done according to classical waterfall or by using agile methods like Scrum. Though, the formal requirements engineering is easily linked to classical software development. The first chapters of the thesis includes literature review about the definitions of the requirement and requirements engineering, short description based on literature about the agile software development, focusing on Scrum and having a look into requirements engineering practices in Scrum. In this thesis the purpose was to study the status and needs of the requirements engineering practices in real product management and research & development environment in one organization. In addition the purpose was to evaluate have the requirements engineering practices changed after the Serum was taken into use. The case study was conducted using semi-structured theme interviews and fourteen people were interviewed from the chosen groups. The results of the case study are presented in the thesis. The findings in the case study show that in the studied organization requirements engineering is not conducted based on defined process or according to clearly agreed practices. Some requirements engineering activities like documenting the requirements and prioritization of those are in place, but e.g. no common rules exists how the prioritization should be done. Those practices had also changed after Serum was introduced, e.g. the importance of the prioritization had increased. However, based on the interviews the requirements engineering is considered important and the needs of the people does not equal to the status of it. Though requirements engineering process is missing there are two software development processes in use that are affecting the work with requirements and are at least partially conflicting and therefore causing challenges also with requirements. Last chapters of the thesis include evaluation of the results and thesis work from different aspects, conclusions and some suggestion for further studies.

Vaatimustenmäärittely ja -hallinta ovat keskeinen osa ohjelmistonkehitysprosessia, sillä ne tarttuvat haasteisiin, jotka liittyvät relevanttien vaatimusten löytämiseen ja valitsemiseen toteuttavaksi. Vaatimustenhallinta käsittää myös muuttuvien vaatimusten hallitsemisen. Vaatimustenmäärittely ja -hallinta aktiviteetit ovat tarpeellisia siitä huolimatta, noudattaako ohjelmistonkehitys klassista vesiputousmallia tai ketterää kehitysmenetelmää. Tosin, vaatimustenmäärittely ja -hallinta yhdistetään tyypillisesti osaksi klassista ohjelmistonkehitystä. Työn alkuosan kirjallisuuskatsauksessa tarkastellaan erilaisia määritelmiä vaatimukselle sekä vaatimustenmäärittelylle ja -hallinnalle. Kirjallisuuden pohjalta kuvataan lyhyesti ketterää ohjelmistonkehitystä, keskittyen Scrumiin sekä tarkastellaan vaatimustenmäärittelyyn ja -hallintaan liittyviä käytäntöjä Scrumissa. Työssä tarkoituksena oli tutkia vaatimustenmäärittelyyn ja -hallintaan liittyviä käytäntöjä todellisessa tuotteenhallinnan ja tuotekehityksen ympäristössä eräässä työyhteisössä. Lisäksi työssä oli tarkoitus arvioida ovatko käytännöt muuttuneet Scrumin käyttöönoton jälkeen. Tapaustutkimus suoritettiin puoli-strukturoituna teemahaastatteluna ja yhteensä 14 henkilöä valituista ryhmistä haastateltiin. Tapaustutkimuksen tulokset esitellään tässä työssä. Tapaustutkimuksen löydökset osoittavat ettei kohde organisaatiossa ole määriteltyä vaatimustenmäärittely- ja hallintaprosessia eikä yleisesti ja selkeästi sovittuja käytäntöjä siihen liittyen. Vaatimustenmäärittelyyn ja -hallintaan liittyviä aktiviteetteja kuten vaatimusten dokumentointia ja priorisointia kuitenkin tehdään, mutta sovitut pelisäännön puuttuvat mm. priorisoinnin perusteista. Edellä mainitut käytännöt olivat myös kokeneet muutoksia Scrumin käyttöönoton myötä mm. siten, että priorisoinnin merkitys oli kasvanut. Haastateltavat kuitenkin kokivat vaatimustenmäärittelyn ja -hallinnan tärkeäksi ja esille tulleet tarpeet siihen liittyen eivät kohtaa nykytilan kanssa. Vaikka varsinaista vaatimustenmäärittely ja -hallinta prosessia ei olekaan, on käytössä kaksi ohjelmistonkehitysprosessia, jotka ainakin osittain ovat ristiriitaisia ja aiheuttavat haasteita myös työskenneltäessä vaatimusten kanssa. Työn lopussa arvioidaan tapaustutkimuksen tuloksia ja tehtyä työtä eri näkökulmista sekä esitetään yhteenveto ja ehdotetaan joitakin jatkotutkimusajatuksia.

Description

Supervisor

Männistö, Tomi

Thesis advisor

Airaksinen, Risto

Keywords

Other note

Citation