task-estimation

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Task Estimation

任务估算

When to use this skill

何时使用该技能

  • Sprint Planning: 스프린트에 포함할 작업 결정
  • Roadmap 작성: 장기 계획 수립
  • 리소스 계획: 팀 규모 및 일정 산정
  • Sprint Planning: 确定要纳入冲刺的任务
  • Roadmap 制定: 制定长期规划
  • 资源规划: 估算团队规模及日程

Instructions

操作指南

Step 1: Story Points (상대적 추정)

Step 1: Story Points (相对估算)

Fibonacci 시퀀스: 1, 2, 3, 5, 8, 13, 21
markdown
undefined
Fibonacci 序列: 1, 2, 3, 5, 8, 13, 21
markdown
undefined

Story Point 기준

Story Point 标准

1 Point (Very Small)

1 Point (极小)

  • 예: 텍스트 변경, 상수 값 수정
  • 시간: 1-2시간
  • 복잡도: 매우 낮음
  • 리스크: 없음
  • 示例: 文本修改、常量值调整
  • 时间: 1-2小时
  • 复杂度: 极低
  • 风险: 无

2 Points (Small)

2 Points (小)

  • 예: 간단한 버그 수정, 로그 추가
  • 시간: 2-4시간
  • 복잡도: 낮음
  • 리스크: 낮음
  • 示例: 简单的Bug修复、添加日志
  • 时间: 2-4小时
  • 复杂度: 低
  • 风险: 低

3 Points (Medium)

3 Points (中)

  • 예: 단순 CRUD API 엔드포인트
  • 시간: 4-8시간
  • 복잡도: 중간
  • 리스크: 낮음
  • 示例: 简单CRUD API端点
  • 时间: 4-8小时
  • 复杂度: 中等
  • 风险: 低

5 Points (Medium-Large)

5 Points (中-大)

  • 예: 복잡한 폼 구현, 인증 미들웨어
  • 시간: 1-2일
  • 복잡도: 중간
  • 리스크: 중간
  • 示例: 复杂表单实现、认证中间件
  • 时间: 1-2天
  • 复杂度: 中等
  • 风险: 中等

8 Points (Large)

8 Points (大)

  • 예: 새로운 피처 (프론트+백엔드)
  • 시간: 2-3일
  • 복잡도: 높음
  • 리스크: 중간
  • 示例: 新功能(前端+后端)
  • 时间: 2-3天
  • 复杂度: 高
  • 风险: 中等

13 Points (Very Large)

13 Points (极大)

  • 예: 결제 시스템 통합
  • 시간: 1주일
  • 복잡도: 매우 높음
  • 리스크: 높음
  • 권장: 더 작은 태스크로 분할
  • 示例: 支付系统集成
  • 时间: 1周
  • 复杂度: 极高
  • 风险: 高
  • 建议: 拆分为更小的任务

21+ Points (Epic)

21+ Points (史诗级)

  • 필수: 반드시 더 작은 스토리로 분할
undefined
  • 必须: 务必拆分为更小的用户故事
undefined

Step 2: Planning Poker

Step 2: Planning Poker

프로세스:
  1. Product Owner가 스토리 설명
  2. 팀원들이 질문
  3. 각자 카드 선택 (1, 2, 3, 5, 8, 13)
  4. 동시에 공개
  5. 최고/최저 점수 설명
  6. 재투표
  7. 합의 도달
예시:
Story: "사용자가 프로필 사진을 업로드할 수 있다"

팀원 A: 3 points (프론트엔드 간단)
팀원 B: 5 points (이미지 리사이징 필요)
팀원 C: 8 points (S3 업로드, 보안 고려)

토론:
- 이미지 처리 라이브러리 사용
- S3 이미 설정됨
- 파일 크기 검증 필요

재투표 → 5 points 합의
流程:
  1. 产品负责人讲解用户故事
  2. 团队成员提问
  3. 各自选择卡片(1, 2, 3, 5, 8, 13)
  4. 同时公开卡片
  5. 最高分/最低分持有者说明理由
  6. 重新投票
  7. 达成共识
示例:
Story: "用户可上传个人资料照片"

团队成员A: 3 points (前端实现简单)
团队成员B: 5 points (需要图片缩放)
团队成员C: 8 points (需考虑S3上传、安全问题)

讨论:
- 使用图片处理库
- S3已配置完成
- 需要进行文件大小验证

重新投票 → 达成5 points的共识

Step 3: T-Shirt Sizing (빠른 추정)

Step 3: T-Shirt Sizing (快速估算)

markdown
undefined
markdown
undefined

T-Shirt 사이즈

T-Shirt 尺寸

  • XS: 1-2 Story Points (1시간 이내)
  • S: 2-3 Story Points (반나절)
  • M: 5 Story Points (1-2일)
  • L: 8 Story Points (1주일)
  • XL: 13+ Story Points (분할 필요)
사용 시점:
  • 초기 백로그 정리
  • 대략적인 로드맵
  • 빠른 우선순위 설정
undefined
  • XS: 1-2 Story Points (1小时以内)
  • S: 2-3 Story Points (半天)
  • M: 5 Story Points (1-2天)
  • L: 8 Story Points (1周)
  • XL: 13+ Story Points (需要拆分)
适用场景:
  • 初期产品待办事项整理
  • 大致路线图制定
  • 快速优先级排序
