The psychology of programming field is interested in understanding and supporting the processes and representations underlying software design and development activities. The general focus is on the actual activities of programmers and the practices by which prescribed tools, methods, or programming languages are effectively and successfully used.
Increase concern on collaboration and group communication within software design and development has promoted research issues related to team work practices. Recent software development models or methods take into account team work and mediation of work through external representations and specific medium of communication.
Agile system development methodologies, open source software development and software visualisation techniques belong to these trends. This special theme issue aims at understanding these new practices, the difficulties encountered and the potential factors which may explain the conditions of successful practices. It aims also at pointing out new directions of research and development.
This issue is composed of three short surveys and two reports of studies in progress.
Marian Petre and Ed de Quincey present a survey on software visualization, ie. the application of graphical techniques to represent different aspects of software and to reveal different patterns and behaviours that inform software comprehension through all stages of software development. As stressed out by the authors, the challenge is to identify the most appropriate visualisation for a given task. In addition to amplifying cognition, the authors point out that visualisation is crucial in aiding collaboration between developers, e.g. supporting awareness of human activities.
Françoise Détienne, Jean-Marie Burkhardt and Flore Barcellini present a survey on open-source software (OSS) communities. OSS represents an extreme but successful case of geographically distributed design which challenges traditional software engineering practices as well as traditional co-located design. The authors analyse results from cognitive and sociological empirical studies in order to understand how OSS projects actually function and how it differs from, or conforms to the 'ideology' of the OSS movement.
Sallyann Bryant, Benedict du Boulay and Pablo Romero present a survey on extreme programming (XP) and pair programming practices. Through a review of studies in educational and commercial contexts, the authors examine whether or not pair programming improves software quality and identify factors explaining the potential cognitive benefits and the applicability of this core practice of the XP methodology.
Two short reports are on agile systems development and XP teams in industry. Helen Sharp and Hugh Robinson discuss several issues to address the need for sustainable software development in the context of collaboration in mature XP teams. Johanna Hunt, Pablo Romero and Judith Good illustrate, through an analysis of conversational storytelling, 'Agile stories', the need for communication skills in addition to technical skills within agile practices.
This special issue is published in the August 2006 Computer Society of India Communications (CSIC) journal as well as in the September 2006 Psychology of Programming Interest Group (PPIG) newsletter.
I wish to thank Dr T V Gopal, Chief Editor of CSIC, and Chris Douce, editor of the PPIG newsletter, as well as my colleague Jean-Marie Burkhardt, for their help in composing this special issue. I wish also to thank all the authors for their contributions.