# Task Estimation

* 合作的基础 &#x20;
  * 是对你和队友的任务消耗的估计 &#x20;
* 下述三个是需要区分的概念  &#x20;
  * 目标 (Target) &#x20;
    * 是对理想商业目标的声明 &#x20;
    * “我们需要&#x5728;*\_\_*&#x53D1;布v1版本”   &#x20;
    * 商业目标是独立于软件估计的  &#x20;
    * 目标是理想的或强制性的，但**并不意味着它是可以实现的** &#x20;
  * 决心 (Commitment)   &#x20;
    * 是对在一个确定的时间点交付**具有明确质量水平**的预先定义功能的**承诺**
  * 估计 (Estimation) &#x20;
    * 在资源有限的前提下，一个任务需要花费多长时间或者消耗多少资源

## 目标

* 一个项目可以有下述因素驱动 &#x20;
  * 时间 (必须在确定的时间点之前完成) &#x20;
  * 功能 (必须在完成之前具备这些功能) &#x20;
  * 预算/资源 (当所有的预算都用完时，项目结束)
* 需求(必需品) &#x20;
  * 快(Fast) &#x20;
  * 多、好 (Good)  &#x20;
  * 省 (Cheap) &#x20;
* 这三件事情不是总能同时满足  &#x20;
  * 多快好省地建设社会主义 – 大跃进
  * 达到了“快”，“多、好、省” – 没达到. &#x20;
  * 事实上，也没有“快”

## 软件开发估计

* 中国陆地边界长度 &#x20;
* 这只是一个因素，还有一个因素的话，如何估计 &#x20;
  * 如果你们小组要徒步走完所有边界，你要花多长时间?
* 两个方面的因素 &#x20;
  * 工作量 (可以变化) &#x20;
  * 你的能力和毅力 (也可以变化) &#x20;

### 宽泛德尔菲法

* 团队成员之间更好的交互和更多的交流 &#x20;
* 例子: &#x20;
  * 给出一个乐观和一个悲观的估计候选 &#x20;
  * 北京火车站到八达岭长城花多长时间? &#x20;
  * 邀请bf/gf从北航到天坛公园祈年殿花多长时间? &#x20;

### 工作分解结构 (WBS)

* 分治法 &#x20;
* 最上层 (产品) &#x20;
* 中层 (功能) – 用户的角度 &#x20;
* 底层 (功能实现) – 团队的角度 (PM、测试人员) &#x20;
* 最底层 (模块) – 开发者的角度 &#x20;

  ![](https://i.niupic.com/images/2020/03/27/79a8.png)  &#x20;

## 团队成员的角色

* 1 个PM、N个开发、M个测试 &#x20;
* 在一个里程碑之后可以转换角色 &#x20;
* 每个团队成员应承担的义务  &#x20;
  * 菜鸟或大牛 &#x20;
  * 菜鸟并不可耻 &#x20;
  * 但是不要做应声虫 &#x20;
* 敏捷原则 &#x20;
  * 采用有动力的个体来实施项目，给予他们必需的环境和支持并且相信他们能够完成任务


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://legacy.cookielau.com/archives/5-junior2/3-softwareengineering/3-taskestimation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
