t12 using ethnographic methods in software engineering research helen sharp yvonne dittrich cleidson...

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

Upload: tracey-gilmore

Post on 27-Dec-2015

223 views

Category:

Documents


1 download

TRANSCRIPT

T12Using 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

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

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

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

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

All about you

• What is your background?

• Why are you here?

• Do you have a burning question/issue?

© 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

Empirical Research in SE

A Difficult Beginning

© 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

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.

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

but rather a design of an engineering practice.

© deSouza, Dittrich, Sharp

Why then empirical research?

© 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.

But there were other voices

© 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’.

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

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

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

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

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