Joukkoistaminen ohjelmistotuotannossa
Authors
Date
2019Copyright
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Kovaa vauhtia digitalisoituva yhteiskunta kasvattaa ohjelmistojen tarvetta aina infrastruktuurijärjestelmistä yritysten ja organisaatioiden tietojärjestelmiin. Yksi keino tuottaa ohjelmistoja tehokkaammin on joukkoistaminen, jossa osaamiseltaan monimuotoisen joukon osaamista hyödynnetään ongelmien ratkaisemisessa. Tämän tutkimuksen tarkoituksena oli tutkia kirjallisuuskatsauksen muodossa, miten joukkoistamista voidaan hyödyntää ohjelmistotuotannon eri vaiheissa. Tutkielman tavoitteena oli myös kerätä yhteen tietoa joukkoistamisen hyödyntämisen mahdollisuuksista, jotta esimerkiksi joukkoistamista liiketoiminnassaan harkitsevat yritykset saisivat tutkielmasta kuvan, miten he voisivat hyödyntää joukkoistamista ohjelmistotuotannossaan. Tutkielman perusteella todettiin, että joukkoistamista hyödynnetään erityisesti ohjelmistoprojektin ohjelmointi- ja testausvaiheessa, joista on julkaistu monipuolisesti tieteellisiä artikkeleita. Maailmalla on myös kaupallisia markkinapaikkoja, jotka tarjoavat joukkoistamista näihin ohjelmistoprojektin vaiheisiin. Joukkoistamista voidaan hyödyntää myös ohjelmistoprojektin määrittely-, suunnittelu- sekä käyttöönotto- ja ylläpitovaiheissa, mutta tieteellisiä artikkeleita oli julkaistu näistä vaiheista melko vähän. Lisäksi markkinoilla ei juurikaan ole yrityksiä, jotka tarjoaisivat joukkoistamista näihin ohjelmistoprojektin vaiheisiin. Tutkielman perusteella joukkoistetun ohjelmistotuotannon suurimmiksi eduiksi voidaan sanoa nopeus, edullisuus ja joustavuus. Suurimmiksi haasteiksi puolestaan kuuluvat joukon motivoiminen ja joukkoistetun työn laatu. Joukkoistettu ohjelmistotuotanto on kasvattanut viime vuosina suosiotaan, ja laajempi tutkimus sen hyödyistä ja haasteita kannustaa sen käytön lisääntymiseen myös tulevaisuudessa.
...
In the rapidly digitizing society, the need for software from infrastructure systems to enterprise and organization information systems will increase. One way to develop software more efficiently is crowdsourcing which means that the know-how of a diverse group of professionals is utilized to solve problems. This thesis was conducted as a literature review. The purpose was to study how crowdsourcing can be utilized in the different phases of software engineering. The aim of the thesis was also to collect information on the potential of exploiting crowdsourcing, so that companies considering the use of crowdsourcing would get an idea on how to use crowdsourcing in software engineering. Based on the thesis, it was found that crowdsourcing is utilized especially during the programming and testing phases of a software process, and this has been the subject of various scientific articles. There are also commercial crowdsourcing platforms offering crowdsourcing services for these phases. Crowdsourcing can also be utilized in the following phases of the software process: requirements engineering, design, and implementation and maintenance. However, there were relatively few scientific articles covering these topics. In addition, there are hardly any companies offering crowdsourcing possibilities for these phases. According to the thesis, the greatest benefits of Crowdsourced Software Engineering are speed, affordability and flexibility. The biggest challenges, however, include motivating the team and the quality of work. Crowdsourced Software Engineering has gained popularity in recent years, and a growing body of research on its benefits and challenges will encourage its use also in the future.
...
Keywords
Metadata
Show full item recordCollections
- Kandidaatintutkielmat [5338]
Related items
Showing items with similar title or keywords.
-
Introducing Traceability in GitHub for Medical Software Development
Stirbu, Vlad; Mikkonen, Tommi (Springer International Publishing, 2021)Assuring traceability from requirements to implementation is a key element when developing safety critical software systems. Traditionally, this traceability is ensured by a waterfall-like process, where phases follow each ... -
Cargo-Cult Containerization : A Critical View of Containers in Modern Software Development
Mikkonen, Tommi; Pautasso, Cesare; Systä, Kari; Taivalsaari, Antero (IEEE, 2022)Software is increasingly developed and deployed using containers. While the concept of a container is conceptually straightforward, there are various issues to be considered while using them, ranging from technical details ... -
Embracing iterations in Quantum software : a vision
Khan, Arif Ali; Fahmideh, Mahdi; Ahmad, Aakash; Waseem, Muhammad; Niazi, Mahmood; Lahtinen, Valtteri; Mikkonen, Tommi (ACM, 2022)In today’s software engineering, iterations, affordable en masse, form an important part of just about any system. However, not all computing resources are cheap to consume. In High-Performance (HPC) and Quantum Computing ... -
Omission of Quality Software Development Practices : A Systematic Literature Review
Ghanbari, Hadi; Vartiainen, Tero; Siponen, Mikko (Association for Computing Machinery (ACM), 2018)Software deficiencies are minimized by utilizing recommended software development and quality assurance practices. However, these recommended practices (i.e., quality practices) become ineffective if software professionals ... -
Pelillistäminen ohjelmistotuotannossa
Isoaho, Aaron (2020)Tässä tutkielmassa tarkasteltiin pelillistämistä ohjelmistotuotannon näkökulmasta. Tutkielmassa analysoidaan pelillistämisen käsitettä ja syntetisoidaan määritelmiä. Pelillistämistä tarkastellaan ohjelmistotuotannossa, ja ...