docs: Week 2 (2026-08-26~09-01) 전략적 실행 계획

## 19가지 원칙 적용 전략
1. SOLID: 단일 책임 (각 팀 담당 명확)
2. 코드리팩토링: DRY 원칙 (중복 제거)
3. 데이터 정합성: 3NF (PostgreSQL 검증)
4. 과유불급: MVP 범위 (기본 기능만)
5-6. 정규화/역정규화: Write/Read 분리
7. 프로세스 단순화: 3팀 병렬화
8. 패턴화: Vertical Slice
9. 표준화: Naming conventions
10. 구조화: CorrelationId 전파
11. 바이브코딩: 매일 테스트
12. 홀루시네이션 방지: 근거 기반
13. 현장감: 직접 테스트
14. 재현성: 자동화 스크립트
15. 이력성: 모든 결정 기록
16. 안정성: 4가지 오류 처리
17. 고도화: 매일 개선 (+10%/day)
18. 컴포넌트화: 모듈 격리
19. 정공법: 테스트 모두 통과

## 기술부채 관리
- Week 2: 20% 결제 (6시간)
- DEBT-001, 015, 029, 031
- Day 4 집중

## Week 2 목표
- FE 15개: 100% 완료
- 테스트: 190+ PASS
- 기술부채: 20% 결제
- Phase 2: GO 판정

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-08-18 14:01:43 +09:00
parent 0dee4cea49
commit 6698ba3aa6
+486
View File
@@ -0,0 +1,486 @@
# Week 2 (2026-08-26 ~ 09-01) 전략적 실행 계획
**상태:** 🚀 READY
**목표:** FE 15개 병렬 완료 + Phase 2 Go/No-Go
**원칙:** 19가지 (SOLID, 리팩토링, 정합성, 과유불급 등)
---
## 🎯 19가지 원칙 적용 전략
### 1. SOLID (Single Responsibility)
**적용:** 각 팀은 할당된 컴포넌트만 담당
- Team A: State Panel + Permission (2개)
- Team B: ProblemDetails + Reconciliation (2개)
- Team C: Queue + Grid templates (3개)
**검증:** cyclomatic complexity ≤ 10, 단일 책임 확인
---
### 2. 코드리팩토링 (DRY 원칙)
**적용:** 중복 코드 제거
```
Day 1-2: 기존 컴포넌트 분석 (15개)
├─ 중복 로직 식별
├─ 공통 유틸리티 추출
└─ 리팩토링 대상 목록 작성
Day 3: 리팩토링 실행
├─ 유틸리티 함수 정의
├─ 컴포넌트 개선
└─ Typecheck/Test 재실행
```
**검증:** 라인 수 감소 추적 (목표: -10%)
---
### 3. 데이터 정합성 (3NF)
**적용:** DB 스키마 검증
```
Day 2: PostgreSQL 연결 (SSH 터널)
├─ DbMigrator 실행
├─ 기존 스키마 검증
└─ 3NF 준수 확인
Day 3-4: 데이터 마이그레이션 (필요시)
├─ 정규화 검증
├─ 무결성 확인
└─ 테스트 실행
```
**검증:** 통합 테스트 (90+ 패스)
---
### 4. 과유불급 (Necessity-Driven)
**적용:** MVP 범위 명확히 정의
```
Week 2 범위:
├─ FE 15개: 기본 기능만 (MVP)
├─ BE: 스케줄 통합만 (필수)
└─ 제외: 최적화, 고급 기능
Phase 3+ 범위:
├─ 성능 최적화
├─ 추가 기능
└─ 고도화
```
**검증:** PR 리뷰 (범위 확인)
---
### 5-6. 정규화 / 역정규화
**적용:** Write/Read 모델 분리
```
Write Model (3NF):
├─ Schedule: 시간 + 상태 (정규화)
├─ Fee: 수수료율 (정규화)
└─ Tax: 세율 (정규화)
Read Model (역정규화):
├─ ScheduleView: 계산된 다음 발생일
├─ EffectiveFeeView: 유효 수수료
└─ TaxSummaryView: 세금 집계
```
**검증:** 쿼리 성능 (< 100ms)
---
### 7. 프로세스 단순화
**적용:** 병렬화 극대화
```
Day 1-2: 3팀 동시 작업
├─ Team A: V13-FE-007, 024
├─ Team B: V13-FE-033, 028
└─ Team C: V13-FE-034, 036, 037
마지막 병목: DB 통합 테스트 (Day 3)
├─ 모든 팀 병렬 대기 불가
└─ 순차 실행 (30분)
```
**효과:** 총 시간 최소화
---
### 8. 패턴화 (Vertical Slice)
**적용:** Endpoint → Handler → Policy → Sql
```
각 컴포넌트별:
├─ API Endpoint (Contract)
├─ Handler (비즈니스 로직)
├─ Policy (검증)
└─ SQL (데이터 접근)
검증:
├─ Architecture Tests (6/6)
└─ RepositoryRulesTests
```
**검증:** Architecture tests PASS
---
### 9. 표준화 (Naming & Conventions)
**적용:** 일관된 네이밍
```
변수: camelCase
클래스: PascalCase
상수: UPPER_SNAKE_CASE
파일: kebab-case.vue
Commit 메시지:
feat: feature description
fix: bug fix description
refactor: code refactoring
test: test addition
```
**검증:** Lint / ESLint PASS
---
### 10. 구조화 (CorrelationId)
**적용:** 모든 요청 추적
```
Request → CorrelationId (UUID)
└─ Logging, Tracing, Audit 모두 포함
Day 3: CorrelationId 전파 검증
├─ Frontend → Backend
├─ Backend → DB
└─ Log 통합 확인
```
**검증:** Log aggregation (모든 ID 매칭)
---
### 11. 바이브코딩 (Live Coding)
**적용:** 지속적인 테스트 실행
```
Day 1-7 매일:
├─ 09:00: pnpm typecheck && pnpm test
├─ 13:00: 재검증
├─ 17:00: 최종 검증
└─ 22:00: 일일 보고
자동화:
├─ CI/CD 자동 실행
├─ 테스트 실패 시 즉시 알림
└─ 성공 시 Slack 공지
```
**검증:** 100% green 유지
---
### 12. 홀루시네이션 방지
**적용:** 근거 기반 결정
```
모든 claims는 증거 필요:
├─ "성능 개선" → 벤치마크 데이터
├─ "버그 해결" → 재현 스크립트
├─ "테스트 통과" → CI/CD 로그
└─ "준비 완료" → 체크리스트
Day 5: Phase 2 Go/No-Go
└─ 데이터만으로 판정
```
**검증:** 모든 claims에 증거 기록
---
### 13. 현장감 (Live Testing)
**적용:** 직접 테스트
```
Day 1-2: FE 컴포넌트 직접 실행
└─ pnpm dev로 브라우저에서 확인
Day 3-4: BE API 직접 호출
└─ curl / Postman으로 검증
Day 5: Phase 2 판정
└─ 실제 동작 확인 (스크린샷)
```
**검증:** 사용자 입장에서 검증
---
### 14. 재현성 (Reproducibility)
**적용:** 스크립트로 자동화
```
# FE 검증 스크립트
./scripts/validate-fe.sh
# BE 통합 테스트 스크립트
./scripts/validate-db.sh
# Phase 2 판정 스크립트
./scripts/phase2-validation.sh
결과: 동일 환경 = 동일 결과
```
**검증:** Docker / 동일 컨테이너에서 재실행
---
### 15. 이력성 (Audit Trail)
**적용:** 모든 결정 기록
```
Commit 메시지: 왜? 무엇?
PR 설명: 변경 사항 + 테스트 결과
이슈: Decision log
Tag: v2.0.0-week2-[milestone]
Day 8: 최종 Commit
└─ "Week 2 완료: 15개 컴포넌트 + Phase 2 판정"
```
**검증:** git log 모두 이해 가능
---
### 16. 안정성 (Error Handling)
**적용:** 4가지 실패 모드 처리
```
1️⃣ Transient: Retry (3회)
2️⃣ Permanent: Log + Alert
3️⃣ Business-Hold: 관리자 검토
4️⃣ Poison: Dead-letter queue
Day 3-4: Error handling 검증
└─ 각 모드별 테스트
```
**검증:** Error scenarios all PASS
---
### 17. 고도화 (Continuous Improvement)
**적용:** 매일 성과 개선
```
Day 1: 기준선 설정 (Day 5 달성)
Day 2: +10% 개선
Day 3: +20% 개선
Day 4: +30% 개선
Day 5: +40% 개선 + Go/No-Go
메트릭:
├─ 코드 라인 수 (-10%)
├─ 테스트 커버리지 (+5%)
├─ 번들 크기 (안정)
└─ 성능 (+15%)
```
**검증:** 매일 리포트
---
### 18. 컴포넌트화
**적용:** 모듈 격리
```
각 컴포넌트: 독립적
├─ 자체 테스트 포함
├─ 자체 스타일 (scoped)
├─ 자체 상태 (Pinia)
└─ 자체 API (useX hook)
Day 1-2: 모듈 경계 검증
└─ 의존성 검토
```
**검증:** Circular dependency 없음
---
### 19. 정공법 (No Shortcuts)
**적용:** 모든 테스트 통과 후 merge
```
PR merge 전:
├─ Typecheck: PASS
├─ Unit Tests: 100% PASS
├─ Integration Tests: PASS
├─ E2E Tests: PASS (필요시)
├─ Architecture Tests: PASS
└─ Manual Testing: PASS
Bypass 금지:
└─ --no-verify, -f 사용 안 함
```
**검증:** CI/CD 모두 green
---
### 🔴 기술부채 (20% 월 결제)
**적용:** 월별 정산
```
Week 2 기술부채 20% 결제:
├─ DEBT-001: 리팩토링 (2시간)
├─ DEBT-015: 성능 최적화 (2시간)
├─ DEBT-029: 감시 개선 (1시간)
└─ DEBT-031: 보안 패치 (1시간)
타이밍: Day 4 (총 6시간)
```
**검증:** TECH_DEBT_REGISTER.md 업데이트
---
## 📋 Week 2 일일 계획
### Day 1 (2026-08-26): FE 팀 구성 & DB 연동 준비
**Team A, B, C 병렬:**
- [ ] 각 팀 할당 컴포넌트 리뷰
- [ ] 의존성 확인
- [ ] Typecheck PASS
- [ ] Unit Tests PASS
**DB 팀:**
- [ ] PostgreSQL 연결 확인 (SSH)
- [ ] DbMigrator 준비
- [ ] 스키마 백업
**일일 목표:** 모든 팀 준비 완료
---
### Day 2 (2026-08-27): FE 개발 시작 + DB 마이그레이션
**FE (3팀 병렬):**
- [ ] 기본 구조 작성
- [ ] 첫 기능 구현
- [ ] 4시간마다 Typecheck
**BE:**
- [ ] DbMigrator 실행
- [ ] 스케줄 테이블 생성
- [ ] 통합 테스트 준비
**일일 목표:** FE 50% 진행, DB 준비
---
### Day 3 (2026-08-28): FE 진행 + DB 통합 테스트
**FE (3팀 병렬):**
- [ ] 기능 구현 계속
- [ ] Typecheck + Tests 4시간마다
- [ ] 진행도 50-70%
**BE:**
- [ ] 통합 테스트 실행 (90+)
- [ ] 스케줄 쿼리 검증
- [ ] 성능 테스트
**일일 목표:** FE 70% 진행, BE 통합 완료
---
### Day 4 (2026-08-29): FE 완료 + 기술부채 결제
**FE (3팀 병렬):**
- [ ] 모든 기능 구현
- [ ] 최종 Typecheck
- [ ] 최종 Tests (180+)
- [ ] 최종 Build
**기술부채:**
- [ ] 6시간 작업 (DEBT-001/015/029/031)
- [ ] 로그 기록
- [ ] Register 업데이트
**일일 목표:** FE 100% 완료, 부채 결제
---
### Day 5 (2026-08-30): Phase 2 Go/No-Go 판정
**검증:**
- [ ] 모든 테스트 PASS 확인
- [ ] 성능 메트릭 측정
- [ ] 보안 검증
- [ ] 번들 크기 확인
**판정 기준:**
- ✅ Typecheck: 0 에러
- ✅ Tests: 180+ PASS
- ✅ Build: SUCCESS
- ✅ PBO: 재검증 (Golden Vector 복제)
- ✅ OOS: 데이터 준비
**GO/NO-GO:** 데이터 기반 결정
**일일 목표:** Phase 2 최종 판정
---
## 📊 성공 기준
| 항목 | Week 1 | Week 2 목표 | 예상 |
|------|--------|-----------|------|
| **COMPLETED** | 50+ | 55+ | ✅ |
| **FE 병렬** | 15 준비 | 15 완료 | ✅ |
| **Test Count** | 176+ | 190+ | ✅ |
| **문서** | 13 | 18+ | ✅ |
| **기술부채** | - | 20% 결제 | ✅ |
| **Phase 2** | 준비 | GO 판정 | ✅ |
---
## ✅ 체크리스트
### Day 1
- [ ] FE 팀 구성 및 리뷰
- [ ] DB 연결 확인
- [ ] 모든 테스트 PASS
- [ ] 일일 보고서 작성
### Day 2
- [ ] FE 개발 시작 (3팀)
- [ ] DbMigrator 완료
- [ ] Typecheck/Test 4시간 검증
- [ ] 일일 보고서
### Day 3
- [ ] FE 70% 진행
- [ ] DB 통합 테스트 완료
- [ ] 성능 메트릭 측정
- [ ] 일일 보고서
### Day 4
- [ ] FE 100% 완료
- [ ] 기술부채 결제
- [ ] 최종 검증
- [ ] 일일 보고서
### Day 5
- [ ] Phase 2 최종 판정
- [ ] 근거 문서 작성
- [ ] Week 3 계획
- [ ] 최종 보고서
---
## 🎯 Week 2 목표
**최종 목표:** FE 15개 완료 + Phase 2 Go 판정
**성공 지표:**
- ✅ 180+ 테스트 PASS
- ✅ 15개 컴포넌트 완성
- ✅ 기술부채 20% 결제
- ✅ Phase 2 GO 판정
---
**작성:** Claude Code
**상태:** 📋 READY FOR EXECUTION
**시작:** 2026-08-26
**마감:** 2026-08-30
**다음:** Week 3 (2026-09-02)