Communitygithub.com

프로덕션 준비 상태 (MVP → 프로덕션)

MVP 또는 '일단 만든' 제품을 프로덕션 출시에 맞게 평가하고 강화합니다. 보안, 안정성, 운영, 통합, API, 앱 스토어, AI, 결제, 규정 준수, 개발자 도구/OSS 배포 및 채택을 다루며, 증거 기반의 go/no-go 결정과 격차 백로그를 제공합니다.

프로덕션 준비 상태 (MVP → 프로덕션)란 무엇인가요?

이 스킬은 MVP(최소 기능 제품)나 '일단 만들어 본' 제품을 실제 프로덕션 환경에 출시할 준비가 되었는지 종합적으로 평가하는 강력한 도구입니다. 단순한 체크리스트를 넘어, 실제 코드 저장소, CI 설정, 인프라 등을 분석하여 각 항목을 '통과(PASS)', '격차(GAP)', '해당 없음(N/A)', 또는 '알 수 없음(UNKNOWN)'으로 판정하며, 통과 증거는 반드시 구체적인 파일 경로나 설정을 제시해야 합니다. 제품의 규모와 출시 등급(T1 베타, T2 GA, T3 엔터프라이즈)에 맞춰 평가 항목을 조정하며, 보안, 데이터 무결성, 안정성, 관찰 가능성, CI/CD, 테스트, 법률, 채택 계획 등 13개의 핵심 영역과 10개의 조건부 모듈(통합, API, 앱 스토어, AI/LLM, 결제 등)을 다룹니다. 최종적으로는 한 페이지 분량의 보고서, 구체적인 작업 항목 백로그, 그리고 필요시 저장소별 강화 키트(CI 품질 게이트, 에이전트 규칙 파일 등)를 생성하여 제품 소유자가 명확히 무엇을 해야 하는지 알 수 있도록 돕습니다. Claude Code, Cursor와 같은 에이전트 환경에서 사용하도록 설계되었습니다.

지원 대상✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Viaknox/production-readiness/tree/main/skills/production-readiness

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

프로덕션 준비 상태 (MVP → 프로덕션)은(는) 무엇을 하나요?

목표: 제품 소유자에게 증거와 함께 제품이 실제 사용자에게 준비되었는지, 출시를 막는 요인이 무엇인지, 격차를 해소하기 위한 최소한의 작업이 무엇인지 알려줍니다. 제품에 맞게 조정되며, 일반적인 200개 항목의 위시리스트가 아닙니다.

엄격한 규칙

  1. 증거 또는 알 수 없음. 모든 항목은 PASS / GAP / N/A / UNKNOWN이며, PASS에는 증거(파일 경로, 설정, CI 실행, 대시보드, 문서 링크)가 필요합니다. README의 주장만으로 PASS로 표시하지 마십시오.
  2. 등급에 맞게 조정. 50명 사용자 베타에 다중 리전 재해 복구를 요구하지 마십시오. 각 격차에는 필요한 등급을 태그하십시오.
  3. 플랫폼 규칙을 실시간으로 확인. 앱 스토어, OAuth, 결제, 이메일 발신자 규칙은 매년 변경됩니다. 매장/공급업체 요구 사항을 인용하기 전에 공급업체의 공식 문서(웹 검색)를 확인하고 링크와 확인 날짜를 인용하십시오.
  4. 재사용, 중복 금지. pm-ai-shipping:ship-check, security-audit-static, performance-audit-static 또는 derive-tests를 사용할 수 있으면 이를 실행하여 코드 수준 증거를 확보하고 결과를 통합하십시오. 이 스킬은 코드 주변의 모든 것을 담당합니다.
  5. 평이한 출력. 소유자는 한 페이지 분량의 스코어카드를 읽습니다. 세부 사항은 부록과 백로그에 넣습니다.
  6. 워크플로우 내 거버넌스, 마지막이 아닌. 출시 전에 고정된 검토 회의보다는 작업이 발생하는 곳(CI, PR 템플릿, pre-commit, 제품 내 가드레일)에서 실행되는 검사를 선호하십시오. 마지막에만 실행되는 게이트는 병목 현상이 됩니다.
  7. 출시 ≠ 채택. 대부분의 제품은 출시 후 코드 문제가 아니라 사람과 프로세스가 변하지 않았기 때문에 정체됩니다. 준비 상태에는 채택 계획(영역 13)이 포함되며, 시스템만이 아닙니다.

