반증 가능성
반증 가능성(Falsifiability)은 Karl Popper가 저서 The Logic of Scientific Discovery(1934)에서 제시한 과학철학의 핵심 개념이다. 어떤 이론이 과학적이려면, 원리적으로 그 이론을 거짓으로 판정할 수 있는 관찰이나 실험을 명시할 수 있어야 한다는 주장이다.
핵심
- 과학 이론은 "이것이 관찰되면 내 이론은 틀렸다"는 조건을 내포해야 한다
- 아무것이나 설명할 수 있는 이론은 아무것도 설명하지 못한다
- 이론의 "힘"은 **금지하는 것(what it forbids)**에 있다
구분 사례
과학적 이론: - 뉴턴 역학: "특정 실험에서 물체가 F=ma를 따르지 않으면 거짓" - 일반상대성: "빛이 중력장에서 휘지 않으면 거짓"
Popper가 비과학으로 분류한 체계: - 프로이트 정신분석: 어떤 행동이든 사후 설명 가능 → 반증 불가 - 마르크스주의 역사론: 역사 예측이 빗나가도 재해석 가능 → 반증 불가 - 점성술: 모호한 예측으로 어떤 결과든 수용
소프트웨어 공학에서의 의미
애자일 선언문은 "가치"와 "원칙"으로 구성되어 있어 반증이 어렵다. 어떤 프로젝트가 실패해도 "진짜 애자일이 아니었다"는 재해석이 가능하므로, Popper의 기준으로는 과학이 아니라 신념 체계에 가깝다.
반면 Scrum, Extreme Programming, Kanban은 구체적 규칙을 가진다. - "스프린트가 1~4주가 아니면 Scrum이 아니다" - "TDD를 하지 않으면 XP가 아니다" - "WIP 제한이 없으면 Kanban이 아니다"
이 규칙들은 반증 가능하므로, Popper 기준으로 과학적 연구 대상이 된다. 애자일과 구체적 방법론의 결정적 차이가 여기에 있다.
한계와 비판
- Duhem-Quine 논제: 어떤 이론도 단독으로 반증되지 않는다. 부수 가정을 바꾸면 반례를 수용할 수 있다
- 패러다임 전환: Thomas Kuhn은 과학 발전이 반증이 아니라 패러다임 교체로 일어난다고 반박했다
- 통계적 과학: 확률적 주장(예: "95% 신뢰구간")은 단일 반례로 거짓이 되지 않는다