Organizing Software Maintenance in a Small Aviation Software Company: A Case Study
Loading...
URL
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu |
Master's thesis
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
2019-08-20
Department
Major/Subject
Information Networks
Mcode
SCI3047
Degree programme
Master’s Programme in Information Networks
Language
en
Pages
130+4
Series
Abstract
Software maintenance is usually the longest and the most expensive part of any software system’s lifecycle. It generally includes all of the activities that are done after the initial release of the system, although the transition between development and maintenance phases is not clear cut in agile frameworks. The main challenges of software maintenance are generally related to entropy, which tends to increase complexity and degrade quality of the system over time. In small organizations maintenance is also often an ad hoc process, which encourages quick and dirty fixes that effectively increase entropy over time. This study is a single case study on software maintenance process improvement at QOCO Systems Ltd., a small aviation software company employing 16 persons. The company had previously relied on an ad hoc maintenance process, that was solely dependent on key personnel in direct contact with the customers. This process was replaced with a more structured one before this study, but the new process has not solved the problems of the previous model. The goal of this study is to identify the key challenges on the maintenance process, implement solutions to tackle them and evaluate their effectiveness afterwards. The data collection methods used in this study are interviews, survey, data exports and workshops. The main challenges of the maintenance process were knowledge sharing and inadequate transition to the more structured process. As a solution to these challenges, three solutions were selected for implementation: rotating triage responsibility combined with pair working, project presentations and a README template. These solutions were evaluated after the implementation phase and the results show that these solutions have indeed managed to improve knowledge sharing and the maintenance process in general, but they also raised discussion about further challenges that are to be addressed in the future.Ylläpito on useimmiten pisin ja kallein osa ohjelmistojen elinkaarta. Se sisältää yleisesti ottaen kaikki ohjelmistoon liittyvät tehtävät sen ensimmäisen julkaisun jälkeen, vaikkakin ketterien kehitysmenetelmien myötä siirtymä kehityksestä ylläpitoon ei ole täysin tarkkaan määriteltävissä. Ylläpidon keskeisimmät haasteet liittyvät ajan myötä kasvavaan monimutkaisuuteen ja järjestelmän yleisesti heikkenevään laatuun muutosten johdosta. Pienissä yrityksissä ylläpito on usein myös epäjärjestelmällistä, mikä kannustaa nopeiden korjausten tekemiseen, mikä puolestaan on omiaan heikentämään ohjelmiston laatua. Tämä tutkimus on yksittäinen tapaustutkimus ohjelmistojen ylläpitoprosessin parantamisesta pienessä 16 hengen ilmailualan ohjelmistoyrityksessä, QOCO Systems Oy:ssä. Yritys on aiemmin käyttänyt epäjärjestelmällistä ylläpitoprosessia, jossa avainhenkilöt ratkovat ongelmia suoraan asiakkaiden kanssa useiden eri viestintäkanavien välityksellä. Aiempi prosessi kuitenkin korvattiin jo ennen tätä tutkimusta järjestelmällisemmällä prosessilla, joka kuitenkaan ei ole onnistunut ratkaisemaan edellisen mallin ongelmia. Tämän tutkimuksen tavoitteena on tunnistaa ylläpidon keskeisimmät haasteet, toteuttaa niihin ratkaisuita sekä tarkastella ratkaisuiden toimivuutta kokeilujakson jälkeen. Tutkimuksessa kerättiin tietoa haastatteluilla, kyselyllä, työpajoilla sekä analysoimalla olemassa olevaa dataa. Ylläpitoprosessin keskeisimmät haasteet liittyivät osaamisen jakamiseen sekä vaillinaiseen uuden mallin käyttöönottoon. Ratkaisuna näihin ongelmiin kokeiltiin kolmea ratkaisua: kiertävää triagevastuuta yhdistettynä parityöskentelyyn, projektiesittelyitä sekä README-pohjaa. Ratkaisuita tarkasteltiin kokeilujakson päätteeksi ja tulosten valossa niillä näyttää olleen positiivinen vaikutus tunnistettuihin ongelmiin, mutta tämän lisäksi ne onnistuivat myös herättämään keskustelua muista ongelmakohdista, joihin voidaan paneutua tarkemmin tulevaisuudessa.Description
Supervisor
Lassenius, CasperThesis advisor
Santaniemi, VilleKeywords
software maintenance, aviation, software process improvement, knowledge sharing