Skip to search boxSkip to navigationSkip to main content

What does it mean to use a method? Towards a practice theory for software engineering

Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-review

Open access

Publication Information

Output type

Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-review

Original language

English

Pages from-to (Number of pages)

Pages 220 - 231

Journal (Volume, Issue Number)

Information and Software Technology (Volume 70)

Publication milestones

  • Published - 02/2016

Publication status

Published - 02/2016

ISSN

0950-5849

Publication IDs

  • Scopus: 84937231525

Abstract

Context Methods and processes, along with the tools to support them, are at the heart of software engineering as a discipline. However, as we all know, that often the use of the same method neither impacts software projects in a comparable manner nor the software they result in. What is lacking is an understanding of how methods affect software development. Objective The article develops a set of concepts based on the practice-concept in philosophy of sociology as a base to describe software development as social practice, and develop an understanding of methods and their application that explains the heterogeneity in the outcome. Practice here is not understood as opposed to theory, but as a commonly agreed upon way of acting that is acknowledged by the team. Method The article applies concepts from philosophy of sociology and social theory to describe software development and develops the concepts of method and method usage. The results and steps in the philosophical argumentation are exemplified using published empirical research. Results The article develops a conceptual base for understanding software development as social and epistemic practices, and defines methods as practice patterns that need to be related to, and integrated in, an existing development practice. The application of a method is conceptualized as a development of practice. This practice is in certain aspects aligned with the description of the method, but a method always under-defines practice. The implication for research, industrial software development and teaching are indicated. Conclusion The theoretical/philosophical concepts allow the explaining of heterogeneity in application of software engineering methods in line with empirical research results.

Publication metrics

PlumX, opens in new tab

Captures
149
Mentions
1
Citations
47