• No results found

USING GROUNDED THEORY TO STUDY THE EXPERIENCE OF SOFTWARE DEVELOPMENT

N/A
N/A
Protected

Academic year: 2021

Share "USING GROUNDED THEORY TO STUDY THE EXPERIENCE OF SOFTWARE DEVELOPMENT"

Copied!
11
0
0

Loading.... (view fulltext now)

Full text

(1)

Method Engineering 2013-2014 1

USING GROUNDED THEORY TO STUDY THE EXPERIENCE

OF SOFTWARE DEVELOPMENT

Adolph, S., Hall, W., Kruchten, P. (2011).

A dissection on Grounded Theory

Prins, Thijs. University of Utrecht, Utrecht, The Netherlands. [email protected]

Student number: 4062744

Course: Method Engineering (INFOME), 2013-2014

Workshop: Group C

Notice of Originality

I declare that this paper is my own work and that information derived from published or unpublished work of others has been acknowledged in the text and has been explicitly referred to in the list of references. All citations are in the text between quotation marks (“ ”). I am fully aware that violation of these rules can have severe consequences for my study at Utrecht University.

Signed: Name:

(2)

Method Engineering 2013-2014 2

1

Introduction

In the publication “Using grounded theory to study the experience of software development” the method Grounded Theory makes a formal acquaintance with the field of Software Engineering. The authors Adolph, S., Hall, W. & Kruchten, P. (2011) provide an example and elaborate guide on this qualitative research method for the software engineering researcher.

Grounded Theory uses empiric data acquired through systematic research to generate theory (Eadens, 2012). The idea behind Grounded Theory is that the hypotheses and theories appear out of the data through analysis (Carver, 2007). In contrast to traditional research, which depends on a theoretical framework to study a phenomenon (Eadens, 2012). Grounded Theory is a complete research method (Hoda, Noble & Marshall, 2011). It includes deliverables that concern the whole process of research, including sampling respondents, data collection, data analysis, literature study, and evaluation.

The method generates theory rather than just testing it. Grounded Theory discovers patterns and structures in an area of interest by constant comparison, a process that compares new data to existing data (Adolph et al., 2011). It uncovers categories and concepts, which present a set of behaviors that are relevant or even problematic for the people involved (Adolph et al., 2011). A collection of these sets on behavior can support a hypothesis and theory. On a conceptual level the theory can explain a process, an action or an interaction relating to a topic of interest (Creswell, 2008).

Through constant comparison Grounded Theory generates concepts from incidents; such as observed events or behavioural actions. An incident that often reoccurs is given an indicator. A concept can be seen as an abstraction of time, place and people. Concepts that are frequently present in the data become part of the theory (Adolph et al., 2011). A researcher collects concepts by searching for a pattern in the incidents. The concepts on their turn form categories, this happens when multiple concepts are derived from the same pattern of incidents. A category with a lot of variation in its concepts is chosen as the main concern for the domain (Adolph et al., 2011). The relation between a categories and core category can be a hypothesis or theory that accurately describes that data (Carver, 2007). The relationship between these objects are depicted in Figure 1.

Grounded Theory starts with a research problem. The problem statement is normally limited to a general area of interest, so that researchers may discover an existing problem instead of relying on preconceived beliefs (Adolph et al., 2008). The collection of data on a phenomenon of interest is limited to qualitative methods such as semi-structured interview and participant observation. The analysis constitutes for most of Grounded Theory by creating a link between respondents, meaning, and their behaviour (Adolph et al., 2011). The analysis is divided into three coding phases: Open coding, selective coding and theoretical coding. These aren’t three separate stages of analysis.

Concept Category Pattern Indicator 1..* ◄Suggests ▲represented by

(3)

Method Engineering 2013-2014 3 Adolph et al., 2011 note that: “[w]hile it is necessary to generate some categories with open coding before there is an opportunity for selective and theoretical coding, these coding activities take place concurrently”.

A. Open Coding generates concepts by constant comparison. The data is analysed with line-by-line coding to notice recurring events and patterns of behaviour. Through the search for patterns of incidents in the data, concepts can be generated. In a word, a line or across a paragraph an incident can be discovered. These incidents are tagged and if a concept emerges a short memo is written. Incidents are clustered into concepts, which on their turn are aggregated into categories (Adolph et al., 2011).

