Tuesday, November 12, 2019
Communication in Distributed Agile Development: A Case Study :: Technology, Software Development
Distributed software development (DSD)1 is becoming a  common practice in modern software industry [e.g. 1],  where the level of distribution can range from team  members being located in the same city to those on  different continents [2]. The significance of DSD has  accelerated because of factors such as improving timetomarket  through constant development across different  timezones,  quick formation of virtual teams and the  benefits of business market advantages. These needs have  driven the software development efforts further towards a  multisite  globally distributed environment. [1]  Simultaneously, several studies have concluded that  distributed enterprises are risky [e.g. 35].  For example,  communication and coordination, software quality,  schedule overruns and exceeded costs are some of the  problems troubling both singlesite  and distributed  software projects. However, the extent of the problem in  the case of DSD seems to be so complex that a thorough  understanding of it has not yet been defined. [3, 4] Several  studies agree that communication is a particularly  important issue in distributed agile development, [e.g. 57].  Agile methods rely on volatile requirements that are  managed through efficient verbal communication [8] and  thus agile software development methods pose their own  challenges to the field of DSD.  In order to tackle the problems of DSD, several  different techniques have been proposed. These  techniques range from using different tools, such as  instant messaging [9], videoconferencing [10] and  whiteboard software [5] to a set of more general  recommendations [5]. We conducted two different case  studies with different levels of distribution ranging from  the customer being in the same city, to one with a  geographical distribution of 600 kilometers within the  same country. Therefore, cultural differences were not an  issue in these cases. We compared our findings against the  recommendations of Layman et al. [5] and provide more  insight on their application based on our empirical  findings and the existing literature. Even though we were  able to evaluate only three recommendations out of the  existing four, our contribution provides valuable insight  into conducting distributed agile projects. Our results  further emphasize the critical role of effective  communication, indicating that inefficient and irregular  communication in conjunction with volatile requirements  can cause severe problems even in very smallscale  agile  projects. However, it seems that effective communication  is not the key. Our cases suggest that having a welldefined  customer2 is the key recommendation affecting to  recommendations about having a Development Manager  [5] and using asynchronous communication channels. As  ineffective customer collaboration may render the other  recommendations redundant, effective customer  collaboration seems to be a key factor for successful  distributed agile development. In addition, we  complement the existing recommendations by introducing  an additional recommendation: i.e. enable and support  direct communication between the developers.  Unexpectedly, the teams in the second case were not  allowed to communicate directly with each other. To  compensate, a managementled  communication channel  was established to balance the communication flow,    					    
Subscribe to:
Post Comments (Atom)
 
 
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.