Abstract
The development of methods tools and process improvements is best to be based on the understanding of the development practice to be supported. Qualitative research has been proposed as a method for understanding the social and cooperative aspects of software development. However, qualitative research is not easily combined with the improvement orientation of an engineering discipline. During the last 6 years, we have applied an approach we call ‘cooperative method development’, which combines qualitative social science fieldwork, with problem-oriented method, technique and process improvement. The action research based approach focusing on shop floor software development practices allows an understanding of how contextual contingencies influence the deployment and applicability of methods, processes and techniques. This article summarizes the experiences and discusses the further development of this approach based on several research projects in cooperation with industrial partners.
Similar content being viewed by others
References
Anderson R (1997) Work, ethnography, and system design. In: Kent A, Williams J (eds) Encyclopedia of microcomputing. Marcel Decker, New York, 20, pp 159–183
Basili V (1996) The role of experimentation in software engineering: past, current, and future. Proceedings of the ICSE ‘96, pp 442–449
Basili V, Green S (1994) Software process evolution at the SEL. IEEE Software, pp 58–66
Basili VR, Caldieri G, Rombach HD (1994) Experience factory. In: Marciniak J (ed) Encyclopedia of software engineering vol. Wiley, New York, pp 528–532
Blomberg J, Suchman L, Trigg RH (1996) Reflections on a work-oriented design project. Hum Comput Interact 11(3):237–265
Bødker K, Kensing F, Simonsen J (2004) Participatory IT design: designing for business and workplace realities. MIT Press, Cambridge
Brooks FP (1987) No silver bullet: essence and accidents of software engineering. Computer 20(4):10–19 (Apr)
Checkland P, Holwell S (1998) Action research: its nature and validity. Syst Pract Action Res 11:9–21
Christensen M, Crabtree A, Damm CH, Hansen KM, Madsen OL, Marqvardsen P, Mogensen P, Sandvad E, Sloth L, Thomsen M (1998) The M.A.D. experience: multiperspective application development in evolutionary prototyping. In: Jul E (ed) Proceedings of the 12th European Conference on Object-Oriented Programming (July 20–24, 1998). Lecture Notes In Computer Science, vol 1445. Springer, London, pp 13–40.
Cockburn A (2002) Agile software development. Addison-Wesley, Boston
Cooper A (1999) The inmates are running the asylum. Macmillan, Indianapolis
Coulon A (1995) Ethnomethodology. Sage series qualitative research methods 36. Sage Publication, Thousand Oaks
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
Diestelkamp W, Lundberg L (2000) Performance evaluation of a generic database system. Int J Comput Appl 7(3):122–129 (Sept)
Dittrich Y (2002) Doing empirical research in software engineering—finding a path between understanding, intervention and method development. In: Dittrich Y, Floyd C, Klischewski R (eds) Social thinking—software practice. MIT Press, Cambridge, pp 243–262
Dittrich Y, Lindeberg O (2001) Can software development be too use oriented? ‘Going Native’ as an issue for participatory design. In: Bjornestad S, Moe RE, Morch AI, Opdahl AL (eds) Proceedings of the 24th Information Systems Research Seminar in Scandinavia, Ulvik in Hardanger, Norway (11th–14th August 2001). University of Bergen, Department of Information Science
Dittrich Y, Lindeberg O (2002) Designing for changing work and business practices. In: Patel N (ed) Evolutionary and adaptive information systems. Idea Group Publishing, USA, pp 152–171
Dittrich Y, Lindeberg O (2004) How use-orientated development can take place. Inf Softw Technol 46:603–617
Dittrich Y, John M, Singer J, Tessem B (2007) Editorial: for the special issue on qualitative software engineering research. Inf Softw Technol 49(6):531–539 (Jun)
Ehn P (1990) Work-oriented design of computer artifacts. Erlbaum, NJ
Eriksson J, Dittrich Y (2007) Combining tailoring and evolutionary software development for rapidly changing business systems. Journal of Organizational and End-User Computing 19(2):47–64
Floyd C (1992) Software development as reality construction. In: Floyd C, Züllighoven H, Budde R, Keil-Slawik R (eds) Software development and reality construction. Springer, Berlin
Floyd C, Reisin F-M, Schmidt G (1989) STEPS to software development with users. In: Ghezzi, G, McDermid JA (eds) Proceedings of European Conference on Computer-Supported Cooperative Work (ESEC ‘89). Lecture Notes in Science Nr. 387. Springer, Berlin, pp 48–64
Frederiksen HD, Mathiassen L (2005) Information-centric assessment of software metrics practices. IEEE Trans Eng Manage 52:350–362
Fuggetta A (2000) Software process: a roadmap. In: Finkelstein A (ed) The future of software engineering. ACM, New York, pp 25–34
Grønbæk K, Mogensen P (1997) Informing General CSCW Product Development through Cooperative Design in Specific Work Domains. Comput Supported Coop Work 6(4):275–304 (Dec)
Hansson C, Dittrich Y, Randall D (2004) Agile processes enhancing user participation for small providers of off-the-shelf software. Proceedings of the 5th International Conference on Extreme Programming and Agile Processes in Software Engineering, XP 2004. Garmisch-Partenkirchen, Germany
Hansson C, Dittrich Y, Gustafsson B, Zarnak S (2006) How agile are industrial software development practices? J Syst Softw 79:1295–1311
Harper R (2000) The organisation in ethnography: a discussion of ethnographic fieldwork programs. Comput Support Coop Work 9:239–264
Hastrup K (1995) The ethnographic present, in A passage to anthropology: between experience and theory. Routledge, London, pp 1–22
Iversen J, Mathiassen L (2003) Cultivation and engineering of a software metrics program. Inf Syst J 13(1):3–21
Iversen JK, Nielsen PA, Norbjerg J (1998) Problem diagnosis software process improvement. In: Larsen TJ, Levine L, DeGross JI (eds) Information systems: current issues and future changes. IFIP 1998
John M, Maurer F, and Tessem B (2005) Human and social factors of software engineering. Proceedings of the 27th international Conference on Software Engineering (St. Louis, MO, USA, May 15–21, 2005). ICSE ‘05
Lanzara GF, Mathiassen L (1985) Mapping situations within a system development project. Information and Management 8, pp 3–20 (reprinted as Mathiassen 1997, chapter 5)
Lewin K (1947) Frontiers in group dynamics 11: channels of group life; social planning and action research. Hum Relat 1:143–153
Lindeberg O, Diestelkamp W (2001) How much adaptability do you need? Evaluating meta-modeling techniques for adaptable special purpose systems. Proceedings of the Fifth IASTED, pp 7–12
Mathiassen L (1997) Reflective systems development. Dr. Techn. thesis, Aalborg University (http://www.cs.auc.dk/~larsm/rsd.html)
Mathiassen L (1998) Reflective systems development. Scand J Inf Sys 10(1 and 2):67–118
Mathiassen L (2002) Collaborative practice research. Information, Technology & People 15(4):321–345
Mathiassen L, Pries Heje J, Ngwenyama O (2002) Improving software organizations. Addison-Wesley, Boston
Mumford E (2001) Advice for an action researcher. Inf Technol People 14(1):12–27
Naur P (1985) Programming as theory building. Microprocess Microprogram 15:253–261. Reprinted in Naur P. 1991. Computing: a human activity. Addison-Wesley, Boston
Nunamaker J, Chen M, Purdin T (1991) System development in information systems research. J Manage Inf Sys 7:89–106
Nygaard K (1986) Program Development as a Social Activity. In: Kugler HJ (ed) Information processing 86. IFIP 1986, pp 189–198
Pruitt J, Grudin J (2003) Personas: practice and theory. Proceedings of the 2003 Conference on Designing for User Experiences (San Francisco, California, June 06–07, 2003). DUX ‘03. ACM Press, New York, NY, pp 1–15
Robson C (2002) Real world research, 2nd edn. Blackwell Publishing, UK
Rönkkö K (2005a) An empirical study demonstrating how different design constraints, project organization and contexts limited the utility of personas. Proceedings of the 38th Annual Hawaii International Conference on System Sciences (HICSS), January 3–6
Rönkkö K (2005b) Making methods work in software engineering: method deployment as a social achievement. Doctoral thesis, dissertation series no. 2005:04, School of Engineering, Blekinge Institute of Technology
Rönkkö K (2007) Interpretation, interaction and reality construction in software engineering: an explanatory model. Inf Softw Technol 49(6):682–693 (Jun)
Rönkkö K, Dittrich Y, Lindeberg O (2002) “Bad practice” or ‘‘bad methods”—are software engineering and ethno-graphic discourses incompatible? Proceedings 1st International Symposium on Empirical Software Engineering (ISESE’02), Nara, Japan, pp 204–210
Rönkkö K, Kilander B, Hellman M, Dittrich Y (2004) Personas is not applicable: local remedies interpreted in a wider context. Proceedings of the PDC 2004, Toronto, pp 112–120
Rönkkö K, Dittrich Y, Randall D (2005) When plans do not work out: how plans are used in software development projects. J Comput Support Coop Work 5(14):433–468
Schön DA (1983) The reflective practitioner. how professionals think in action. Basic Books, New York
Seaman C (1999) Qualitative methods in empirical studies of software engineering. IEEE Trans Softw Eng 25(4):557–572 (July/August)
Seaman C, Basili V (1997a) Communication and organization: an empirical study of discussion in inspection meetings. IEEE Trans Softw Eng 24(6):559–572 (June)
Seaman C, Basili V (1997b) An empirical study of communication in code inspections. Proceedings International Conference on Software Engineering, Boston, May, pp 96–106
Sim S, Singer J, Storey M (2000) Beg, borrow, or steal: using multidisciplinary approaches in empirical software engineering research. Workshop Proceedings, W05, ICSE 2000 June 4–11, Limerick Ireland
Singer JA, Vinson NG (2002) Ethical issues in empirical studies of software engineering. IEEE Trans Softw Eng 28:1171–1180
Suchman LA (1983) Office procedure as practical action: models of work and system design. ACM Transactions on Office Information Systems 1(4):320–328 (October)
Suchman LA (1995) Making work visible. Communications of the ACM 38(9):56–64
Unphon H, Dittrich Y (2008) Organisation matters: how the organisation of software development influences the introduction of a product line architecture. Accepted for the IASTED International Conference on Software Engineering, SE 2008
Wenger E (1998) Communities of practice. learning, meaning and identity. Cambridge University Press, Cambridge
Acknowledgments
Thanks to our industrial and public cooperation partners who made the research possible. The Knowledge Foundation in Sweden, under a research grant for the software development project “Blekinge - Engineering Software Qualities” (http://www.bth.se/besq), Rådet för Arbetslivsforskning, and the European Commission sponsored the different projects this article reflects on. The reviewers of this article contributed with their constructive critique to a substantial improvement.
Author information
Authors and Affiliations
Corresponding author
Additional information
Editor: Tore Dybå
Rights and permissions
About this article
Cite this article
Dittrich, Y., Rönkkö, K., Eriksson, J. et al. Cooperative method development. Empir Software Eng 13, 231–260 (2008). https://doi.org/10.1007/s10664-007-9057-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-007-9057-1
Keywords
- Empirical research
- Research methodology
- Cooperative method development
- Human factors
- Software engineering