Abstract
The development of embedded systems is becoming increasingly challenging; it is intellectually demanding knowledge work that requires collaboration among a wide range of skills. Software development is a largely cognitive activity, based on the worker’s internal mental processes rather than on physical labour. Developers face several individual and team cognition-related challenges in their work, including complex decision-making and problem-solving processes. Therefore, it is suggested that the software development process should be modelled as a set of problem-solving activities.
This thesis proposes that supporting the cognitive work of collaborative development requires addressing the entire system’s life cycle with practical solutions. In this work, the above-mentioned challenges are addressed in terms of communication and collaboration practices, knowledge management and coordination, and transparent tools and processes. Moreover, these solutions are integrated into a workflow that structures and supports the development process. Finally, a development process is outlined that addresses the decision-oriented nature of software development in such a manner that the necessary data is provided for decision points that guide and coordinate the development efforts.
A qualitative research approach has been chosen, and the work is based on interviewing industrial experts. Several cases were set up to define the state of the practice in industrial organisations developing embedded systems for different domains. Current challenges were identified and solutions were developed and validated in case companies.
The main result of the dissertation is a set of solutions integrated into the organisational workflow to support collaborative development. The main principles are that the necessary information must be provided and work and its objectives must be justified and put into the correct context. The industrial cases indicate that utilising the suggested solutions can improve collaboration among organisations and teams by helping disseminate and use the required information. Mitigating the cognitive burden speeds up the development work and reduces the effort required from developers and decision makers. In this manner, organisations may achieve better results, primarily because the produced data and results will fulfil their purposes better and provide less waste. / Tiivistelmä
Ohjelmistotuotanto nykymaailmassa muuttuu koko ajan haastavammaksi, kehitysprojektit ovat monimutkaisia ja hajautettuja sekä vaativat monialaista osaamista. Tiukat aikataulupaineet puolestaan tuovat mukaan oman problematiikkansa. Ohjelmistokehitys on suurelta osin kognitiivista työtä, jossa tarvitaan erilaisia taitoja ja eri alojen asiantuntijoita. Kognitiivinen työ tarkoittaa abstraktin tiedon käsittelyä ennemmin kuin fyysistä työtä. Ohjelmistojen kehittäjät törmäävät useisiin henkilökohtaiseen sekä ryhmätyöhön liittyviin haasteisiin, näistä esimerkkeinä monitahoinen tiedon käsittely, päätöksenteko ja ongelmanratkaisu. Onkin ehdotettu, että ohjelmistonkehitysprosessit ymmärrettäisiin ongelmanratkaisu- ja päätöspainotteisina prosesseina.
Tässä työssä ehdotetaan, että tukeakseen ohjelmistonkehitysprosessia koko tuotteen tekemisen elinkaari on otettava huomioon ja työntekijöiden roolit ja vastuut on linkitettävä kehitysprosesseihin sekä kehitysprosessin eri vaiheisiin. Havaittuihin kognitiivisiin ongelmiin ja tarpeisiin vastataan yhteistyö- ja kommunikaatiokäytännöin, tiedonhallinnan, läpinäkyvyyden, työnkulun, ja päätöspainotteisten prosessien kautta.
Tulokset kerättiin käyttäen menetelmänä laadullista tapaustutkimusta, ja työ perustuu useiden teollisten asiantuntijoiden haastatteluihin. Tutkimus toteutettiin useassa eri teollisuuden organisaatiossa. Aluksi määritettiin lähtötilanne organisaatioissa sekä kirjallisuuden perusteella, kartoitettiin ongelmat, jonka jälkeen kehitettiin tärkeimmiksi havaittuihin ongelmiin ratkaisuja.
Työn tuloksena esitetään joukko ratkaisuja, jotka yhdistetään organisaation työnkulkuun. Lisäksi esitellään päätöksentekoon painottuva kehitysprosessi, jonka lähtökohtana on havainto, että vaadittavien tehtävien sekä työn tulosten on vastattava oikeaan tarpeeseen – työlle ja halutuille työn tuloksille on annettava riittävät tiedot, perustelut, päämäärä sekä oikea konteksti. Tapaustutkimukset osoittavat, että työn tulokset parantavat organisaatioiden välistä yhteistyötä helpottamalla oikean tiedon keräämistä, saamista ja käyttöä. Lisäksi ylimääräisen kognitiivisen taakan vähentäminen nopeuttaa kehitystyötä ja keventää kehittäjien ja päätöksentekijöiden työkuormaa. Täten organisaatiot voivat saavuttaa parempia työn tuloksia lähinnä siksi, että tuotettu tieto ja tulokset vastaavat paremmin tarpeisiin.
Identifer | oai:union.ndltd.org:oulo.fi/oai:oulu.fi:isbn978-952-62-0602-8 |
Date | 02 December 2014 |
Creators | Hyysalo, J. (Jarkko) |
Contributors | Oivo, M. (Markku), Kuvaja, P. (Pasi) |
Publisher | Oulun yliopisto |
Source Sets | University of Oulu |
Language | English |
Detected Language | Finnish |
Type | info:eu-repo/semantics/doctoralThesis, info:eu-repo/semantics/publishedVersion |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess, © University of Oulu, 2014 |
Relation | info:eu-repo/semantics/altIdentifier/pissn/0355-3191, info:eu-repo/semantics/altIdentifier/eissn/1796-220X |
Page generated in 0.0029 seconds