幼儿饰品瑜伽美体用品微软
投稿投诉
微软创意
爱情通信
用品婚姻
爱好看病
美体软件
影音星座
瑜伽周边
星座办公
饰品塑形
搞笑减肥
幼儿两性
智家潮品

浅谈软件项目规模估计怎么估

  做事所花费的时间总是比你预期的要长,即使你的预期中考虑了侯世达定律。
  侯世达,哥德尔、埃舍尔、巴赫
  周三的下午,我像平常一样,写着代码听着歌,突然从天而降一份莫名其妙的故事列表,说让我给个人天,用来投标用。作为一个技术异常牛逼的高端程序员,这对我来说岂不是APieceOfShit哦不,Cake。拿着列表,打眼一看就知道是做什么又是个审批流系统。注册、登录、忘记密码这些也需要时间?!哦,还要做个SSO,可能要做点数据集成,给个15人天吧!又是一堆CRUDCRUD各给2人天一共8个。看起来有4个Model,乘个4,32个人天差不多。前端还有些工作量,找前端估一下还有些跟遗留系统集成的部分,这块应该比较麻烦,给个30人天差不多还要用微服务架构,估计需要一些基础环境,每个组件给3个人天,一共8个组件,算24吧。总共算起来130个开发人天,差不多,再加点buffer,算150吧!差不多了吧
  这一幕是不是有点眼熟?不过,这样的做法可能会带来下面的几个问题:
  1。估计者的估计点数是否能代表团队的估计点数?
  问题的答案显而易见。那么有同学会说,此时团队的人员还没完成配置,没办法让真实团队进行功能的估计。确实是这个样子,所以我们只能力所能及的去模拟真实团队进行估计。一般,交付项目的团队肯定不会全上非常有经验的同学,人员配比一定会有leverage,也就是Senior人员和Junior人员的比例。所以,在估计的过程中,至少要引入Junior的同事,能够从不同经验的角度来看待同样的问题,来使估计不会过分乐观。
  2。是否有故事卡片之外的工作时间没有考虑到呢?
  上文中的估计看起来是采用的经典的理想人天估计法,如果使用这样的估计方法,势必要考虑一些虽然没有在故事卡工作量中,但也一定会花费时间的事务,包括但不限于:
  回复电子邮件(沟通成本)
  面试(内部耗损)
  参加会议(包括内部会议,比如站会、Retro、CodeDiff、技术研讨会议、客户沟通会议等)
  为当前发布提供支持(上线支持)
  培训?(内部的Session)
  任务之间切换被人打断(程序员出栈入栈的消耗)
  修复bug(一定会有Bug,一定会花时间修)
  写各种文档(对于对文档比较看重的客户,这一部分会占用不少的时间)
  这些事务会伴随整个交付过程中发生,基本上都是正常交付必不可少的工作内容,而且根据笔者的经验,这些事情占据的时间并不比完成故事卡的编码工作要少。
  3。故事卡的需求是否清晰呢?
  在项目启动前拿到的故事列表,往往只有Epic级别的,也就是很粗粒度的故事卡。故事卡中的AC(AcceptanceCriteria,验收条件)往往只考虑了最简单的HappyPath,然而大部分项目中(尤其是ToB项目),Exception才是相对复杂的,这些异常情况往往需要花费更多的时间完成。在这种情况下进行估计,可想而知,一些隐藏的需求点往往难以发现。
  问题可能的答案
  那么想要解决上面的问题,或者说更好一点的缓解上述问题的方案是什么呢?《敏捷估计与规划》中介绍了一些基本的方法。
  首先,要进行集体估计
  集体估计可以缓解因为个人能力不同所引发的单点偏差,不同的开发成员对于某个需求在不同角度的阐述,也容易让大家对需求有更全面的理解,也易于发现潜藏在需求中的风险。阐述的过程中,出现复杂问题时,可以及时联系相应的专家资源。对于一些规模较大的卡片,也可以综合大家的意见,进行更合理的拆解。同时,需要由要做次工作的人来进行估计,这样会产生更多的责任感,可以在一定程度上缓解乐观估计的问题(LedererandPrasad1992)。
  其次,是方法
  《敏捷估计与规划》介绍了2种基本的方法:理想人天法和故事点法。
  (1)理想人天法
  理想人天法就是直接把故事卡估计成理想人天。所谓理想人天,就是在需求非常明确的情况下,进行编码、测试工作所花费的时间。就好像篮球比赛一样,每节12分钟,4节总共48分钟,这是比赛的理想时间。但是谁都知道,一般NBA每场比赛都要2个半小时左右,比赛激烈的话三个小时都有可能,比赛真正持续的时间与理想时间是有较大差距的。相比于篮球比赛,软件项目场外的工作就更多了,除了上面问题2列出的那些实务之外,像是方案变更引发的大量沟通、集成联调、测试过程中的需求讲解、项目的交接等等,这些工作也需要算到项目时间之内。同时,对于同一个项目,不同的人根据其能力、经验的不同,会有不同的理想人天。
  所以在估计完理想人天之后,如何进行实际人天的换算,在实际应用中,仍然是个大问题,所以最好就不要用了。
  (2)故事点法
  故事点法就是按照故事卡的规模和难度,给予每张故事卡一个点数。注意,这里的点数代表的不是所需的人天,而更多的是难度系数。
  开发人员因为自己技能、经验、能力的不同,解决同样的问题,所花的时间差别是很大的,但对规模的估计却是一样的。就好比从北京到上海,坐飞机1个多小时,高铁5个小时,步行要一个月左右吧,距离是一样的,根据不同的速度,会花费不同的时间。
  同时,人们一般很难对一个规模进行准确的估计,比如从北京到上海的绝对距离是多少,估计没几个人知道。但是,人们能够比较容易的比较两件事物的差距或者说倍数关系,比如:北京到上海的距离跟从上海到香港的距离是差不多的,这个距离是北京到郑州距离的两倍。所以我们在做估计的时候,可以按照难度系数分成几波,然后在内部在进行一些比较和排序,然后按照比较的差距分配一个规模点数,比如1、2、3、5、8、13。
  大家可以看到,这个规模点数并不是连续的数字,而是采用了菲波那切这一个神奇的数列。这样的数列有2个好处,一个是不会出现连续的倍数关系,比如4点的故事卡片是2点故事卡片的2倍;其次是表明出规模越大的卡片,其不确定性也承递增趋势,所以会给更高的点数。
  有了故事点数,我们仍然无法判定项目什么时间能够交付,因为缺少一个速度,也就是团队的开发速度。如果面对的是一个成熟的团队,并且使用类似的技术栈,且与客户的合作模式基本相同的话,那么可以参考前一个项目的速度,来进行交付时间的计算。但如果面对的是全新的客户、不同的技术栈,以及完全重新配置的团队,那么速度基本是不可估的。这时候,有时候会根据TechLead和PM的(Pai)经(Nao)验(Dai),进行硬估:把每个点数转化成N个人天。比如1个点数需要2个人天,那么100个点数的项目就是200个人天。当然,这种方法说多了会掉泪。
  最后,给项目加些缓冲(Buffer)
  一般来说,面对这种情况,本着对客户和我们自己负责的态度,需要给项目加一些缓冲区(Buffer)。Buffer分两种,一种是功能Buffer,一种是进度Buffer。
  (1)功能缓冲
  增加功能Buffer,简单来说,就是把全部的故事列表进行估计,假设得到总点数是100点;然后按照优先级进行排序,挑出其中的MVP,要少于总量的70,作为必须要做(MustHave)的部分。剩下的30作为做了更好、不做也不影响主要功能(NiceToHave)的部分,通过这种方式来缓冲项目里程碑的风险。
  (2)进度缓冲
  进度Buffer,是用来缓冲估计之外的异常情况引发的项目时间的拉长。进度Buffer根据项目的不确定性的差异,计算的方法和结果会有较大差异,有兴趣可以参考《敏捷规划与估计》,这里就不赘述了。不过根据Leach(2000)准则提出的建议,至少要保持整个项目的20以上,否则也许不能为整个项目提供足够的保护。
  不是总结的总结
  上面的这些方法能一定程度的规避风险,给开发团队带来一定的空间,但过分的强调估计和交付计划的准确性,会带来更深层级的问题:
  outputoveroutcome。客户更关注功能列表的完成,而不是产生的业务价值。
  开发团队会倾向于裁剪用户故事的功能,3个点的故事卡,尽量控制在规定时间内完成,即使可以花更多时间把事情做的更好。
  控制需求变更。可以进行需求变更,但这个过程更像是一个异常的情况,而不是喜闻乐见的。
  当我们发现了更好的业务点、idea时候,会倾向于隐瞒,以免额外的业务功能会增加工作量。需求变更往往会涉及客户谈判的事情,尤其是当客户观念是传统的供应商管理策略:我来控制需求的全景,能多做点就多做点。
  在客户合作和谈判的天平上,客户关系会向谈判的方向倾斜。
  估计和计划会使团队和客户更多的聚焦在工作量,而不是工作的价值上。如果能够引导客户从output导向的思维转变到outcome导向上,那么团队就不用再疲于奔命的完成那些并不会用到的feature上,而是可以有更多的时间去提升产品质量,进一步提升业务价值。