B. Selective coding is concerned with the selection of a core category. This category should capture

most of the variation in the data. It should have related categories, be centrally relevant and reoccur frequently in the data. The categories which are relevant to the core category are developed. The creation of theory takes place around a core category (Adolph et al., 2011).

C. Theoretical Coding interprets how participants deal with a problem, derived from a collection of

hypotheses. It conceptualizes how connected categories relate to the core category as hypotheses (Adolph et al., 2011).

Lastly, a literature search compares the written theory to theories described in the literature. The position of the theory in the current knowledge landscape is made clear in a compare and contrast essay (Adolph et al., 2011).

The paper “Using grounded theory to study the experience of software development”, on which this report elaborates, is written by three academics from the University of British Columbia, Vancouver, Canada. The authors are as follows: Steve Adolph, Wendy Hall, and Philippe Kruchten. The guest editors are, in alphabetical order: Carolyn Seaman, Jonathan Sillito, Rafael Prikladnicki, Tore Dybå and Kari Rönkkö.

Steve Adolph is a PhD candidate in Electrical and Computer Engineering and a consultant for Rally Software. He has publicized a total of nine papers, mainly pertaining to requirements management, software architecture, and software process engineering. In 2008 he made his first contribution to Grounded Theory. The second author Wendy Hall works as a nursing professor for the School of Nursing. She has a large list of publications in the fields of parent child development and research methods.Lastly, the author Philippe Kruchten is a professor in software engineering. Who has worked on several topics, such as Grounded Theory, with Steve Adolph. His interests lie in software engineering, software architecture, and software development processes such as the rational- and agile method. He is also the author of the book: “Rational Unified Process: An Introduction”.

2

Example

An interpretation to the process of Grounded Theory applied in a software engineering context is given below. In this example developers across multiple enterprises share and maintain a community portal for software development.

1. Identify an area of interest:“The use of a community portal to share developer knowledge between software engineers in enterprises.” An example of a community portals for a software organizations could be Microsoft’s MSDN or IBM’s Jazz.

2. Collect data:When grounded theory is used, data analysis begins as soon as the first bit of data is collected.

 Collect observations on the use of community portals during application development;

(4)

Method Engineering 2013-2014 4

 Converse with software engineers about the community portal.

3. Open coding:Apply labels to concepts in interview transcripts and field notes. Here we focus on concepts that occur repeatedly.

 This could be “downtime” of the community portal;

 The “lack” of contribution to the portal by colleagues;

 The “relevancy” of older articles.

The development of the theory starts with capturing categories; by using memos we can aim to capture potential relationship between different concepts. A memo on “little collaboration” might be comprised by several concepts such as: lack of feedback, infrequent updates, available elsewhere, etc.

4. Selective coding:Pick the category which covers most concepts. This will be what encapsulates the behavior or the software engineers or the state of the community portal. The core category, for example “Review quality” forms a base for your theory.

5. Theoretical coding: Derive a theory from the relations between the categories, for example:The software engineers rarely criticize each other’s collaborations, leading to a decrease in quality and therefore a drop in audience.”

6. Literature search: Look for existing literature to confirm our theory on the positive correlation between the lack of constructive criticism to the drop in quality and activity on community portal pages.

One of the deliverables that is created and used during the Open Coding phase is the interview transcript. Line-by-line coding is applied to all transcripts gathered during the data collection phase. This method marks a word, a sentence or even a paragraph that might represent an incident. The markings get a code to post on a memo or note. An example of a marked interview transcript is shown in figure 2. A template of the interview transcript can be found in Appendix A.

(5)

Method Engineering 2013-2014 5

3

Process-deliverable diagram

This chapter documents formal statements about the method called “Grounded Theory”. An emphasis is made on the analysis technique behind Grounded Theory. The practice of Grounded Theory is outlined through the use of a technique called meta-modelling, as presented by Weerd & Brinkkemper, 2009 in the paper “Meta-modeling for situational analysis and design methods”. This technique reveals a relation between the process and the deliverables produced. The meta-process model has been divided into three analysis- and one literature phase: Open Coding, Selective Coding, Theoretical Coding and the Literature search. Information on the phases can be found in chapter 1.

