University of Oulu

Global software engineering : challenges and solutions framework

Saved in:
Author: Parviainen, Päivi
Organizations: University of Oulu, Faculty of Science, Department of Information Processing Science
Format: eBook
Online Access: PDF Full Text (PDF, 2.8 MB)
Persistent link: http://urn.fi/urn:isbn:9789513874605
Language: English
Published: Espoo : VTT Technical Research Centre of Finland, 2012
Publish Date: 2012-05-15
Thesis type: Doctoral Dissertation
Defence Note: Thesis for the degree of Doctor of Philosophy to be presented with due permission for public examination and criticism in auditorium IT116, at University of Oulu, Linnanmaa, on the 25th of May, 2012, at 12 noon.
Tutor: Professor Markku Oivo
Reviewer: Professor Kai Koskimies
Professor Stefan Biffl
Opponent: Professor June Verner
Kustos: Professor Markku Oivo
Description:

Abstract

The increasingly complex and competitive market situation has resulted in Global Software Engineering (GSE) becoming more and more common practice. Companies need to use their existing resources as effectively as possible. In addition, they need to employ resources on a global scale from different sites within the company and even from partner companies throughout the world, in order to produce software at a competitive level. Thus, the ability to collaborate effectively has become a critical factor in today’s software development. The main expected benefits from GSE are improvements in development time, being closer to the customers and having flexible access to better specialized and less costly resources. In practice, however, the productivity in distributed software development drops up to 50 per cent compared to single site software development. Main reasons behind this productivity drop are misunderstood or mismatched processes between teams, and poor visibility into and control of the development activities at all sites involved. The purpose of this thesis is to analyse in more detail why this is the case and what could be done to improve the situation in practice in the companies’ daily work.

In this thesis, the challenges in GSE are discussed based on their root causes and then summarised into the GSE framework. The root causes are time difference and distance, multiple partners, lack of communication, coordination breakdown, different backgrounds, and lack of teamness and trust. Then solutions for these challenges are discussed from people, process and technology viewpoints and summarised into the GSE framework. As a more detailed example of challenges to a subprocess, requirements engineering (RE) in GSE is presented. RE is discussed similarly as the GSE in general, first challenges are discussed and then solutions to the challenges are presented.

The work reported in this thesis is based on extensive empirical work, carried out over several years. The empirical work was carried out in several phases: in the first phase, an industrial inventory was made, including industrial experience reported in the literature. Based on this, an initial framework for GSE was developed, consisting of the main challenges to be addressed in GSE projects. After this first phase, two sets of industrial cases were carried out, addressing a wide set of GSE aspects and challenges by trying out the GSE solutions to challenges identified in companies and validating the GSE framework. Altogether, 52 industrial cases relating to distributed development were carried out during the projects over the years 2004–2011.

This thesis shows that although GSE is common, it is still challenging and companies should carefully weigh the benefits and costs of doing the work in distributed setting vs. doing it single site. This thesis is a step towards better, more productive and higher quality GSE, as it helps companies to be aware and address potential challenges early via the GSE framework. The work presented also helps companies to find validated solutions to address the challenges in their practice.


Tiivistelmä

Jatkuva tuotteiden monimutkaistuminen ja kiihtyvä kilpailutilanne ovat johtaneet siihen, että globaali ohjelmistokehitys (GSE) on yhä yleisempää. Yritysten täytyy hyödyntää mahdollisimman tehokkaasti sekä omia että globaaleja resursseja ympäri maailman ollakseen kilpailukykyisiä. Globaalin ohjelmistokehityksen potentiaalisia hyötyjä ovat lyhyemmät tuotekehitysajat, läheisyys asiakkaan kanssa sekä mahdollisuus käyttää erikoistuneita ja edullisempia resursseja joustavasti. Käytännössä hajautetun ohjelmistokehityksen tuottavuus kuitenkin laskee jopa 50 prosenttia verrattuna paikalliseen ohjelmistokehitykseen. Tämä johtuu mm. väärinymmärretyistä tai yhteensopimattomista prosesseista tiimien välillä sekä eri paikkakunnilla tehtävän kehityksen hallitsemattomuudesta. Tutkimuksen tarkoitus on selvittää tarkemmin, miksi näin tapahtuu ja mitä voitaisiin tehdä käytännössä tilanteen parantamiseksi yritysten päivittäisessä toiminnassa.

Tässä työssä esitetään globaalin ohjelmistokehityksen haasteita sekä niiden aiheuttajia ja ratkaisuja. Haasteet esitetään osana globaalin ohjelmistokehityksen kehikkoa. Haasteita aiheuttavat aikaero ja etäisyys, useat osapuolet, kommunikoinnin puute, hallinnan hajautuminen, erilaiset taustat sekä tiimiyden ja luottamuksen menetys. Tutkimuksessa myös esitetään ratkaisuja näihin haasteisiin ihmisten, prosessin ja teknologian näkökulmasta, ja myös ne liitetään mukaan globaalin ohjelmistokehityksen kehikkoon. Tarkempana esimerkkinä GSE:n vaikutuksista osaprosessin näkökulmasta esitetään vaatimusmäärittely ja -hallinta globaalissa ohjelmistokehityksessä. Vaatimusmäärittely ja -hallinta esitetään samalla tavalla kuin globaali ohjelmistokehitys: ensin esitetään haasteita ja sitten ratkaisuja näihin haasteisiin.

Tutkimus perustuu laajaan empiiriseen aineistoon, jota on koottu usean vuoden aikana ja useassa vaiheessa. Ensimmäisessä vaiheessa tehtiin yritysten GSE-käytäntöjen nykytilan selvitys, joka sisältää kirjallisuudessa raportoidut yritysten kokemukset. Tämän perusteella laadittiin ensimmäinen versio globaalin ohjelmistokehityksen kehikosta. Kehikko sisälsi päähaasteet, jotka tulee ottaa huomioon globaaleissa ohjelmistokehitysprojekteissa. Ensimmäisen vaiheen jälkeen vietiin läpi kaksi joukkoa teollisia tapaustutkimuksia. Nämä tutkimukset kohdistuivat laajaan joukkoon globaalin ohjelmistokehityksen asioita ja haasteita. Tapaustutkimuksissa kokeiltiin ratkaisuja yrityksissä tunnistettuihin haasteisiin ja samalla validoitiin globaalin ohjelmistokehityksen kehikkoa. Yhteensä vietiin läpi 52 teollista tapaustutkimusta vuosien 2004–2011 aikana useassa eri projektissa.

Tämä tutkimus osoittaa, että vaikka globaali ohjelmistokehitys on yleistä, se on edelleen haastavaa ja yritysten täytyy huolellisesti punnita sen mahdollisia hyötyjä ja kustannuksia verrattuna paikalliseen kehittämiseen. Tämä tutkimus on askel kohti parempaa, tuottavampaa ja laadukkaampaa globaalia ohjelmistokehitystä, sillä se auttaa yrityksiä huomaamaan mahdollisia ongelmia ja reagoimaan niihin aikaisin käyttämällä globaalin ohjelmistokehityksen kehikkoa. Tutkimus myös auttaa yrityksiä löytämään hyviä ja kokeiltuja ratkaisuja käytännössä kohtaamiinsa ongelmiin.


Series: VTT Science
ISSN: 2242-119X
ISSN-E: 2242-1203
ISSN-L: 2242-119X
ISBN: 978-951-38-7460-5
ISBN Print: 978-951-38-7459-9
Issue: 6
Subjects:
ICT
Copyright information: This publication is copyrighted. You may download, display and print it for your own personal use. Commercial use is prohibited.