Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by department "Tietojenkäsittelytieteen osasto"

Sort by: Order: Results:

  • Halin, Mikko (2019)
    Graphs are an intuitive way to model connections between data and they have been used in problem solving since the 18th century. In modern applications graphs are used, e.g., in social network services, e-commerce sites and navigation systems. This thesis presents a graph-based approach for handling data and observing identities from network traffic.
  • Maaranniitty, Saija (2020)
    Agile software development promotes self-organizing teams, close collaboration with client and team members, short iterative development cycles, response to changing requirements and continuous feedback. Originally agile methods were developed for small teams. As large organisations had a need for agile software development methods supporting several teams and collaboration between them, scaled agile development methods were developed. They promise increased productivity and quality, higher customer engagement and alignment between all levels of the enterprise. This thesis focuses on the software developers perceptions on team performance in Scaled Agile environment. More specifically this thesis studies how team performance is perceived to be impacted in organization that has adopted Scaled Agile Framework (SAFE). The study was designed to acquire descriptive knowledge through empirical studies. This thesis is based on an investigation of a single case company based in Finland. The data for analysis was collected from semi-structured interviews with 5 experienced developers. The findings show that several factors impact software developers team performance experience. By investigating the point of view of practitioners, we observed that team performance is a concept that evolves over time and is prone to be influenced by surrounding environment. This understanding can be used to adjust software development method related practices and organizational factors. This study provides pieces of advice on what kind of practices support or hamper team performance and how to improve them.
  • Salmirinne, Simo (2020)
    Time series are essential in various domains and applications. Especially in retail business forecasting demand is a crucial task in order to make the appropriate business decisions. In this thesis we focus on a problem that can be characterized as a sub-problem in the field of demand forecasting: we attempt to form clusters of products that reflect the products’ annual seasonality patterns. We believe that these clusters would aid us in building more accurate forecast models. The seasonality patterns are identified from weekly sales time series, which in many cases are very sparse and noisy. In order to successfully identify the seasonality patterns from all the other factors contributing in a product’s sales, we build a pipeline to preprocess the data accordingly. This pipeline consist of first aggregating the sales of individual products over several stores to strengthen the sales signal, followed by solving a regularized weighted least squares objective to smooth the aggregates. Finally, the seasonality patterns are extracted using the STL decomposition procedure. These seasonality patterns are then used as input for the k-means algorithm and several hierarchical agglomerative clustering algorithms. We evaluate the clusters using two distinct approaches. In the first approach we manually label a subset of the data. These labeled subsets are then compared against the clusters provided by the clustering algorithms. In the second approach we form a simple forecast model that fits the clusters’ seasonality patterns back to the observed sales time series of individual products. In this approach we also build a secondary validation forecast model with the same objective, but instead of using the clusters provided by the algorithms, we use predetermined product categories as the clusters. These product categories should naturally provide a valid baseline for groups of products with similar seasonality as they reflect the structure of how similar products are organized within close proximity in physical stores. Our results indicate that we were able to find clear seasonal structure in the clusters. Especially the k-means algorithm and hierarchical agglomerative clustering algorithms with complete linkage and Ward’s method were able to form reasonable clusters, whereas hierarchical agglomerative clustering algorithm with single linkage was proven to be unsuitable given our data.
  • Nousiainen, Markus (2020)
    Rise in popularity of Cloud computing has introduced new challenges for IT-governance. The multitude of different services and possible configurations Cloud providers offer can make it hard to get a comprehensive overview of the environment. To successfully govern an organisations Cloud environment it is important to be able to easily make accurate and reliable observations of the environments state, security, and changes to the configurations. This thesis takes a look into the research literature to find out what kinds of risks have been identified in governing the Cloud environment and ways to mitigate them. One of the latest advancements in improving the Cloud governance is the introduction of automated formal reasoning tools for configuration analysis. One customer case where multiple vendors are building services on multiple cloud accounts is used as an example. Architecture for application, security, and audit log collection, indexing, and monitoring is described. Special attention is given to the identity and access management requirements. The thesis concludes with the assessment of the selected approach and tools and services used to implement it. Some alternative solutions, possible improvements, and further development to the implementation are considered.
  • Karvo, Tiina (2020)
    Tässä tutkielmassa analysoidaan yritysten välisiä informaatiovirtoja yritysverkostoissa, jonka viitekehyksenä on palveluekosysteemi. Tutkielmassa käsitellään informaation eheyden tarpeellisuutta ja merkitystä sekä menetelmiä, joilla informaation eheydestä voi varmistua. Tutkielmassa seurataan informaatiovirran kulkemista yrityksestä toiseen. Lisäksi käsitellään yritysten informaation tarvetta, yritysten yhteentoimivuutta, sekä menetelmiä, joita palveluekosysteemi ja ontologiat tarjoavat informaation kontrolloinnille ja hallinnoinnille.
  • Sarsa, Sami (2019)
    In this work, five text vectorisation models' capability in embedding Finnish case law texts to vector space for inter-textual similarity computation is studied. The embeddings and their computed similarities are used to create a Finnish case law retrieval system that allows effective querying with full documents. A working web application is presented as a part of the work. The case law data for the work is provided by the Finnish Ministry of Justice, and the studied models are: TF-IDF, LDA, Word2Vec, Doc2Vec and Doc2vecC.
  • Lindström, Olli-Pekka (2021)
    Until recently, database management systems focused on the relational model, in which data are organized into tables with columns and rows. Relational databases are known for the widely standardized Structured Query Language (SQL), transaction processing, and strict data schema. However, with the introduction of Big Data, relational databases became too heavy for some use cases. In response, NoSQL databases were developed. The four best-known categories of NoSQL databases are key-value, document, column family, and graph databases. NoSQL databases impose fewer data consistency control measures to make processing more efficient. NoSQL databases haven’t replaced SQL databases in the industry. Many legacy applications still use SQL databases, and newer applications also often require the more strict and secure data processing of SQL databases. This is where the idea of SQL and NoSQL integration comes in. There are two mainstream approaches to combine the benefits of SQL and NoSQL databases:multi-model databases and polyglot persistence. Multi-model databases are database management systems that store and process data in multiple different data models under the same engine. Polyglot persistence refers to the principle of building a system architecture that uses different kinds of database engines to store data. Systems implementing the polyglot persistence principle are called polystores. This thesis introduces SQL and NoSQL databases and their two main integration strategies: multi-model databases and polyglot persistence. Some representative multi-model databases and polystores are introduced. In conclusion, some challenges and future research directions for multi-model databases and polyglot persistence are introduced and discussed.
  • Joona, Pyry (2020)
    Finding information such as images that match the users need is a demanding task. The user has to be aware of the right keywords to search with and the underlying collection might not contain the intended images for all users. We propose a methodology to overcome these limitations by generating images matching the users needs instead of retrieving them from a collection. The methodology combines generative adversarial networks (GANs) capable of generating photorealistic images with relevance feedback from users. The methodology was evaluated with 29 user experiments where users were given a set of image retrieval tasks to find images not present in the collection of images. The images generated using the system were compared to the baseline images the users picked from a set of images representing image search results. The results from the study show that image quality was improved significantly across all image domains (cats, cars, beds, faces) and relative improvement was greater the less the starting image had in common with the target. The results suggest that generating images can be more useful than retrieving them from an existing collection.
  • Tverin, Teemu (2020)
    Internetiin kytkeytyneiden laitteiden muodostama esineiden internet on avannut mahdollisuuksia uudentyyppisille ohjelmistopalveluille myös rakennusteollisuuden eri toimialoilla. Tutkielmassa selvitetään kirjallisuuskatsauksena esineiden internetin perusteita, sovelluskohteita ja esineiden internetin sovellusten ominaisuuksia sekä vaatimuksia. Lisäksi tutkitaan esineiden internetin sovellusten arkkitehtuureja, arkkitehtuurien suunnittelua ja arviointia sekä esineiden internetin tarjoamien mahdollisuuksien sopivuutta rakennuskoneiden vuokraamisliiketoiminnan avuksi. Tutkielman empiirisessä osassa tutkitaan tapaustutkimuksena, millainen konevuokrauksen liiketoiminnalle suunniteltavan järjestelmän arkkitehtuuri on sekä millaista menetelmää noudattaen järjestelmän arkkitehtuuria voidaan suunnitella ja arvioida kohdeorganisaatiossa. Tapaustutkimuksen tukena käytetään kirjallisuuskatsauksessa esiteltyjä malleja sekä menetelmiä.
  • Murtaza, Adnan (2020)
    Interpretability in machine learning aims to provide explanations on the behaviors of complex predictive models, widely refer as black-boxes. Generally, interpretability means the understanding of how the models work internally, whereas, explanations are the one way to make machine learning models interpretable, e.g., using transparent and simple models. Numerous approaches have been proposed as explanation methods which strive to interpret black-box models. These explanation methods mainly try to approximate the local behavior of a model, and then explain it in a human-understandable way. The primary reason to explain the local-behavior is that explaining the global behavior of a black-box is difficult, and it remains an unsolved challenge. Moreover, there is another challenge which argues on the quality and stability of the generated explanations. One way to evaluate the quality of explanations is by using robustness as a property. In this work, we define the explanation evaluation framework, which attempts to measure the robustness of explanations. The framework consists of two distance-based measures stability and separability. We explore and use stability measure from existing literature and introduce our new separability measure, which goes along with stability measure in order to quantify the robustness of explanations. We examine model-agnostic (LIME, SHAP) and model-dependent (DeepExplain) explanation methods to interpret the predictions for various supervised predictive models, especially classifiers. We build classifiers by using UCI classification benchmark datasets and MNIST handwritten digits dataset. Our results illustrate that current model-agnostic and model-dependent explanation methods do not perform adequately with respect to our explanation evaluation framework. Our results show that these explanation methods are not robust to variations in features values and often produce different explanations for similar values and similar explanations for different values, which leads to unstable explanations. Our results and outcomes demonstrate that the developed explanation evaluation framework is useful to assess the robustness of explanations and inspire further exploration and work.
  • Kontio, Heikki (2019)
    The number of IoT sensors is steadily rising in the world. As they're being used more and more in industries and households, the importance of proper lifecycle management (LCM) is increasing. Failure detection and security management are essential to be able to manage the large number of devices. In this thesis a number of platforms are evaluated, on the basis of meeting the expectations of LCM. The evaluation was done via a gap analysis. The categories for the analysis were: tools for estimating the remaining useful lifetime for sensors, API availability for LCM, failure detection and security management. Based on the gap analysis a list of recommendations is given in order to fill the gaps: - universal, platform-independent tools for estimating the remaining useful lifetime (RUL) - update APIs to widely used scalable and extensible architectural style REST - platform-independent standard for sensors reporting health status - industry-standard detection methods available for all
  • Räsänen, Toni (2020)
    Jatkuvan integraation ja julkaisun (CI/CD) käytänteet ovat tulleet osaksi ohjelmistojenkehitystä osin ketterien ohjelmistokehityskäytänteiden leviämisen myötä. Jatkuva integraatio ja julkaisu pyrkivät tuomaan läpinäkyvyyttä ja seurattavuutta ohjelmistojen kehitykseen. Ne mahdollistavat ohjelmistojen kehityksen pienissä paloissa ja tukevat uusien ominaisuuksien tai korjauksien mahdollisimman vaivatonta julkaisua ja integrointia olemassa olevaan sovellukseen. Koneoppimismallien yleistyessä ohjelmistoissa ohjelmistokehityksessä tarvitaan uusia käytänteitä tukemaan mallien kehityksen tuomia uusia työvaiheita. Koneoppimismallien kehityksessä oleellisessa osassa on opetukseen käytetty data ja mallien opettamistarpeen havainnointi. Useamman mallin hyödyntäminen ohjelmistossa monimutkaistaa ohjelmiston kehitystä ja mallien toiminnan havainnointia, esimerkiksi opetustarpeen päättelyä. Jäljitettävyyden ja toistettavuuden merkitys korostuu, kun mukana on koneoppimismalleja ja niiden mukanaan tuomia uusia työvaiheita. Tässä työssä tarkastellaan miten koneoppimismallien hyödyntäminen ohjelmistoissa vaikuttaa ohjelmistonkehityksen työnkulkuun. Pyritään selvittämään minkälaisia vaatimuksia koneoppimismallien mukaantulo asettaa jatkuvan integroinnin ja julkaisun käytänteille ja niitä tukeville CI/CD-järjestelmille. Lähemmin tarkastellaan asetelmaa, jossa kehitettävässä ohjelmistossa on kaksi koneoppimismallia. Pohditaan, miten useamman mallin keskinäinen toiminta sujuu ja minkälaisia vaikutuksia mallien vuorovaikutuksella on esimerkiksi mallien opettamiseen ja opetustarpeen päättelyyn.
  • Richardt, Ilari (2020)
    Ohjelmistopohjaisten lääkinnällisten laitteiden kehitys on murroksessa. EU:n uusi Medical Device Regulation -lainsäädäntö on tullut voimaan ja sen myötä regulaatio lääkinnällisille laitteille muuttuu. Muuttuneiden vaatimusten myötä kehitys ei ohjelmistojen osalta helpotu, vaan päinvastoin. Näin ollen tutkimmekin, miten lääkinnällisten laitteiden ohjelmistokehityksessä voidaan automaation avulla saavuttaa jatkuva integraatio ja tuotantoonvienti, ja näin ollen ketteröittää ohjelmistokehitystä säilyttäen kilpailukyvyn kasvavilla terveydenhuollonalan markkinoilla. Tutkimme eri luokitusten ja MDR lainsäädännön vaikutusta ohjelmistokehitykseen. Vertailimme erityisesti luokan 2a ohjelmistopohjaisten lääkinnällisten laitteiden kehitystä suhteessa reguloimattomaan ohjelmistokehitykseen tutkimalla standardeja ja osoittamalla niissä olevien vaatimusten automaatiomahdollisuuksia. Ketteryyden taso kuvaa kyvykkyyttä reagoida muutoksiin ja tuottamaan uusia inkrementtejä ohjelmistokehitysprosessissa. Tutkielman lopputuloksena olemme pystyneet osoittamaan, että lähes sama ketteryyden taso on saavutettavissa ohjelmistopohjaisten luokan 2a lääkinnällisten laitteiden kehityksessä kuin reguloimattomassa ohjelmistokehityksessä, kun huomioon otetaan itse ohjelmistokehitysprosessi, jota erityisesti standardi IEC 62304 kuvaa. Katseltaessa kokonaisprosessia, joka sisältää muitakin osia kuin ohjelmistokehityksen, ei samaa ketteryyden tasoa saavuteta kuin reguloimattomassa ohjelmistokehityksessä. Tämä johtuu regulatiivisten manuaalisten tehtävien luonteesta, jotka on suoritettava ennen tuotantoonvientiä.
  • Huovinen, Ilmari (2019)
    Jatkuva kehitys on joukko ohjelmistokehitysmenetelmiä, jotka mahdollistavat julkaisujen tekemisen luotettavasti ja tiheään tahtiin. Jatkuva kehitys sisältää useita menetelmiä, mutta niistä kolme laajasti tunnettua ovat jatkuva integraatio, jatkuva toimitus ja jatkuva julkaisu. Jatkuvassa integraatiossa muutokset integroidaan jatkuvasti yhteiseen koodikantaan, jatkuvassa toimittamisessa muutokset toimitetaan jatkuvasti tuotantoa muistuttavaan ympäristöön ja jatkuvassa julkaisussa muutokset julkaistaan jatkuvasti. GameRefinery on pelialan yritys, joka kehittää mobiilipelien analyysi- ja markkinadataa tarjoavaa SaaS-palvelua. Palvelun kasvaessa on huomattu haasteita sen kehittämisessä ja ylläpidossa. Tämän tutkielman tarkoituksena selvittää mitä kehitykseen ja julkaisuun liittyviä ongelmia GameRefinery SaaS:ssa on koettu, ja sunnitella jatkuvan kehityksen menetelmiä käyttävä prosessi korjaamaan koettuja ongelmia. GameRefinery SaaSin kehitykseen ja julkaisuun liittyviä ongelmat etsittiin tutkimalla GameRefinery SaaSin aiempia versioita ja selvittämällä mitkä niiden ratkaisut haittasivat ohjelmiston kehitystä ja julkaisua ja mitkä tukivat niitä. Tämän jälkeen verrattiin eroja GameRefinery SaaSin versioiden kehitys- ja julkaisuprosesseissa. Lopuksi eriteltiin löydetyt kehitykseen ja julkaisuun liittyvät ongelmat. Ongelmia löydettiin versiohallintakäytännöistä, toimitus- ja julkaisuprosessista ja virheistä palautumisessa. Lisäksi huomattiin, että arkkitehtuurinen ratkaisu siirtää eräajot pois mikropalveluista omiksi projekteikseen aiheutti ongelmia julkaisujen tekemisessä. Löydettyjä ongelmia ratkaistiin suunnittelemalla jatkuvan kehityksen prosessi, joka perustui Jenkins-automaatiopalvelimen käyttöönottamiseen ja jatkuvan kehityksen menetelmiä hyödyntävän automaatioputken toteuttamiseen. Suunniteltu prosessi selvensi version- ja haaranhallinta käytäntöjä, korjaten ongelmia julkaisuversioiden kasaamisessa eri ominaisuuksista ja estämällä keskeneräisen koodin pääsemisen julkaisuhaaraan. Uudessa prosessissa myös automatisoitiin toimitusprosessi niin, että tietomallin muokkaus otettiin osaksi automaatioputkea poistaen aikaisemmin manuaalisesti suoritetun vaiheen toimituksessa. Näiden lisäksii esitettiin mahdolliset ongelmatilanteet virheestä palautumisessa ja tapoja korjata niitä. Uusi prosessi ei kuitenkaan onnistunut korjaamaan eräajojen siirtämisestä aiheutuneita ongelmia, vaikkakin eräajojen mukaan ottaminen automaatioputkeen lievensi niitä.
  • Kolppo, Simo Petteri (2020)
    Jatkuva kokeileminen tarkoittaa ohjelmistoon tehtävien kokeiluiden keskeistä asemaa ohjelmistokehityksessä. Näillä kokeiluilla pyritään selvittämään uudesta toiminnallisuudesta saatavaa hyötyä tai haittaa ennen kuin ne liitetään pysyvästi osaksi ohjelmistoa. Työn tarkoitus on tarkastella, mitä jatkuvan kokeilemisen käyttöönotto vaatii sekä jatkuvan kokeilemisen teknisen toteutuksen kannalta olennaisia osa-alueita. Osa-alueiksi työhön valittiin testi- ja kontrolliversioiden variaatioiden toteutus, datan keräys, käsittely ja analysointi sekä kokeilun kohteen valinta. Jatkuvan kokeilemisen käyttöönoton haasteiden ja keskeisten osa-alueiden analysoiminen tehdään tässä työssä kirjallisuuskatsauksena. Ensin työssä taustoitetaan jatkuvan kokeilemi- sen kannalta keskeisiä konsepteja: A/B-testausta, jatkuvaa integraatiota ja jatkuvaa toimi- tusta. Tämän jälkeen tutkitaan valituista jatkuvan kokeilemisen osa-alueista useita erilaisia lähestymistapoja. Tutkielmasta ilmenee, että monien osa-alueiden toteutukseen ei ole yhtä parasta toteutustapaa, vaan erilaiset ohjelmistot ja organisaatiot vaativat erilaisia ratkaisuja. Usein näillä ratkaisuilla on kullakin omat hyvät ja huonot puolensa, jotka on syytä ottaa huomioon. Tutkielmasta ilmenee kuitenkin monia yleisesti hyviä käytäntöjä jatkuvan kokeilemisen toteutukseen.
  • Wahtera, Johanna (2019)
    Tässä tutkielmassa käsitellään tapaustutkimuksen kautta käytettävyyttä ja tutkitaan, miten se voidaan huomioida koko ohjelmistokehitysprosessin ajan. Tutkielman kontekstissa käytettävyys tarkoittaa sitä, kuinka tarkasti, tehokkaasti ja miellyttävästi tietty käyttäjä voi määritellyssä käyttökontekstissa käyttää järjestelmää saavuttaakseen tavoitteensa. Käytettävyys mittaa järjestelmän laatua ja hyödyllisyyttä ja siihen panostaminen on ohjelmiston onnistuneisuuden kannalta tärkeää. Tutkielman kohteena oli keskisuuri suomalainen ohjelmistopalveluita tarjoava yritys. Kohdeyrityksen projektit olivat ensimmäisessä vaiheessa pääasiassa 1-5 ohjelmistokehittäjän MVP (\textit{Minimum Viable Product}) -projekteja, mikä tarkoittaa, että niissä pyrittiin toteuttamaan mahdollisimman nopeasti asiakkaan kannalta kaikkien oleellisimmat ominaisuudet. Yritys halusi tietää, miten hyvin käytettävyys tällä hetkellä huomioidaan yrityksen projekteissa ja miten siihen voitaisiin kiinnittää enemmän huomiota. Motivaationa oli myös käytettävyyden viestintä eri sidosryhmille, kuten asiakkaalle. Tutkimuksen tutkimusongelmaksi muodostui: ”Miten käytettävyys voidaan tuoda kaikille sidosryhmille näkyväksi koko ohjelmistokehitysprosessin ajan?” Tutkimus jakautui kahteen osaan, jossa ensimmäisessä selvitettiin haastattelututkimuksen kautta, millaisia yrityksen nykyiset ohjelmistokehitykseen liittyvät käytänteet ovat, ja millä tavalla käytettävyys niissä otetaan huomioon. Litteroidut haastattelut ja muu aineisto käytiin läpi Grounded Theoryn analyysimenetelmillä avoin ja aksiaalinen koodaus. Tulosten perusteella käytettävyyteen ei kiinnitetty yrityksessä erityistä huomiota, vaan se huomioitiin muun käyttöliittymätyön ohessa ilman ohjeistuksia. Haastatellut kehittäjät pitivät käytettävyyttä tärkeänä mutta kokivat, ettei siihen anneta tarpeeksi aikaa ja ettei siihen ole olemassa virallista prosessia. Käytettävyystestauksen puuttuessa ei ollut varmuutta siitä, millaisia lopulliset ohjelmistot olivat käytettävyydeltään. Projektijohtajat painottivat, että käytettävyyteen panostamista on haastavaa perustella asiakkaille projektien pienen koon ja rajatun käyttäjäkunnan vuoksi. Käytettävyydestä ei yleensäkään juuri keskusteltu asiakkaiden kanssa. Tutkimuksen toisessa osassa näihin ongelmakohtiin tartuttiin suunnittelututkimuksen kautta. Suunnittelututkimuksessa yrityksen ongelmaan rakennetaan ratkaisuartefakti sen tiedon pohjalta, mitä kohdeyrityksestä tiedetään ja toisaalta mitä kirjallisuudessa aiheesta sanotaan. Tässä tutkielmassa artefakti oli opasvihko, johon koottiin haastateltavien mainitsemia käytettävyyden huomioimisen menetelmiä ja lajiteltiin ne eri lukuihin sen mukaan, missä kohtaa ohjelmistokehitysprojektia niitä kannattaa käyttää. Oppaan tarkoituksena oli tuoda käytettävyys näkyväksi paitsi yrityksen työntekijöille myös asiakkaille. Haastattelututkimuksen perusteella on tärkeää, että asiakkaalle kerrotaan käytettävyyden tärkeydestä projektien alussa ja että hänelle selitetään selkeästi, millä eri tavoin käytettävyyttä voidaan parantaa projektin eri vaiheissa. Lisäksi on tiettyjä vaiheita, jotka tulisi aina ottaa huomioon, jos hyvään käytettävyyteen halutaan pyrkiä. Tämän tutkimuksen perusteella mahdollisesti tärkeimpiä näistä ovat loppukäyttäjän tarpeiden hyvä hahmottaminen ja osallistaminen. Oppaalle tehdyn evaluoinnin perusteella nämä ja muut käytettävyyteen vaikuttavat menetelmät tulevat sekä yrityksen että sen asiakkaiden tietoon, jos opas saadaan integroitua yrityksen käytänteisiin. Jos opasta hyödynnetään projektin vaiheiden suunnittelussa alusta alkaen, tulee käytettävyys huomioitua läpi projektin siten, että kaikki osanottajat sen ymmärtävät. Oppaan suunnittelupäätökset ja evaluointitulokset on kuvattu tutkielmassa siten, että niistä on hyötyä vastaavissa tilanteissa, joissa käytettävyyden huomioimista halutaan kehittää.
  • Efimova, Maria (2019)
    Digitaalisten pelien kehitys on monipuolinen ala, johon sisältyy monia komponentteja. Yksi näistä komponenteista on visio, eli kehittäjien näkemys siitä, minkälaista lopputuotetta he ovat tekemässä. Alustava visio muodostetaan jo projektin alkuvaiheilla ja sitä parannellaan iteratiivisesti projektin edetessä. Yksi tekijöistä, jotka voivat vaikuttaa vision muutoksiin on käyttäjätutkimusten aikaansaannokset. Digitaalisilla peleillä on kuitenkin muusta ohjelmistotuotannosta poikkeavat tavoitteet käyttötarkoitukseen ja käytettävyyteen liittyen, joten perinteiset käyttäjätutkimusmenetelmät eivät välttämättä ole paras mahdollinen vaihtoehto. Käyttäjätutkimus peleissä onkin suhteellisen nuori ala, joka tarjoaa useita keinoja tutkia pelikokemusta. Käytössä on kuitenkin vain muutama. Käyttäjätutkimuksen aikaansaannokset eivät välttämättä sovi yhteen olemassa olevan vision kanssa ja suurten muutosten tekeminen projektin loppupuolella voi olla hankalaa. Lisäksi jatkuvien muutosten tapahtuessa visio voi unohtua tai pirstaloitua, jolloin lopputuotteen laatu kärsii. Tämän vuoksi kehittäjien tietotaito ja hyvä kommunikaatio kehitys- ja laadunvalvontatiimien välillä ovat välttämättömiä tasapainoisen yhteistoiminnan ja pelien kannalta parhaan mahdollisen lopputuloksen aikaansaamiseksi.
  • Oikarinen, Tiina-Kaisa (2020)
    Ketterien menetelmien käyttö on yleistynyt ohjelmistotuotannossa. Niiden vahvuutena on kyky reagoida nopeasti muutoksiin. Ketterien menetelmien tavoitteena on tuottaa laadukkaita, toimivia ohjelmia asiakkaalle nopeasti ja kustannustehokkaasti. Käyttäjäkokemus on noussut samaan aikaan tärkeäksi laatuominaisuudeksi ja sitä pidetään keskeisenä tekijänä onnistuneen ohjelmiston luomisessa. Onnistunut käyttäjäkokemus on yksi tärkeimpiä menestyvän ohjelmiston edellytyksiä. Yhdistämällä ketterät menetelmät ja käyttäjäkokemus toisiinsa hyödytään molempien vahvuuksista. Ongelmana on, etteivät ketterät menetelmät ota kantaa siihen, miten käyttäjäkokemus yhdistetään niiden prosesseihin. Käyttäjäkokemuksen menetelmät eivät myöskään sovi suoraan sellaisenaan ketteriin menetelmiin. Tässä tutkielmassa selvitettiin kirjallisuuskatsauksen keinoin miten käyttäjäkokemus voidaan yhdistää ketterään ohjelmistokehitykseen. Lisäksi selvitettiin, miten prosesseja yhdistetään toisiinsa, millaisia menetelmiä ja tekniikoita yhdistämisessä käytetään, millaisia rooleja käyttäjäkokemusasiantuntijoilla on ketterissä tiimeissä ja mitä eroja ja yhtäläisyyksiä menetelmien arvomaailmoissa on. Yhdistämistä tarkasteltiin prosessien, menetelmien, ihmisten- ja sosiaalisten aspektien ja teknologioiden näkökulmista. Näin saatiin kattava kokonaiskuva käytetyistä menetelmistä ja ratkaisuehdotuksista, sekä kuvailtiin laajasti yhdistymiseen vaikuttavia tekijöitä ja ilmiöitä. Tuloksena on monipuolinen kuva käyttäjäkokemuksen ja ketterien menetelmien yhdistämisen haasteista ja niiden ratkaisuista.
  • Sundell, Petri (2020)
    Ohjelmistokehityksessä on siirrytty käyttämään pääsääntöisesti ketteriä ohjelmistokehitysmenetelmiä. Samaan aikaan käyttäjäkokemus (UX) nähdään nykyisin ohjelmiston tärkeänä kilpailuetuna. Käyttäjäkokemussuunnittelun yhdistämisessä ketterään ohjelmistokehitykseen on havaittu kuitenkin olevan haasteita. Tämän pro gradu -tutkielman tavoitteena oli selvittää, miksi käyttäjäkokemussuunnittelu tulisi pystyä yhdistämään osaksi ketterää ohjelmistokehitystä sekä mitä haasteita yhdistämisessä on havaittu ja minkälaisia ratkaisumalleja siihen on ehdotettu. Tutkielma suoritettiin tekemällä kirjallisuuskatsaus. Tulosten perusteella havaittiin useita ongelmakohtia. Ketterät ohjelmistokehitysmenetelmät eivät pääsääntöisesti ota kantaa siihen, miten käyttäjäkokemussuunnittelu ja ketterä ohjelmistokehitys tulisi yhdistää. Käyttäjäkokemussuunnittelijoiden ja ohjelmistokehittäjien välinen kommunikaatio ja yhteistyö ei ole riittävän aktiivista. Myös sprintin kesto (1-4 viikkoa) aiheutti käyttäjäkokemussuunnittelijoille haasteita, sillä sprintin kesto koettiin liian lyhyeksi laadukkaaseen käyttäjäkokemussuunnitteluun. Tulosten perusteella käyttäjäkokemussuunnittelijoiden ja ohjelmistokehittäjien välinen laadukas kommunikaatio ja aktiivinen yhteistyö on yhdistämisessä avainasemassa. Käyttäjäkokemussuunnittelulle on myös annettava mahdollisuus kulkea osittain toteutuksen edellä. Tulosten perusteella ei ole yksittäistä ratkaisumallia, joka ratkaisisi kaikki ongelmakohdat, vaan ne muodostavat enemmänkin ”työkalupakin”, josta tilanteen mukaan voidaan valikoida käyttöön sopivimmat keinot.
  • Kienanen, Anssi (2020)
    Käyttöliittymässä ilmenevät ongelmat johtuvat usein vaatimusmäärittelyvaiheen toimista. Ongelmia ilmenee, kun vaatimuksissa ei ole otettu huomioon kaikkia keskeisiä käyttäjien tehtäviä ja niihin liittyviä tavoitteita tai toteutus ei vastaa vaatimuksia. Kun puutteet ja virheet havaitaan varhaisessa vaiheessa, niiden korjaamisesta aiheutuu mahdollisimman vähän ylimääräistä työtä. Vaatimukset ovat usein esitetty abstraktissa muodossa, jolloin niiden merkitystä käytön kannalta on vaikea ymmärtää. Käyttöliittymäkuvien ja -mallien avulla on helpompi selvittää vaatimusten merkitystä käyttäjien ja toteutusratkaisujen kannalta. Varhaisessa vaiheessa aloitettu käyttöliittymäsuunnittelu edesauttaa vaaatimusmäärittelyn virheiden havaitsemista ja mahdollistaa niiden nopean ja edullisen korjaamisen. Suunniteltaessa mahdollisimman tehokkaasti käyttäjien tehtäviä tukevia ohjelmia, tulee ensin selvittää tyypilliset käyttötapaukset ja niihin liittyvät tavoitteet. Tavoitteellisiin käyttötapauksiin perustuvalla suunnittelulla on mahdollista muodostaa objektiivisesti ohjelman toiminnallisuus ja tietosisältö, koska suunnittelu perustuu todellisiin käyttäjien tilanteisiin. Samalla saavutetaan vaikutettavuudeltaan ja tehokkuudeltaan hyvä käyttöliittymä. Käytettäessä konkreettisia käyttötilanteita suunnittelun ja vaatimusten muodostamisessa, on tärkeää, että käyttötilanteet on selvitetty mahdollisimman kattavasti. Jos keskeisiä käyttötilanteita on jäänyt selvittämättä, käyttöliittymä ei välttämättä tue niiden suoritusta.