In September 2014 I received funding from the Academy of Finland to conduct a three-year research project on Global Software Development (GSD). One key research question was the role of software architecture – how is the distributed nature of the development work considered when the architecture is designed? While I had worked on software architecture related issues in previous projects, global software development as such was a new direction for me. Luckily, with ample travel funds from the Academy and helpful connections from my mentor, I was able to pack up and go spend two weeks in Limerick, Ireland, where Lero – The Irish Software Research Centre has one of its main branches.
From Limerick I found Sarah Beecham and Ita Richardson, experienced researchers both in the domain of GSD and in various research methods. Together we designed a systematic literature review (SLR) to find answers to 1) what kind of challenges are faced when architecting in a distributed environment, and 2) what kind of practices are used to alleviate those challenges.
The SLR was conducted in winter 2015, and the first version was submitted to ICGSE’15 (Jufo 1), from which it was rejected. As common practice is, we revised and resubmitted, this time to ECSA’15 (Jufo 1), again receiving a rejection.
Based on the feedback, we returned to the drawing board and concluded that 1) we had such broad material that presenting both the analysis process and discussing the results required more space than would ever be available in a conference publication, and 2) that in order to present really solid results, we needed a more rigorous approach to the analysis.
So back to the data we went, restructuring the data and performing validation round after validation round. We completely rewrote our results, drew a conceptual model and produced checklists for practitioners. When three authors, residing in two different countries and having various duties, need to come to a consensus, the challenges brought by distance were felt hands-on. During the multiple validation rounds, time went on so that the undersigned left on maternity leave for one year, and ultimately the first version of the re-made article was submitted IEEE Transactions on Software Engineering (Jufo 3) in spring 2017, where it was – again- rejected. One of the main reasons was the lapse of time from the initial data searches.
Determined to get a quality publication, we took the feedback from TSE and performed complementary searches to cover fresh data, i.e., publications made in the field since our original review, and once again restructured the presentation of our results. The new manuscript was submitted then to Information and Software Technology (Jufo 3) in February 2018.
After two revision rounds at IST, the manuscript was finally accepted in October 2018 and the official publication date is February 2019 – when the undersigned was on her second maternity leave. The result is a thorough and in-depth SLR presenting results from a very rigorous analysis. We present nine challenges on distributed architecting and nine practices to overcome these challenges. Each challenge and practice is further broken down to lower-level concerns, which illuminate the practice and challenge in detail. The practices and challenges are mapped to a conceptual model, showing relationships between the themes found in the literature. For each theme we give a checklist of questions that practitioners can use to prepare for software architecting in distributed development environment.
So as a word of encouragement to new researchers – do not be discouraged by the first rejection. Hard work usually pays off.
Text: Outi Sievi-Korte (Assistant professor, Software Engineering)