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