준비 상태 등급

등급의미일반적인 기준
T1 공개 베타실제 사용자, 낮은 규모, 약간의 다운타임 허용 가능비밀 누출 없음, 인증 견고, 백업 복원 가능, 오류 추적, 법적 페이지, 롤백 작동
T2 GA유료 사용자, SLA 기대+ SLO/알림/온콜, 부하 테스트, 런북, 지원 경로, 통합 폴백
T3 엔터프라이즈 / 규제 대상B2B 계약, PHI/PCI/어린이, 감사+ SSO/SCIM, 감사 로그, DPA/BAA, 침투 테스트, SOC 2 / HIPAA 통제, DR 훈련

워크플로우

단계 0 — 제품 프로필 작성 (한 번 질문하고, 질문을 일괄 처리)

캡처: 목표 등급 및 출시 날짜; 단일 성공 지표와 목표(이 출시를 성공으로 만드는 것, 측정 방법, 시기); 명명된 소유자 및 승인 이해관계자(제품, 엔지니어링, 보안, 법률/개인정보, 지원, 마케팅 — 개인 데이터, AI 출력 또는 규제 대상 사용자가 관련된 경우 첫날 법률/개인정보 플래그 지정); 표면(웹, iOS, Android, 데스크톱, 공개 API, CLI, 브라우저 확장 프로그램, 개발자 도구/플러그인/라이브러리(다른 개발자에게 배포)); 호스팅/스택; 데이터 유형(PII, PHI, 결제, 미성년자 데이터); 사용자(B2C/B2B), 지역(미국/EU/기타); AI/LLM 기능; 결제; 모든 외부 통합(사용하는 API, 수신하는 웹훅, 게시하는 마켓플레이스/앱 스토어, SSO/IdP). 먼저 저장소(패키지 매니페스트, 환경 템플릿, SDK 가져오기)를 스캔하여 통합 목록을 미리 채운 다음 소유자에게 확인/격차 채우기만 요청하십시오.

프로필은 적용되는 모듈을 선택합니다. 보고서 상단에 기록하십시오.

단계 1 — 증거 수집

저장소(코드, CI 설정, IaC, 환경 템플릿, 마이그레이션), 호스팅 대시보드/커넥터(사용 가능한 경우: Vercel, Railway, Supabase, Render 등), 이슈 트래커, 기존 문서. 사용 가능한 감사 스킬을 실행합니다. 검사할 수 없는 항목을 기록 → UNKNOWN.

단계 2 — 핵심 영역(항상) + 해당 모듈 평가

각 항목을 점수화합니다. 심각도: BLOCKER(대상 등급에서 출시 불가) / HIGH(처음 2주 이내 수정) / LATER.

단계 3 — 전달

  1. 스코어카드 (1페이지): Go / Go-with-conditions / No-go; 차단기 개수; 영역별 RAG 테이블; 일반 용어로 된 상위 5개 위험.
  2. 격차 백로그: 격차당 하나의 티켓 — 제목, 중요성, 승인 기준, 마감에 필요한 증거, 등급, 심각도, 대략적인 크기(S/M/L). Linear/Jira/GitHub Issues가 연결된 경우 프로젝트/마일스톤으로 생성하도록 제안하고, 그렇지 않으면 테이블.
  3. 강화 키트(요청 시): 저장소별 CI 품질 게이트, 에이전트 규칙 파일(CLAUDE.md/.cursorrules), .env.example, 런북 스텁 생성 — 템플릿 덤프가 아닌 저장소가 실제로 사용하는 것에서 빌드.
  4. 재실행 모드: 이후 실행 시 이전 보고서와 차이점을 비교하고 변경된 사항만 표시.

핵심 영역(항상 평가)

1. 비밀 및 설정 — 코드나 git 히스토리에 비밀 없음(gitleaks/trufflehog 전체 히스토리); .env 무시, .env.example 존재; 프로덕션 비밀은 플랫폼 비밀 저장소에; 개발/스테이징/프로덕션 키 분리; 순환 계획 및 순환 가능한 사람; 유출된 키 대응 단계.

