《敏捷估算与规划》:敏捷项目如何进行进度规划呢?

前阵子,一个负责产品开发的负责人,给我说,他对正在进行的产品交付项目的要求是:能够在短期内看到成果;可以随时快速的清楚进展;不需要那么多“没必要”的设计文档,却迟迟看不到交付的功能;能够随时对成果展示的不满足项进行变更。

嗯,那你们就最需要使用敏捷了,就让我们一起从《敏捷估算与规划》这本书开始进行实践吧。

1传统项目管理和敏捷项目管理的区别

首先我们一起来看一下传统项目管理和敏捷项目管理的区别?

区别1:传统项目是基于活动(项目活动)而不是基于特性(功能完成)的交付,一方面使得客户很难从活动完成中获得价值,另一方面,完成面向的是活动的完成,而不是功能特性的完成,虽然在现在的传统项目里也增加了需求的项目各阶段跟踪,但各阶段仍然面向的是需求活动,而不是功能的交付。

而基于特性(价值)的计划,审核活动的进度时,审核的重点应该是缺少的功能特性而不是遗漏的活动。

区别2多任务处理导致更多的延期

同时处理多个任务,会对生产效率产生可怕的影响。当一个人同时处理3个或者更多的任务时,用于增值任务的时间会迅速减少,而且不同任务之间切换时需要一段过渡时间。因此尽量使用专职人员,专注于在同一时间只做一件事,或者尽可能在同一天内上午和下午分别处理不同的内容。

而敏捷项目通过对在制品的限制,让团队成员尽量在短时间内聚焦于一个任务,即停止启动,聚焦当前。

区别3不按优先级开发特性

传统项目完成特性的顺序是随机的,按照便利性来安排优先级和开发顺序,而不是像敏捷项目以功能特性的价值来安排开发优先级。而且既然所有工作都需要完成,也就不需要按照什么顺序,如果在项目前期规划时,由于时间受限,需要削减功能时,会考虑到优先保证主要功能,但是如果在开发到后期,周期较紧时,如果一开始没有明确的定义,项目进展到后期,同样由于进度的压力,也会将一些更有价值的活动压缩或者不做。那么最好的方式,就是在前期做好评估,实现定义清晰关键的和高优先级的交付内容,确保关键特性或者任务不会被迫放弃或者被压缩。

区别4忽视了不确定性

传统项目容易忽视用户最终需要什么(WHAT)和产品怎么开发(HOW)的不确定性,会导致虽然完成项目,但可能不是用户想要的,项目遗漏重要的项目的活动等,反而增加了项目延期、放弃功能、降低交付质量的可能。

项目需求和计划会存在一定的不确定性,传统项目通常采用的做法是所有的需求一次交付,虽然使用需求跟踪+阶段演示的方式,或者项目最初风险评估就需要考虑到项目如果延期的应对措施,也可以部分避免这个问题,而敏捷使用短周期迭代的方法和最小可用系统的方式,可以在短周期内减少用户需要审核和产品怎么做的不确定性的影响。

区别5把估算当成了承诺

很多公司混淆了估算和承诺,只要团队给出一个估算,就会被迫按承诺完成,而一方面一些开发人员经常给出的时间常常只是开发完成的时间,并没有考虑测试验证的时间;另一方面在做出承诺之前,也会有大量的外部因素(如:商业因素、风险、资源等)影响评估的结果。而这样的估算通常会作为绩效承诺进行考核,项目的延期就会导致项目的失败。不过现在项目计划都会有多种不同的承诺计划,同时考虑项目相关的资源到位和紧急情况,也是目前较为有效的办法。而敏捷开发团队是使用发布计划、迭代计划和每日计划的方式,在对故事进行估算后,然后使用速度对所需时间进行计算,得出迭代所需的周期,然后过程中随着每个迭代对速度进行快速的调整。

当然,所有的管理理论目前逐渐的趋同,但最终都是一个目的:快速的满足客户的需求。

了解了敏捷和传统项目管理的区别后,我们一起了解敏捷估算。

