AIDLC 10대 원칙과 실행 모델
📅 작성일: 2026-04-07 | ⏱️ 읽는 시간: 약 15분
1. 왜 AIDLC인가
전통적 소프트웨어 개발 라이프사이클(SDLC)은 사람 중심의 장기 반복 주기(주/월 단위)를 전제로 설계되었습니다. 데일리 스탠드업, 스프린트 리뷰, 회고 같은 리추얼은 이 긴 주기에 최적화된 것입니다. AI의 등장으로 이 전제가 무너집니다.
AI는 요구사항 분석, 태스크 분해, 코드 생성, 테스트까지 시간/일 단위로 수행합니다. 기존 SDLC에 AI를 끼워 넣는(Retrofit) 접근은 이 잠재력을 제한합니다 — 마치 자동차 시대에 더 빠른 마차를 만드는 것과 같습니다.
**AIDLC(AI-Driven Development Lifecycle)**는 AWS Labs가 제시한 방법론으로, AI를 **첫 원칙(First Principles)**에서 재구성하여 개발 라이프사이클의 핵심 협력자로 통합합니다.
1.1 SDLC vs AIDLC 비교
전통적 SDLC AIDLC
━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━
사람이 계획하고 실행 AI가 제안하고, 사람이 검증
주/월 단위 반복 (Sprint) 시간/일 단위 반복 (Bolt)
설계 기법은 팀 선택 DDD/BDD/TDD를 방법론에 내장
역할 사일로 (FE/BE/DevOps) AI로 역할 경계 초월
수동 요구사항 분석 AI가 Intent를 Unit으로 분해
순차적 핸드오프 연속 흐름 + Loss Function 검증
1.2 AWS Labs AIDLC 공식 용어 매핑
engineering-playbook 은 독자 확장 용어(Intent · Unit · Bolt)를 사용합니다. 이는 AWS Labs 의 AIDLC Workflows 공식 용어와 다음과 같이 매핑됩니다:
| engineering-playbook 용어 | AWS Labs 공식 용어 | 비고 |
|---|---|---|
| Intent | User Request / Requirements | 비즈니스 목적. 공식 저장소는 자연어 형태 User Request 를 Requirements Document 로 정제함. 동일 개념 |
| Unit | Unit of Work | DDD Subdomain 단위 작업. 공식 저장소는 construction/ 단계에서 여러 Unit of Work 를 병렬·순차 실행 — 동일 개념 |
| Bolt | Phase Execution | Sprint 대체 개념으로 engineering-playbook 독자 용어. 공식 저장소에는 동치어가 없고 Phase 별 stage 실행으로 표현됨 |
engineering-playbook 은 한국 엔터프라이즈 컨텍스트(워터폴→하이브리드 전환, RFP 고정가 입찰 등)에서 팀 내 소통 효율을 위해 짧고 의미가 명확한 용어(Intent · Unit · Bolt)를 채택했습니다. 공식 AWS Labs 저장소와 협업하거나 원문을 참조할 때는 위 매핑 표로 용어를 번역해 사용하세요.
1.3 AWS Labs AIDLC 공식 5대 원칙
AWS Labs 저장소의 aws-aidlc-rule-details/common/ 디렉터리는 AIDLC 동작의 기초가 되는 공식 5대 원칙을 정의합니다. engineering-playbook 의 10대 원칙은 이 5대 원칙을 기반으로 확장·심화한 것입니다.
- No duplication — 단일 진실 원천(SSOT) 유지. 동일 정보를 여러 문서·도구에 중복 생성하지 않음
- Methodology first — AIDLC 방법론이 도구·플랫폼에 선행. 7개 지원 플랫폼(Kiro · Q Developer · Cursor · Cline · Claude Code · GitHub Copilot · AGENTS.md) 어디서든 동일하게 동작
- Reproducible — 동일 입력(User Request, Workspace 상태)에 대해 동일 모델이면 동일 산출물 생산. 모델 교체 시 결과가 크게 변하지 않도록 구조화된 질문/응답 포맷 강제
- Agnostic — 특정 언어·프레임워크·클라우드에 종속되지 않음. 산출물은 평문 Markdown + 표준화된 섹션 구조로 작성
- Human in the loop — Checkpoint Approval 게이트로 각 stage 전환마다 명시적 승인 필요. AI 자율성과 인간 통제의 균형 유지
engineering-playbook 의 10대 원칙 (§2) 은 공식 5대 원칙에 DDD/BDD/TDD 내장, 연속 흐름(Loss Function), 온톨로지·하네스 엔지니어링 등 엔터프라이즈 특화 축을 덧붙인 확장입니다.
1.4 핵심 전환: 대화의 방향을 역전
전통적 개발에서 사람은 컴퓨터에게 명령합니다("이 기능을 구현해"). AIDLC에서는 AI가 먼저 계획을 제안하고 사람이 검증합니다. 이는 단순한 역할 교환이 아니라, AI의 탐색 능력과 사람의 판단력을 최적으로 결합하는 구조입니다.
Google Maps 비유가 적절합니다. 운전자는 목적지(Intent)를 설정하고, AI가 경로를 제안하면, 운전자는 경로를 검증하고 필요시 수정합니다. AI는 실시간으로 교통 상황(코드베이스, 기술 부채, 의존성)을 분석하여 최적 경로를 찾고, 운전자는 비즈니스 맥락(우선순위, 리스크 허용도)을 반영하여 최종 결정합니다.
AIDLC의 핵심 개념은 AWS Labs의 AI-DLC Method Definition에서 정의됩니다. 이 문서는 해당 방법론의 철학과 실행 모델을 정리한 개념 가이드입니다.
2. AIDLC 10대 원칙
🎯 AIDLC의 핵심 원칙
AWS AI-DLC 방법론의 10대 핵심 원칙
Reimagine Rather Than Retrofit
기존 SDLC/Agile에 AI를 끼워 넣지 않고, 첫 원칙(First Principles)에서 재구성. AI의 빠른 반복 주기(시간/일 단위)에 맞는 새로운 방법론
Reverse the Conversation Direction
AI가 대화를 시작하고 주도하며, 사람은 검증자 역할. Google Maps 비유 — 사람이 목적지 설정, AI가 경로 제시
Integration of Design Techniques
DDD, BDD, TDD를 방법론 핵심에 통합. Scrum처럼 선택사항이 아닌 AI-DLC의 내장 요소
Align with AI Capability
AI-Driven 패러다임 채택 — AI-Assisted(보조)를 넘어 AI가 주도하되, 사람이 최종 검증·의사결정·감독 유지
Cater to Complex Systems
높은 아키텍처 복잡도, 다수의 트레이드오프, 확장성·통합 요구사항을 가진 시스템 대상. 단순 시스템은 Low-code/No-code가 적합
Retain Human Symbiosis
사람 검증과 리스크 관리에 필수적인 산출물(User Story, Risk Register 등) 유지. 실시간 사용에 최적화
Facilitate Transition
기존 실무자가 하루 만에 적응할 수 있도록 친숙한 용어 관계 유지. Sprint→Bolt 등 연상 학습 활용
Streamline Responsibilities
AI가 태스크 분해·의사결정을 수행하여 개발자가 전문화 사일로(프론트/백/DevOps)를 초월. 최소 역할 원칙
Minimize Stages, Maximize Flow
핸드오프와 전환을 최소화하고 연속 반복 흐름 구현. 사람 검증은 Loss Function 역할로 낭비 조기 차단
No Hard-Wired Workflows
개발 경로(신규/리팩터링/결함 수정)마다 고정된 워크플로우를 규정하지 않고, AI가 상황에 맞는 Level 1 Plan을 제안
2.1 핵심 3원칙 심화
1. Reverse the Conversation Direction (대화 방향 역전)
전통적 접근:
개발자: "API 엔 드포인트 /users를 추가해줘"
AI: "네, 만들었습니다"
개발자: "아니야, 인증이 필요해"
AI: "수정했습니다"
AIDLC 접근:
개발자: "사용자 관리 기능이 필요해" (Intent)
AI: "분석 결과, 다음 3가지 Unit이 필요합니다:
1. User Authentication Service (OAuth2 + JWT)
2. User CRUD API (REST + GraphQL)
3. User Profile Storage (DynamoDB)
각 Unit의 Domain Design과 Logical Design을 제안합니다..."
개발자: "GraphQL은 제외하고, RDS로 변경해"
AI: "수정된 계획을 생성합니다..."
AI는 코드를 생성하기 전에 전체 아키텍처를 제안하고, 개발자는 비즈니스 맥락을 반영하여 검증합니다. 이는 코드 레벨이 아닌 설계 레벨에서의 협업입니다.
2. Integration of Design Techniques (설계 기법 내장)
Scrum에서 DDD/BDD/TDD는 "팀이 알아서 선택"하는 옵션이었습니다. AIDLC는 이들을 방법론의 필수 코어로 내장합니다.
- DDD (Domain-Driven Design) — AI가 비즈니스 로직을 Aggregate, Entity, Value Object로 자동 모델링합니다. 온톨로지 엔지니어링과 결합하여 도메인 지식을 구조화합니다.
- BDD (Behavior-Driven Development) — AI가 Given-When-Then 시나리오를 생성하여 비즈니스 행동을 명확히 합니다.
- TDD (Test-Driven Development) — AI가 테스트를 먼저 작성하고, 테스트를 통과하는 최소 코드를 생성합니다.
이들은 선택이 아닌 AI가 코드를 생성하는 표준 워크플로우입니다.