zoukankan      html  css  js  c++  java
  • 程序员的职业素养 读书笔记

    什么是预估

    不同的人对预估有不同的看法。业务方觉得预估就是承诺。开发方认为预估就是猜测。

    承诺

        承诺是必须做到的。专业开发人员不随便承诺,除非他们确切知道可以完成。

        如果被要求承诺做自己不确定的事情,那么就应当坚决拒绝。

    预估

        预估是一种猜测。它不包含任何承诺的色彩。

        大多数软件开发人员都很不擅长预估。原因在于我们并不理解预估的实质。预估不是个定数,预估的结果是一种概率分布。

    暗示性承诺

        专业开发人员能够清楚区分预估和承诺。只有在确切知道可以完成的前提下,他们才会给出承诺。

        他们也会小心避免给出暗示性的承诺。他们会尽可能清楚地说明预估的概率分布,这样主管就可以做出合适的计划。

    PERT

    计划评审技术(PERT,Program Evaluation and Review Technique)的一部分内容就是对预估的计算方法。

    根据3个数字预估某项任务。这就是三元分析法。

        O:乐观预估。这是非常乐观的数字。为保证乐观预估有意义,这个数字对应的发生概率应当小于1%。

        N:标称预估。这是概率最大的数字。

        P:悲观预估。这是最糟糕的数字。为保证悲观预估有意义,这个数字对应的发生概率也应当小于1%。

    有了以上三个预估,可以像下面这样描述概率分布:

        μ=(O+4N+P)/6

    μ是任务的期望完成时间。通常这个数字都有点水分

        σ=(P-O)/6

    σ是这个任务的概率分布的标准差,用来衡量不确定性。如果这个数字很大,就表示非常不确定。

    预估任务

    德尔菲法(wideband delphi)

        一组人集合起来,讨论某项任务,预估完成时间,然后重复“讨论-预估”的过程,直到意见统一。

        1、亮手指

        2、规划扑克

        3、关联预估(Affinity Estimation)

        4、三元预估

    大数定律

    预估是非常容易出错的,控制错误的办法之一是使用大数定律。把大任务分成许多小任务,分开预估再加总,结果会比单独评估大任务要准确很多。

  • 相关阅读:
    Spring boot 整合 Mybatis + Thymeleaf开发web(一)
    JAVA截取字符串的几种方式
    【转】JAVA异常报错大全
    Linux中允许远程用户登录访问mysql的方法
    Ubuntu系统下将默认的python2.7升级到3.5
    Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器
    python将数据写入excel代码,python与office交互
    pyqt4桌面软件各种画布组合结构实例
    python之pyqt4的简单窗口布局以及信号和槽(上代码)
    python 005 正则表达式
  • 原文地址:https://www.cnblogs.com/TanSea/p/ClearCoder-10.html
Copyright © 2011-2022 走看看