1)有经验的人参与估算

一方面要对估计的内容有开发经验,另一方面也要接受了估计的训练,在估计方面有经验。两种经验缺少其一,估计的风险都比较大。正如我们估计一个房间的面积时,一位包工头或一位售楼小姐通常比我们估计得准,为什么呢?因为他们有施工经验或估算经验。

2)分解的颗粒度要小

在估计时要对估计的内容进行分解,化整为零,对于小的任务进行估计时,才容易把握。比如让你估计一碗大米中有多少粒米一样。通常的办法就是把大米划分成大小基本相等的几小堆,先估计其中一小堆或者数一数,然后估计整体的粒数。

3)确保没有遗漏

如果估计的内容遗漏了,显然整体规模就会有偏差,所以穷举所有的任务是最基本的工作。WBS 分解的完备性很重要,是进行准确估计的前提。

4)借鉴历史数据

历史类似项目的数据可以和待估计的项目进行类比。比如你昨天吃了 3 碗米饭,前天也吃了 3 碗米饭,可以推测今天也可能吃 3 碗米饭。历史中有规律,依据历史规律估计未来的变化。

在借鉴历史项目的数据时,一般要慎重考虑以下 5 个问题:

  • 是否采用相同的技术平台?
  • 是否同类型的软件,比如都是嵌入式软件或者 MIS 软件?
  • 是否项目的规模相近?
  • 是否采用相同的生命周期模型?
  • 是否人员的专业技能相近?

5)采用多种方法相互验证

可以采用 delphi 方法、功能点法、类比法等方法进行估计,然后对多种方法的估计结果进行对比。通过对比如果发现差异比较大时,就要仔细分析差异原因,提高估计的合理性。

6)在项目进展过程中要持续估算,逐渐优化

随着项目的进展,对项目的了解会越来越深刻,估算会越来越合理。

做好软件估计的六个原则相关推荐

  1. 软件设计中的一些原则

    本文为大家介绍软件设计中的一些原则,都是经过长期经验总结出来的知识,每一个程序员都应该了解,相信对大家在进行软件设计的过程中会有很大帮助. Don't Repeat Yourself (DRY) DR ...

  2. 想成功创业:要掌握“三笔钱”和“六三一”原则

    创业掌握"三笔钱"和"六三一"原则 拥有自己的事业是人人追逐的理想,恐怕更是不少上班族的梦想.如果你已经精通创业的秘笈.做好万全的准备,即刻就可以启动你的创业之 ...

  3. 想要做好软件测评,在这之前这20个小技巧得知道

    越来越多的软件企业有着软件测评的需求,需要寻找软件测评机构来出具软件测试报告来给自身的软件完成验收.登记.上架商城等需求,想要做好软件测评可不能马虎,在选择一家可靠软件测评机构的同时也需要软件测评人员 ...

  4. 豆瓣9.1分:软件开发的201个原则

    给中国软件工程师的寄语 (节选) 致我的兄弟姐妹们: 和你们一样,我的职业生涯始于软件工程师,那是1975年,将近半个世纪之前.我认为我们在时间和国家方面的差异相当微不足道.所以,我像和我的朋友.我的 ...

  5. 三维可视化管理的内容及六项原则

    随着经济社会的不断发展,在企业生产现场活动中产生了许多用于生产现场管理的方法,这里简要介绍可视化管理方法.可视化管理是指利用形象直观而色彩适宜的各种视觉感知信息来组织现场活动,达到提高劳动生产率的一种 ...

  6. 如何做好软件界面设计?2个方法一次掌握!

    软件界面设计通常是指 UI 设计-- User Interface 的简称.UI 设计是指对软件的人机交互.操作逻辑.界面美观的整体设计. 好的软件界面设计要做到清晰.舒适.美观.要想做好软件界面设计 ...

  7. 软件纠错的六个阶段——《论死亡与临终》中的“库伯勒-罗丝模型”

    我估计很少人知道这个库伯勒-罗丝模型或读过伊丽莎白‧库伯勒-罗丝的<论死亡与临终>这本书.先让大家了解一下这个模型. 什么是"库伯勒-罗丝模型" 库伯勒-罗丝模型(Kü ...

  8. C#软件设计——小话设计模式原则之:依赖倒置原则DIP

    前言:很久之前就想动笔总结下关于软件设计的一些原则,或者说是设计模式的一些原则,奈何被各种bootstrap组件所吸引,一直抽不开身.群里面有朋友问博主是否改行做前端了,呵呵,其实博主是想做" ...

  9. [摘抄]软件设计模式的几个原则

    原文地址:软件设计模式的几个原则 模式是一种对现实世界的概念抽象,建筑模式,设计模式,营销模式,商业运作模式各行各业都有自己的模式. 这里说的设计模式是软件设计里的模式,主要是指面向对象的软件设计.遵 ...

最新文章

  1. LiveVideoStack线上分享第五季(八):播放器的极致体验优化
  2. 你提交代码前没有校验?巧用gitHooks解决
  3. javascript 解密_Javascript中的AES加密和Java中的解密
  4. android运行的线程中,android中线程是否运行在单独的进程中?
  5. 测试===JUnit单元测试
  6. 017-通过govendor管理依赖包
  7. Matlab编程知识点
  8. jquery批量控制form禁用的代码
  9. python全局解释器锁 tensorflow_Python即将出局?Julia和Swift能取而代之吗?
  10. GRUB 和 GRUB2 的区别
  11. 有目标就有动力!有目标就有意义!
  12. 2015阿里巴巴校招网上笔试
  13. 小米官网搜索框部分详解
  14. 学Java可以不学算法吗-学java有必要学算法吗?
  15. centos 7 vmstat命令详解
  16. ae软件安装计算机丢失,安装adobe ae等软件提示找不到msvcp110.dll、msvcp
  17. 用手机GPRS使电脑上网
  18. 128.OpenLDA安装并配置客户端-1
  19. winxp计算机语言改为英语,如何让英文版WinXP系统支持中文文字显示
  20. 高分文章信手拈来?这本有望破10分的期刊,国人发文占比过半

热门文章

  1. win10浏览器、商店出现0x80190001错误的解决方案
  2. 8.2 喀迈拉(no.21~no.30)
  3. Yield Guild Games:社区更新——2022 年第四季度
  4. Blake2b算法 php,blake算法(族)
  5. windows11画画、绘画、画图软件在哪?
  6. 基于springboot志愿者管理平台
  7. 推荐一个在线画图网站
  8. 如何用软碟通制作U盘启动盘和用U盘重装系统
  9. 马化腾:我就是一个工程师 测试公司产品是最大爱好
  10. 《MATLAB智能算法30个案例》:第4章 基于遗传算法的TSP算法