程序员修炼之道系列 | 敏捷估算
交付这个项目需要多久?
存储一百万个客户信息需要多少磁盘空间?
压缩1000MB文本需要多长时间?
……
在软件项目中,我们经常要对即将开始的工作进行预估。而这其中有很多技术更新、需求变更等未知因素,都会使估算结果不是很精确。那么,我们为什么要进行敏捷估算呢?
视频链接:https://www.zentao.net/programmer/agile-estimation-80366.html
为什么要进行敏捷估算?
- 对决策者来说,需要根据估算结果,来调整需求优先级,进行资源安排,甚至决定是否要砍掉某个功能;
- 对客户来说,估算结果可以给出一个功能上线的预期或承诺;
- 对团队来说,提前讨论需求,可达到对需求有一致的理解,提升实际工作中的团队效率。
估算虽然是为了得到完成时间的预期,但最重要的价值在于,估算过程中对需求的深入理解,以及如何实现功能的思考过程。
如何进行敏捷估算?
在软件开发过程中,最常见的估算方法有两种。
工时估算
工时估算可以理解为,完成所需功能需要的时间,估算结果属于绝对值。工时估算是团队成员基于自身能力所做出的估算,可借助敏捷估算扑克牌进行估算,具体内容欢迎观看我们的往期视频。
故事点估算
故事点估算是用于预估,实现一个或多个用户故事所有工作量的估算结果。估算结果以点数度量,应考虑到影响工作量的所有因素,主要包括:
- 将要开展的工作数量
- 工作的复杂度
- 将要开展的工作中存在的任何风险或不确定性
故事点估算采用团队估算的方式进行,我们无法让多个能力不同的开发人员,就同一个开发任务的耗时达成一致,但可以做到对工作量多少的估算保持一致,描述开发工作量的单位就是故事点。
估算时,首先,选择一个比较小的用户故事,确定其故事点,并将该故事作为基准故事。然后再将其他用户故事和基准故事进行比较,得出其他用户故事的相对点数。
故事点估算主要为了明确要交付的任务。除了度量单位的差异,故事点估算和工时估算的方法相似,都可借助估算扑克牌来进行。不过,故事点估算比较常用斐波那契数列的形式,以避免陷入一直追求精确性的怪圈。
估算七不要
- 不要追求完美;
- 不要为满足预算而估算;
- 不要随意削减估算结果;
- 不要以客户目标作为估算结果;
- 不要藏匿不确定的成本;
- 不要贪多偷减;
- 不要过于依赖以往经验。
进行估算之前,多花点时间理解需求,总能得到更好的结果。
分类:
敏捷系列视频
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