2敏捷估算

敏捷估算有两种方法,分别为故事点估算和理想人天估算。

在餐厅吃饭,我们会根据相对大小来点菜,而不会按照精确的数量进行点菜。我们标准的做法是来份小的,来份大的,故事点也是如此,是相对的。

我们可以使用两种方法来进行故事点的评估,一种是找最小的故事,设定为1,或者是找一个中等规模的故事,设定为5,总的范围设定为1-10,其他的故事都和这个故事进行比较,得出故事规模的相对大小。

而速度是对开发小组生产率的度量,可以通过计算小组在一次迭代中完成的用户故事所分配的故事点数的总和得到。

把所有特性的故事点数相加在一起,就是项目的总规模,加上速度,进而推算出迭代的次数;映射到时间表上,就是进度表了。经过几次迭代后,通过对速度的修正就可以对规划的误差进行自我修正。

当我们在估算用户故事所需要的理想人天时,在不考虑额外的组织开销时,此时可以将理想人天当作对大小进行估算的方法,同故事点一样,利用速度把以理想天表示的大小转换成对持续时间的估算。

但无论如何估算,你都会发现,在需要一个估算值时,无论你怎么精细的估算,最后你都不可能得到一个准确的数值能够精确的匹配到坐标值上。

故事点或者理想人天是对要实现的功能的总体规模和复杂度的估算,并不是关于时间的估算,实现一个功能所需的时间是一个关于功能的大小(故事点或者理想人天表示的估算)和小组的进度率的函数。只有当用户故事的相对大小发生变化时才需要进行重估。

那么都有哪些估算的方法呢?

最佳的估算是-包括将要做这项工作的人-由团队协作共同估算。一方面估算的时候并不清楚谁是任务的执行者;另一方面即使是专家估算的,也需要其他人员进行讨论确定。

估算的尺度使用两个非线性序列,分别为:

1、2、3、5、8

1、2、4、8

使用上述序列进行故事点的估算,当遇到估算为“0”的故事时,依然要体现出来,即使这种概率很小,或者还可以将多个故事点为“0”的故事集合成一个故事。

得到估算值的方法:

得到估算值的方法,每种方法都可独立使用,但要得到最佳结果,需要综合使用三种方法

快速获取一个估算值时使用咨询专家意见的方法;已有类似项目,可以使用类比估算的方法;也可以将一个用户故事或者特性分解为更小,更容易估算的部分进行估算。

敏捷最佳的估算方法就是打计划扑克(Grenning2002),计划扑克把专家意见、类比和分解结合到一种令人愉快的估算方法中,可以产生快速而可靠的估算。估算的目的在于合理性,而不是准确性。

如何在故事点和理想人天间进行选择评估方式呢?

首先,故事点有助于驱动跨功能的行为,用故事点估算可以帮助团队学会跨功能工作,故事点的估算是对单一故事点的整体估算,而理想人天则需要按照专业进行估算。

其次,故事点估算不会过期,故事点估算不会随着团队对技术、业务领域和经验的不同而发生变化,只有在故事点的相对大小发生变化的时候才需要进行重新估算。

第三,故事点是纯粹对大小的度量故事点是纯粹的对大小的度量,不受开发成员的熟练程度的变化而变化,大小就是那么大,不会随之变化,这种不变性是任何对大小的度量都希望得到的特性。

第四,故事点估算通常更快,故事点估算的时候更多是从更高层次去进行估算,

最后,我的理想人天不等于你的理想人天

当然,理想人天在团队以外容易解释,且估算容易开始,也方便快速的进行估算和预测。

一般建议使用故事点进行估算,但是可以先使用理性人日进行估算,再慢慢转向故事点估算。

3为价值而计划

在使用估算方法完成故事点的估算后,就可以对项目进行进度表的安排了。然而在进度安排之前,需要建立产品功能(范围)、进度和成本的最佳结合。

