Growth of newcomer competence: challenges of globalization

The transfer of entire projects to offshore locations, the aging and renewal of core developers in legacy products, the recruiting in fast growing Internet companies, and the participation in open source projects, present similar challenges of rapidly increasing newcomer competence in software projects. In particular, culture differences, communication complexity, and the rapid influx of developers with little or no project knowledge common in these phenomena pose practical and research questions for software engineering. For example, how do different cultures impact project learning? Are there best practices for competence-enhancing communication? How to learn from the experiences of top developers to improve the training of newcomers? What resources and tools can be provided to help newcomers learn faster and become more productive? These questions sketch a project-learning-focused agenda needed to address outlined challenges. We propose how emerging measurement methods utilizing rich data in software repositories and the theoretical frameworks based on cognitive and organizational science may be applied to address these challenges and to improve understanding of how humans learn.

[1]  J. Bransford How people learn , 2000 .

[2]  Audris Mockus,et al.  Organizational volatility and its effects on software defects , 2010, FSE '10.

[3]  Audris Mockus,et al.  Amassing and indexing a large sample of version control systems: Towards the census of public source code history , 2009, 2009 6th IEEE International Working Conference on Mining Software Repositories.

[4]  Rachel K. E. Bellamy,et al.  Moving into a new software project landscape , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[5]  Yunwen Ye,et al.  Comparison of Coordination Communication and Expertise Communication in Software Development: Motives, Characteristics, and Needs , 2009, JSAI-isAI Workshops.

[6]  Scott P. Robertson,et al.  Expert problem solving strategies for program comprehension , 1991, CHI.

[7]  J. Daniel Couger,et al.  Motivating and managing computer personnel , 1980 .

[8]  Paul Dourish,et al.  Seeking the source: software source code as a social and technical artifact , 2005, GROUP.

[9]  Bill Curtis,et al.  Fifteen years of psychology in software engineering: Individual differences and cognitive science , 1984, ICSE '84.

[10]  Susan Elliott Sim,et al.  The ramp-up problem in software projects: a case study of how software immigrants naturalize , 1998, Proceedings of the 20th International Conference on Software Engineering.

[11]  Audris Mockus,et al.  Developer fluency: achieving true mastery in software projects , 2010, FSE '10.

[12]  H. Markus,et al.  Culture and the self: Implications for cognition, emotion, and motivation. , 1991 .

[13]  Etienne Wenger,et al.  Situated Learning: Legitimate Peripheral Participation , 1991 .

[14]  David F. Redmiles,et al.  Supporting collaborative software development through the visualization of socio-technical dependencies , 2007, GROUP.

[15]  Carla Simone,et al.  Coordination mechanisms: Towards a conceptual foundation of CSCW systems design , 1996, Computer Supported Cooperative Work (CSCW).

[16]  Andrew Begel,et al.  Novice software developers, all over again , 2008, ICER '08.

[17]  Audris Mockus,et al.  Expertise Browser: a quantitative approach to identifying expertise , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[18]  Gerhard Fischer,et al.  Cultures of Participation and Social Computing: Rethinking and Reinventing Learning and Education , 2009, 2009 Ninth IEEE International Conference on Advanced Learning Technologies.

[19]  Janice Singer,et al.  Hipikat: a project memory for software development , 2005, IEEE Transactions on Software Engineering.

[20]  Andrew Begel,et al.  Codebook: discovering and exploiting relationships in software repositories , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[21]  Audris Mockus,et al.  Globalization by Chunking: A Quantitative Approach , 2001, IEEE Softw..

[22]  Ann L. Brown,et al.  How people learn: Brain, mind, experience, and school. , 1999 .

[23]  J. Reitman,et al.  Knowledge organization and skill differences in computer programmers , 1981, Cognitive Psychology.

[24]  Audris Mockus,et al.  Learning in offshore and legacy software projects : How product structure shapes organization , 2010 .

[25]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[26]  James D. Herbsleb,et al.  Identification of coordination requirements: implications for the Design of collaboration and awareness tools , 2006, CSCW '06.

[27]  Robert DeLine,et al.  Information Needs in Collocated Software Development Teams , 2007, 29th International Conference on Software Engineering (ICSE'07).

[28]  Emerson R. Murphy-Hill,et al.  A degree-of-knowledge model to capture source code familiarity , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

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

[30]  Audris Mockus,et al.  A case study of open source software development: the Apache server , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.