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:
@@ -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)
|
||||
Reference in New Issue
Block a user