当然,在短的时间内,不可能开发完所有的功能,就需要对故事和主题进行优先级排序。此时需要考虑该主题或故事的投入产出比如何?能够获得的学习和知识的重要性和多少?开发该主题可减少的风险大小?综合这些因素进行优先级的排序。

可以根据原始需求的渴望度进行优先级选择和排序,具体的方法有两种:1.使用KANO特性进行(阈值的特性即必需的特性;线性特性;兴奋点和惊喜点);2.根据相对权重进行(价值工程,根据功能的价值和所占的权重进行评估)。

用户故事优先级排出后,通过对用户故事进行分解,来进行具体进度的安排。(具体分解的方法可以在《用户故事与地图》书籍里进行学习。)

具体进度安排主要从发布计划、迭代计划和每日计划上进行规划。

发布计划是建立高层次的,覆盖超过一次迭代周期的计划的过程,一次典型的发布可能会覆盖3-6个月,而且根据迭代周期的长度,可能会包括3-12次或者更多次迭代。

规划一次发布计划的步骤。

发布计划建立有两种方式:一种是建立一个显示出每次迭代中要开发什么,一种是决定整个发布要开发什么,每次迭代的具体内容以后考虑。总体来说,计划一次发布时,产品负责人需要选择将具有最高优先级的对象放入第一次迭代。

迭代计划中,团队将更专注、更详细的研究哪些事情对于要完全实现那些新的迭代所选择的用户故事是必须的。

迭代计划是在迭代计划会议上制定的。迭代计划是一个电子表格,或者一组每张上写有任务的记录卡片。无论使用哪种形式,任务需和故事对应起来。需要注意的是:迭代计划时不分配任务。否则会与团队成员为达到迭代目标而做出一致的承诺相矛盾。

每日规划是开发团队每天up to15min.的事件;开发团队借由每日 Scrum 站会来检视完成冲刺目标的进度,并检视完成 Sprint 待办列表的工作进度趋势。会议或以问题为导向来开会,或基于讨论来开会。站会后立即聚到一起进行更详细的讨论,或者为冲刺中剩余的工作进行调整或重新计划。

4准备好了吗,开始冲……

在以上3个步骤完成后,我们项目的规划活动也就完成,在讨论出交付计划后,对特性进行小的任务项的分解,以一个工作日为单位进行,在显目的地方设计看板的位置,将特性图和任务项分别贴上去,进行每日站会,确保每天都有交付,即可在短时间内可以快速实现第一个冲刺(sprint)的交付。

然后,持续sprint……

那么,你准备好了吗?

让我们一起开始实践《敏捷项目估算与规划》,开始对项目进行估算和规划……

来自网络

#读书荐书专题,参与活动链接https://www.jianshu.com/p/3646b7e76fd8


#今日学习打卡

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,802评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,109评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,683评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,458评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,452评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,505评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,901评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,550评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,763评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,556评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,629评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,330评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,898评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,897评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,140评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,807评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,339评论 2 342

推荐阅读更多精彩内容

  • 1、在项目的Sprint回顾会后,团队成员指出那是抱怨会,不是非常有效。Scrum主管应该怎么做?A 建议团队尊重...
    隔壁老李头阅读 12,031评论 1 16
  • 敏捷计划的目的是以迭代的方式为产品开发的综合问题,在那段时间内使用那些资源来得到哪些功能,去寻找到最佳解决方案。敏...
    IDSsalman阅读 2,327评论 1 2
  • 最近在看《敏捷软件开发实践:估算与规划》,结合自己在工作的中的实践,浅谈一点自己的想法和总结。 总的来说敏捷估算与...
    Sophiezzzz阅读 2,528评论 0 8
  • 1、在第五次sprint审查期间,团队获得产品负责人对所有功能的签署同意。但是,产品负责人注意到在第二次sprin...
    隔壁老李头阅读 7,445评论 0 16
  • 一、虚拟机设置静态ip 在计算机网络连接设置中,选择vmnet8,修改ip地址,子网掩码,默认网关。 在网络连...
    puwb阅读 606评论 0 0