www.Walzer.cn - Tech & Management Blog

Focus on mobile dev
本博客文章,未在标题中写明转载的, 均为原创.
所谓高手,也就是熟悉别人制定的游戏规则、并且能在规则内跳舞的人。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

开发方法的“轻”和“重”定义

Posted on 2009-12-12 15:55  Walzer  阅读(461)  评论(0编辑  收藏  举报

本文由Walzer.cn原创,欢迎转载分享,但转载请注明出处,保留原文博客链接,谢谢!

 

轻量级开发方法和重量级开发方法的本质区别,在于开发过程中的中间产物(如文档、图纸、工作日报/周报)数量多少。中间产物数量越多,则开发方法越重,开发者需要花更多时间去做那些无法体现在最终交付结果之内的工作。比如花了30%的时间在写详细设计文档,5%的时间在写工作日报和周报等等。用图表示如下:

可以看到,过程中有很多“中间产物”,如需求文档、概要设计文档、详细设计文档、测试文档、测试结果报告、工作日报/周报/月报等。按照网上流行的说法,重量级方法呈现的是一种“防御型”的姿态。在应用“重量级方法”的软件组织中,由于项目管理者不参与或者很少参与程序设计,无法从细节上把握项目进度,因而会对项目产生“恐惧感”,不得不要求程序员不断撰写很多“软件开发文档”及“工作日报/周报/月报”。

 

而轻量级方法则呈现“进攻型”的姿态,如下图:

轻量级方法强调所有工作都与交付结果强相关,尽量减少无关的工作,使得开发速度更快。当然XP方法里有个重要前提,就是团队中的程序员必须都是高水平的、可信任的。这种方法比较激进,每个过程拉得更长,而审核时若无法通过,则需要返工的工作量比重型方法中的多,结果可能导致“欲速则不达”的结果。

 

具体哪个方法好,这个还在争论。觉得凡事无绝对,适合自己团队的方法,就是好方法