Top Banner
T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp
21

T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

Dec 27, 2015

Download

Documents

Tracey Gilmore
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

T12Using Ethnographic Methods in Software Engineering Research

Helen Sharp

Yvonne Dittrich

Cleidson de Souza

© deSouza, Dittrich, Sharp

Page 2: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

Roadmap (morning)9.00 to 10.30

– Context and History– What is Ethnography?– Practical exercise introduction

Coffee break

11.00 to 12.30– Practical exercise and reflection– Doing Ethnography (data collection)– Practical exercise introduction

Lunch to 14.00 with practical exercise

© deSouza, Dittrich, Sharp

Page 3: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

Roadmap (afternoon)Lunch to 14.00 with practical exercise

14.00 to 15.30– Practical exercise reflection– Doing Ethnography (data analysis and reporting)– Practical exercise introduction

Coffee break

16.00 to 17.30– Practical exercise reflection– Tool support

– Doing Ethnography on and in Software Engineering – Feedback

© deSouza, Dittrich, Sharp

Page 4: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

Cleidson de Souza• Cleidson R. B. de Souza is an Research Scientist at IBM

Brasil studying IT service providers. Before joining IBM, Cleidson was an Associate Professor at Federal University of Pará, Brazil. He has conducted ethnographic studies of software developers at large multi-national corporations and published his results at major journals and conferences in both CSCW and SE.

Among his main publications are:— De Souza, C. R. B., Redmiles, D. F. (2008) ‘An Empirical Study of Software

Developers Management of Dependencies and Changes’ in Proceedings of the International Conference on Software Engineering, p241-250.

— De Souza, C. R. B., Redmiles, D.F. (2007) ‘The Awareness Network: Should I display my actions to whom? And, whose actions should I monitor?’ in Proceedings of the Tenth European Conference on Computer-Supported Cooperative Work, p99-117.

— De Souza, C. R. B., Redmiles, D. F., Cheng, Lite, Millen, D., Patterson, J. (2004) ‘How a Good Software Practice thwarts Collaboration - The Multiple roles of APIs in Software Development’ in Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering, p221-230.

© deSouza, Dittrich, Sharp

Page 5: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

Helen SharpI am Professor of Software Engineering at The Open University, UK. My research focuses on investigating the human and social aspects of software practice in order to understand, improve and support practitioners. I have been applying ethnographically informed qualitative studies of software practice since the early 1990s. My perspective on ethnographic studies is informed by Interaction Design and workplace studies.

Some of my relevant publications are:– Sharp, H., Robinson, H.M. and Petre, M. (2009) ‘The Role of Physical

Artefacts in Agile Software Development: two complementary perspectives’, Interacting with Computers, 21(1-2) 108-116

– Sharp, H. and Robinson, H. (2008) ‘Collaboration and Co-ordination in mature eXtreme Programming teams’ International Journal of Human-Computer Studies, 66, 506-518

– Robinson, H., Segal, J. and Sharp, H. (2007) ‘Ethnographically-informed Empirical Studies of Software Practice’ Information and Software Technology, 49(6) 540-551

© deSouza, Dittrich, Sharp

Page 6: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

Yvonne DittrichDr. Yvonne Dittrich works as an associate professor the IT-University of Copenhagen. Her research interests are use oriented design and development of software, and especially the flexibilization of software and software processes in order to accommodate the co-development of work practices and technology. She developed an empirical research approach ‘Cooperative Method Development’ which relates ethnographic research and problem oriented software process improvement.

Her most relevant references are:– Y. Dittrich, K. Rönkkö, J. Eriksson, C. Hansson, O. Lindeberg Co-

operative Method Development - Combining qualitative empirical research with method, technique and process improvement. Journal for Empirical Software Engineering 13 (2008), 231-260.

– Y. Dittrich, M. John, J. Singer, B. Tessem Editorial for the Special Issue on Qualitative Software Engineering Research. Information and Software Technology 49 (2007), 531-539.

– K. Rönkkö, O. Lindeberg, Y. Dittrich 'Bad Practice' or 'Bad Methods' Are Software Engineering and Ethnographic Discourses Incompatible? Proceedings of the 2002 International Symposium on Empirical Software Engineering (ISESE 2002), Nara Japan, October 3-4, 2002.

© deSouza, Dittrich, Sharp

Page 7: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

All about you

• What is your background?

• Why are you here?

• Do you have a burning question/issue?

© deSouza, Dittrich, Sharp

Page 8: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

Context and History

• Empirical Research in Software Engineering– Quantitative Methods– Qualitative Methods

• Software Engineering as Cooperative Work

• Why Ethnography?

© deSouza, Dittrich, Sharp

Page 9: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

Empirical Research in SE

A Difficult Beginning

© deSouza, Dittrich, Sharp

Page 10: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

computers and programming– ca 1950

• the first programmable computers are built• machine languages, assembler

– 1955 - 1960• the first higher programming languages are developed (Fortran, Cobol, Algol)• companies start to use computers• programming became an occupational area

– 1960 - 1665• computers are applied in more and more areas• the number of programmers increase• the term ‘software’ is used more and more

– since 1965• third generation computers are introduced (semi-conductor technology)• higher level programming languages, databases, programming environments

... and then came the Software Crisis

