8

程序员修炼之道系列 | 敏捷估算

 3 years ago
source link: https://my.oschina.net/candou/blog/5084059
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

交付这个项目需要多久?

存储一百万个客户信息需要多少磁盘空间?

压缩1000MB文本需要多长时间?

在软件项目中,我们经常要对即将开始的工作进行预估。而这其中有很多技术更新、需求变更等未知因素,都会使估算结果不是很精确。那么,我们为什么要进行敏捷估算呢?

08.png

视频链接:https://www.zentao.net/programmer/agile-estimation-80366.html

为什么要进行敏捷估算?

  • 对决策者来说,需要根据估算结果,来调整需求优先级,进行资源安排,甚至决定是否要砍掉某个功能;
  • 对客户来说,估算结果可以给出一个功能上线的预期或承诺;
  • 对团队来说,提前讨论需求,可达到对需求有一致的理解,提升实际工作中的团队效率。 估算虽然是为了得到完成时间的预期,但最重要的价值在于,估算过程中对需求的深入理解,以及如何实现功能的思考过程。

如何进行敏捷估算?

在软件开发过程中,最常见的估算方法有两种。

工时估算可以理解为,完成所需功能需要的时间,估算结果属于绝对值。工时估算是团队成员基于自身能力所做出的估算,可借助敏捷估算扑克牌进行估算,具体内容欢迎观看我们的往期视频。

故事点估算

故事点估算是用于预估,实现一个或多个用户故事所有工作量的估算结果。估算结果以点数度量,应考虑到影响工作量的所有因素,主要包括:

  • 将要开展的工作数量
  • 工作的复杂度
  • 将要开展的工作中存在的任何风险或不确定性

故事点估算采用团队估算的方式进行,我们无法让多个能力不同的开发人员,就同一个开发任务的耗时达成一致,但可以做到对工作量多少的估算保持一致,描述开发工作量的单位就是故事点。

估算时,首先,选择一个比较小的用户故事,确定其故事点,并将该故事作为基准故事。然后再将其他用户故事和基准故事进行比较,得出其他用户故事的相对点数。

故事点估算主要为了明确要交付的任务。除了度量单位的差异,故事点估算和工时估算的方法相似,都可借助估算扑克牌来进行。不过,故事点估算比较常用斐波那契数列的形式,以避免陷入一直追求精确性的怪圈。

估算七不要

  • 不要追求完美;
  • 不要为满足预算而估算;
  • 不要随意削减估算结果;
  • 不要以客户目标作为估算结果;
  • 不要藏匿不确定的成本;
  • 不要贪多偷减;
  • 不要过于依赖以往经验。

进行估算之前,多花点时间理解需求,总能得到更好的结果。

更多精彩视频分享:https://www.zentao.net/page/college.html


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK