---
category: Unified
tags: [auto-consolidated, technical-documentation]
title: [[SDLC (소프트웨어 개발 수명 주기)|SDLC (소프트웨어 개발 수명 주기)]]
last_updated: 2026-05-02
---

# [[SDLC (소프트웨어 개발 수명 주기)|SDLC (소프트웨어 개발 수명 주기)]]

## 📌 Brief Summary
> "아이디어가 코드가 되고, 코드가 가치를 창출하는 여정의 지도." 소프트웨어를 기획, 설계, 구현, 테스트, 배포, 유지보수하는 전 과정을 체계화한 프로세스 모델이다.

---

> 소프트웨어 개발 수명 주기(SDLC)는 소프트웨어를 개발하고 유지보수하는 전체 과정을 의미합니다. 현대의 SDLC는 정적 분석([[SAST|SAST]])과 AI 도구를 초기 단계부터 통합하여 취약점을 조기에 발견하고 수정하는 '시프트 레프트([[Shift|Shift]]-Left)' 접근법을 강조합니다 [1-3]. 이를 통해 조직은 개발 수명 주기 내내 AI가 생성한 코드를 포함한 모든 소프트웨어의 보안, 유지보수성, 품질을 효율적으로 관리할 수 있습니다 [1, 4, 5].

## 📖 Core Content
- **Stages**:
    1. **Planning & [[Analysis|Analysis]]**: 비즈니스 요구사항 정의 및 타당성 검토.
    2. **Design**: 시스템 아키텍처 및 DB 스키마 설계.
    3. **Implementation (Coding)**: 실제 코드 작성 및 단위 테스트.
    4. **[[Testing|Testing]]**: 통합 테스트, QA를 통한 품질 검증.
    5. **Deployment**: 실제 운영 환경 배포 및 사용자 인계.
    6. **Maintenance**: 버그 수정 및 성능 최적화.
- **Models**:
    - **Waterfall**: 단계별 선형 진행 (철저한 계획).
    - **Agile**: 반복적(Iterative) 진행 (빠른 변화 대응).
    - **DevOps**: 개발과 운영의 경계를 허문 지속적 통합/배포.

---

- **초기 결함 탐지 및 시프트 레프트(Shift-Left):** SDLC의 초기 단계(예: 풀 리퀘스트 워크플로우)에 정적 코드 분석(SAST) 및 실시간 검사를 통합하면 보안 취약점, 유지보수 문제, 논리적 결함을 조기에 발견할 수 있습니다 [1]. 이는 개발 프로세스 초기에 취약점을 감지하고 수정하는 [[DevSecOps|DevSecOps]]의 핵심 원칙인 '시프트 레프트' 접근 방식을 의미합니다 [3].
- **지속적인 모니터링 및 품질 게이트 적용:** 안전한 SDLC(SSDLC)를 위해서는 개발 주기 초기에 스캔을 시작하여 보안 기준선을 설정해야 합니다 [2, 6]. 이후 SDLC의 다양한 단계 전반에 걸쳐 코드를 자주 스캔하여 새롭게 발생하는 보안 문제를 지속적으로 포착하는 것이 모범 사례로 권장됩니다 [6]. 또한 SDLC 전반에 걸쳐 동기화된 품질 게이트(Quality [[Gates|Gates]])를 적용하면 대규모 개발 환경에서도 고품질의 안전한 코드 배포를 유지할 수 있습니다 [4].
- **AI 도구의 통합:** AI 도구들은 점차 SDLC에서 필수 불가결한 요소로 자리 잡고 있습니다 [5]. AI 기반 코드 검사기를 활용하면 개발자는 동료 코드 리뷰 등에서 놓칠 수 있는 복잡한 코드 문제나 보안 위험을 SDLC 초기에 더 빠르고 정확하게 식별 및 해결할 수 있습니다 [2].
- **SDLC 거버넌스:** 조직은 AI 생성 코드와 기존 개발자 표준을 일치시키기 위해 SDLC 거버넌스를 확립해야 합니다 [7]. 규정 준수를 자동화하고 정책 기반의 품질 게이트를 적용함으로써 소프트웨어 품질 보증 과정을 강화할 수 있습니다 [7, 8].

## ⚖️ Trade-offs & Caveats
- 현대의 SDLC는 AI의 개입으로 'Autonomous SDLC'로 진화 중이다. AI 에이전트가 요구사항 명세서를 읽고 코드를 초안 작성하며, 테스트 케이스까지 자동 생성하는 시대가 열리면서 각 단계의 경계가 더욱 압축되고 자동화되고 있다.

---

- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
- **정책 변화:** AI 분야의 자동 자산화 수행.

## 🔗 Knowledge Connections
- Related: [[DevSecOps|DevSecOps]] , [[Continuous-Discovery|Continuous-Discovery]]
- Modern Pattern: [[AI 에이전트 (AI Agent)|AI 에이전트 (AI Agent)]]

---

- **Related Topics:** [[시프트 레프트 (Shift-Left)|시프트 레프트 (Shift-Left)]], [[정적 애플리케이션 보안 테스트 (SAST)|정적 애플리케이션 보안 테스트 (SAST)]], [[DevSecOps|DevSecOps]]
- **Projects/Contexts:** [[AI 코드 리뷰|AI 코드 리뷰]], [[풀 리퀘스트 워크플로우|풀 리퀘스트 워크플로우]]
- **Contradictions/Notes:** 소스 간의 명백한 모순은 존재하지 않으며, 모든 소스가 공통적으로 SDLC 전반(특히 초기 단계)에 걸친 보안 스캔 자동화 및 AI 도구 도입의 중요성을 일관되게 강조하고 있습니다.

---
*Last updated: 2026-04-18*

---
