# 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;
  * 采用有动力的个体来实施项目，给予他们必需的环境和支持并且相信他们能够完成任务
