---
id: wiki-2026-0508-grounded-theory-method
title: Grounded Theory Method
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [GTM, Grounded Theory, Constructivist GT, Glaserian GT, Straussian GT]
duplicate_of: none
source_trust_level: A
confidence_score: 0.85
verification_status: applied
tags: [research-methodology, qualitative-research, sociology, hci, theory-building]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
  language: Python
  framework: NVivo / atlas.ti / qualitative coding
---

# Grounded Theory Method

## 매 한 줄
> **"매 data 에서 'grounded' 한 substantive theory 의 inductive 으로 construction — 매 hypothesis 의 a priori X, data 가 theory 를 결정"**. 1967년 Glaser & Strauss "The Discovery of Grounded Theory" — 매 sociology / nursing / HCI / SE research 의 foundational qualitative methodology. 매 modern (2026) 의 Charmaz 의 constructivist GT, 매 LLM-augmented coding 의 emerging.

## 매 핵심

### 매 Origin & schools
- **Classic Glaserian** (1967, 1992): 매 emergence-driven, 매 minimal preconception, 매 substantive→formal theory.
- **Straussian** (Strauss & Corbin 1990): 매 axial coding 의 추가 — 매 paradigm model (cause/context/consequence).
- **Constructivist GT** (Charmaz 2006): 매 researcher 의 active construction 인정 — 매 reflexivity 강조.

### 매 핵심 procedures
1. **Theoretical sampling**: 매 emerging theory 가 다음 sample 결정 (not random).
2. **Constant comparison**: 매 incident → incident, code → code 의 지속 비교.
3. **Coding levels**:
   - **Open coding**: 매 line-by-line / incident-by-incident 의 initial label.
   - **Axial coding** (Strauss): 매 categories 간 relationship — paradigm model.
   - **Selective / Theoretical coding**: 매 core category 중심으로 통합.
4. **Memo writing**: 매 analytical thoughts 의 ongoing record.
5. **Theoretical saturation**: 매 new data 가 새로운 insight 안 줄 때까지.

### 매 Output
- **Substantive theory**: 매 specific area (e.g., "How nurses cope with terminal patients").
- **Formal theory**: 매 broader applicability.
- **Core category**: 매 central phenomenon.
- **Properties + dimensions** of categories.

### 매 응용
1. **HCI / UX research**: 매 user behavior pattern 의 emergent understanding.
2. **Software engineering**: 매 developer practice 의 study (Stol et al. 2016).
3. **Nursing / healthcare**: 매 patient experience.
4. **Education**: 매 learning process.
5. **Organizational studies**.

## 💻 패턴

### 매 Coding 의 example (line-by-line)
```python
# 매 raw interview transcript:
transcript = """
Researcher: How do you handle a critical bug in production?
Developer: First, I panic for 5 minutes. Then I check the logs.
I look for recent deployments. Often it's the last commit. 
I roll back if I can. Otherwise I write a hotfix.
"""

# 매 open coding (manual):
codes = {
    "panic for 5 minutes": ["emotional_response", "stress"],
    "check the logs": ["diagnostic_action", "data_gathering"],
    "look for recent deployments": ["temporal_reasoning", "blame_locality"],
    "roll back if I can": ["containment", "reversibility_first"],
    "write a hotfix": ["repair", "containment"],
}

# 매 axial: 매 cluster
categories = {
    "Initial reaction": ["emotional_response", "stress"],
    "Diagnosis": ["diagnostic_action", "data_gathering", "temporal_reasoning"],
    "Containment strategy": ["reversibility_first", "containment"],
    "Repair": ["repair"],
}

# 매 selective: 매 core category candidate
core = "Containment-First Incident Response"
```

### 매 Constant Comparison (매 incident comparison)
```python
def constant_compare(incidents, codes_so_far):
    """매 each new incident 의 기존 codes 와 비교.
    매 fits → assign existing. 매 doesn't → new code or category refinement."""
    for inc in incidents:
        matched = []
        for code, examples in codes_so_far.items():
            if semantic_similarity(inc, examples) > 0.7:  # 매 LLM-assisted
                matched.append(code)
        if matched:
            for c in matched:
                codes_so_far[c].append(inc)
        else:
            new_code = invent_label(inc)
            codes_so_far[new_code] = [inc]
    return codes_so_far
```