© deSouza, Dittrich, Sharp

Page 11: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

The Founding Conferences

• 1968: Garmisch–Patenkirchen1969: Rom– Both were NATO conferences– But also the business world and the universities were

represented.

‘The phrase ‘software engineering’ was deliberately chosen as being provocative, in implying the need for the types of theoretical foundations and practical disciplines, that are traditional in the established branches of engineering.’

© P. Naur, B. Randell Software Engineering. January 1969.

Page 12: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

Software Engineering was in the beginning not an abstraction over existing practices

but rather a design of an engineering practice.

© deSouza, Dittrich, Sharp

Page 13: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

Why then empirical research?

© deSouza, Dittrich, Sharp

Page 14: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

Methods need to be tested

• Victor Basili argued as one of the first for empirical research in Software Engineering– Looking at empirical research in medicine and manufacturing.– Industry provides a laboratory environment, in which methods,

tools, and processes are tested.– The effect of the treatment is measured quantitatively.

• Experience Factory– Collecting data to be able to systematically experiment with

methods, tools and processes.

© Basili, V. Green, S. (1994). Software Process Evolution at the SEL. IEEE Software, 58-66.

Page 15: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

But there were other voices

© deSouza, Dittrich, Sharp

Page 16: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

Software Development as a Social Activity

Weinberg, G. (1971) The Psychology of Programming. Dorset House.

Naur, P. (1985) Programming as Theory Building. Microprocessing and Microprogramming 15(1985), 253-261.

Nygaard, K. (1986). Program Development as a Social Activity. In: H.J. Kugler (eds.) Information Processing 86. IFIP, 189-198.

There is more to the social and cooperative side of software than addressed in the ‘optimisation paradigm’.

Page 17: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

Qualitative Research Methods

• Used to explore and illuminate the social side of software development.

• Has its roots in an hermeneutic epistemology.• Based on qualitative data, that is data that is not

numbers.• Also called ‘flexible research designs’ allowing to

adjust the methods according to its findings.• The analysis depends on the epistemological

underpinning the researcher applies.• Ethnography belongs to the qualitative

approaches.© deSouza, Dittrich, Sharp

Page 18: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

Scandinavian System Development• Bansler, J. Havn, E. (1991). The nature of Software Work. Systems

Development as Labour Process. In: Besselaar, P.v.d. et al.: Information System Work and Organisation Design. Elsevier Science Publication, 145-153.

• Bansler, J.P., Bødker, K. (1993). A Reappraisal of Structured Analysis: Design in an Organizational Context. ACM Transaction on Information Systems, 11 (2), 165-193.

• Mathiassen, L., (1998) Reflective Systems Development. Scandinavian Journal of Information Systems, 10(1&2), 67-118.

• Mathiassen, L., Pries Heje, J., Ngwenyama, O. (2002). Improving Software Organizations. Addison-Wesley. … and more

© deSouza, Dittrich, Sharp

Page 19: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

Software Development as Cooperative Work

• L. Suchman, R. Trigg (1993) Artificial Intelligence as craftwork. In: S. Chaiklin, J. Lave Understanding Practices – Perspectives on Activity and Context. Cambridge University Press.

• W. Sharrock, K. Schmidt (1996) Studies of cooperative Design. Special Issue of the CSCW journal.

• Y. Dittrich, D. Randall, J. Singer (2009) Software Development as Cooperative work. Special Issue of the CSCW journal.

… and more

© deSouza, Dittrich, Sharp

Page 20: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

And also in Software Engineering:• Curtis, B., Krasner, H., Iscoe, N. (1988). A field study of the software design

process for large systems. Communications of the ACM 31, 1268-1287.• Hovenden, F.M., Walker, S., Sharp, H.C. and Woodman, M. (1996) ‘Building

quality into scientific software’, The Software Quality Journal, 5, 2532, Chapman & Hall, ISSN 0963-9314

• Singer et al. (1997). An examination of software engineering work practices. Proc. CASCON. IBM Toronto, 209Y223, October.

• Carolyn Seaman (1999) Qualitative Methods in Empirical Studies of Software Engineering, In IEEE Transactions on Software Engineering, 25(4), 557-572.

• J. Singer et al. (2000) Beg, Borrow, or Steal: Using Multidisciplinary Approaches in Empirical Software Engineering Research. ICSE 2000 Workshop.

• Y. Dittrich, M. John, J. Singer, B. Tessem (2007) Special Issue on Qualitative Software Engineering Research. Information and Software Technology 49.

• De Souza, C. R. B., Redmiles, David F. (2009) On The Roles of APIs in the Coordination of Collaborative Software Development. Computer Supported Cooperative Work, v. 18, p. 445-475.

… and more© deSouza, Dittrich, Sharp

Page 21: T12 Using Ethnographic Methods in Software Engineering Research Helen Sharp Yvonne Dittrich Cleidson de Souza © deSouza, Dittrich, Sharp.

And what about Ethnography?

• Ethnography has been used in many of the cited research articles often in combination with other methods.

• Ethnography provides a possibility to understand the software team from a team members’ point of view.

• Ethnography focuses on how the team manages to achieve its task rather than measuring the performance.

• Ethnography allows the researcher to consciously handle his/her bias.

© deSouza, Dittrich, Sharp