|Home||Research interests||Research development||Research students||Publications||Anything else|
Expert Software Design
My research explores how expert software designers behave and reason when solving design problems in their own environments: how they use their tools, how they reason, how they communicate. The strategies identified not only extend our understanding of the nature of such expertise, but also inform requirements for design tools and pedagogy for teaching. The research has articulated expert strategies in key aspects of system design such as:
- imagining and visualising systems,
- dealing with intractable problems,
- managing constraints,
- fostering innovation, and
- coordinating team design activity.
These strategies reflect significant characteristics of expert software design that distinguish it from some other forms of expertise.
Studying Experts Engaged in Early Software Design, 2008-2009
In collaboration with André van der Hoek, University of California, Irvine; funded by the US National Science Foundation. The goal is to lay a foundation for the study of early software design by videotaping sessions of expert designers in action designing software, and to make that data available for analysis from different perspectives by different researchers.
Empirical studies of expert design, 2007-2012
Funded by a Royal Society Wolfson Research Merit Award. Empirical studies of expert designers from different domains in order to seek interdisciplinary insights into reasoning about design and relate them systematically to what is needed for software development.
A comparison of professional agile software development and professional conventional software development, 2007
In collaboration with Sallyann Freudenberg (then of Sussex University, currently of Screwfix Direct Ltd.) Analysis of data from the two contexts - agile and traditional development - in order to identify commonalities and distinctions in practice which might be associated with effectiveness.
Expert behaviour and reasoning in the design of complex systems, 1998-2005
Advanced Research Fellowship funded by the Engineering and Physical Sciences Research Council (EPSRC). Empirical studies of expert designer behaviour and reasoning, with the aim of characterising expertise in software development.
'Cognitive dimensions' of notations, ongoing
In collaboration with T.R.G. Green (then of MRC Applied Psychology Unit, currently of Leeds University). Developing a vocabulary for describing cognitive aspects of information structures (such as programming notations and software visualisation).
In collaboration with Gordon Rugg (Keele University). Developing and applying a method for critically re-examining research into difficult problems in order to uncover potential insights. The verifier method boils down to seven steps: 1) amass knowledge of a discipline through interviews and reading; 2) determine whether critical expertise has yet to be applied in the field; 3) look for bias and mistakenly-held assumptions in the research; 4) analyze jargon to uncover differing definitions of key terms; 5) check for classic mistakes using human-error tools; 6) follow the errors as they ripple through underlying assumptions; 7) suggest new avenues for research that emerge from steps one through six.
'FaCADE': facilitating communication across domains of engineering, 1994-1997
Funded by Engineering and Physical Sciences Research Council (EPSRC). In collaboration with George Rzevski and Helen Sharp (Open University). Empirical studies of the use of communication and representation by multi-disciplinary concurrent engineering teams, in order to prototype a flexible design environment for conceptual design.
'ERMIA': entity relationship modelling for information artefacts. 1993-1994
Funded by the Joint Councils Initiative on Cognitive Science and HCI (JCI). In collaboration with David Benyon (then of Open University) and T.R.G. Green (then of MRC Applied Psychology Unit, Cambridge). Extending entity-relationship diagrams to describe cognitive artefacts, with facilities for capturing visual implication, hidden information, and change.
Graphical representations, 1994
Empirical investigations of the use of graphics in user interfaces from end-user environments to professional design environments. Included: 'The evaluation of experts using a visual programming language', funded by a NATO collaborative grant. In collaboration with Jean Scholtz (then of Portland State University, U.S.), I.E. Netesin.
My research in CS education complements and extends my research on expert design by looking at how expertise develops – how novices develop effective strategies – and by considering how our knowledge of expert behaviour can inform software design pedagogy. It includes applied research into the impact of articulating expert strategies to non-experts.
Funded by the ACM Special Interest Group on Computer Science Education (SIGCSE) and the University of Otago. In collaboration with University of Otago, New Zealand, University of Technology, Sydney, Australia, and University of Kent at Canterbury. A structured series of activities intended to develop a CS Education research community in Australasia through active collaboration.
'Scaffolding research in Computer Science Education', 2003-2004, and 'Bootstrapping research in Computer Science Education', 2001-2003
Funded by the U.S. National Science Foundation (NSF). In collaboration with the University of Washington (lead institution) and the University of Kent. A structured series of activities - workshops, remote discussion, and experiment kits - intended to improve the state of CS Education research by exposing CS educators to relevant theory and methods and thereby developing their skills in the design, conduct and management of research.
Robotics in Computer Science education, 2001-ongoing
In collaboration with Jeff Johnson and Blaine Price (Open University). Exploring robotics as a vehicle for conveying underlying concepts and engineering principles in Computer Science and other engineering domains.
Funded by the Higher Education Funding Council for England. In collaboration with the Universities of Kent (lead institution), Exeter, Imperial College, Leeds, Manchester, Southampton, Teesside and York, and with the Computer Science Discipline Network. Identifying, making explicit and systematizing existing best practices in Computer Science student project methods and techniques.
Funded by the Swedish Council for the Renewal of Undergraduate Education. In collaboration with Mats Daniels (Uppsala University, grant holder), Bruce Klein and Carl Erickson (Grand Valley State University), and Vicki Almstrum (University of Texas at Austin). Establishing international collaboration at the student level through joint project work between students.
'AESOP: an electronic student observatory project'. 1995-1996
In collaboration with Pete Thomas (Open University). Developing automatic data capture, transmission, and analysis tools for integration into the M206 entry-level computing environment.
MZX205 and MZX353 Internet 'pilots'. 1995-1997
In collaboration with Blaine Price and Pete Thomas (Open University). Investigating issues in electronic presentation of Computing