### 매 LLM-augmented coding (2026 modern practice)
```python
import anthropic

def llm_open_code(text, prior_codes=None):
    """매 Claude 4.7 의 grounded theory open coding assistance.
    매 IMPORTANT: 매 researcher 의 final judgment 필수 — LLM 의 first-pass only."""
    client = anthropic.Anthropic()
    system = (
        "You are assisting a grounded theory researcher. "
        "Generate open codes for each incident. Codes must be GROUNDED in the data. "
        "Use gerunds (action-oriented) per Charmaz. "
        "Avoid imposing prior theoretical frameworks."
    )
    if prior_codes:
        system += f"\n\nExisting codes (use if fits, propose new if not): {prior_codes}"
    
    msg = client.messages.create(
        model="claude-opus-4-7",
        max_tokens=4096,
        system=system,
        messages=[{"role": "user", "content": f"Code this incident:\n\n{text}"}]
    )
    return msg.content[0].text

# 매 caveat: 매 LLM 의 hidden bias — researcher 의 verification 필수
```

### 매 Theoretical Saturation 의 detection
```python
def saturation_check(new_codes_per_interview):
    """매 marginal new codes 가 0 에 가까워지면 saturated.
    매 typical: 12-25 interviews."""
    counts = [len(set(codes)) for codes in new_codes_per_interview]
    # 매 cumulative new codes
    cum = []
    seen = set()
    for codes in new_codes_per_interview:
        before = len(seen)
        seen.update(codes)
        cum.append(len(seen) - before)
    # 매 saturation: 매 last 3 interviews 의 new codes < threshold
    if len(cum) >= 3 and sum(cum[-3:]) < 3:
        return True, len(seen)
    return False, len(seen)
```

### 매 Memo 의 example
```markdown
# Memo: Containment-First Pattern (2026-05-10)

매 Across 8 interviews, 매 developers consistently 의 "containment 
before diagnosis" pattern. 매 Specifically:

- P3: "First I undo, then I think."
- P5: "Stop the bleeding, ask later."
- P7: "Roll back is free, downtime isn't."

매 This contradicts Glaser-style "diagnose first" conventional wisdom.
매 Hypothesis: 매 production-incident contexts 의 reversibility 의 highly 
asymmetric cost structure 의 produce. 매 Theoretical sampling: 매 next, 
매 sample developers 의 IRREVERSIBLE deployment 의 (e.g., DB migrations) 
— 매 to test boundary.

매 Connects to: literature on "blameless postmortem" but timing 다름.
```

## 매 결정 기준

| 상황 | School / Approach |
|---|---|
| Pure emergence, minimal preconception | Glaserian classic |
| Structured paradigm needed | Straussian (axial coding) |
| Reflexive / interpretive | Charmaz constructivist |
| Software engineering | Stol et al. 2016 guidelines |
| Existing theory verification | NOT GT — 매 deductive method |
| Quick exploration | Thematic analysis (lighter) |
| Massive corpus | LLM-assisted GT (2026+) but careful |

**기본값**: 매 modern (2026) 의 **Charmaz constructivist** — 매 reflexivity 의 honest, LLM-assistance OK 의 transparent.

## 🔗 Graph
- 부모: [[Research-Methodology]]
- 변형: [[Glaserian-GT]] · [[Straussian-GT]] · [[Constructivist-GT]]
- Adjacent: [[Ethnography]]

## 🤖 LLM 활용
**언제**: 매 first-pass open coding 의 acceleration, 매 memo 작성 의 brainstorm, 매 literature 의 sensitizing concepts 의 식별, 매 saturation 의 estimation.
**언제 X**: 매 final coding decisions, 매 theoretical insights 의 generation 단독 (researcher 의 reflexive interpretation 필수), 매 sensitive / vulnerable participant data — 매 privacy concern.

## ❌ 안티패턴
- **A priori 의 hypothesis verification 시도**: 매 NOT GT — 매 deductive method 와 혼동.
- **Theoretical sampling 의 random sampling 으로 대체**: 매 GT 의 핵심 violation.
- **Memo 작성 생략**: 매 GT 의 analytical engine — 매 skip 시 thin theory.
- **Saturation 의 declaration 의 too early**: 매 5 interviews 의 saturated 주장 — 매 typically 15+ 필요.
- **LLM 코딩 만 사용**: 매 researcher 의 reflexivity 부재 — 매 Charmaz violation.
- **"Coded by AI" 의 unreflective use**: 매 2026 의 emerging issue — 매 transparent disclosure 필요.

## 🧪 검증 / 중복
- Verified (Glaser & Strauss 1967, Charmaz 2014 "Constructing Grounded Theory", Stol et al. 2016 "Grounded Theory in Software Engineering Research").
- 신뢰도 A.

## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — three schools, coding levels, LLM-augmented practice, anti-patterns |