2. ID 및 액세스 — 입증된 인증 제공자 또는 잘 검토된 라이브러리(수제 암호화 금지); 모든 데이터 경로에서 서버 측 권한 부여(IDOR / 누락된 테넌트 필터 / 허용적인 RLS 확인); 세션/토큰 수명 및 해지; 로그인, 가입, 재설정, OTP에 속도 제한; 관리자용 MFA; 최소 권한 서비스 계정; 관리자 작업 기록.

3. 에지 및 앱 보안 — HTTPS + HSTS; 보안 헤더(CSP, frame-ancestors 등); 엄격한 CORS; 경계에서 입력 유효성 검사; 파일 업로드 제한/유형 검사; URL 가져오기의 SSRF 가드; T2+에서 WAF/봇 보호; 종속성 스캔 + lockfile; CI의 SAST; T3에서 SBOM 및 라이선스 검사.

4. 데이터 — 자동화된 백업 및 테스트된 복원(실제 복원 시간 기록); DB가 지원하는 시점 복구; 이전 버전과 호환되는 마이그레이션(확장 → 마이그레이션 → 축소); 스테이징은 원시 프로덕션 PII를 사용하지 않음; 보존 + 삭제 경로(사용자 계정 삭제가 DB, 스토리지, 로그, 공급업체 전체에서 실제로 삭제됨); 미사용/전송 중 암호화 기본값 확인.

5. 안정성 — 모든 아웃바운드 호출에 타임아웃; 멱등 연산에서만 백오프 + 지터가 있는 재시도; 결제/웹훅/작업의 멱등 키; 내구성 있는 큐의 백그라운드 작업; 종속성이 다운될 때 정상적 저하; T2+에서 SLO 정의(가용성, 지연 시간); T2+에서 예상 최대치 ×3의 용량/부하 테스트.

6. 관찰 가능성 — 릴리스 태그가 있는 오류 추적(예: Sentry); 요청/추적 ID가 있는 구조화된 로그 및 PII 편집; 엔드포인트별 주요 메트릭(비율, 오류, 지속 시간); 외부에서의 가동 시간 확인; 실제로 볼 사람에게 라우팅되는 증상 기반 알림; 출시일 대시보드.

7. CI/CD 및 릴리스 — 메인 브랜치의 필수 검사(lint, 타입체크, 테스트, 비밀 스캔, 종속성 감사); 미리보기/스테이징 환경; 원클릭 롤백 한 번 증명; 위험한 기능을 위한 기능 플래그; 마이그레이션이 배포 중 안전하게 실행; 릴리스 노트/체인지로그; 브랜치 보호.

8. 테스트 — 커버리지 %보다 중요한 경로(인증, 결제, 데이터 쓰기, 권한)의 테스트; 실제 DB에 대한 통합 테스트; 배포 후 실행되는 상위 사용자 여정의 E2E 스모크 테스트; 외부 API에 대한 계약 테스트 또는 기록된 픽스처.

9. 성능 및 비용 — Core Web Vitals / 앱 시작 예산; N+1 및 누락된 인덱스 확인; 캐싱/CDN; 공급업체별 지출 알림 및 하드 캡(클라우드, LLM, SMS, 이메일); 활성 사용자당 비용 추정; 청구서를 늘릴 수 있는 남용 시나리오(가입 스팸, LLM 프롬프트 루프, SMS 펌핑).

10. 운영 및 지원 — 한 사람이라도 소유자/온콜 지명; 인시던트 프로세스(심각도, 커뮤니케이션, 포스트모템); 상위 5개 실패 모드에 대한 런북; T2+에서 상태 페이지; 지원 채널 및 SLA; 일반적인 지원 작업을 위한 관리자 도구(원시 SQL이 필요하지 않도록).

11. 법률 및 신뢰 — 약관, 실제 데이터 흐름과 일치하는 개인정보 처리방침; 필요한 경우 쿠키 동의(EU/UK); 개인 데이터를 처리하는 공급업체와의 DPA; T3에서 하위 처리자 목록; 접근성 목표(WCAG 2.2 AA) 및 기본 감사; 오픈소스 라이선스 준수; 제품 이름에 대한 상표/이름 사용 권리.

12. 제품 준비 상태 — 활성화 퍼널에 대한 분석(동의 포함); 온보딩 및 빈 상태; 트랜잭션 이메일 전달(웹 모듈 참조); 도움말 문서/FAQ; 유료인 경우 가격/결제 활성; 피드백 루프; 문제가 있는 기능을 위한 킬 스위치.

