Master's Thesis on Organizing software maintenance in a small aviation software company: a case study. Aalto University School of Science, master programme of Information Networks. Based on Aalto University School of Science Latex-template.
To install the finnish language support:
sudo apt-cache search texlive finnish
sudo apt-get install texlive-lang-european
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.