undefined

Step 4: 리스크 및 불확실성 고려

Step 4: 考虑风险与不确定性

추정 조정:
typescript
interface TaskEstimate {
  baseEstimate: number;      // 기본 추정
  risk: 'low' | 'medium' | 'high';
  uncertainty: number;        // 0-1
  finalEstimate: number;      // 조정된 추정
}

function adjustEstimate(estimate: TaskEstimate): number {
  let buffer = 1.0;

  // 리스크 버퍼
  if (estimate.risk === 'medium') buffer *= 1.3;
  if (estimate.risk === 'high') buffer *= 1.5;

  // 불확실성 버퍼
  buffer *= (1 + estimate.uncertainty);

  return Math.ceil(estimate.baseEstimate * buffer);
}

// 예시
const task = {
  baseEstimate: 5,
  risk: 'medium',
  uncertainty: 0.2  // 20% 불확실
};

const final = adjustEstimate(task);  // 5 * 1.3 * 1.2 = 7.8 → 8 points
估算调整:
typescript
interface TaskEstimate {
  baseEstimate: number;      // 基础估算
  risk: 'low' | 'medium' | 'high';
  uncertainty: number;        // 0-1
  finalEstimate: number;      // 调整后的估算
}

function adjustEstimate(estimate: TaskEstimate): number {
  let buffer = 1.0;

  // 风险缓冲
  if (estimate.risk === 'medium') buffer *= 1.3;
  if (estimate.risk === 'high') buffer *= 1.5;

  // 不确定性缓冲
  buffer *= (1 + estimate.uncertainty);

  return Math.ceil(estimate.baseEstimate * buffer);
}

// 示例
const task = {
  baseEstimate: 5,
  risk: 'medium',
  uncertainty: 0.2  // 20% 不确定性
};

const final = adjustEstimate(task);  // 5 * 1.3 * 1.2 = 7.8 → 8 points

Output format

输出格式

추정 문서 템플릿

估算文档模板

markdown
undefined
markdown
undefined

Task: [Task Name]

Task: [任务名称]

Description

Description

[작업 내용 설명]
[任务内容说明]

Acceptance Criteria

Acceptance Criteria

  • 기준 1
  • 기준 2
  • 기준 3
  • 标准1
  • 标准2
  • 标准3

Estimation

Estimation

  • Story Points: 5
  • T-Shirt Size: M
  • Estimated Time: 1-2 days
  • Story Points: 5
  • T-Shirt Size: M
  • Estimated Time: 1-2 days

Breakdown

Breakdown

  • Frontend UI: 2 points
  • API Endpoint: 2 points
  • Testing: 1 point
  • Frontend UI: 2 points
  • API Endpoint: 2 points
  • Testing: 1 point

Risks

Risks

  • API 응답 속도 불확실 (medium risk)
  • 외부 라이브러리 의존성 (low risk)
  • API响应速度不确定(中等风险)
  • 依赖外部库(低风险)

Dependencies

Dependencies

  • User authentication must be completed first
  • 需先完成用户认证

Notes

Notes

  • Need to discuss design with UX team
undefined
  • 需与UX团队讨论设计方案
undefined

Constraints

约束条件

필수 규칙 (MUST)

必须遵守的规则(MUST)

  1. 상대적 추정: 절대 시간 대신 상대적 복잡도
  2. 팀 합의: 개인이 아닌 팀 전체 합의
  3. 과거 데이터 참고: Velocity 기반 계획
  1. 相对估算: 使用相对复杂度而非绝对时间
  2. 团队共识: 需团队全体达成共识而非个人决定
  3. 参考历史数据: 基于团队速度(Velocity)制定计划

금지 사항 (MUST NOT)

禁止事项(MUST NOT)

  1. 개인에게 압박: 추정은 약속이 아님
  2. 너무 세밀한 추정: 13+ points는 분할
  3. 추정치를 데드라인으로: 추정 ≠ 확약
  1. 给个人施压: 估算不等于承诺
  2. 过度细化估算: 13+ points的任务必须拆分
  3. 将估算作为截止日期: 估算≠保证

Best practices

最佳实践

  1. Break Down: 큰 작업은 작게 분할
  2. Reference Stories: 과거 유사 작업 참고
  3. Buffer 포함: 예상치 못한 일 대비
  1. 拆分任务: 大任务拆分为小任务
  2. 参考历史任务: 参考过往类似任务
  3. 预留缓冲时间: 应对意外情况

References

参考资料

Metadata

元数据

버전

版本

  • 현재 버전: 1.0.0
  • 최종 업데이트: 2025-01-01
  • 호환 플랫폼: Claude, ChatGPT, Gemini
  • 当前版本: 1.0.0
  • 最后更新: 2025-01-01
  • 兼容平台: Claude, ChatGPT, Gemini

태그

标签

#estimation
#agile
#story-points
#planning-poker
#sprint-planning
#project-management
#estimation
#agile
#story-points
#planning-poker
#sprint-planning
#project-management

Examples

示例

Example 1: Basic usage

示例1: 基础用法

<!-- Add example content here -->
<!-- 在此添加示例内容 -->

Example 2: Advanced usage

示例2: 高级用法

<!-- Add advanced example content here -->
<!-- 在此添加高级示例内容 -->