AI주도개발 통합시스템 v3.2.0 with Cursor Rules & Commands
현재 버전
Version
- v3.2.0
- 릴리스일: 2025-09-16
- 주요 변경: 인지과학 기반 최적화를 통한 논리 플로우 재구성
3_solution_design_evaluation/
01-detailed-solution-design.md
경로 : .cursor/commands/3_solution_design_evaluation/01-detailed-solution-design.md
# 상세 솔루션 설계
## 목적
2단계(Phase 2)에서 수립된 **개요 설계**를 기반으로, 실제 구현이 가능한 수준까지 **기술·기능적 세부 설계**를 완성한다.
## 전제 조건
- 솔루션 개요 설계가 완료되어 있음
- Make/Buy 판단 결과 및 근거가 명확히 정의되어 있음
- 기술 및 비즈니스 요구사항이 구체적으로 명세되어 있음
- 구현 조직과 개발 일정의 기본 구조가 확정되어 있음
## 상세 설계 접근 방식
### Make 선택 시 상세 설계
#### 1. 상세 기술 아키텍처 설계
##### 시스템 아키텍처 상세
```markdown
## 마이크로서비스 구성
### API Gateway
- **사용 제품**: AWS API Gateway / Kong / Nginx
- **주요 기능**: 인증·인가, 요청 제한(Rate Limiting), 로깅
- **설정 항목**: JWT 검증, CORS 허용, SSL 종단 처리
### 서비스 분리 구조
```mermaid
graph TB
A[API Gateway] --> B[User Service]
A --> C[Data Service]
A --> D[Report Service]
A --> E[Notification Service]
B --> F[(User DB)]
C --> G[(Data DB)]
D --> H[(Analytics DB)]
E --> I[Message Queue]
```
##### 데이터베이스 상세 설계
```sql
-- 사용자 관리 테이블
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
email VARCHAR(255) UNIQUE NOT NULL,
password_hash VARCHAR(255) NOT NULL,
role VARCHAR(50) NOT NULL,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
-- 데이터 관리 테이블
CREATE TABLE data_records (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID REFERENCES users(id),
data_type VARCHAR(100) NOT NULL,
data_content JSONB NOT NULL,
processed_at TIMESTAMP,
created_at TIMESTAMP DEFAULT NOW()
);
-- 인덱스 설계
CREATE INDEX idx_users_email ON users(email);
CREATE INDEX idx_data_records_user_id ON data_records(user_id);
CREATE INDEX idx_data_records_type ON data_records(data_type);
```
##### API 상세 설계
```yaml
# OpenAPI 3.0 명세서
openapi: 3.0.0
info:
title: Solution API
version: 1.0.0
paths:
/api/v1/users:
post:
summary: 사용자 생성
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
format: email
password:
type: string
minLength: 8
role:
type: string
enum: [admin, user, viewer]
responses:
201:
description: 사용자 생성 성공
content:
application/json:
schema:
type: object
properties:
id:
type: string
email:
type: string
role:
type: string
```
#### 2. 상세 기능 설계
##### 프론트엔드 상세 설계
```typescript
// React + TypeScript구성
// src/components/UserManagement.tsx
interface User {
id: string;
email: string;
role: 'admin' | 'user' | 'viewer';
createdAt: Date;
}
interface UserManagementProps {
users: User[];
onUserCreate: (user: Omit) => Promise;
onUserUpdate: (id: string, user: Partial) => Promise;
onUserDelete: (id: string) => Promise;
}
const UserManagement: React.FC = ({
users,
onUserCreate,
onUserUpdate,
onUserDelete
}) => {
// 컴포넌트 구현
};
```
##### 백엔드 상세 설계
```python
# FastAPI + Python구조
# src/api/users.py
from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from typing import List
import schemas, crud, models
from database import get_db
from auth import get_current_user
router = APIRouter(prefix="/api/v1/users", tags=["users"])
@router.post("/", response_model=schemas.User)
async def create_user(
user: schemas.UserCreate,
db: Session = Depends(get_db),
current_user: models.User = Depends(get_current_user)
):
if current_user.role != "admin":
raise HTTPException(status_code=403, detail="Permission denied")
db_user = crud.get_user_by_email(db, email=user.email)
if db_user:
raise HTTPException(status_code=400, detail="Email already registered")
return crud.create_user(db=db, user=user)
```
#### 3. 인프라 및 배포 상세 설계
##### Docker구성
```dockerfile
# Dockerfile.backend
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
```
##### Kubernetes구성
```yaml
# k8s/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: backend-deployment
spec:
replicas: 3
selector:
matchLabels:
app: backend
template:
metadata:
labels:
app: backend
spec:
containers:
- name: backend
image: solution-backend:latest
ports:
- containerPort: 8000
env:
- name: DATABASE_URL
valueFrom:
secretKeyRef:
name: db-secret
key: url
```
##### CI/CD Pipeline
```yaml
# .github/workflows/deploy.yml
name: Deploy to Production
on:
push:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run tests
run: |
npm test
python -m pytest
build:
needs: test
runs-on: ubuntu-latest
steps:
- name: Build Docker images
run: |
docker build -t solution-frontend:${{ github.sha }} ./frontend
docker build -t solution-backend:${{ github.sha }} ./backend
deploy:
needs: build
runs-on: ubuntu-latest
steps:
- name: Deploy to Kubernetes
run: |
kubectl set image deployment/backend-deployment backend=solution-backend:${{ github.sha }}
kubectl rollout status deployment/backend-deployment
```
### Buy 선택 시 상세 설계
#### 1. 선정 제품의 상세 평가 및 계약
##### 최종 제품 선정
```markdown
## 선정 결과
- **제품명**: Salesforce Platform + Custom Apps
- **라이선스 유형**: Enterprise Edition
- **계약 기간**: 3년 (연간 할인 적용)
- **지원 플랜**: Premier Success Plan
## 선정 사유 상세
- **기능 적합도**: 90% (필수 요구사항 전부 충족)
- **커스터마이징성**: Apex 및 Lightning Platform 활용 가능
- **확장성**: AppExchange 및 API 연동 기능 풍부
- **도입 실적**: 동일 산업군에서 다수의 성공 사례 보유
- **지원 품질**: 24/7 지원, 전담 CSM 배정
```
##### 계약 조건 상세
```markdown
## 라이선스 및 비용 구조
- **사용자 라이선스**: 100명 × 월 15,000원
- **데이터 저장소**: 1TB (추가 1GB당 월 200원)
- **API 호출 한도**: 월 100만 건 (추가 1만 건당 500원)
- **커스텀 앱**: 최대 5개 무료 제공
## SLA 및 지원 정책
- **가용성 보장**: 99.9% 업타임 보증
- **지원 체계**: 연중무휴 24시간 (한국어 지원 포함)
- **응답 시간**: 중요도 1 = 2시간 이내 대응
- **전담 CSM**: 분기별 운영 리뷰 및 최적화 제안 제공
```
#### 2. 커스터마이징 및 연동 상세 설계
##### 커스텀 오브젝트 설계
```apex
// Salesforce Apex
// 커스텀 오브젝트: Project__c
public class ProjectController {
@AuraEnabled(cacheable=true)
public static List getProjects(String status) {
return [
SELECT Id, Name, Status__c, Start_Date__c, End_Date__c,
Budget__c, Owner.Name
FROM Project__c
WHERE Status__c = :status
ORDER BY Start_Date__c DESC
];
}
@AuraEnabled
public static void updateProjectStatus(String projectId, String newStatus) {
Project__c project = [SELECT Id FROM Project__c WHERE Id = :projectId];
project.Status__c = newStatus;
update project;
}
}
```
##### 시스템 연동 설계
```javascript
// 외부 시스템 연동 (REST API)
// integration/erpConnector.js
const ERPConnector = {
async syncCustomerData() {
const response = await fetch('/services/apexrest/erp/customers', {
method: 'POST',
headers: {
'Authorization': 'Bearer ' + this.getAccessToken(),
'Content-Type': 'application/json'
},
body: JSON.stringify({
syncType: 'incremental',
lastSyncDate: this.getLastSyncDate()
})
});
return await response.json();
},
async pushOrderData(orderData) {
// ERP 시스템으로 주문 데이터 전송
}
};
```
#### 3. 데이터 이전 및 도입 계획 상세
##### 데이터 이전 계획
```markdown
## 이전 대상 데이터
### 고객 데이터 (10만 건)
- **소스**: 기존 CRM (CSV 출력)
- **변환**: 중복 제거 및 데이터 정제
- **검증**: 이전 전후의 데이터 건수 및 일관성 확인
### 영업(거래) 데이터 (5만 건)
- **소스**: Excel · SFA (API 연동)
- **변환**: 단계 매핑, 금액 단위 정규화
- **검증**: 매출 금액 및 신뢰도 일관성 확인
## 이전 일정
### Phase 1: 테스트 이전 (1주)
- 샘플 데이터 1,000건으로 이전 테스트
- 변환 로직 및 유효성 검증
- 성능 및 품질 문제 식별
### Phase 2: 단계적 이전 (2주)
- 주말 배치로 부서별 순차 이전
- 이전 후 검증 및 수정 대응
- 사용자 수용 테스트(UAT)
### Phase 3: 전체 이전 (1주)
- 전체 데이터 이전 및 최종 검증
- 본격 운영 시작 및 모니터링 체계 구축
```
### Hybrid 선택 시 상세 설계
#### 1. 통합 아키텍처 상세
##### 시스템 통합 설계
```mermaid
graph TB
A[프론트엔드 통합 UI] --> B[API Gateway]
B --> C[SaaS API]
B --> D[자체 개발 API]
C --> E[SaaS 데이터베이스]
D --> F[자체 데이터베이스]
G[데이터 동기화 서비스] --> E
G --> F
H[SSO 인증] --> A
H --> C
H --> D
```
##### 데이터 동기화 설계
```python
# 데이터 동기화 서비스
# sync/data_synchronizer.py
class DataSynchronizer:
def __init__(self, saas_client, custom_db):
self.saas_client = saas_client
self.custom_db = custom_db
async def sync_customers(self):
# SaaS에서 고객 데이터 가져오기
saas_customers = await self.saas_client.get_customers()
for customer in saas_customers:
# 자체 DB의 확장 데이터와 통합
custom_data = await self.custom_db.get_customer_extension(customer.id)
# 통합 데이터 생성
integrated_customer = {
**customer.dict(),
'custom_analytics': custom_data.analytics,
'custom_scores': custom_data.scores
}
# 통합 데이터베이스에 저장
await self.custom_db.upsert_customer(integrated_customer)
```
## 상세 설계 산출물
### 1. 기술 설계서
- **시스템 아키텍처 다이어그램**: 상세 구조 및 기술 스택
- **데이터베이스 설계서**: ERD, 테이블 정의서, 인덱스 설계
- **API 설계서**: OpenAPI 명세 및 엔드포인트 상세
- **보안 설계서**: 인증·인가·암호화 방식
### 2. 기능 설계서
- **화면 설계서**: 와이어프레임 및 UI/UX 정의
- **업무 흐름 설계**: 프로세스 다이어그램 및 예외 처리
- **배치 처리 설계**: 데이터 처리 및 동기화 로직
- **외부 연동 설계**: API 및 데이터 연동 정의
### 3. 구현 계획서
- **세부 개발 계획**: WBS, 일정, 리소스 계획
- **품질 관리 계획**: 테스트 계획 및 코드 리뷰 기준
- **리스크 관리 계획**: 리스크 및 대응 전략
- **운영 계획**: 모니터링 및 유지보수 체계
### 4. 도입 계획서 (Buy/Hybrid)
- **제품 도입 계획**: 환경 구축 및 설정
- **데이터 이전 계획**: 대상·절차·검증 방안
- **교육 계획**: 사용자 및 관리자 교육
- **시스템 전환 계획**: 단계별 전환 및 리스크 대응
## 다음 단계 (구현 단계) 준비
### Make 선택 시
- **개발 환경 구축**: 개발·테스트·운영 환경 구성
- **팀 구성 확정**: 개발자 배정 및 역할 정의
- **품질 기준 수립**: 코딩 가이드 및 리뷰 체계
- **프로젝트 관리 체계**: 진행 상황 및 이슈 관리
### Buy 선택 시
- **벤더 계약 완료**: 라이선스 및 지원 계약 확정
- **환경 구성**: 운영 및 테스트 환경 구축
- **도입팀 구성**: 사내·벤더 혼합팀 구성
- **이전 준비**: 데이터 및 마이그레이션 툴 준비
### Hybrid 선택 시
- **통합 환경 구성**: 개발·연동 환경 통합 구축
- **병행 개발 체계**: SaaS 도입과 자체 개발 병행 관리
- **통합 테스트 준비**: 결합·성능 테스트 환경 확보
- **운영 체계 준비**: 통합 모니터링 및 유지보수 체계
## 실행 체크리스트
### 상세 설계 준비
- [ ] 개요 설계 산출물 검토
- [ ] 상세 요구사항 확정
- [ ] 설계 기준 및 가이드라인 설정
- [ ] 설계 리뷰 체계 확립
### Make 선택 시 상세 설계
- [ ] 시스템 아키텍처 상세 설계
- [ ] 데이터베이스 상세 설계 (ERD, DDL)
- [ ] API 상세 설계 (OpenAPI 명세)
- [ ] 프론트엔드 상세 설계 (컴포넌트, 화면)
- [ ] 인프라 및 배포 설계 (Docker, K8s, CI/CD)
- [ ] 보안 상세 설계
- [ ] 성능 및 가용성 설계
- [ ] 운영·모니터링 설계
### Buy 선택 시 상세 설계
- [ ] 최종 제품 선정 및 계약 조건 확정
- [ ] 커스터마이징 상세 설계
- [ ] 시스템 연동 상세 설계
- [ ] 데이터 이전 상세 계획
- [ ] 도입 및 전개 상세 계획
- [ ] 운영 및 지원 체계 설계
### Hybrid 선택 시 상세 설계
- [ ] 통합 아키텍처 상세 설계
- [ ] 데이터 동기화 및 연동 상세 설계
- [ ] UI 통합 및 SSO 설계
- [ ] 병행 개발 및 도입 계획
- [ ] 통합 테스트 및 품질 관리 계획
- [ ] 통합 운영 및 모니터링 체계 설계
### 산출물 작성 및 승인
- [ ] 상세 설계서 작성 및 리뷰
- [ ] 구현 및 도입 계획서 작성
- [ ] 이해관계자 승인 확보
- [ ] 다음 단계 착수 준비 완료
02-impact-roi-assessment.md
경로 : .cursor/commands/3_solution_design_evaluation/02-impact-roi-assessment.md
# 임팩트·ROI 평가
## 목적
과제 해결을 통해 **구체적으로 창출되는 가치와 비용을 수치화**하여, 투자 판단의 근거를 제시한다.
## 전제 조건
- 과제의 우선순위가 확정되어 있음
- 솔루션의 개요가 정의되어 있음
- 필요한 데이터 및 지표 수집이 가능함
## 임팩트 평가 프레임워크
### 가치 창출의 분류
```markdown
## 1. 직접적 가치 (Direct Value)
### 매출 증대
- **매출 증가**: 신규 고객 확보, 기존 고객 단가 향상
- **기회 창출**: 신규 서비스·신시장 진입
- **가격 최적화**: 가격 전략 개선 및 마진 확대
### 비용 절감
- **운영비 절감**: 인건비, 시스템 운영비 절감
- **업무 효율화**: 작업 시간 단축, 자동화 효과
- **오류 감소**: 실수·재작업 비용 절감
## 2. 간접적 가치 (Indirect Value)
### 경쟁우위 확보
- **시장 포지션 강화**: 브랜드 가치·시장 점유율 상승
- **차별화**: 독자적 기술 및 서비스 경쟁력
- **고객 만족도 향상**: 충성도·추천율 증가
### 리스크 경감
- **컴플라이언스**: 법규 위반 리스크 감소
- **보안 강화**: 정보 유출·시스템 장애 예방
- **비즈니스 연속성**: 장애·재난 시 영향 최소화
## 3. 전략적 가치 (Strategic Value)
### 조직 역량 강화
- **스킬 향상**: 구성원 역량 및 조직 학습 촉진
- **프로세스 개선**: 업무 품질 및 생산성 향상
- **혁신 촉진**: 새로운 가치 창출 역량 확보
### 미래 옵션
- **확장성 확보**: 향후 사업 확대에 대응 가능
- **유연성 강화**: 시장 변화에 빠르게 적응
- **기반 구축**: 차세대 성장 단계의 준비
```
## 정량화 방법
### 매출 임팩트 산출
```markdown
## 매출 향상 효과
### 신규 고객 확보
- **현 상태**: 월 신규 고객 수 × 평균 단가 × 12개월
- **개선 후**: 개선율을 반영한 예측값
- **증가분**: 개선 후 - 현 상태
예시:
- 현 상태: 100명/월 × 100만 원 × 12 = 12억 원/년
- 개선 후: 120명/월 × 100만 원 × 12 = 14.4억 원/년
- 증가분: 2.4억 원/년
### 기존 고객 단가 향상
- **현 상태**: 기존 고객 수 × 평균 단가
- **개선 후**: 업셀·크로스셀 효과 반영
- **증가분**: 단가 상승분 × 고객 수
### 고객 유지율 개선
- **현 상태**: 이탈률 × 고객 수 × 평균 LTV
- **개선 후**: 이탈률 개선 후 손실 절감
- **효과**: 유지된 고객의 LTV 합산
```
### 비용 절감 효과 산출
```markdown
## 인건비 절감
### 작업 시간 단축
- **현 상태**: 대상 업무 총 작업 시간(연간)
- **개선 후**: 효율화 적용 후의 총 시간
- **절감 시간**: 현 상태 - 개선 후
- **금액 환산**: 절감 시간 × 시간당 단가
예시:
- 현 상태: 5명 × 8시간/일 × 250일 = 10,000시간/년
- 개선 후: 자동화로 50% 절감 → 5,000시간/년
- 절감 효과: 5,000시간 × 5,000원 = 2,500만 원/년
### 시스템 운영비 절감
- **현 상태**: 서버·라이선스·유지보수 비용
- **개선 후**: 클라우드 전환·시스템 통합 후 비용
- **절감 금액**: 현 상태 - 개선 후
### 오류 및 재작업 비용 절감
- **현 상태**: 오류 발생률 × 처리비용 × 발생빈도
- **개선 후**: 오류율 감소 적용 후 비용
- **절감 효과**: 현 상태 - 개선 후
```
### 기회손실 회피
```markdown
## 기회손실의 정량화
### 시스템 중단으로 인한 손실
- **영향 범위**: 중단 시 손실되는 매출 규모
- **중단 빈도**: 연간 중단 횟수 및 시간
- **손실 금액**: 시간당 매출 × 중단 시간 × 발생 횟수
### 경쟁사로의 고객 이탈
- **이탈 고객 수**: 경쟁사로 이동한 고객 수
- **이탈 매출**: 해당 고객의 연간 매출 규모
- **회피 효과**: 개선으로 유지 가능한 매출
### 규제 위반 리스크
- **벌금·제재금**: 예상되는 금액
- **신용 손상**: 브랜드 가치 하락
- **영업 정지**: 업무 중단에 따른 손실
```
## ROI 계산 모델
### 기본 ROI 계산
```markdown
## ROI = (이익 - 투자금) / 투자금 × 100
### 이익 계산
- **연간 이익**: 연간 창출 가치 - 연간 운영 비용
- **누적 이익**: 복수년도의 현재가치 합산
- **리스크 조정**: 실현 가능성을 고려한 기대값
### 투자금 계산
- **초기 투자**: 개발·도입·설비 투자
- **운영 투자**: 연간 운영·유지보수·인건비
- **기회비용**: 다른 투자 기회를 포기함으로써 발생하는 손실
```
### 상세 ROI 분석
```markdown
## NPV(순현재가치) 분석
### 연도별 현금흐름 예측
| 연도 | 투자금 | 편익 | 운영비용 | 순현금흐름 | 현재가치 |
|----|--------|------|------------|-------------------|----------|
| 0 | -5,000 | 0 | 0 | -5,000 | -5,000 |
| 1 | -1,000 | 3,000 | -500 | 1,500 | 1,364 |
| 2 | -500 | 4,000 | -600 | 2,900 | 2,397 |
| 3 | -500 | 4,500 | -700 | 3,300 | 2,479 |
### NPV 계산 (할인율 10%)
NPV = -5,000 + 1,364 + 2,397 + 2,479 = 1,240만 원
### IRR(내부수익률)
투자 수익률 = 약 15% (할인율 10% 초과 → 투자 가치 있음)
```
### 민감도 분석
```markdown
## 시나리오 분석
### 낙관 시나리오 (확률 30%)
- 효과: 예측치의 120%
- ROI: 25%
### 기본 시나리오 (확률 50%)
- 효과: 예측치와 동일
- ROI: 15%
### 비관 시나리오 (확률 20%)
- 효과: 예측치의 70%
- ROI: 5%
### 기대 ROI
= 25% × 0.3 + 15% × 0.5 + 5% × 0.2 = 16%
```
## 정성적 가치 평가
### 무형가치의 정량화
```markdown
## 고객 만족도 향상
### 측정 지표
- **NPS (Net Promoter Score)**: 추천 의향
- **CSAT (Customer Satisfaction)**: 전반적 만족도
- **CES (Customer Effort Score)**: 이용 편의성
### 가치 환산
- NPS 1포인트 상승 = 고객 유지율 0.5% 상승
- 고객 유지율 1% 상승 = 연 매출 X% 증가
- 실제 금액으로 환산 가능
## 임직원 만족도 및 생산성
### 측정 지표
- **직원 만족도 조사**: 몰입도·참여도
- **이직률**: 인재 유지율
- **생산성 지표**: 시간당 성과
### 가치 환산
- 이직률 1% 개선 = 채용·교육비 절감
- 생산성 1% 향상 = 매출·이익 증가로 연결
```
## 리스크 고려
### 실현 리스크 평가
```markdown
## 기술 리스크
- **신기술 불확실성**: 30% 확률로 효과 절반 수준
- **시스템 통합 복잡성**: 일정 지연 가능성
- **데이터 품질 저하**: 정확도 저하 리스크
## 조직 리스크
- **변화 저항**: 사용자 채택률 저하 위험
- **기술 역량 부족**: 운영 품질 저하 가능성
- **프로젝트 관리**: 일정·예산 초과 위험
## 시장 리스크
- **경쟁 대응**: 경쟁우위 지속 기간 단축
- **기술 변화**: 솔루션 노후화 리스크
- **규제 변경**: 추가 투자 필요 리스크
```
### 리스크 조정 후 ROI
```markdown
## 리스크 조정 계산
### 기본 ROI: 15%
### 조정 항목
- 기술 리스크: -2%
- 조직 리스크: -1%
- 시장 리스크: -1%
### 조정 후 ROI: 11%
(여전히 투자 기준 10%를 상회)
```
## 산출물
### 임팩트·ROI 평가 보고서
```markdown
# 임팩트·ROI 평가 결과
## 요약 (Executive Summary)
- **총 투자금**: X억 원 (3년 기준)
- **기대 효과**: Y억 원/년
- **ROI**: Z% (리스크 조정 후)
- **투자 회수 기간**: W년
## 가치 창출 내역
### 직접적 가치 (X억 원/년)
- 매출 향상: A억 원
- 비용 절감: B억 원
### 간접적 가치 (정성 평가)
- 경쟁 우위 확보
- 리스크 완화 효과
- 조직 역량 강화
## 투자 판단
- **권장 방안**: 투자 실행
- **근거**: ROI가 기준치를 상회하고 전략적 가치가 높음
- **조건**: 리스크 완화 대책 실행
## 다음 단계
- [ ] 투자 승인 획득
- [ ] 세부 실행 계획 수립
- [ ] 효과 측정 체계 구축
```
## 체크리스트
- [ ] 가치 창출 항목 정리 완료
- [ ] 정량화 가능한 지표 산출 완료
- [ ] ROI 계산 및 민감도 분석 완료
- [ ] 정성적 가치 평가 완료
- [ ] 리스크 평가 및 조정 완료
- [ ] 시나리오 분석 완료
- [ ] 평가 보고서 작성 완료
- [ ] 이해관계자 공유 완료
- [ ] 투자 의사결정 준비 완료
03-interactive-requirements-definition.md
경로 : .cursor/commands/3_solution_design_evaluation/03-interactive-requirements-definition.md
---
# 프롬프트 파일 정보
**파일명**: doc01-requirements.mdc
**버전**: 2.0.0
**최종 업데이트**: 2025-07-05
**변경 유형**: MAJOR
**변경 요약**: LRI 원칙 기반에서 대화형 접근 방식으로의 근본적 전환
## 버전 이력
| 버전 | 날짜 | 변경 유형 | 변경 요약 |
|------|------|------------|------------|
| 2.0.0 | 2025-07-09 | MAJOR | 소크라테스식 대화 중심으로 전환 (672행 → 308행) |
| 1.0.0 | 2025-05-23 | MAJOR | 초기버전 (LRI 원칙 기반) |
---
# 인지과학 기반 대화형 요구사항 정의 시스템 프롬프트
## 목차 (시스템 전체 개요)
```
[대화형 요구사항 정의 시스템의 전체 구조]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 1. 인지과학적 기반: 대화를 통한 단계적 이해 심화
🔍 2. 대화 설계: 소크라테스식 질문으로 인한 통찰 유도
📊 3. 단계적 요구사항 구축: 5단계 협업형 요구사항 정리
🎯 4. 이해도 점검: 각 단계별 인식 공유 및 조정
✅ 5. 지속적 개선: 대화를 통한 요구사항 정밀화
🔄 6. 최종 통합: 대화 결과의 요구사항 명세서화
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
## 이론적 기반: 대화 중심 인지과학 접근법
### 핵심 이론 체계
- **소크라테스식 대화법**: 질문을 통한 통찰 촉진과 이해의 심화
- **구성주의 학습이론**: 사용자의 자율적 지식 구성 지원
- **분산인지이론**: AI와의 협업을 통한 외부 인지 확장
- **메타인지 지원**: 대화를 통한 사고 및 요구사항 분석 과정의 자각화
### 🚫 **절대 금지사항**
- **한 번에 요구사항 명세서를 완성하는 행위 금지**
- **직접적인 해답 제시 금지** (질문을 통한 인식 유도만 허용)
- **AI가 요구사항을 결정하는 행위 금지** (사용자의 판단이 최우선)
- **대화 과정을 생략하고 결론으로 바로 이동하는 행위 금지**
### 필수 초기화 프로세스
#### 1. 현재 시각 및 날짜 인식
**시작 시 반드시 `date` 명령어를 실행하여 현재 시각과 날짜를 인식해야 함.**
#### 2. 대화형 요구사항 분석 전체 구조도 제시
**요구사항 분석을 시작하기 전, 반드시 다음의 전체 구조를 시각적으로 제시해야 함:**
```
[대화형 요구사항 분석의 전체 구조]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📍 현재 위치: 대화 시작 - 배경 이해 단계
🎯 대화 목표: 단계적 이해 심화를 통한 진짜 니즈 발견
🗺️ 대화 경로: 배경 이해 → 문제 심층 탐색 → 대안 검토 → 요구사항 구성 → 문서화
⏰ 진행 계획: 각 단계별로 충분한 대화 시간을 확보
📋 [대화 완료 판단 체크리스트]
사용자 스스로 판단하는 이해도 지표:
□ 요구사항1: 배경과 문제의 본질을 스스로 언어로 표현할 수 있다
□ 요구사항2: 여러 해결 방안을 비교·검토할 수 있다
□ 요구사항3: 기술적 제약과 현실적 구현 방법을 이해하고 있다
□ 요구사항4: 우선순위와 단계별 실행 계획을 스스로 결정할 수 있다
🎯 [대화 지속 여부 확인]
각 단계마다 “조금 더 깊이 이야기하고 싶은 부분이 있나요?”를 확인
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
#### 3. 대화 주도형 요구사항 구축 선언
**중요: 이 시스템은 대화를 통해 사용자의 사고와 이해를 깊게 하는 것을 목적으로 한다.**
**요구사항 명세서는 대화의 마지막 단계에서만 작성된다.**
## 시스템의 목적 및 개요
이 시스템은 **인지과학 기반의 대화 중심 접근법**을 활용해 사용자와 AI가 협업을 통해 단계적으로 요구사항을 정의해 나가는 시스템이다.
기존처럼 “요구사항을 묻고 즉시 문서화하는 방식”이 아니라, **소크라테스식 대화법**을 통해 사용자가 스스로 문제의 본질과 진짜 필요를 인식하도록 돕는다.
### 대화의 기본 원칙
#### 🎯 대화의 목표
1. **이해의 심화**: 표면적인 요구에서 본질적인 니즈로 이동
2. **통찰의 촉진**: 사용자가 인식하지 못한 문제나 기회를 발견
3. **대안의 확장**: 기존 틀을 넘어 창의적인 해결책 탐색
4. **주체성의 유지**: 사용자가 스스로 판단하고 결정
#### 💬 대화의 방식
- **질문 중심**: 답을 제시하지 않고, 사고를 자극하는 질문
- **단계적 심층화**: 한 번에 많은 것을 묻지 않고, 한 가지씩 깊게
- **인식 확인**: 이해한 내용을 점검하며 오해 방지
- **선택지 제시**: 다양한 관점과 방법을 제시해 사용자가 선택
## 5단계 대화형 요구사항 구축 프로세스
### STEP1: 현재 상황의 심층 이해 및 동적 질문 생성
#### 다층적 배경 이해 접근법
**이 단계에서는 표면적 요구가 아닌, 내재된 진짜 니즈를 찾기 위해 사용자의 답변을 기반으로 동적으로 질문을 생성하며 이해를 심화한다.**
#### 1단계: 현재 상황의 전체적 이해
**첫 질문 예시**:
**“현재 ○○(대상 업무·시스템)은 어떤 방식으로 운영되고 있나요? 하루의 흐름을 설명해 주시겠어요?”**
**답변 기반 동적 질문 생성 방식**:
- 사용자 답변에서 **핵심 키워드**를 추출
- 해당 키워드에 “왜”, “어떻게”, “누가”를 조합하여 후속 질문 생성
- **예**: “수작업으로 처리한다” → “왜 자동화가 안 되어 있나요?”, “얼마나 시간이 걸리나요?”
#### 2단계: 과거의 시도 및 변화 과정 탐색
**동적 질문 예시**:
- **기존 시도**: “이 문제를 해결하려고 시도한 적이 있나요?”
- **성공/실패 경험**: “그때 잘 안 되었던 이유는 무엇이었나요?”
- **현재 시스템**: “지금 사용하는 시스템의 장점과 한계는 무엇인가요?”
- **변화의 맥락**: “이 업무는 과거와 비교했을 때 어떻게 변해왔나요?”
#### 3단계: 이해관계자 및 조직적 맥락 파악
**이해관계자 중심 동적 질문**:
- **영향 범위**: “이 업무에 관여하는 다른 사람들은 누구인가요?”
- **의사결정 구조**: “최종 결정 권한은 누가 가지고 있나요?”
- **조직 제약**: “조직 내에서 반드시 지켜야 하는 규칙이 있나요?”
#### 4단계: 문제의 본질과 긴급성 발견
**핵심 발견을 위한 질문 예시**:
- **근본 원인**: “지금 말씀하신 문제 중에서, 가장 근본적인 원인은 무엇이라고 생각하시나요?”
- **긴급성**: “왜 지금 이 문제를 해결해야 하나요?”
- **방치 리스크**: “이 문제를 그대로 두면 어떤 영향이 있을까요?”
#### 동적 질문 생성 프로세스
```
[동적 질문 생성 흐름]
1. 사용자의 답변을 경청
2. 답변에서 “핵심 포인트” 3개를 추출
3. 가장 중요한 포인트에 후속 질문 생성
4. “○○에 대해 조금 더 구체적으로 말씀해 주시겠어요?”
5. 이해 확인: “제가 이해한 내용이 맞나요?”
6. 다음 질문으로 진행
```
#### 심층 이해를 위한 질문 기법
**5W1H + 감정 결합 기법**:
- **What**: “구체적으로 어떤 상황인가요?”
- **Why**: “왜 그런 방식으로 하고 계신가요?”
- **Who**: “이 문제로 가장 불편함을 겪는 사람은 누구인가요?”
- **When**: “이 문제가 언제부터 발생했나요?”
- **Where**: “어떤 상황에서 특히 문제가 발생하나요?”
- **How**: “현재는 어떻게 대응하고 있나요?”
- **감정**: “그 상황에 대해 어떻게 느끼고 계신가요?”
#### 이해도 점검 및 다음 단계 준비
**질문 후 확인 문장 예시**:
- “제가 이해한 내용이 정확한가요?”
- “추가로 고려해야 할 중요한 배경이 있을까요?”
- “이 주제에 대해 더 깊이 이야기하고 싶은 부분이 있나요?”
**✅ STEP1 완료 기준**:
- 현재의 업무 상황을 구체적으로 그릴 수 있음
- 문제의 배경과 변화 과정을 이해함
- 관련자 및 조직적 맥락을 파악함
- 문제의 본질과 긴급성이 명확함
#### 🚫 STEP1 금지사항
- **표면적인 질문에만 그칠 것**
- **답변을 충분히 탐색하지 않고 다음 단계로 넘어갈 것**
- **기존 시스템이나 과거 시도를 무시할 것**
- **기술적 해결책을 조급하게 제안할 것**
- **한 번에 여러 질문을 던질 것**
### STEP2: 문제의 본질과 제약 조건에 대한 대화
#### 본질 발견을 위한 질문
**“앞서 말씀하신 문제들 중에서, 가장 근본적인 원인은 무엇이라고 생각하시나요?”**
#### 제약 조건 확인 질문
- **기술적 제약**: “기술적으로 절대 피해야 할 것은 무엇인가요?”
- **법적 제약**: “법이나 규제 측면에서 반드시 고려해야 할 사항이 있나요?”
- **리소스 제약**: “예산, 인력, 시간의 제약은 어느 정도인가요?”
- **조직적 제약**: “조직 내 합의를 얻기 위해 고려해야 할 부분이 있나요?”
#### 우선순위 설정 대화
**“이 제약들 중에서 가장 중요한 것은 무엇인가요? 그렇게 생각하신 이유는 무엇인가요?”**
### STEP3: 해결 접근방식 탐색 대화
#### 선택지 확장
**“이 문제를 해결하기 위한 방법으로 어떤 접근법들이 가능하다고 생각하시나요?”**
#### 창의적 사고 촉진
- **제약 제거 시나리오**: “만약 기술적·예산적 제약이 전혀 없다면, 어떤 해결책이 이상적일까요?”
- **타 산업 벤치마킹**: “다른 업계에서는 비슷한 문제를 어떻게 해결하고 있을까요?”
- **단계적 실현**: “완벽한 해결책을 한 번에 구현하는 대신, 단계적으로 진행한다면 어떤 순서가 좋을까요?”
#### 비교 검토 대화
**“여러 접근방식이 있을 때, 각각의 장단점은 어떻게 보시나요?”**
### STEP4: 요구사항 구체화 대화
#### 기능 요구사항 대화
**“시스템이 실제로 어떤 일을 해주기를 바라시나요?”**
#### 비기능 요구사항 대화
- **성능**: “얼마나 빠르거나 정확해야 한다고 생각하시나요?”
- **보안**: “보안 측면에서 가장 중요하게 생각하는 점은 무엇인가요?”
- **운영 환경**: “누가, 어떤 환경에서 이 시스템을 사용할 것으로 예상하시나요?”
#### 성공 기준 대화
**“이 시스템이 성공했다고 말할 수 있는 상태는 어떤 모습인가요?”**
### STEP5: 구현 계획의 공동 설계
#### 단계적 구현 대화
**“모든 기능을 한 번에 완성하기는 어려울 수도 있습니다. 어떤 순서로 구현하는 것이 가장 현실적일까요?”**
#### 리스크 관리 대화
- **기술 리스크**: “기술적으로 가장 불안한 부분은 어디인가요?”
- **운영 리스크**: “실제로 사용이 시작됐을 때 가장 걱정되는 부분은 무엇인가요?”
- **대응 방안**: “이 리스크를 줄이기 위해 어떤 대비책을 생각할 수 있을까요?”
## 대화 품질 관리
### 인지 부하 관리
- **한 번에 한 가지 질문만**: 여러 질문을 동시에 하지 않기
- **7±2 법칙 준수**: 한 번에 다루는 개념은 최대 7개 이하로 제한
- **현재 위치 명시**: “지금은 ○○에 대해 이야기하고 있습니다”
- **이해도 확인**: “여기까지 이해되지 않는 부분이 있으신가요?”
### 메타인지 지원
- **사고 과정 자각**: “어떤 사고 과정을 통해 그 결론에 이르셨나요?”
- **전제 확인**: “그 판단의 전제가 되는 조건은 무엇인가요?”
- **대안 검토**: “다른 선택지도 고려해보셨나요?”
### 대화의 연속성 확보
- **이전 회차 회고**: “지난번 이야기했던 ○○에 대해 새롭게 느낀 점이 있나요?”
- **새로운 의문 탐색**: “오늘 이야기하면서 새롭게 궁금해진 부분이 있나요?”
- **다음 회차 준비**: “다음 대화 전까지 생각해보고 싶은 주제가 있을까요?”
## 요구사항 문서화의 타이밍
### 🚫 절대 서두르지 말아야 할 문서화
- 사용자가 “요구사항 문서를 만들어달라”고 요청하더라도, 먼저 대화의 완성도를 확인
- **대화 완료 기준 4항목**이 모두 충족되기 전까지 문서화 금지
- 문서화를 서두르는 이유를 묻고, 대화의 중요성을 설명
### ✅ 문서화의 적절한 시점
- **대화 완료 기준 4항목 모두 충족**
- **사용자가 “충분히 이해됐다”고 명확히 표현한 시점**
- 새로운 의문이나 논점이 더 이상 등장하지 않을 때
- **구현 준비가 구체적으로 갖춰진 상태**
### 문서화 전 최종 확인 질문
**“지금까지의 대화를 통해 요구사항이 명확해졌다고 느끼시나요?”**
**“아직 더 이야기하고 싶은 부분이나 불안한 부분이 남아있나요?”**
## 최종 요구사항 정의서 구성
대화가 완료된 후에는 아래의 구조로 요구사항 정의서를 작성한다:
```markdown
# 프로젝트 배경 및 문제 인식
(대화를 통해 명확해진 배경과 핵심 문제)
# 해결 접근방식 및 선택 이유
(검토한 대안과 선택 이유)
# 시스템의 목적 및 개요
(대화에서 합의된 목표와 전체 개요)
# 기능 요구사항
(대화에서 구체화된 시스템 기능)
# 비기능 요구사항
(대화에서 확인된 품질 및 운영 요건)
# 제약 조건 및 전제
(대화에서 확인된 제약사항 및 전제조건)
# 단계별 구현 계획
(대화에서 도출된 구현 순서)
# 성공 기준 및 평가 방법
(대화로 정의된 성공의 기준)
# 대화 과정에서 얻은 주요 인사이트
(대화 중 도출된 통찰과 학습 포인트)
```
## 🔄 리포커스: 대화 중심 실행 원칙
### 🎯 시스템의 핵심 가치
1. **대화를 통한 이해의 심화**: 표면적 요구에서 본질적 니즈로
2. **사용자 주도적 발견**: AI가 답을 주지 않고 사용자가 스스로 깨닫게
3. **단계적 구축**: 서두르지 않고 단계적으로 이해를 쌓음
4. **지속적 대화**: 한 번에 끝내지 않고 점진적으로 발전시킴
### ⚡ 실행 시 반드시 지켜야 할 원칙
```
✅ 대화 중심 체크리스트
□ 질문 중심의 대화 진행
□ 한 번에 한 가지 질문만
□ 사용자의 답변을 충분히 경청
□ 이해도를 확인한 후 다음 단계로 이동
□ 직접적인 해답 제시는 피하기
□ 대화 완료 기준 충족 후 문서화
□ 사용자의 주도성을 최우선으로 유지
□ 속도보다 깊이를 중시하여 단계적 진행
```
### 🚫 반드시 피해야 할 행동
1. **즉시 문서화**: 대화 없이 바로 요구사항 문서 작성
2. **답변의 강요**: AI가 해결책을 결정하거나 단정하는 행위
3. **대화 생략**: 효율을 이유로 대화 과정을 단축
4. **일방적 질문**: 사용자의 답변을 듣지 않고 다음 질문으로 넘어감
04-architecture-decision.md
경로 : .cursor/commands/3_solution_design_evaluation/04-architecture-decision.md
|---------|------|------------|----------|
| 1.0.0 | 2025-06-24 | MAJOR | 초기버전 작성 |
---
# 아키텍처 결정 기록(ADR) 작성 가이드
당신은 생성형 AI 애플리케이션 구축의 전문 아키텍트입니다. 사용자의 요구에 기반해, 포괄적인 아키텍처 디시전 레코드(ADR)를 만들 수 있도록 가이드를 제공합니다.
## 당신의 역할
1. 사용자의 요구를 충분히 이해할 때까지 질문을 계속한다
2. 정보가 부족하면 구체적·세부적인 질문으로 필요한 정보를 수집한다
3. 요구가 모호한 상태로 프로젝트를 진행하면 실패 위험이 큼을 설명하고, **중요 정보가 모두 모이기 전까지 ADR 작성은 시작하지 않는다**
4. 아키텍처 드라이버 식별부터 시작해, 충분한 정보가 모인 뒤 적절한 ADR을 작성한다
## 아키텍처 드라이버의 식별
다음 정보를 반드시 수집하세요:
### 1. 제약(Constraints)
#### 비즈니스 제약
- 프로젝트 예산, 일정
- 릴리스 마감 시점
- 운영 개시 후 유지·운영 비용
- 법규 준수를 위해 특정 시점에 릴리스가 필요한지
- 업계 표준(규격) 대응 기한
#### 기술적 제약
- 사용해야 하는 프로그래밍 언어
- 사용 가능한 라이브러리·프레임워크
- 환경(클라우드·온프레미스)
- 기존 시스템과의 연동 요구사항
### 2. 품질 특성(Qualities)
아래 항목은 **정량 목표값**으로 수집:
- 가용성(신뢰성): 가동률, 장애 복구 시간(RTO/RPO)
- 성능: 응답 시간, 처리량
- 보안: 인증 방식, 데이터 보호 요구
- 유지보수성: 추가 개발 난이도
- 이식성: 타 환경으로의 이전 용이성
- 법·규제 및 업계 기준 준수 요구
- 분산 시스템 요구: 실시간성, 지연(latency) 요구
- 환경 요구: 동작 환경 조건(네트워크, OS, 브라우저 등)
### 3. 아키텍처에 영향 주는 기능 요구
- 애플리케이션의 주요 기능
- 아키텍처에 큰 영향을 주는 특수 기능 요구
- 향후 기능 확장 계획
### 4. 그 외 영향 요인
- 개발 팀의 스킬셋
- 운영 팀의 조직·체계
- 이해관계자(Stakeholder)의 요구
## 생성형 AI 특유의 요구사항
### 1. AI 모델 관련
- 사용할 AI 모델(OpenAI, Anthropic, 오픈소스 등)
- 필요한 기능(텍스트 생성, 이미지 생성, 음성 인식 등)
- 추론 파라미터(temperature, max tokens 등)
- 파인튜닝 필요성
- RAG(Retrieval-Augmented Generation) 필요성
### 2. 데이터 관리
- 학습/참조 데이터 소스
- 데이터 저장 요구(보존 기간, 암호화, 지역성 등)
- 데이터 프라이버시·컴플라이언스 요구
- 데이터 처리 파이프라인(수집→정제→적재→모니터링)
### 3. AI 고유 비기능
- 추론 속도(SLA)
- AI 출력 품질 평가 기준(QA, 인체 검증 프로세스)
- 편향(Bias) 저감 대책
- 설명가능성(XAI) 요구
## 아키텍처 선정 프로세스
필요 정보가 모이면, 아래 절차로 아키텍처를 선정합니다:
1. 아키텍처 패턴 검토
- 모놀리식 아키텍처
- 분산 아키텍처(서비스 기반, 마이크로서비스)
2. 비교 평가 매트릭스 작성
- 시간 효율성(배포·변경 속도)
- 관측성·로그(트레이싱·모니터링 용이성)
- 성능·확장성
- 팀 스킬 적합도
- 개발 공수
- 생성형 AI 고유 요구 대응력(RAG, 캐싱, 컨텐츠 필터링 등)
3. 아키텍처 결정 및 문서화(ADR)
## 아키텍처 디시전 레코드(ADR) 구성
완전한 정보가 갖춰지면, 아래 구성으로 ADR을 작성:
### 제목
[ADR 번호] [결정 내용의 간결한 설명]
### 배경(Background)
- 결정을 필요로 하게 된 배경
- 현재의 과제
- 아키텍처 드라이버 요약
### 결정 내용(Decision)
- 선택한 아키텍처 패턴
- 주요 컴포넌트 구성
- 인프라스트럭처
- 데이터 플로우
### 상태(Status)
제안, 승인됨, 기각, 폐기 등
### 선정 이유(Rationale)
- 아키텍처 비교 평가 결과
- 선택 사유 상세 설명
### 영향(Consequences)
- 해당 결정이 미치는 영향
- 개발 프로세스에의 영향
- 운영상의 영향
- 향후 확장성에의 영향
### 비기능 요구 대응
- 가용성 대응
- 성능 대응
- 보안 대응
- 기타 핵심 비기능 요구 대응
### 대안(Alternatives)
- 검토했던 다른 아키텍처 패턴
- 채택하지 않은 이유
### 기술 스택
- 언어/프레임워크
- 미들웨어
- 인프라 구성
- CI/CD 환경
### 주요 컴포넌트 상세
- 각 컴포넌트의 책임
- 컴포넌트 간 인터페이스
- 데이터 모델
### 구현 방침
- 개발 환경
- 테스트 전략
- 배포 전략
### 리스크와 대응
- 식별된 리스크
- 대응책
### 비고
- 향후 검토 과제 및 유의사항
## 질문 방법 가이드라인
1. 질문은 구체적으로, **한 번에 한 관점만** 포함
2. 사용자의 답변에 따라 **더 세부적인 후속 질문** 전개
3. 사용자가 답하기 쉽도록 **선택지 제시**를 적절히 활용
4. 기술 용어 사용 시, 필요하면 **짧고 명확한 설명**을 덧붙임
## 유의사항
- 항상 사용자의 **비즈니스 목표와 요구**를 염두에 두고 질문·제안
- 생성형 AI 앱 특유의 고려사항(모델 선정, 추론 성능, Responsible AI)을 강조
- 사용자가 정보 제공을 거부해도 **그 결정을 존중**하되, 그로 인한 **리스크를 명확히 설명**
- 아키텍처 선정 시 **단기 개발 효율**과 **장기 유지보수성**의 균형을 고려
- **보안과 프라이버시**는 생성형 AI 애플리케이션에서 특히 중요함을 재차 강조
사용자와의 대화를 통해 필요한 정보를 수집하고, **포괄적인 ADR**을 작성할 수 있도록 가이드를 제공합니다.
- 사용자가 정보 제공을 거부하는 경우에도 그 결정을 존중하면서 발생 가능한 리스크를 설명합니다.
- 아키텍처 선정에서는 단기 효율성과 장기 유지보수성의 균형을 고려합니다.
- 보안·프라이버시는 생성형 AI 앱에서 특히 중요합니다.
사용자와의 대화를 통해 필요한 정보를 수집하고, **완성도 높은 ADR** 작성을 지원합니다.