Files
jongryangje/docs/기본 개발계획/16-web-development-duration-estimate.md
2026-04-08 00:23:55 +09:00

174 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 종량제 웹 버전 개발 기간 산정
**웹 기능만** (Phase 1~10, 모바일앱 Phase 11 제외) 기준으로, **얼마나 걸릴지** 단계별·인원별로 계산한 개요입니다.
실제 일정은 인력·요구 변경·테스트 기간에 따라 달라질 수 있으므로 참고용으로 사용합니다.
---
## 1. 범위 (웹만)
- **01-web-features.md** 기준 **63건** 기능.
- **06-development-plan.md** Phase **1~10** (Phase 11 모바일앱 제외).
- 공통·인증 → 관리자·메뉴 → 기본정보 → 발주/입고 → 불출 → 재고/실사 → 주문·판매 → 판매현황 → 수불 → 스캔 조회 순으로 의존 관계 있음.
---
## 2. Phase별 공수 가정 (1인 기준)
| Phase | 내용 | 예상 공수 (1인) | 비고 |
|-------|------|-----------------|------|
| **1** | 공통·인증 (로그인/로그아웃/로그/비식별화) | **2~3주** | auth 참고, CI4 재구현. 2차인증·5회 lock은 2단계에서 |
| **2** | 관리자·메뉴 (메뉴·권한·사용자·로그인이력·승인) | **4~5주** | auth admin 이식, 레이아웃·권한별 메뉴 |
| **3** | 기본정보 (코드·단가·포장단위·대행소·담당자·업체·무료대상자·지정판매소·비밀번호변경) | **6~8주** | CRUD 다수. 지정판매소(지도·바코드·엑셀) 비중 큼 |
| **4** | 발주·입고 (발주 등록/변경/삭제, LOT·바코드, 스캐너 입고, 일괄입고, 현황) | **6~8주** | LOT·PDF417·암호화·스캐너 연동 등 복잡 |
| **5** | 불출 (무료용 불출 현황·처리·취소) | **2~3주** | 재고·판매 연동 |
| **6** | 재고·실사 (재고 조회, 실사 선별·조회) | **2~3주** | Phase 4·5 데이터 기반 |
| **7** | 주문·판매 (전화접수·지정판매소 판매/취소/반품) | **5~6주** | 가상계좌·주문플로우. PG/Webhook은 고도화 시 별도 |
| **8** | 판매 현황 (대장·일계표·기간별·년도별·판매소별·홈택스) | **4~5주** | 리포트·엑셀·인쇄 |
| **9** | 봉투 수불 (기타 입출고·수불현황·반품파기·수급계획·LOT 수불) | **3~4주** | 수불 이력·조회 |
| **10** | 봉투 스캔 (스캔 횟수/위치 조회) | **1~2주** | 앱 스캔 데이터 조회, 지도 옵션 |
**Phase 1~10 합계 (1인)**
- 낙관: 2+4+6+6+2+2+5+4+3+1 = **35주**
- 보수: 3+5+8+8+3+3+6+5+4+2 = **47주**
- **중간값**: 약 **40~42주 (10~11개월)**.
---
## 3. 버퍼·통합·테스트
- **요구 확정·변경**: Phase 진행 중 스펙 정리·변경 반영 — **+10~15%**.
- **통합 테스트·버그 수정**: Phase 7~8 완료 후 전체 플로우 검증 — **+2~3주**.
- **검수·설치 테스트**: 06·25.11.24 기준 “약 1개월” 전제 — **+4주** (병행 가능).
반영 시 **1인 기준 순수 개발 40주 + 버퍼 4~6주 + 통합/검수 4~6주****약 48~52주 (12~13개월)**.
---
## 4. 인원별 예상 기간 (웹만, 달력 기준)
| 인원 | 순수 개발 (Phase 1~10) | 버퍼·통합·검수 포함 | 비고 |
|------|------------------------|----------------------|------|
| **1인** | 약 10~11개월 | **약 12~13개월** | Phase 순차 진행. 병목 없음. |
| **2인** | 약 5~6개월 | **약 7~8개월** | Phase 1·2 후 역할 분담(예: 1명 기본정보·발주, 1명 판매·현황). 의존 관계상 완전 병렬은 어려움. |
| **3인** | 약 4~5개월 | **약 6~7개월** | Phase 3 이후 모듈 분할. 통합·테스트 기간 필요. |
- **“웹 버전만 만드는데 얼마나 걸리나”** → **1인 기준 약 12~13개월**, **2인 기준 약 7~8개월** 정도로 보면 됩니다.
- 이미 문서에 있던 “2026년 말 기능 완료·2027년 초 오픈”과 맞추려면 **2인 이상**이면 2026년 2~3월 전후 착수 시 가능한 구간에 들어갑니다.
---
## 5. 전제·가정
- **요구사항**: 01-web-features, 04-menu-structure, 03-basic-codes 등 현재 문서 기준. 대규모 추가/삭제 시 공수 재산정 필요.
- **참조**: auth(메뉴·회원)·기존 레거시 동작 참고. 전부 신규 설계가 아님.
- **복잡 기능**: LOT·바코드(PDF417)·스캐너 연동·가상계좌·홈택스는 “1차 수준” 구현 가정. API·외부 연동 고도화는 별도 기간.
- **블록체인/불변 원장**: v1에서는 RDBMS 이력만. 블록체인 확장은 별도 Phase.
- **PDA 동기화·오프라인**: 25.11.24 메모에 있으나, 웹 1차 범위에서 “동기화 로직” 수준만 반영 가능하다고 보면, 상세 설계에 따라 공수 추가 가능.
---
## 6. AI를 적극 사용한다고 가정할 때
**전제**: 개발자가 Cursor·GitHub Copilot·ChatGPT 등으로 **코드 생성·리팩터·문서 작성·단위 테스트 초안**을 꾸준히 활용하고, 생성 결과를 검토·수정하면서 진행한다고 가정.
**AI로 단축되기 쉬운 부분**
- CRUD·폼·리스트·마이그레이션·시더: 템플릿·패턴이 명확해 **20~35%** 단축 가능.
- auth 이식(로그인·메뉴·권한): 문서·기존 코드 참고 시 **초안 작성·보일러플레이트** 단축.
- 공통 로직·헬퍼·검증 규칙: 반복 작업 감소.
- 문서·주석·테스트 케이스 초안: 작성 시간 감소.
**AI로 단축되기 어려운 부분**
- **요구사항 확정·의사결정**: 사람이 해야 함.
- **복잡 비즈니스 로직**(LOT·바코드 규칙, 수불·재고 계산, 주문 플로우): 검증·디버깅은 개발자 부담.
- **스캐너·하드웨어 연동**, **외부 API**(PG·홈택스): 연동·테스트는 그대로.
- **통합 테스트·버그 수정·검수**: 자동화되지 않으면 공수 유사.
**공수 감소 가정**
- **순수 개발(Phase 1~10)**: 위 구간에 한해 **약 25~30%** 단축 가능하다고 보면,
- 1인: 40~42주 → **약 28~32주 (7~8개월)**
- 2인: 20~24주 → **약 14~18주 (3.5~4.5개월)**
- **버퍼·통합·검수**는 AI 영향이 제한적이라 **기존과 비슷**하게 둠 (+4~6주).
- **AI 적극 사용 시 총 기간**
- **1인**: 28~32주 + 4~6주 ≈ **32~38주 (약 8~10개월)**
- **2인**: 14~18주 + 4~6주 ≈ **18~24주 (약 4.5~6개월)**
| 인원 | 기존 (AI 없음) | AI 적극 사용 시 |
|------|----------------|-----------------|
| **1인** | 약 12~13개월 | **약 8~10개월** |
| **2인** | 약 7~8개월 | **약 4.5~6개월** |
**정리**: AI를 적극 쓰면 **1인 기준 약 3~4개월, 2인 기준 약 2~2.5개월** 정도 단축될 수 있다고 보는 수준. 실제는 툴 숙련도·요구 변경·검수 강도에 따라 달라짐.
---
## 7. Electron 데스크톱 추가 시 기간
**전제**: 웹(CI4) 완성 후 **Electron**으로 설치형 데스크톱을 만든다. (Electron이 로컬에서 PHP 서버를 띄우고, 창으로 CI4 웹을 띄우는 방식. `17-desktop-packaging-options.md` §2.3 참고.)
**Electron 추가 공수 (웹 완료 이후)**
| 작업 | 예상 (1인) | 비고 |
|------|-------------|------|
| Electron 프로젝트 구성, 메인 프로세스(PHP 서버 기동·종료, BrowserWindow) | 1~2주 | Node.js·child_process로 PHP 실행, localhost 대기 후 로드 |
| PHP 런타임 + CI4 앱 번들링, (선택) MariaDB 포터블/SQLite | 1~2주 | 경로·환경변수·DB 연결 설정 |
| 패키징(electron-builder 등)·설치 프로그램(NSIS 등) | 0.5~1주 | exe/설치형 산출물 |
| 타깃 OS 테스트(Windows, 필요 시 Mac) | 1~2주 | 실제 PC에서 기동·종료·재설치 시나리오 |
**합계**: **약 3.5~7주 (약 1~1.5개월)**. 2인이면 2~4주로 단축 가능.
웹 개발과 **일부 병렬** 가능(예: 웹 Phase 8~9 진행 중 1명이 Electron 셋업 착수)하면, **달력상 추가는 약 0.5~1개월** 정도로 볼 수 있음.
**웹 + Electron 총 기간**
| 인원 | 웹만 | 웹 + Electron (순차) | 웹 + Electron (병렬 시) |
|------|------|----------------------|-------------------------|
| **1인** | 12~13개월 | **약 13~14.5개월** | **약 12.5~14개월** |
| **2인** | 7~8개월 | **약 7.5~9개월** | **약 7.5~8.5개월** |
| **1인 (AI 사용)** | 8~10개월 | **약 9~11개월** | **약 8.5~10.5개월** |
| **2인 (AI 사용)** | 4.5~6개월 | **약 5~6.5개월** | **약 5~6개월** |
Electron을 쓰기로 했으면 **웹 기간 + 약 1~1.5개월**(순차) 또는 **+0.5~1개월**(병렬) 정도로 보면 됨.
---
## 8. 공휴일·주말·휴가 제외 시 달력 기준 (착수 3월 3일 가정)
**전제**: 공휴일·주말·**월 1일 휴가**·**여름휴가 1주(5일)** 를 제외하고만 작업. 착수일 **2025년 3월 3일** 기준.
**가용 작업일**
- 1년 기준: 365 104(주말) 15(공휴일) 12(월 1일 휴가) 5(여름휴가) ≈ **229일**.
- 월평균: **약 19일** (일반적인 20~21일/월 가정보다 적음).
**기간 환산**
- 기존 "12개월" = 12 × 20 = 240 인·일 가정 시 → **달력상 240 ÷ 19 ≈ 12.6개월**.
- 기존 "8개월"(AI 사용) = 8 × 20 = 160 인·일 → **달력상 160 ÷ 19 ≈ 8.4개월**.
**착수 3월 3일 기준 예상 완료 시점**
| 시나리오 | 기존 기간 | 공휴·휴가 제외 반영 | 완료 시점 (대략) |
|----------|-----------|----------------------|-------------------|
| 1인, 웹만 | 12~13개월 | **약 13~14개월** | **2026년 4월~5월** |
| 1인, 웹만, AI 사용 | 8~10개월 | **약 8.5~10.5개월** | **2025년 11월~2026년 1월** |
| 2인, 웹만 | 7~8개월 | **약 7.5~8.5개월** | **2025년 10월~11월** |
| 2인, 웹만, AI 사용 | 4.5~6개월 | **약 5~6.5개월** | **2025년 8월~9월** |
| 1인, 웹+Electron | 13~14.5개월 | **약 14~15개월** | **2026년 5월~6월** |
| 1인, 웹+Electron, AI | 9~11개월 | **약 9.5~11.5개월** | **2025년 12월~2026년 2월** |
- 위 완료 시점은 **시작일 3월 3일**부터의 달력 일수로 환산한 것이며, 공휴일·휴가가 예상대로만 있을 때의 참고치입니다.
- 여름휴가·공휴일이 더 많거나, 월 1일 휴가가 늘어나면 가용 일수가 줄어 **완료는 더 늦어질 수** 있습니다.
---
## 9. 요약
| 질문 | 답 |
|------|----|
| 웹만 만들면 얼마나 걸리나? | **1인 약 12~13개월, 2인 약 7~8개월** (버퍼·통합·검수 포함). |
| AI 적극 사용하면? | **1인 약 8~10개월, 2인 약 4.5~6개월** (순수 개발 25~30% 단축 가정). |
| Electron 데스크톱까지? | **웹 기간 + 약 1~1.5개월** (순차). 병렬 시 **+0.5~1개월**. |
| 순수 개발만? | 1인 약 10~11개월, 2인 약 5~6개월. (AI 사용 시 1인 7~8개월, 2인 3.5~4.5개월) |
| 2026년 말 완료 가능? | 2인 이상·2026년 초 착수 시 가능 구간. 1인만이면 2026년 말은 촉박. **AI 적극 사용 시 1인도 2026년 초 착수면 2026년 말 완료 가능 구간.** |
| 3/3 착수, 공휴·주말·월1휴가·여름1주 제외 시? | 1인 웹만 **약 13~14개월** → 2026년 4~5월. 1인+AI **약 8.5~10.5개월** → 2025년 11월~2026년 1월. 2인+AI **약 5~6.5개월** → 2025년 8~9월. (§8 참고) |
이 문서는 회의·예산·일정 논의 시 참고용으로 사용하면 됩니다.