Change-centric improvement of team collaboration
      
      
        
      
      
      
      
      
      
      
      
      
      
      
      
        227 p
        
        
      
      
      
      
      
      
      
      Thèse de doctorat: Università della Svizzera italiana, 2012
      
      
      
      
      
      
      
       
      
      
      
        
        English
        
        
        
          In software development, teamwork is essential to the successful  delivery of a final product. The software industry has historically built  software utilizing development teams that share the workplace. Process  models, tools, and methodologies have been enhanced to support the  development of software in a collocated setting. However, since the  dawn of the 21st century, this scenario has begun to change: an  increasing number of software companies are adopting global software  development to cut costs and speed up the development process.  Global software development introduces several challenges for the  creation of quality software, from the adaptation of current methods,  tools, techniques, etc., to new challenges imposed by the distributed  setting, including physical and cultural distance between teams,  communication problems, and coordination breakdowns. A particular  challenge for distributed teams is the maintenance of a level of  collaboration naturally present in collocated teams. Collaboration in this  situation naturally d r ops due to low awareness of the activity of the  team. Awareness is intrinsic to a collocated team, being obtained  through human interaction such as informal conversation or meetings.  For a distributed team, however, geographical distance and a  subsequent lack of human interaction negatively impact this awareness.  This dissertation focuses on the improvement of collaboration, especially  within geographically dispersed teams. Our thesis is that by modeling  the evolution of a software system in terms of fine-grained changes,  we can produce a detailed history that may be leveraged to help  developers collaborate. To validate this claim, we first c r eate a model  to accurately represent the evolution of a system as sequences of fine- grained changes. We proceed to build a tool infrastructure able to  capture and store fine-grained changes for both immediate and later  use. Upon this foundation, we devise and evaluate a number of  applications for our work with two distinct goals: 1. To assist  developers with real-time information about the activity of the team.  These applications aim to improve developers’ awareness of team  member activity that can impact their work. We propose visualizations to  notify developers of ongoing change activity, as well as a new  technique for detecting and informing developers about potential  emerging conflicts. 2. To help developers satisfy their needs for  information related to the evolution of the software system. These  applications aim to exploit the detailed change history generated by our  approach in order to help developers find answers to questions arising  during their work. To this end, we present two new measurements of  code expertise, and a novel approach to replaying past changes  according to user-defined criteria. We evaluate the approach and  applications by adopting appropriate empirical methods for each case. A  total of two case studies – one controlled experiment, and one  qualitative user study – are reported. The results provide evidence that  applications leveraging a fine-grained change history of a software  system can effectively help developers collaborate in a distributed  setting.
        
        
       
      
      
      
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        - 
          Language
        
- 
          
        
- 
          Classification
        
- 
          
              
                
                  Computer science and technology
                
              
            
          
        
- 
          License
        
- 
          
        
- 
          Identifiers
        
- 
          
        
- 
          Persistent URL
        
- 
          https://n2t.net/ark:/12658/srd1318367