Survey on Software Changes: Reasons and Remedies

Survey on Software Changes: Reasons and

Remedies

Ibrahim Assi1, Rami Tailakh2, and Abdelsalam Sayyad1

1Joint Master in Software Engineering, Birzeit University, Palestine

 2Mashvisor Real Estate Advisory, Palestine

Abstract: Software systems play a key role in most businesses nowadays. Building robust, reliable and scalable software systems require going through a software production cycle (or process). However, it has been noticed that software systems are subjected to changes, whether those amendments are important or not. Those changes to software systems are viewed as a considerable issue in software engineering; they are considered as a burden and cost a lot, especially in cases such as enterprises and large-scale software systems. This study aims to identify the reasons that cause software changes and suggest remedies for those reasons. We survey the opinions of experts such as technical managers, team leaders, and senior developers. We collected 81 responses to our questionnaire, which aimed to establish common software development practices in the local industry. We also conducted 16 semi-structured interviews targeting the most senior experts, in which we directly discussed the reasons and remedies for software changes. Our results highlight the most influential reasons that cause changes to software systems, such as changes to user requirements, requests for new features, software development methodology, solving bugs, refactoring, and weak user experience design. Most importantly, the study solicited solutions that can reduce the need for software changes.

Keywords: Software changes, software maintenance, empirical study, survey, questionnaire, interviews.

Received May 12, 2019; accepted April 8, 2020

https://doi.org/10.34028/iajit/18/2/14
 
Read 1082 times Last modified on Wednesday, 24 February 2021 06:07
Share
Top
We use cookies to improve our website. By continuing to use this website, you are giving consent to cookies being used. More details…