The Design Thinking of Co-located vs. Distributed Software Developers: Distance Strikes Again!

Context: Designing software is an activity in which software developers think and make design decisions that ultimately shape the structure and behavior of software products. Currently, designing software is one of the least understood activities in which software developers engage. In a collaborative design setting, distances such as geographic, cultural, or social distance can lead to socio-technical challenges that potentially affect the way software is designed. Objective: To contribute to an increased understanding of software design, we investigate how geographic distance affects collaborative software design. Method: To this end, we conducted a multiple-case study exploring in depth the design thinking of co-located and distributed software developers in a collaborative design setting. Results: We find that, compared to co-located developers, distributed developers practice less problem space exploration and focus instead more on the solution space. This could be related to different socio-technical challenges caused by distributed collaboration, such as lack of awareness and common understanding. Conclusion: Our findings contribute to an increased understanding as to how software design is affected by geographic distance. Developers engaging in collaborative design need to be aware that problem space exploration is reduced in a distributed setting, which would adversely affect the development achievement and therefore customer satisfaction.

[1]  J. B. Brooke,et al.  SUS: a retrospective , 2013 .

[2]  Krzysztof Z. Gajos,et al.  An Agent-Based System for Capturing and Indexing Software Design Meetings , 2002 .

[3]  Richard Buchanan,et al.  Wicked Problems in Design Thinking , 1992 .

[4]  Eirini Kalliamvakou,et al.  Methodology Matters: How We Study Socio-Technical Aspects in Software Engineering , 2019, ArXiv.

[5]  André van der Hoek,et al.  Ideas, subjects, and cycles as lenses for understanding the software design process , 2010 .

[6]  Daniela E. Damian,et al.  Collaboration Patterns and the Impact of Distance on Awareness in Requirements-Centred Social Networks , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[7]  Rita Assoreira Almendra,et al.  Accessing decision-making in software design , 2010 .

[8]  Paul Dourish,et al.  Awareness and coordination in shared workspaces , 1992, CSCW '92.

[9]  Per Runeson,et al.  A theory of distances in software engineering , 2016, Inf. Softw. Technol..

[10]  T. C. Nicholas Graham,et al.  The Software Design Board: A Tool Supporting Workstyle Transitions in Collaborative Software Design , 2004, EHCI/DS-VIS.

[11]  Lucy Kimbell,et al.  Rethinking Design Thinking: Part I , 2011 .

[12]  Marian Petre,et al.  Software Design Decoded: 66 Ways Experts Think , 2016 .

[13]  André van der Hoek,et al.  Software design as multiple contrasting dialogues , 2019, PPIG.

[14]  Herbert H. Clark,et al.  Grounding in communication , 1991, Perspectives on socially shared cognition.

[15]  Uri Dekel Supporting distributed software design meetings: What can we learn from co-located meetings? , 2005 .

[16]  Rafael Capilla,et al.  In two minds: how reflections influence software design thinking , 2016, J. Softw. Evol. Process..

[17]  Daniela E. Damian,et al.  Guest Editors' Introduction: Global Software Development: How Far Have We Come? , 2006, IEEE Software.

[18]  Jeff Wai Tak Kan,et al.  Studying Software Design Cognition , 2011 .

[19]  Nigel Cross,et al.  Expertise in Design: an overview , 2004 .

[20]  R. Bhagat Culture's Consequences: Comparing Values, Behaviors, Institutions, and Organizations Across Nations , 2002 .

[21]  Pär J. Ågerfalk,et al.  Benefits of global software development: exploring the unexplored , 2009, Softw. Process. Improv. Pract..

[22]  Robert DeLine,et al.  Let's go to the whiteboard: how and why software developers use drawings , 2007, CHI.

[23]  Lucienne Blessing,et al.  Understanding the differences between how novice and experienced designers approach design tasks , 2003 .

[24]  Joseph A. Allen,et al.  Observing culture: Differences in U.S.-American and German team meeting behaviors , 2014 .

[25]  Franziska Dobrigkeit,et al.  Design thinking in practice: understanding manifestations of design thinking in software engineering , 2019, ESEC/SIGSOFT FSE.

[26]  RunesonPer,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009 .

[27]  Grischa Liebel,et al.  Position Paper: Knowledge Sharing and Distances in Collaborative Modeling , 2019, 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C).

[28]  Christoph Meinel,et al.  Design Thinking: A Fruitful Concept for IT Development? , 2011 .

[29]  Robert K. Yin,et al.  Case Study Research and Applications: Design and Methods , 2017 .

[30]  Floris Bex,et al.  Improving software design reasoning-A reminder card approach , 2018, J. Syst. Softw..

[31]  Michel R. V. Chaudron,et al.  OctoUML: An Environment for Exploratory and Collaborative Software Design , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C).

[32]  Bernhard Rumpe,et al.  Does Distance Still Matter? Revisiting Collaborative Distributed Software Design , 2018, IEEE Software.

[33]  Thomas S. Tullis,et al.  A Comparison of Questionnaires for Assessing Website Usability , 2004 .

[34]  Nigel Cross,et al.  Design Thinking: Understanding How Designers Think and Work , 2011 .

[35]  Iris Groher,et al.  An expert survey on kinds, influence factors and documentation of design decisions in practice , 2015, Future Gener. Comput. Syst..

[36]  André van der Hoek,et al.  Software Designers in Action: A Human-Centric Look at Design Work , 2013 .

[37]  Marco Brambilla,et al.  Dissecting Design Effort and Drawing Effort in UML Modeling , 2017, 2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[38]  H. Rittel,et al.  Dilemmas in a general theory of planning , 1973 .

[39]  Nigel Cross,et al.  Creativity in the design process: co-evolution of problem–solution , 2001 .

[40]  Judith S. Olson,et al.  Distance Matters , 2000, Hum. Comput. Interact..

[41]  Roger Martin The Design of Business: Why Design Thinking is the Next Competitive Advantage , 2009 .

[42]  Arif Ali Khan,et al.  GSEPIM: A roadmap for software process assessment and improvement in the domain of global software development , 2019, J. Softw. Evol. Process..

[43]  Kees Dorst,et al.  The core of ‘design thinking’ and its application , 2011 .

[44]  N. Cross Designerly Ways of Knowing: Design Discipline Versus Design Science , 2001, Design Issues.

[45]  André van der Hoek,et al.  Software design sketching with calico , 2010, ASE.

[46]  James D. Herbsleb,et al.  Global Software Engineering: The Future of Socio-technical Coordination , 2007, Future of Software Engineering (FOSE '07).

[47]  Marco Kuhrmann,et al.  Global Software Engineering: Evolution and Trends , 2016, 2016 IEEE 11th International Conference on Global Software Engineering (ICGSE).

[48]  Stina Matthiesen,et al.  Does Distance Still Matter? Revisiting the CSCW Fundamentals on Distributed Collaboration , 2014, TCHI.

[49]  Terry K Koo,et al.  A Guideline of Selecting and Reporting Intraclass Correlation Coefficients for Reliability Research. , 2016, Journal Chiropractic Medicine.

[50]  Frederick P. Brooks,et al.  The Design of Design: Essays from a Computer Scientist , 2010 .