Combining data science with agile software development: a case study

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2019-06-17

Department

Major/Subject

Software engineering

Mcode

SCI3043

Degree programme

Master’s Programme in Computer, Communication and Information Sciences

Language

en

Pages

52 + 5

Series

Abstract

Data science has become an important topic in the context of new digital services. Many companies are creating new intelligent services that utilise data science to create better services for their users. The goal of the thesis was to investigate how companies can have successful data science projects. The case project was analysed based on 4 semi-structured interviews and end user feedback. We interviewed 2 data scientists, 2 software developers, service designer, project manager, and product director. The findings of this study were validated with an independent researcher and with the project's data scientists. This study revealed seven factors that affected the success of the data science project. These factors include cross-functional team, committed people, access to good quality data, elaboration of the data science system, direct and open communication, organisational support and expectation management. The data science process of the project was also an agile and iterative end-to-end process. We identified the six process activities and 15 tasks related to these activities. The activities were 1) conceptualisation, 2) problem definition, 3) data collection and preparation, 4) modelling, 5) evaluation and validation, and 6) deployment and utilisation of results. We also identified a set of agile software development practices that can help data scientists at their work. For example, creating prototypes and iterative testing helps data scientists to experiment and validate their selected modelling techniques. Building a minimum viable product (MVP) can help data scientists and stakeholders get feedback about how end users experience digital service in practice. The results of the empirical study indicate that the data science process is an iterative, end-to-end process, where the development team is continuously learning about the data and domain. It is also important to explain to stakeholders how the data science system works and what it is capable of doing.

Datatieteestä on tullut tärkeä aihe uusien digitaalisten palveluiden kehityksessä. Monet yritykset ovat kehittämässä älykkäitä järjestelmiä, jotka käyttävät datatiedettä. Työn tavoitteena oli tutkia kuinka yritykset voivat onnistua paremmin datatiedeprojekteissa. Tapaustutkimuksen projekti analysoitiin 4 puolistuksturoidulla haastattelulla ja loppukäyttäjäpalautteella. Haastattelimme 2 datatieteilijää, 2 ohjelmistokehittäjää, palvelumuotoilijan, projektipäällikön ja projektin ohjaajan. Tutkimuksen tulokset validoitiin tutkimukseen kuulumattoman tutkijan ja projektin datatieteilijöiden kanssa. Tutkimus paljasti seitsemän hyödyllistä tekijää projektin onnistumiselle, jotka olivat: moniosaava ryhmä, sitoutuneet tekijät, laadukkaan datan käyttö, datatiedejärjestelmän selittäminen, suora kommunikaatio, organisaation tuki ja odotustenhallinta. Projektin datatiedeprosessi oli myös iteratiivinen ja kokonaisvaltainen prosessi. Tunnistimme 6 prosessin aktiviteettia ja 15 aktiviteetteihin liittyvää tehtävää. Aktiviteetit olivat 1) konseptointi, 2) ongelman määrittäminen, 3) datan keräys ja valmistelu, 4) mallintaminen, 5) arviointi ja validointi ja 6) käyttöönotto ja tulosten hyödyntäminen. Tunnistimme myös joukon ketteriä ohjelmistokehityksen menetelmiä, jotka voivat auttaa datatieteilijöitä heidän työssään. Esimerkiksi, prototyyppien rakentaminen ja iteratiivinen testaaminen voi auttaa datatieteilijöitä kokeilemaan ja validoimaan heidän käyttämiään mallinnusmenetelmiä. Pienimmän toimivimman tuotteen (minimum viable product, MVP) rakentaminen voi auttaa datatieteilijöitä ja sidosryhmiä keräämään palautetta loppukäyttäjiltä. Empriisen tutkimuksen tulokset osoittavat, että datatiedeprosessi on iteratiivinen ja kokonaisvaltainen prosessi, jossa kehitystiimi oppii koko ajan uutta datasta ja sovellusalueesta. On myös tärkeää selittää sidosryhmille, kuinka datatiedejärjestelmä toimii ja mihin se mahdollisesti pystyy.

Description

Supervisor

Kauppinen, Marjo

Thesis advisor

Särelä, Jaakko

Keywords

data science, digital services, agile software development, success factors

Other note

Citation