13. 채택 및 운영 모델 — 출시 전에 작성된 성공 지표 및 파일럿 종료 기준(파일럿에서 '확장' 또는 '중단'으로 이동시키는 것); 위험 등급별 명명된 승인자가 있는 문서화된 릴리스 워크플로우(저위험 변경 = 한 명의 검토자, 고위험 = 더 많음) 및 승인이 지연되지 않도록 합의된 처리 시간; 출시 커뮤니케이션(변경되는 사항, 변경되지 않는 사항, 알려진 한계); 첫 번째 사용자/챔피언 그룹 및 그들로부터 의견을 들을 수 있는 방법; 제품 내 도움말, 템플릿 또는 예제(사용자가 도구 내에서 학습); 피드백 루프(사용자 피드백 + 사용량 메트릭) 및 검토 주기(예: 30/60/90일, 이후 분기별); 사용량이 증가함에 따라 지속적인 지원을 담당하는 소유자.

조건부 모듈

M1. 사용하는 통합(공급업체당 한 장) — 프로덕션 계정/키(샌드박스 아님) 및 계정 소유자; 예상 최대치 대비 속도 제한 및 할당량; 가격 상한 및 알림; 인증 유형 및 토큰 갱신; 웹훅 서명 확인, 재생 보호, 멱등 처리기, 재시도/백오프 및 데드 레터; API 버전 고정 + 사용 중단 감시(체인지로그 구독); 타임아웃 + 회로 차단기 + 사용자에게 표시되는 폴백; 공급업체 상태 페이지 구독; 이용 약관이 귀하의 사용(재판매, AI 교육, 스크래핑)을 허용함; 종료 계획 — 귀하의 데이터/프롬프트/설정을 소유하고 내보낼 수 있으며, 계약에 해지 조항 없이 다년 잠금이 없음; 데이터 상주/DPA; OAuth 앱 확인/검토 요구 사항(예: Google 민감/제한된 범위, Microsoft 게시자 확인, Slack/Zoom 앱 검토) — 현재 규칙을 실시간으로 확인.

M2. 노출하는 공개 API — OpenAPI/사양 게시; 버전 관리 및 사용 중단 정책; 범위가 있는 API 키/OAuth, 순환, 해지; 키당 속도 제한 및 할당량; 페이지 매김, POST의 멱등 키; 일관된 오류 형식; 샌드박스 환경; 보내는 웹훅이 서명, 재시도 및 재생 가능; 개발자 문서 + 체인지로그; 청구되는 경우 사용량 측정.

M3. 모바일 및 앱 스토어 — 인용 전 각각의 현재 공식 문서 확인:

  • Apple: 앱 리뷰 가이드라인; 개인정보 라벨이 실제 수집과 일치; 타사 SDK를 포함한 개인정보 매니페스트; 계정을 만들 수 있는 경우 인앱 계정 삭제; 타사 로그인을 제공하는 경우 Apple로 로그인 규칙; 디지털 상품에 대한 IAP 규칙; TestFlight 외부 테스트; 수출 규정 준수.
  • Google Play: 현재 목표 API 수준 마감일; 데이터 안전 양식; 새 개인 개발자 계정에 대한 클로즈드 테스트 요구 사항; Play 앱 서명 및 업로드 키 관리; 계정 삭제 웹 링크.
  • 공통: 충돌 보고; 주요 API 변경 사항에 대한 강제/소프트 업데이트 메커니즘; 딥/유니버설 링크; 회사 계정이 소유한 푸시 자격 증명; 스토어 목록 자산, 연령 등급, 지원 URL, 개인정보 URL; 출시 계획의 리뷰 거부 버퍼(시간이 아닌 일 단위 계획).

M4. 웹 및 이메일 — 커스텀 도메인, 회사 계정이 소유한 DNS, 등록기관 잠금 + 자동 갱신; 검색 가능성이 중요한 경우 SEO 기본 사항(제목, 사이트맵, 로봇, OG 태그); 404/500 페이지; 이메일 발신자 인증 SPF, DKIM, DMARC 및 대량 메일의 원클릭 구독 취소(현재 Gmail/Yahoo 발신자 규칙 확인); 반송/불만 처리; 트랜잭션 및 마케팅 스트림 분리.

