Vaatimusten priorisoinnin tekniikat ja niiden käyttö

Edelleen suuri osa ohjelmistoprojekteista kohtaa matkallaan haasteita tai päätyy täydelliseen epäonnistumiseen. Yleinen ongelma ohjelmistokehityksessä on, että ohjelmiston vaatimuksia tunnistetaan enemmän kuin mitä projektin resursseilla kyetään toteuttamaan. Projektien kohtaamien haasteiden ja epäo...

Full description

Bibliographic Details
Main Author: Karppinen, Valtteri
Other Authors: Informaatioteknologian tiedekunta, Faculty of Information Technology, Informaatioteknologia, Information Technology, University of Jyväskylä, Jyväskylän yliopisto
Format: Bachelor's thesis
Language:fin
Published: 2015
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/47949
Description
Summary:Edelleen suuri osa ohjelmistoprojekteista kohtaa matkallaan haasteita tai päätyy täydelliseen epäonnistumiseen. Yleinen ongelma ohjelmistokehityksessä on, että ohjelmiston vaatimuksia tunnistetaan enemmän kuin mitä projektin resursseilla kyetään toteuttamaan. Projektien kohtaamien haasteiden ja epäonnistumisten taustalla ovat yleisimmin ylittyneet budjetit ja aikataulut sekä toteutettavien ohjelmistojen puutteellinen toiminnallisuus. Ohjelmistokehitysprosessin vaatimusmäärittelyyn kuuluva vaatimusten priorisointi on tavanomaisin ratkaisu esitettyihin haasteisiin. Priorisoinnilla pyritään valitsemaan ohjelmistoon projektin eri sidosryhmien tärkeimmiksi näkemät vaatimukset. Tässä tutkielmassa tutkitaan kirjallisuuskatsaukseen tukeutuen vaatimusten priorisointia ohjelmistoprojekteissa. Tutkielma esittelee priorisointa yleisellä tasolla perehtyen sen merkitykseen sekä prosessissa käytettäviin tekniikoihin. Lisäksi priorisoinnin käytön tärkeyttä korostetaan esittelemällä sen hyödyntämistä eri tyyppisissä projekteissa sekä projektien eri vaiheissa. Tutkielman lopputuloksina esitetään erilaisia tapoja hyödyntää vaatimusten priorisointia ohjelmistoprojektien strategisissa ja operatiivissa päätöksissä. Lisäksi tutkielmassa vertaillaan priorisointitekniikoita sekä vertailun pohjalta ehdotetaan ajatuksia priorisoinnin menettelyn ja sen tekniikoiden valintaan erilaisissa projektikonteksteissa sekä projektien eri vaiheissa. Tutkielman johtopäätöksenä todetaan priorisoinnin hyödyntämisen olevan ensisijaisesti projektin kontekstin määrittämä. Kontekstin määrittämisen todetaan puolestaan asettavan merkityksen priorisoitavan näkökulman sekä priorisointitekniikan valintaan. It is still usual that a multitude of software projects encounter various challenges and, because of these, even end up in a permanent failure. Often in software engineering, the number of software requirements recognized is excessive for the project to handle with it’s scarce resources. The challenges that are often faced in software engineering projects are exceeding budjets and timelines as well as deficient software functionality. Requirements engineering in a software development includes a process for prioritizing software requirements that is the most conventional solution to the presented challenges. The aim of requirements prioritization is to select the most important software requirements that satisfy stakeholders’ needs in the project. This paper, conducted as a literature review, presents a study about requirements prioritization in software project context. The research explains and analyzes requirements prioritization in a general level. More closely the paper takes a look into the process’s significance in software engineering and into the techniques utilized within the process. In addition, importance of requirements prioritization is emphasized by suggesting different tactics in using priotization in different types of projects and in different project phases. Results of this research present various means of how software projects can benefit from requirements prioritization in both strategic and operational decisions. Furthermore, the study compares different prioritization techniques and based on the comparison suggests ideas in utilizing prioritization process and it’s techniques in different software project contexts and in different project cycle phases. The conclusion of this research suggests that utilizing prioritization is specified by the project context, which in turn sets the significance in choosing the correct prioritization aspect and technique.