Keynote Speaker Marian Petre
Scientific Software Development as a Social Process
Software development is often understood as an engineering process. However, the factors that affect the success of a software development project are often human and social. Scientific software in particular is often developed within a complex milieu: the user community is not always cohesive, making it difficult to agree on the concepts or definitions for a basic domain ontology; different stakeholders (funders, managers, developers, users) have different problems and goals, and hence different priorities; scientists who once competed for funding may be asked to collaborate; software may outlive the original project or use; software may be shared or commercialized. Communication and collaboration are crucial: within and between organizations, between users and developers, and among developers. In the absence of communication and collaboration, the disjunctions between scientists and software developers amplify, even though scientific software development often requires the integration of distributed knowledge. The social context of software design and development is important: it provides social reinforcement for good practice. Study of high-performing software development teams makes it clear that the interplay between designers plays a crucial part both in nurturing creativity and innovation, and in embedding systematic practice and rigour. This talk will present key observations from empirical studies of expert software development that can be applied usefully to scientific software development. It will discuss why matching development practices to the context and purpose of scientific software can improve both software and scientific outcomes. It will draw on research in order to discuss how communication and collaboration can be fostered, and to identify what works (and what doesn't work) in building collaboration in software development teams, whether co-located or distributed.
Marian Petre is a Professor of Computing at the Open University in the UK. She held a Royal Society Wolfson Research Merit Award, in recognition of her research on the nature of expertise in software design. She 'picks the brains of experts', studying how leading professional software developers reason about, represent, and communicate designs. Her research spans empirical studies of software development, programming paradigms and notations, software visualization, flexible modelling tools, and psychology of programming.