M5. AI / LLM 기능 — 폴백 모델이 있는 제공자 추상화 또는 게이트웨이; 429/5xx에 대한 타임아웃 및 재시도; 스키마(Zod/Pydantic)로 검증된 구조화된 출력; 프롬프트/모델 변경 전 CI에서 실행되는 실제 사례의 평가 세트; 모델이 신뢰할 수 없는 콘텐츠를 읽거나 도구를 호출할 수 있는 경우 프롬프트 인젝션 방어(최소 권한 도구, 파괴적 작업에 대한 사람 확인); 사용자별 및 글로벌 비용 상한; PII 처리 및 제공자 데이터 보존 설정; 모델 사용 중단 날짜 추적; 필요한 경우 사용자에게 AI 공개; 생성된 출력에 대한 브랜드/품질 가드레일(금지된 용어, 어조 확인, 위험에 따라 계층화된 사람 검토); UI가 사용자에게 한계를 알림('사실 확인', 주장에 대한 출처 표시); 프롬프트/모델 변경 사항을 먼저 샌드박스에서 기록 또는 샘플 데이터로 테스트한 다음 전체 트래픽에 출시하기 전에 작은 트래픽 비율로 롤아웃; 예정된(예: 반기) 모델/공급업체 검토.

M6. 결제 — PCI 범위를 최소화하기 위한 호스티드 체크아웃; 웹훅 기반 상태(클라이언트 리디렉션 절대 신뢰 안 함); 멱등 이행; 환불, 분쟁, 당닝; 지역별 세금 징수; 테스트 시계/샌드박스 커버; 수익 조정.

M7. 규제 데이터 — PHI → HIPAA: PHI를 다루는 모든 공급업체와의 BAA, 액세스 로깅, 최소 필요. 호스티드 체크아웃을 넘어선 PCI → SAQ 범위. 어린이 → COPPA/연령 게이트. EU/UK 사용자 → GDPR 법적 근거, DSAR 프로세스, 전송. 캘리포니아 → CCPA/CPRA. 법률 검토를 위해 플래그 지정; 법적 결론을 내리지 마십시오.

M8. B2B / 엔터프라이즈 — 테넌트 격리 테스트(교차 테넌트 액세스 테스트); T3에서 SSO(SAML/OIDC) 및 SCIM; 감사 로그 내보내기; 역할/권한 모델; 데이터 내보내기; 보안 설문지 패키지(아키텍처, 하위 처리자, 침투 테스트, 정책); 가동 시간 SLA 및 크레딧.

M9. 게시하는 마켓플레이스 — Chrome 웹 스토어, Slack/Teams/Zoom 앱 디렉토리, Shopify, MCP/플러그인 레지스트리 등: 목록 요구 사항, 검토 기간, 권한 근거, 개인정보 공개 — 실시간 확인.

M10. 개발자 도구, 라이브러리, 플러그인 및 오픈 소스 — 의도적으로 선택한 라이선스(AGPL과 같은 카피레프트는 회사 채택을 차단할 수 있음, MIT/Apache와 같은 허용적 라이선스는 더 빠르게 확산됨) 및 NOTICE/타사 라이선스 정확; 비공개 공개 채널이 있는 SECURITY.md; 의미론적 버전 관리, CHANGELOG, 모든 저장된 데이터 또는 설정 형식에 대한 테스트된 업그레이드/마이그레이션 경로; CI에서 실제로 테스트된 지원 플랫폼 매트릭스(OS × 런타임 버전 × 지원하는 각 클라이언트/IDE); 문서화된 모든 경로에 대해 깨끗한 머신에서 설치 확인됨; 각 레지스트리(PyPI, npm, 플러그인 마켓플레이스)에 예약된 패키지 이름; 서명된 릴리스 / 빌드 출처; 텔레메트리 끄기 또는 옵트인 및 문서화; CONTRIBUTING, 행동 강령, 이슈/PR 템플릿; 사용자가 오용하지 않도록 '이것이 아닌 것' 섹션.

스코어카드 템플릿

제품: <이름>   목표: T1/T2/T3   출시일: <날짜>   판정: GO | GO-WITH-CONDITIONS | NO-GO
차단기: N   높음: N   알 수 없음: N

[스코어카드 본문]

[견고함 점수]
[부록]
[격차 백로그]
[채택 계획 노트]

관련 스킬