Requirements prioritization in a small market-driven software company

No Thumbnail Available
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Date
2014
Department
Major/Subject
Tietojenkäsittelyoppi
Mcode
T-76
Degree programme
Language
en
Pages
ix + 85 + [4] s.
Series
Abstract
Requirements prioritization is a challenging part of requirements engineering aiming to classify requirements against certain aspects and selecting the most valuable ones into releases. Finding the right requirements to implement has been reported as a key contributor in the success of a software product. Especially small companies are dependent on the success of release planning that should maximize the return on investment in product development. The goal of this study is to find out which requirements prioritization practices are feasible for small market-driven companies, by answering 1) which aspects are used (by different stakeholders) to assign priorities to requirements, and 2) which prioritization approaches exist that are feasible for small enterprises. We also aim to establish improvements to the prioritization process of the case company by studying 3) which prioritization challenges exist in the company, and 4) how the process can be improved? The research is based on both literature review and an empirical study. In the empirical part, action research was used to diagnose the current status of prioritization, plan and take improvement actions regarding prioritization, evaluate their effect, and specify what was learned from the intervention. According to the study, market and management related aspects seem to be important in prioritization. The most important aspects emphasize return on investment and the authority of individual (key) customers. Required time, flexibility and scalability are stressed when selecting a prioritization approach, due to the limited resources of the small case company. Most prioritization challenges originated from inadequate RE practices such as requirements management and documentation. Market-driven context forced the company to cope with many requirements coming from many stakeholders. Combining and quantifying multiple decision making aspects was found challenging. Requirements prioritization was also missing a link between prioritization decisions and the business strategy documented in e.g. company roadmaps. Due to varying circumstances in product development, the case company didn't need a structured prioritization process, but rather methods to help decision-making. The results state that the most beneficial improvements to prioritization are actually implemented in the processes surrounding prioritization.

Priorisointi on vaativaksi tunnettu vaatimustenmäärittelyn osa-alue, jossa suunnitellaan vaatimusten toteutusjärjestys arvioimalla niiden prioriteettia eri näkökulmista. Priorisoinnin nähdään olevan yksi tärkeimmistä ohjelmiston menestystekijöistä, ja se on tärkeää erityisesti pienille ohjelmistoyrityksille, jotka vähäisten resurssien takia joutuvat arvioimaan tarkkaan tuotekehityspanostuksiensa tuottavuutta. Tässä diplomityössä tavoitteena on ymmärtää, mitkä priorisointikäytännöt ovat soveltuvia pienille ohjelmistoyrityksille, jotka valmistavat ja myyvät ohjelmistotuotteita massamarkkinoille. Tavoitteisiin päästään selvittämällä, 1) mitä kriteerejä käytetään prioriteettien arvioinnissa ja 2) mitä pienille yrityksille soveltuvia priorisointimenetelmiä on? Työn empiirisessä osassa kehitetään pienen yrityksen priorisointiprosessia tutkimalla 3) mitä haasteita priorisointiin liittyy sekä 4) miten sitä voitaisiin parantaa? Työ perustuu kirjallisuuskatsaukseen ja empiiriseen tutkimukseen. Empiirisessä osassa toimintatutkimusta käytettiin diagnosoimaan priorisoinnin nykytilaa, suunnittelemaan ja toteuttamaan parannuksia siihen, arvioida niiden toimivuutta sekä lopuksi määritellä, mitä interventiosta opittiin. Markkinoihin ja yrityksen johtamiseen liittyvät priorisointikriteerit olivat yrityksessä ensisijaisia. Asiakasvaatimusten tuottavuus (ROI) sekä avainasiakkuuksien huomiointi on tärkeää, kun prioriteetteja arvioidaan. Yrityksen pienestä koosta ja vähäisistä resursseista johtuen soveltuvimmiksi nähtiin priorisointimenetelmät, jotka ovat nopeita sekä joustavia käyttää. Yrityksessä monet priorisointiin liittyneet haasteet johtuivat puutteellisista vaatimustenmäärittelyn käytännöistä kuten vaatimustenhallinnasta ja dokumentoinnista. Markkinalähtöisen tuotekehitysmallin vuoksi yrityksen täytyy hallita monista lähteistä tulevat vaatimukset. Eri kriteerien huomiointi ja arvottaminen koettiin haasteelliseksi, minkä lisäksi priorisoinnin linkittyminen liiketoiminnan suunnitteluun koettiin epäselväksi. Tuotekehityksen jatkuvasti vaihtelevien olosuhteiden takia yritys ei tarvinnut tarkkaan noudatettavaa priorisointiprosessia vaan työkaluja päätöksen tekoon ja yksittäisiä parannuksia erityisesti asiakaskommunikaatioon liittyen. Suuremmat parannukset saavutettiin priorisointia ympäröivien prosessien parantamisesta.
Description
Supervisor
Kauppinen, Marjo
Thesis advisor
Lehtola, Laura
Keywords
asiakasvaatimusten priorisointi, vaatimusten määrittely, vaatimusten hallinta, ohjelmistotuotanto, requirements prioritization, requirements engineering, requirements management, software engineering
Other note
Citation