16.1 애자일 방법론의 이론적 기초와 핵심 원칙
1. 애자일의 이론적 기원
애자일(Agile) 소프트웨어 개발 방법론의 이론적 기원은 복합 적응 시스템 이론(Complex Adaptive Systems Theory), 린 생산 방식(Lean Manufacturing), 그리고 경험적 프로세스 제어(Empirical Process Control)에 있다.
복합 적응 시스템 이론은 Holland(1995)와 Stacey(1996)의 연구에 기초하며, 소프트웨어 개발을 복잡하고 예측 불가능한 환경에서의 적응적 활동으로 이해하는 관점을 제공한다. 전통적 계획 기반(Plan-driven) 접근이 전제하는 예측 가능성과 결정론적 프로세스 모형은 소프트웨어 개발의 본질적 복잡성을 적절히 반영하지 못한다는 인식이 애자일의 이론적 출발점이다.
린 생산 방식은 Toyota Production System(TPS)에서 유래한 생산 철학으로, 낭비(Waste)의 제거, 지속적 개선(Kaizen), 그리고 가치 흐름(Value Stream)의 최적화를 핵심 원칙으로 한다. Poppendieck and Poppendieck(2003)은 린 원칙을 소프트웨어 개발에 체계적으로 적용한 린 소프트웨어 개발(Lean Software Development)을 제시하였다.
경험적 프로세스 제어는 Ogunnaike and Ray(1994)의 공정 제어 이론에 기반하며, 투명성(Transparency), 검사(Inspection), 그리고 적응(Adaptation)의 세 기둥을 통하여 복잡하고 예측 불가능한 프로세스를 관리하는 접근이다. 스크럼 프레임워크는 이 경험적 프로세스 제어의 원리를 직접적으로 구현한다.
2. 애자일 선언의 핵심 가치
2001년 17명의 소프트웨어 개발 실천가가 발표한 애자일 소프트웨어 개발 선언(Manifesto for Agile Software Development)은 네 가지 핵심 가치를 제시한다. 프로세스와 도구보다 개인과 상호작용을(Individuals and interactions over processes and tools), 포괄적 문서보다 작동하는 소프트웨어를(Working software over comprehensive documentation), 계약 협상보다 고객 협력을(Customer collaboration over contract negotiation), 그리고 계획 준수보다 변화 대응을(Responding to change over following a plan) 중시한다.
이 선언은 우측의 가치를 부정하는 것이 아니라, 좌측의 가치에 더 높은 비중을 부여하는 것임을 명시적으로 밝히고 있다.
3. 애자일의 핵심 원칙
애자일 선언에 수반되는 12가지 원칙은 다음과 같은 핵심 주제로 요약된다. 고객 가치의 조기·지속적 전달이다. 변화하는 요구사항의 환영이다. 짧은 주기의 작동하는 소프트웨어 전달이다. 사업 담당자와 개발자의 일상적 협업이다. 동기가 부여된 개인의 지원과 신뢰이다. 대면 대화를 통한 효과적 소통이다. 작동하는 소프트웨어에 의한 진척 측정이다. 지속 가능한 개발 속도의 유지이다. 기술적 탁월성과 좋은 설계에 대한 지속적 관심이다. 단순성의 추구이다. 자기 조직화된 팀에서의 최고 품질 산출이다. 정기적 성찰과 조정이다.
4. 딥테크 기업에서의 애자일 적용 고려 사항
딥테크 기업에서 애자일 원칙의 적용에는 다음과 같은 조정이 필요하다. “작동하는 소프트웨어“의 개념을 하드웨어-소프트웨어 통합 제품의 맥락에서 재정의하여야 한다. 시제품, 시뮬레이션 결과, 또는 부분 시스템의 시연이 “작동하는 산출물“의 확장된 정의에 포함될 수 있다. 안전 관련 규제가 요구하는 문서화 수준과 애자일의 “포괄적 문서보다 작동하는 소프트웨어” 원칙 사이의 균형을 찾아야 한다. 기초 연구 활동의 탐색적 성격과 애자일의 반복적·점진적 전달 원칙 사이의 조화를 모색하여야 한다.