使用短迭代好吗?

北大青鸟大学城校区logo 北大青鸟大学城校区
招生简章校园环境师资力量就业明星招生问答软件工程师北京大学学历学员项目联系我们 报名通道

免费在线咨询通道>>

免费在线报名通道>>

北大青鸟报名电话
当前位置:北大青鸟 > 北大青鸟学习帮助 >

使用短迭代好吗?

标签:   分类:北大青鸟学习帮助

“我们为后面的3年制定了漂亮的项目计划,列出了所有的任务和可交付的时间表。只要我们那时候发布了产品,就可以占领市场.”

统一过程和敏捷方法都使用选代和增量开发。使用增量开发一次开发应用功能的儿个小组。每一轮的开发都是基于前一次的功能,增加为产品增值的新功能。这时-你就可以发布或者演示产品。

迭代开发是,在小且重复的周期里,你完成各种开发任务:分析,设计、实现、测试和获得反馈,所以叫作迭代。

迭代的结束就标记一个里程碑。这时,产品也许可用,也许不可用。在迭代结束时,新的功能全部完成,你就可以发布,让用户真正地使用,同时提供技术支持、培训和维护方面的资源。每次增加的新功能都会包含多次选代。

根据capers Jones的格言:“……大型系统的开发是一件非常危险的事情。”大型系统更容易失败。它们通常不遵守选代和增量开发的计划.或青选代时间太长(更多关于选代和填进开发的讨论,以及和风险的关系、生产奉和缺点,Larman指出,软件开发不是精细的制造业,而是创新活动。规划几年之后客户才能真正使用的项目注定是行不通的。

对付大项目,最理想的办法就是小步前进,这也是敏捷方法的核心。大步跳跃大大地增加了风险,小步前进才可以帮助你很好地把握平衡,

在你周围,可以看到很多迭代和增量开发的例子。比如w3c(万维阿眭盟)提出的XMI,规范DTD(Doc岫enll押eDefmm0Ⅱs,文档类型定义),它用来定义XMl文档的词汇和结构,作为原规范的部分发布。虽然在DTD设计的时候就解决了很多问题,但是在真正使用的时候,又显现出很多问题和限制。基于用户的反馈对规范就有了更深一层的理解,这样就诞生了更加高效的第二代解决方案,倒如Schema。如果他们一开始就试图进行一些完美的设计,也许就看不到XML成为今天的主流了——我们通过提早发布获得了灼见和经验。

大部分用户都是希望现在就有一个够用的软件,而不是在年之后得到一个超级好的软件(可以参见《程序员修炼之道——从小T到专家》“足够好的软件”一节[HT00])。确定使产晶可用的核心功能,然后把它们放在生产环境中,越早交到用户的手里越好。

根据产品的特性,发布新的功能需要几周或者几个月的时间。如果是打算一年或者两年再交付,你就应该重新评估和重新计划。也许你要说,构建复杂的系统需要花费时间,你无法用增量的方式开发个大型的系统。如果这种情况成立,就不要生产大的系统。可以把它分解成一块块有用的小系统——再进行增量开发。即使是美国国家航空航天局(NASA)也使用迭代和增量开发方式开发用于航天飞机的复杂软件

询问用户,哪些是使产品可用且不可缺少的核心功能。不要为所有可能需要的华丽功能而分心,不要沉迷于你的想象,去做那些华而不实的用户界面。

有一堆的理由,值得你尽快把软件交到用户手中:只要交到用户手里,你就有了收入,这样就有更好的理由继续为产品投资了。从用户那里得到的反馈,会让我们进一步理解什么是用户真正想要的,以及下一步该实现哪些功能。也许你会发现,一些过去认为重要的功能,现在已经不再重要了——我们都知道市场的变化有多快。尽快发布你的应用,迟了也许它就没有用了。

使用短迭代和增量开发,可以让开发者更加专注于自己的工作。如果别人告诉你有一年的时间来完成系统,你会觉得时间很长。如果目标很遥远,就很难让自己去专注于它。在这个快节奏的社会,我们都希望更快地得到结果,希望更快地见到有形的东西。这不一定是坏事,相反,它会是一件好事,只要把它转化成生产率和正面的反馈。

敏捷项目主要的周期关系。根据项目的太小,理想的发布周期是几周到几个月。在每个增量开发周期里.应该使用短的迭代(不应该超过两周)。每个迭代都要有演示,选择可能提供反馈的用户,给他们每人一份最新的产品副本。

增量开发。发布带有最小却可用功能块的产品.每个增量开发中,使用l一4周左右迭代周期。

切身感受

短迭代让人感觉非常专注且具效率。你能看到一个实际并且确切的目标。严格的最终期限迫使你做出一些艰难的决策,投有遗留下长期悬而未决的问题。

平衡的艺术

关于迭代时间长短一直是一个有争议的问题。Andy曾经遇到这样一位客户:他们坚持认为迭代就是4周的时间,因为这是他们学到的。但他们的团队却因为这样的步伐而垂死挣扎,因为他们无法在开发新的代码的同时又要维护很多已经完成了的代码。解决方案是.在每4周的迭代中间安排一周的维护任务。没有规定说迭代必须要紧挨着下一个迭代。

如果每个迭代的时间都不够用,要么是任务太大,要么是迭代的时间太短(这是平均数据,不要因为一次迭代的古怪情况而去调整迭代时间)。把握好自己的节奏。

如果发布的功能背离了用户的需要,那么多半是因为迭代的周期太长了。用户的需要、技术和我们对需求的理解,都会随着时间的推移而变化,在项目发布的时候,需要清楚地反映出这些变化。如果你发现自己工作时还带有过时的观点和陈腐的想法,那么很可能你等待太长时间做调整了。

增量的发布必须是可用的,并且能为用户提供价值。你怎么知道用户会觉得有价值呢?这当然要去问用户。

若有疑问请拨打北大青鸟咨询热线:010-80146691或点击免费在线咨询!
  • xml地图 网站地图 招生简章 合作企业 学员项目 联系我们
  • 关闭窗口