平安树干枯还能救活吗平安树的适应性很强,如果在栽培中植株出现干枯的现象,其实是可以救活的,首先要剪除干枯的枝叶,然后及时的浇入水分,保持盆土湿润,保持薄肥勤施的施肥原则,每次施肥后浇入水分进行,加……疫情期间武汉武商量贩几点开门几点关门疫情期间武汉我们都知道,由于受新型冠状病毒的影响,很多地方的门店都已经闭店关门了,但是,为了满足人们的需求,很多超市都是会营业的。那么疫情期间武汉武昌量贩营业时间是什么时候呢?下面让我们具……宝宝何时用枕头时机方法很重要新生儿出生,新手爸妈都抱在手里不舍得放下,巴不得眼睛都贴在宝宝的身上。好不容易放到小床上,有一些妈妈会觉得宝宝躺在床上,会不舒服,想拿个枕头给宝宝枕着头。STOP!新手爸妈要注……女生露额头的发型有哪些时髦洋气打造女神气质不同的发型展现出不一样的美,长发的女生露出额头清爽又利落,非常洋气。今天小编给大家推荐几款露额的发型,女生们赶紧来pick!女生露额的发型,看起来清爽又透气,能驾驭得了这……开发区造句用开发区造句大全1、这个高新技术开发区是群英荟萃之地。2、开发区是全面治理整顿,用快刀斩乱麻的措施。3、建设经济技术开发区的工作一定要周密考虑,合理布局,否则会徒劳无功。4、……周姓男孩诗意名字周姓男孩诗经取名如果你想给自家宝宝取一个带有诗意的姓名,但目前还没有一个好的答案的话,那不妨来看看我们给大家整理出的例子,说不定这里面会有你喜欢的选项。这种类型的名字还是比较有个性的,重名率相……毛毛虫怎样过大河一次相聚,有位朋友出了道脑筋急转弯题给大家:对岸鲜花盛开,四季如春,恍如天国,毛毛虫要去对岸生活,可是一条大河阻挡了去路,桥又在很远的地方,那么毛毛虫要怎样才能渡过大河呢?……说说伤感的心情短句一、他身上的温暖蛊惑了你,让你误以为那就是爱情。二、世界太暗,人心太黑,我们太假,爱情太傻。三、终于明白,有些路,只能一个人走。四、有你,我就拥有全世界,没你……大明风华徐滨结局是什么介绍徐滨原本是建文帝身边的谋士,后来靖难之役爆发,建文帝下落不明,朱棣登基为帝,徐滨一家则遭受牵连。徐滨和孙若微的经历很像,但他并没有一味的想着复仇,而是希望天下能够太平,百姓都安……胰腺炎病人的饮食注意事项人体的构造是十分复杂的,在我们的身体内有很多的器官组成,其中胰腺就是我们的身体中比较重要的分泌器官,但是由于我们日常不良的饮食习惯和饮食卫生,总是会导致出现胰腺炎,同时也会让我……伤仲永读书笔记生而知者之是不存在的,天才也是不存在的。人们的才能虽有差别,但主要来自于勤奋学习。《伤仲永》一文给我的启示是:一个人即使有很高的天赋,但如果不努力学习,也很难取得真正的成就。……小寒养生保健有绝招民间有小寒、大寒冻作一团和三九、四九冰上走的说法,这些都充分证明了小寒之后天气的寒冷。有专家提醒,小寒后,人们更要注意防寒保暖,合理进补,并进行适度的体育锻炼,才能达到事半功倍……
哪些食品适合盗汗老人很多人身体一直都还不错,但睡觉的时候总是冷不丁就出一身虚汗,有时一觉醒来,整个后背都湿漉漉的,有时还因此难以入睡。哪些食品适合盗汗老人呢?就让本站的小编和你一起去了解一下吧!……冬天热水冷水洗脸大不同你喜欢哪种方式冬天早上,你睡眼惺忪起床,到了洗漱间开始刷牙洗脸,你会用热水把毛巾彻底浸泡,拧干后,敷在脸上,还别说,真的是非常舒服。而对于有些人,即使在冬天,室外温度很低,但还是喜欢用……成长是个好在我成长的过程中,经历许许多多的事情,它们如同一个个海边的贝亮,捧起一块,细数精致的纹理,就能发现蕴含着的无穷奥妙。那是一个风刀霜剑的冬日早晨,当我还沉浸在睡梦中时,妈妈……火车票代售点可以进行身份核验吗众所周知火车票代售点提供购票、取票等服务,但是目前尚不能办理火车票退票改签业务,那么火车代售点可以进行身份核验吗?下面和本站关注下吧。从铁路部门了解到,火车票代售点是可以……星座运势苏珊米勒每日星座运势苏珊米勒每日星座运势2016。12。07白羊座你也许会得到许可,去做一个喜欢的项目,或者收到很棒的邀请。随着你的额守护星火星与天王星相合,一切皆有可能,尤其是那些看……鼠年薛姓男孩高分名字薛姓男孩好听姓名合集鼠年该怎么给薛姓男宝宝起名字?可能会有家长朋友正在面临这个问题,那我们今天就是来帮助大家可以更快找到自己满意的答案。适合薛姓男孩的高分名字都已经列举出来了,走过路过千万不要错过……杂文说与作记闻一多先生言行片段原文及鉴赏人家说了再作,我是作了再说。人家说了也不一定作,我是作了也不一定说。作为学者和诗人的闻一多先生,在三十年代国立青岛大学的两年时间,我对他是有着深刻印象的,那时候,他……生长纹怎么去除人总有变老的一天,人在年轻的时候皮肤的弹性都很好,肌肤也很紧致。但是像一些比较胖的人或年迈的来人,就会出现一些生长纹。比如脸周围的、胳膊周围的、臀部周围的,都会出现一些皮脂的堆……风寒感冒的护理措施感冒如何好得更快风寒感冒的护理措施1:个人卫生无论是否患感冒,都要注意个人卫生,比如从外面回来要先洗手再碰家里的任何东西,这样是为了避免将感冒病毒带回家,少去人特别多的公共场合。家里有小……什么都没了什么都没有了。。。。。。。。。。。。。。。和胜认识是7年前了,那时我们读初二,他是转学来到我们班的。刚开始,大家都不怎么和他玩的,更不用说我们女生了,后来大家认识了,我们……破坏造句用破坏造句大全(91)信仰有异于迷信,若坚信信仰甚至于迷信,则无异于破坏信仰的东西。(92)由于“文革”的破坏,许多科研项目被迫中止。(93)上侵下职,妨害员工的学习、成长,更破……如何加强和改进企业思想宣传工作摘要:随着改革深化和发展社会主义市场经济这场伟大的革命,给企业员工带来思想观念的深刻变化,他们的思想活动日趋多元化,企业员工的心理特点、思维方式和价值取向都发生了很大的变化,这……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网