Skip to main content

End-to-End AI-Driven SDLC 베스트 프랙틱스

전환 사례(Traditional → AI-driven) Lesson Learn

  • 생산성 체감 증가는 큼(80%+), 안정성(stability) 악화 리스크는 계속 관찰
  • 요구사항→설계→구현 산출물을 연속 컨텍스트로 저장/활용이 성능에 중요
  • HITL을 최소화 하기 위해 표준/정책/거버넌스 지속적 수립
  • 조직일관성 : 개인 생산성은 빠르게 개선, 팀 단위 품질/운영 안정성은 별도 설계가 필요.

2.1 기획/요구사항 (Plan/Discover)

요구사항 구조화 표준화

  • PRD를 자유서술만 두지 말고, AI가 처리 가능한 스키마(목표, 사용자, 제약, 수용기준, 비기능 요구)로 강제
  • AI 질의-응답 루프 내장 : AI가 모호점/누락을 질문하게 하고, PM/PO가 빠르게 확정
  • 속도 팁: 요구사항 리뷰 회의를 줄이고, AI가 사전 질의 리스트를 생성해 “결정 회의”만 하도록 전환
  • 사용자 가치 중심 정렬, DORA: user-centricity가 없으면 AI 가속이 “잘못된 방향의 가속”이 될 수 있음, 아마존 working-backward

2.2 분석/설계 (Analyze/Design)

  1. 다안(多案) 자동 생성 + 인간 선택 : 아키텍처 대안(성능/비용/보안 트레이드오프)을 AI가 생성, 아키텍트가 최종 선택
  2. 설계 근거(traceability) 의무화 : 요구사항 항목 ↔ 설계 결정 ↔ 테스트 케이스 연결
  3. 내부 표준 RAG 연결 내부 레퍼런스 아키텍처/보안정책/코딩 컨벤션을 AI 컨텍스트에 연결

속도 팁: “설계 문서 완성 후 개발” 대신, 설계 초안→검증→즉시 코드 스캐폴딩 병렬화

2.3 구현 (Build)

  1. AI 생성 코드 기본 가정 = 불완전
    • 생성 코드 신뢰를 전제로 하지 말고, 리뷰·정적분석·테스트 게이트 필수
  2. 작은 배치/짧은 커밋 주기
    • DORA 권고: AI 시대일수록 small batch와 버전관리 성숙도가 성과를 증폭
  3. 프롬프트/컨텍스트 자산화
    • 잘 동작한 프롬프트, 실패 패턴, 리팩토링 템플릿을 팀 지식으로 축적

속도 팁: “한 번에 큰 기능”보다, AI에게 얇은 vertical slice를 연속 생성시키고 즉시 통합

2.4 테스트/품질 (Test/Verify)

  1. 테스트 우선 자동화
    • AI가 코드와 함께 테스트 생성하도록 기본 파이프라인 설계
  2. 위험 기반 테스트 선택
    • 변경 영향도가 큰 영역을 AI가 우선 선정
  3. 평가(Eval) 파이프라인 상시 운영
    • 정확도/회귀/보안/성능 지표를 릴리즈마다 자동 비교

속도 팁: flaky test 자동 탐지·수정 루프를 넣어 CI 대기시간을 줄임

2.5 배포 (Release/Deploy)

  1. 정책 기반 자동 게이트
    • 보안 스캔, 라이선스, 성능 임계치, 테스트 통과율 조건화
  2. Progressive delivery 기본값화
    • 카나리/블루그린 + 자동 롤백
  3. 릴리즈 노트 자동 생성 + 위험 요약
    • 운영팀이 즉시 이해 가능한 변경 요약 제공

속도 팁: AI 생성 PR이 많아질수록 배포는 더 자주/작게/가역적으로 해야 함

2.6 운영/관측/개선 (Operate/Learn)

  1. 운영 데이터의 개발 환류 자동화
    • 장애/성능/사용자 피드백을 다음 요구사항 초안으로 자동 반영
  2. 런북 + 대응 플레이북 AI 보강
    • 온콜 대응시 원인 후보/완화안/롤백 절차를 AI가 즉시 제안
  3. 사후분석(Postmortem) 자동 초안화
    • 재발방지 액션 아이템을 추적 가능한 작업으로 변환

속도 팁: MTTR 단축은 “개발 속도”보다 체감 가치가 큼. 운영 자동화 투자 우선순위를 높일 것

1) Inception 단계

무엇을 만들고 왜 만드는지를 정의하는 단계입니다.

요구사항 분석: 이해관계자의 요구를 수집하고, 명확화 질문을 통해 요구사항을 구체화합니다 유저 스토리 작성: “북큐레이터는 상담 전 고객 정보를 빠르게 확인하고 싶다”와 같이 사용자 관점에서 기능을 정의합니다 애플리케이션 설계: 전체 시스템의 논리적 아키텍처와 도메인 모델을 설계합니다 유닛 생성: 독립적으로 개발할 수 있는 작업 단위로 분리하여 병렬 개발을 가능하게 합니다 2) Construction 단계

어떻게 만들 것인지를 결정하고 실제로 구현하는 단계입니다.

기능 설계: 각 유닛의 상세 컴포넌트를 설계합니다. API 엔드포인트, 데이터베이스 스키마, 서비스 간 인터페이스 등이 포함됩니다 비기능 요구사항 정의: 성능, 보안, 확장성 등 비기능 요구사항을 정의하고 이를 충족하는 설계를 수립합니다 인프라 설계: 클라우드 인프라 구성을 설계합니다 코드 생성: 설계 문서를 기반으로 AI가 코드를 생성하고, 개발자가 리뷰합니다 빌드 및 테스트: 빌드 구성과 테스트를 수행하여 품질을 검증합니다