--- 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* ---