When Software Engineers Met Research Scientists: A Case Study

This paper describes a case study of software engineers developing a library of software components for a group of research scientists, using a traditional, staged, document-led methodology. The case study reveals two problems with the use of the methodology. The first is that it demands an upfront articulation of requirements, whereas the scientists had experience, and hence expectations, of emergent requirements; the second is that the project documentation does not suffice to construct a shared understanding. Reflecting on our case study, we discuss whether combining agile elements with a traditional methodology might have alleviated these problems. We then argue that the rich picture painted by the case study, and the reflections on methodology that it inspires, has a relevance that reaches beyond the original context of the study.

[1]  Judith Segal The nature of evidence in empirical software engineering , 2003, Eleventh Annual International Workshop on Software Technology and Engineering Practice.

[2]  Giancarlo Succi,et al.  Extreme Programming Examined , 2001 .

[3]  Magne Jørgensen,et al.  Can you Trust a Single Data Source Exploratory Software Engineering Case Study? , 2002, Empirical Software Engineering.

[4]  Michael D. Myers,et al.  A Set of Principles for Conducting and Evaluating Interpretive Field Studies in Information Systems , 1999, MIS Q..

[5]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..

[6]  Laurie Williams,et al.  The costs and benefits of pair programming , 2001 .

[7]  Helen Sharp,et al.  The case for empirical studies of the practice of software development , 2004 .

[8]  Barry W. Boehm,et al.  The Agile Methods Fray , 2002, Computer.

[9]  Barry Boehm,et al.  Balancing Agility and Dis-cipline: A Guide for the Perplexed , 2003 .

[10]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[11]  Brian Fitzgerald,et al.  An empirical investigation into the adoption of systems development methodologies , 1998, Inf. Manag..

[12]  Marvin V. Zelkowitz,et al.  Experimental Validation of New Software Technology , 2003, Lecture Notes on Empirical Software Engineering.

[13]  William L. Kleb,et al.  Exploring XP for Scientific Research , 2003, IEEE Softw..

[14]  Allen S. Lee A Scientific Methodology for MIS Case Studies , 1989, MIS Q..

[15]  Boyce Rensberger The Nature of Evidence , 2000, Science.

[16]  Venkataraman Ramesh,et al.  Research in software engineering: an analysis of the literature , 2002, Inf. Softw. Technol..

[17]  B SeamanCarolyn Qualitative Methods in Empirical Studies of Software Engineering , 1999 .

[18]  J. Segal,et al.  The type of evidence produced by empirical software engineers , 2005 .

[19]  Robert L. Glass Searching for the holy grail of software engineering , 2002, CACM.

[20]  Filippo Lanubile,et al.  Empirical Evaluation of Software Maintenance Technologies , 1997, Empirical Software Engineering.

[21]  Barry W. Boehm,et al.  Get Ready for Agile Methods, with Care , 2002, Computer.

[22]  Mark C. Paulk,et al.  Agile Methodologies and Process Discipline , 2002 .

[23]  Patrick A. V. Hall,et al.  Postmodern Software Development , 1998, Comput. J..

[24]  Barry Boehm,et al.  Balancing agility and discipline , 2004 .