Open Coding

Selective Coding

Collect data on a phenomenon

Code line-by-line

Cluster incidents into concepts

Aggregate concepts into categories Memo emerging concepts

Identify the core category

Develop relevant categories

Conceptualize the relation between categories

Researcher

[Saturation in data] [else]

Compare and contrast the theory

Researcher

MEMO

CONCE PT INDICA TO R QUALITATIVE DATA

HYPOTHESIS THE ORY

Generate codes for incidents

1..* infers ► 0..* 0..* 2..* ▲integrates 1..* 0..* suggests ▼ CATEGORY Name Definiti on CODIFYIER CORE COUPLED 1..* 0..1 ◄ signifies 1..* 0..1 discerned by ▼ (A) (B) (C) (D) d Researcher Researcher COMPLEX CATEGO RY Code Name Definiti on Descrip tion (E) ESS AY 1 0..1 ◄ positioned by 1..* 0..*

(6)

Method Engineering 2013-2014 6

3.1

Explanation

The comments below clear up some rules and relationships used in the Process Deliverable Diagram (see figure 3), with a respective capital letter in between brackets.

A. Conditional Activity:

The condition “Saturation in data” is fulfilled when the collection of data does not lead to refinement of categories.

B. Aggregation:

A category can possess multiple concepts, these concepts may differ from the concepts which were used to create the actual category. Aggregation is used to record the group the concepts which were used to create the category, by stating “CATEGORY” has a “CONCEPT”.

C. Association:

A “CONCEPT” may belong to a “CATEGORY”, but does not have to be aggregated by the same “CATEGORY”. The association allows us to discern between the two statements.

D. Abstract class:

The two subclasses: “CORE” and “COUPLED” are mutually exclusive, this generalization is indicated by a disjoint (d) sign. The occurrence of a “CORE” is incompatible with the occurrence of “COUPLED” for exactly one “CATEGORY”. Moreover, only one CATEGORY may hold an instantiation of CORE.

E. Ongoing activities:

The activity “Code line-by-line” remains active until all possible incidents in the interview transcripts have been identified. The activity continuously searches for hints on reoccurring events and patterns in behaviour, and supplies these hints input for the activities “Generate codes for incidents” and “Memo emerging concepts”.

3.2

Activity Table

A description on the phases and activities used for the meta-process of Grounded Theory can be found in table 1. All activities are performed by a single role: The researcher. In practice this role can be fulfilled by several people, most likely a team, because of the amount of time activities such as line-by-line coding take.

Phase Activity Description

Collect data on a phenomenon

The collection of data through semi-structured interviews and participant observations in a field related to your general area of interest.

Open Coding

Line-by-line coding Line-by-line coding means rigorously inspecting each line in your data. Search for recurring patterns in behavior and events to fracture the data. A pattern may be derived from a word up to a set of paragraphs (Adolph et al., 2011).

Generate codes for incidents

Label recurring pattern as an INCIDENT which expresses behavior and events in the data.

Memo emerging concepts Compare a newly discovered INCIDENT to an existing INCIDENT. If the INCIDENT suggests a new CONCEPT then write a MEMO to capture ideas for the CONCEPT (Adolph et al., 2011).

(7)

Method Engineering 2013-2014 7 Open

Coding

Cluster incidents into concepts

Generate a code for each INCIDENT that collectively can be clustered into a CONCEPT (Adolph et al., 2011).

Aggregate concepts into categories

CONCEPTS derived from INCIDENTS are on their turn aggregated into a CATEGORIES.

Selective coding

Identify the core category Identify the CORE category that best explains how study participants resolve their central concern. The CORE category is the one category among all the categories generated during analysis that is centrally relevant. The CORE category reoccurs frequently in the data and can be seen as a stable pattern that integrates various CATEGORIES (Adolph et al., 2011). Develop relevant

categories

The COUPLED categories relevant to the CORE category are developed. More distant, less relevant CATEGORIES are dropped. This process continues until CATEGORIES become “saturated”, that is when further collection of data does not lead to new insights on existing COUPLED categories (Adolph et al., 2011).

Conceptualize the relation between categories

