Supporting Collaboration between Customers and Developers: A Framework for Distributed, Agile Software Development

The traditional, in-house software development process is progressively losing its appeal in favor of distributed, multi-site development: this is mainly due to the well-known advantages of the latter, such as higher productivity and lower costs. However, this practice has also some documented disadvantages that are inherent to distance: geographical, temporal and socio-cultural distances between stakeholders can affect communication, coordination and control activities, thus making collaboration very difficult. This would not immediately look as the ideal scenario for applying Agile methodologies, which definitely rely on continuous collaboration between all stakeholders, including (with a very important role) the customers. This paper analyzes issues related to collaboration between customers and developers in a distributed, Agile setting and proposes a framework that defines practices and tools for handling project information and communication activities.

[1]  Erran Carmel,et al.  Tactical Approaches for Alleviating Distance in Global Software Development , 2001, IEEE Softw..

[2]  Kieran Conboy,et al.  Distributed Agile Development: A Case Study of Customer Communication Challenges , 2009, XP.

[3]  Pär J. Ågerfalk,et al.  A framework for considering opportunities and threats in distributed software development , 2005 .

[4]  Barbara Rita Barricelli,et al.  A Meta-Design Model for Creative Distributed Collaborative Design , 2011, Int. J. Distributed Syst. Technol..

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

[6]  Bikram Sengupta,et al.  Enabling Collaboration in Distributed Requirements Management , 2006, IEEE Software.

[7]  Pär J. Ågerfalk,et al.  Exploring the Assumed Benefits of Global Software Development , 2006, 2006 IEEE International Conference on Global Software Engineering (ICGSE'06).

[8]  Thomas J. Allen,et al.  Research Laboratory Architecture and the Structuring of Communications : R&D Management , 1975 .

[9]  Peng Xu,et al.  Can distributed software development be agile? , 2006, CACM.

[10]  Pär J. Ågerfalk,et al.  Agile Practices Reduce Distance in Global Software Development , 2006, Inf. Syst. Manag..

[11]  Orit Hazzan,et al.  The Agile Manifesto , 2014 .

[12]  Robert L. Glass Extreme programming: the good, the bad, and the bottom line , 2001, IEEE Software.

[13]  Casper Lassenius,et al.  Using Scrum in Distributed Agile Development: A Multiple Case Study , 2009, 2009 Fourth IEEE International Conference on Global Software Engineering.

[14]  Mike Cottmeyer The Good and Bad of Agile Offshore Development , 2008, Agile 2008 Conference.

[15]  K. Rautiainen,et al.  Towards a conceptual framework and tool support for linking long-term product and business planning with agile software development , 2008, SDG '08.

[16]  Lars Mathiassen,et al.  Agile distributed software development: enacting control through media and context , 2012, Inf. Syst. J..

[17]  Daniela E. Damian,et al.  The impact of stakeholders' geographical distribution on managing requirements in a multi-site organization , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[18]  J. Herbsleb,et al.  Global software development , 2001 .

[19]  Frank Maurer,et al.  Requirements engineering and agile software development , 2003, WET ICE 2003. Proceedings. Twelfth IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, 2003..

[20]  Daniela E. Damian,et al.  Essential communication practices for Extreme Programming in a global software development team , 2006, Inf. Softw. Technol..

[21]  Pamela Abbott,et al.  Why 'nearshore' means that distance matters , 2007, CACM.

[22]  Liliana Ardissono,et al.  Context-dependent awareness support in open collaboration environments , 2012, User Modeling and User-Adapted Interaction.

[23]  Rini van Solingen,et al.  How Technological Support Can Enable Advantages of Agile Software Development in a GSE Setting , 2009, 2009 Fourth IEEE International Conference on Global Software Engineering.

[24]  Helen Sharp,et al.  Collaboration, Communication and Co-ordination in Agile Software Development Practice , 2010, Collaborative Software Engineering.

[25]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[26]  Audris Mockus,et al.  An Empirical Study of Speed and Communication in Globally Distributed Software Development , 2003, IEEE Trans. Software Eng..

[27]  Pamela Abbott,et al.  Configurations of global software development: offshore versus nearshore , 2006, GSD '06.

[28]  James Noble,et al.  Effective Communication in Distributed Agile Software Development Teams , 2011, XP.

[29]  Liliana Ardissono,et al.  Collaboration Support for Activity Management in a Personal Cloud Environment , 2011, Int. J. Distributed Syst. Technol..

[30]  Xuehong Du,et al.  Design by Customers for Mass Customization Products , 1998 .

[31]  Xu Bin,et al.  Extreme Programming in global software development , 2004, Canadian Conference on Electrical and Computer Engineering 2004 (IEEE Cat. No.04CH37513).

[32]  Hossein Saiedian,et al.  Requirements engineering: making the connection between the software developer and customer , 2000, Inf. Softw. Technol..

[33]  Rafael Prikladnicki,et al.  Distributed Software Development: Toward an Understanding of the Relationship Between Project Team, Users and Customers , 2003, ICEIS.