Understanding Similarities and Differences in Software Development Practices Across Domains

kaestner@cs.cmu.edu (M. Viggiato, J. Oliveira, E. Figueiredo, P. Jamshidi, C. Kästner)
Fri, 17 Jan 2020 15:18:48 -0500

Markos Viggiato, Johnatan Oliveira, Eduardo Figueiredo, Pooyan Jamshidi, and Christian Kästner. Understanding Similarities and Differences in Software Development Practices Across Domains. In Proceedings of the 14th ACM/IEEE International Conference on Global Software Engineering (ICGSE), pages 74--84, May 2019.

Since software engineering is not a homogeneous whole, we expect that development practices are differently adopted across domains. However, little is known about how practices are followed in different software domains (e.g., healthcare, banking, and Oil and gas). In this paper, we report the results of an exploratory and inductive research, in which we seek differences and similarities regarding the adoption of several practices across 13 domains. We interviewed 19 developers with experience in multiple domains (i.e., cross-domain developers) from large multinational companies, such as Facebook, Google and Macy's. We also run a Web survey to confirm (or not) the interview results. Our findings show that, in fact, different domains adopt practices in a different fashion. We identified that continuous integration practices are interrupted during important commerce periods (e.g., Black Friday) in the financial domains. We also noticed the company's culture and policies strongly influence the adopted practices, instead of the domain itself. Our study also has important implications for practice. For instance, companies should provide targeted training for their development teams and new interdisciplinary courses in software engineering and other domains, such as healthcare, are highly recommended.