Make an educated guess on how CATEGORIES relate to each other as HYPOTHESIS to be integrated into the THEORY (Glaser & Holton, 2004). Provide a vocabulary for the description on these relationships (Adolph et al., 2011). This activity takes place during theoretical coding.

Compare and contrast the theory

Explore how Grounded Theory is being employed in your area of research. Then compare and contrast your THEORY with the existing knowledge landscape (e.g. the theories described in literature within your domain) (Adolph et al., 2011). This activity is part of the literature search.

Table 1 Activity Table

3.3

Concept table

The concepts of the Grounded Theory are described in Table 2. Concept Description

QUALITATIVE DATA

Interview transcripts and/or field logs are results qualitative data-collection, through the use of semi-structured interview and/or participant observations. QUALITATIVE DATA is considered to be a closed concept because of the variety in applicable data-collection methods and possible outputs.

MEMO A MEMO can be a short- or post-it notes which are used to capture and preserve ideas and thoughts that emerged during analysis (Adolph et al., 2011). Memos are divided into three categories: an INDICATOR MEMO captures ideas, a CONCEPT MEMO serves as a glossary, and a CATEGORY MEMO is an extensive note. This decomposition is exhaustive. A MEMO inherits either an INDICATOR, CONCEPT or CATEGORY. In no circumstance both CATEGORY and CONCEPT can get instantiated by a single MEMO.

INDICATOR An INDICATOR is data that suggests a CONCEPT. An INDICATOR may be a word, a phrase, a sentence, or a paragraph, in the data being analysed. An INDICATOR is actual data, such as behavioural actions and events observed or described in documents and interview (Adolph et al., 2011).

(8)

Method Engineering 2013-2014 8

CONCEPT A CONCEPT represent a recurring pattern of social behaviour. CONCEPT can also represent an abstraction of time, place, and people. Most often CONCEPTS are behaviours or factors affecting behaviours, which help to explain to the analyst how the basic problem of the actor is resolved or processed (Adolph et al., 2011).

CATEGORY A CATEGORY is specialization of a CONCEPT that aggregates a set of CONCEPTS, and is at a higher level of abstraction than the CONCEPTS it aggregates (Adolph et al., 2011). A CATEGORY contains two properties, a name and definition. The definition explains what the CATEGORY stands for.

CODIFIER The CODIFIER is an abstract class introduced to distinct a core- and its related categories from irrelevant categories. The assignment of a CODIFIER is optional. A CATEGORY is not required to have an instantiation of a subclass from CODIFIER. The idea behind the CODIFIER comes from the coding activities used by Adolph et al., 2008. CORE The CORE CODIFIER determines the one CATEGORY amongst all the CATEGORIES generated during analysis that is centrally relevant (Adolph et al., 2011). Only one CATEGORY may hold the instantiation of CORE.

COUPLED The COUPLED CODIFIER can be used to signify all the CATEGORIES relevant to the CORE category. These CATEGORIES are further developed as COMPLEX CATEGORIES.

COMPLEX CATEGORY

The COMPLEX CATEGORY inherits a CATEGORY which holds an instantiation of the COUPLED CODIEFIER. It extents the CATEGORY with two additional properties: code and description. The code is a reference to the relevant COUPLED CODIFIER. The description explains the common characteristics of this category and its degree of coupling with the CORE.

HYPOTHESIS A vocabulary for describing the relationships between COMPLEX CATEGORIES as HYPOTHESES.

THEORY THEORY is the ability to view a problem from the participants’ perspective and to tell the story of that problem through a set of conceptual hypotheses (Adolph et al., 2011). ESSAY A literature search to compare and contrast the THEORY with the existing knowledge

landscape in the form of an ESSAY (Adolph et al., 2011).

Table 2 Concept Table

4

Related literature

The Grounded Theory comes forth from the ‘constant comparative’ method, which was created by Glaser and Strauss in 1964 (Eadens, 2012). In the paper Adolph et al. (2011) take the classical Grounded Theory applied in the nursing and social science disciplines, and introduce their take on this method in a software engineering context. Adolph et al. (2011) apply the Grounded Theory to: “[…] understand the social processes that influence software team performance and the influence software methods have on those processes” (p. 409). With this study they hope to enhance efficiency among software development teams to improve the quality of software. Another reason for this research was the lack of examples describing the use of Grounded Theory in the domain of software engineering. The research unfolds how people manage the process of software development.

