敏捷软件开发实践 估算与计划——优秀的计划是什么(2)

发表于:2017-9-29 09:30

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:(美)科恩    来源:51Testing软件测试网采编

分享:
  1.2 优秀的计划是什么
  优秀的计划就是项目利益相关者(stakeholder)认为足够可靠、可以作为决策基础的计划。在项目早期,这个定义可能意味着:计划定义了产品将在第三季度而非第二季度发布,并且大致包含了一组功能的集合。而在项目的后期,为了对决策支持依旧有效,这个计划需要变得更为精确。
  假设你在为公司旗舰产品的新版本进行估算和计划。你判断在6 个月后新的版本将就绪,可供发布。你创建了一个计划,描述新版本中一定会有的一组功能,以及根据项目进展的好坏而可能或不可能包含的另一组功能。
公司的其他人可以使用这个计划来做决策。他们可以准备市场推广材料,计划广告宣传攻势,分配资源以帮助关键客户进行升级等。这个计划是有用的——只要它能够预测项目中实际会发生的事情。如果开发活动花了12个月而不是计划的6个月,这就不是一个优秀的计划了。
  然而,如果项目花费了7 个月而不是6 个月,这个计划可能仍然是有益的。确实,这个计划并不准确,而且它可能导致了一些时间不太准确的决策。但是用7 个月的时间交付预期要6 个月的项目,这还不算离谱,而且当然还是位于PMI 预算估算(Budgetary Estimate)的误差范围之内。这个计划虽然不精确,但是如果我们考虑到在整个项目过程中原本应该对它定期进行修正,它就更可能有用了。在那种情况下,这一个月的推迟交付对任何人来说都不会成为最后时刻的“惊喜”了。
  1.3 敏捷计划是什么
  本书是关于敏捷计划而不是敏捷计划。计划是文档或者图表,它们只是我们对项目在不确定的将来会如何展开的理解的快照(snapshot)。计划则是一项活动。敏捷计划将重点从作为结果的计划转向了计划的过程。
  基于我们会在项目整个过程中不断修正计划的认识,敏捷计划平衡计划所需要的精力和投资。敏捷计划是一个我们不仅愿意、而且渴望修改的计划。我们修改计划,并不仅仅是为了变更本身,而是因为我们学到一些新的东西或者避免了一个错误。我们也许是了解到用户更需要这个功能、不太需要那个功能,或是可用性比我们所设想的更为重要,抑或是用这种新语言进行开发需要的时间比我们的预期更长。每个这样的变更所带来的经济影响都要进行评估,而且如果修改具有足够的价值,就需要更改计划和进度表。
  随着这些问题的发现,它们会影响我们的计划。这意味着我们需要易于修改的计划。这就是计划比计划更为重要的原因。原计划失效,被修订的版本取代,我们在计划过程中所获得的知识和理解则会长期存在。因此,敏捷计划需要是易于修改的计划。
  我们对计划的修改并不就意味着对日期的改变。我们也许会、也许不会改变日期。但是只要我们认识到自己对目标产品某些方面的看法是错误的并且需要加以改变,我们就需要修改计划。有一些方法可以在不改变日期的情况下修改计划:我们可能放弃某个功能,或者缩减某个功能解决的问题范围,也可能在项目中增添一些人等。
  由于我们承认不可能在一个项目开始时就对它进行完整的定义,因此不在项目的开始时候完成所有的计划活动是非常重要的。敏捷计划或多或少地是均衡分布在项目的整个过程之上的。发布计划设定了交付阶段,然后是一组迭代的计划——这整个过程将在项目中重复好几次。
  所以在定义敏捷计划时我们会发现它:
  ● 更关注计划而不是计划
  ● 鼓励修改
  ● 产生易于修改的计划
  ● 延续到整个项目周期
  1.4 小结
  估算和计划是关键的,但也是困难和容易出错的。我们不能仅仅由于它们很困难就不去做这些事情。项目早期给出的估算没有项目晚期给出的估算准确。不确定性锥形显示了这一逐渐细化的过程。
  计划的目的在于找到一个最佳答案,用于回答“要构建什么”这一产品开发的总体问题。这一答案综合了功能、资源和进程安排。一个可以减少风险、降低不确定性、为可靠的决策提供支持、建立信任和传递信息的计划流程为解答这个问题提供了支持。
  优秀的计划应该足够可靠,可以作为对该产品和项目进行决策的基础。敏捷计划更关注计划的过程而不只是创建一个计划。它鼓励修改、产生易于修改的计划,并且延续到整个项目周期。
  1.5 讨论题
  1. 本章一开始就表明过度计划和不作计划同样危险。你当前项目上合适的计划程度是什么?
  2. 你还能想到哪些进行计划的原因?
  3. 思考你曾经参与的最成功的一到两个项目,计划在这些项目中扮演了什么角色?

本文选自《敏捷软件开发实践 估算与计划》第一章,本站经清华大学出版社和作者的授权。
版权声明:51Testing软件测试网获清华大学出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号