The references used in the paper by Adolph, S., Hall, W. & Kruchten, P. (2011) are concerned with preliminary knowledge on the use of Grounded Theory (Charmaz, 2006; Adolph et al., 2008), developments in qualitative research for the field of Software Engineering (Gasson, 2004; Dittrich, John, Singer & Tessem, 2007), and best practices from the nursing (Benoliel, 1996; Morse 2001; Schreiber & Sterin 2001; McCallin, 2003) and social science disciplines (Glaser & Holton, 2004). On google scholar the paper has been cited by 41 different publications as of 11 march 2014. The paper has been used as a guideline for the appliance of Grounded Theory in the field of Software Engineering, as it provides a model to help researchers understand definitions found in Grounded Theory. (Hoda, Kruchten, Noble

(9)

Method Engineering 2013-2014 9 & Marshall, 2010; Adolph, Kruchten & Hall, 2012; Greiler, van Deursen & Storey, 2012; Stojanov, Dobrilovic & Jevtic, 2011).

With Grounded Theory we have the opportunity to rigorously investigate areas which have not been studied before (Schreiber & Stern, 2001). The Grounded Theory has gained a widening acceptance for Information Science research. Urquhart, Lehmann & Myers (2006) state: “grounded theory has proved to be extremely useful in developing context-based, process-oriented descriptions and explanations of information systems phenomena” (p. 358). Multiple researchers have been inspecting the diversified range of socio-cultural activities in the domain of Information Science by using Ground Theory (Coleman & O'Connor, 2007). The Grounded Theory has contributed to the creation of a research methodology which studies how IT is employed (Baskerville & Pries-Heje, 1999). The methodology has been applied for process modelling (Carvalho, Scott & JeVery, 2005), requirements documentation, software inspections, and virtual team development (Coleman & O’Connor, 2007). While Grounded Theory is slowly being introduced and implemented to various domains, it is still hard to grasp. Misunderstandings surrounding this methodology are common amongst several disciplines (Benoliel, 1996).

References

Adolph, S., Hall, W., Kruchten, P. (2008). A Methodological Leg to Stand On: Lessons Learned Using Grounded Theory to Study Software Development. Proceedings of the 2008 conference of the center

for advanced studies on collaborative research: meeting of minds, Richmond Hill, Ontario, Canada.

Adolph, S., Hall, W., Kruchten, P. (2011). Using grounded theory to study the experience of software development. In C. Seaman, J. Sillito, R. Prikladnicki, T. Dybå & K. Rönkkö (Eds.) Empirical

Software Engineering (2011). Springer Science.DOI: 10.1007/s10664-010-9152-6

Adolph, S., Kruchten, P., & Hall, W. (2012). Reconciling perspectives: A grounded theory of how people manage the process of software development. Journal of Systems and Software, 85(6), 1269-1286.

Baskerville, R., Pries-Heje, J.(1999) Grounded action research: a method for understanding IT in practice, Accounting, Management and Information Technologies, 9(1), 1–23.

Benoliel, J. Q. (1996). Grounded Theory and Nursing Knowledge, In Qualitative Health Research, 6(3), 406-428.

Carvalho, L., Scott, L., JeVery, R. (2005). An exploratory study into the use of qualitative research methods in descriptive process modelling. Information and Software Technology, 47, 113–127. Carver, J. (2007). The Use of Grounded Theory in Empirical Software Engineering. In V. Basili (Eds.),

Empirical Software Engineering Issues, LNCS 4336, p. 42, 2007. Berlin Heidelberg: Springer-Verlag.

Charmaz, K. (2006). Constructing Grounded Theory: A Practical Guide Through Qualitative Analysis. Thousand Oaks: SAGE Publications Ltd.

Coleman, G., O'Connor, R. (2007). Using grounded theory to understand software process improvement: A study of Irish software product companies. Information and Software Technology, 49 (6), 654-667.

Creswell, J.W. (2012). Educational Research – Planning, Conducting and Evaluating Quantitative and

Qualitative Research (pp. 422-500). Boston: Pearson Education.

Dittrich, Y., John, M., Singer, J., & Tessem, B. (2007). For the special issue on qualitative software engineering research. Information and software technology, 49(6), 531-539.

(10)

Method Engineering 2013-2014 10 Eaden, D. W., (2012). Unpacking Grounded Theory: A Venue for Education Research. Delta Journal

of Education, 2(2), 44-51.

Gasson, S. (2004). Rigor in Grounded Theory Research: An Interpretive Perspective on Generating Theory from Qualitative Field Studies. In M. E. Whitman & A. B. Woszczynski (Eds.), The

Handbook for Information Systems Research (pp. 79-102). Hershey, PA: Idea Group Publishing

Glaser, B. G., & Holton, J. (2004). Remodeling Grounded Theory. Forum: Qualitative Social Research in Nursing & Health 5(2), 1-17.

Greiler, M., van Deursen, A., & Storey, M. (2012). Test confessions: a study of testing practices for plug-in systems. Proceedings of the 34th International Software Engineering (ICSE) Conference,

Zurich, Switzerland, 244-254.

Hoda, R., Kruchten, P., Noble, J., & Marshall, S. (2010). Agility in context. Proceedings of the ACM international conference on object oriented programming systems languages and applications

(OOPSLA ’10), New York, USA, 74-88. doi:10.1145/1869459.1869467

Hoda, R., Noble, J., Marshall, S. (2011). Grounded Theory for Geeks. Proceedings of the Pattern

Languages of Programs Conference (2011), Portland, USA.

McCallin, A. M. (2003). Designing a grounded theory study: some practicalities. Nursing in Critical Care, 8(5), 203-208.

Morse, J. M. (2001). Situating Grounded Theory Within Qualitative Inquiry. In R. S. Schreiber & P. N.

Stern (Eds.), Using Grounded Theory in Nursing (pp. 1-15). New York, USA: Springer Publishing Company.

Schreiber, R. S., Stern, P. N. (2001). Using Grounded Theory in Nursing. New York: Springer Publishing Company.

Stojanov, Z., Dobrilovic, D., & Jevtic, V. (2011). Identifying properties of software change request

process: Qualitative investigation in very small software companies. Proceedings of the 9th

International Symposium on Intelligent Systems and Informatics (SISY), Subotica, Serbia, 47-52.

Urquhart, C., Lehmann, H., & Myers, M. D. (2010). Putting the ‘theory’ back into grounded theory: guidelines for grounded theory studies in information systems. Information systems journal, 20(4), 357-381.

van de Weerd, I., & Brinkkemper, S. (2008). Meta-modeling for situational analysis and design methods. Handbook of Research on Modern Systems Analysis and Design Technologies and

Applications (pp. 35-54). Hershey, Pennsylvania, USA: Idea Group Publishing. DOI:

(11)

Method Engineering 2013-2014 11

Appendix A

Sample Format

[Name of Interviewee] Subject Subtitle Part X of X Date: Location: Length: [00:00:00] Interviewee: Interviewer: Transcriber:

Note: [italicized words in brackets may be used for clarification]

[XX] = Interviewee Initials [XX] = Interviewer Initials [00:00:00] [XX] [XX] [XX] [XX] [00:05:00] [XX] [XX] [XX] [XX]

References

Related documents

Reporting. 1990 The Ecosystem Approach in Anthropology: From Concept to Practice. Ann Arbor: University of Michigan Press. 1984a The Ecosystem Concept in

The Lithuanian authorities are invited to consider acceding to the Optional Protocol to the United Nations Convention against Torture (paragraph 8). XII-630 of 3

method goodwill is goodwill is valued valued on the on the basis of basis of an an agreed nu agreed number mber of of years· years· purchase of the average

When making retrospective reviews, utilization review programs shall base reviews solely on the medical information available to the attending physician or ordering provider at

Favor you leave and sample policy employees use their job application for absence may take family and produce emails waste company it discusses email etiquette Deviation from

Pro- KLK4 (A) or pro-KLK14 (B) interacting with GST and SHBG-GST fusion protein. Interacting protein was analyzed by Western blot analysis against the V5 epitope on recombinant

Insurance Absolute Health Europe Southern Cross and Travel Insurance • Student Essentials. • Well Being

A number of samples were collected for analysis from Thorn Rock sites in 2007, 2011 and 2015 and identified as unknown Phorbas species, and it initially appeared that there were