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

简介:

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

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

 

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

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

 

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


本文转自Walzer博客园博客,原文链接:http://www.cnblogs.com/walzer/archive/2009/12/12/1622544.html,如需转载请自行联系原作者


相关文章
|
4月前
|
程序员
实例告诉你如何把 if-else 重构成高质量代码
实例告诉你如何把 if-else 重构成高质量代码
50 0
|
1月前
|
设计模式
建模底层逻辑问题之以命令设计模式为例,要用定义法建模,如何实现
建模底层逻辑问题之以命令设计模式为例,要用定义法建模,如何实现
|
1月前
|
前端开发
工程代码编写问题之弱约束的概念的应用如何解决
工程代码编写问题之弱约束的概念的应用如何解决
14 3
|
1月前
|
设计模式 测试技术
工程代码编写问题之需求的拆分和组合如何解决
工程代码编写问题之需求的拆分和组合如何解决
17 1
|
2月前
软件复用问题之复用性风险是如何定义的
软件复用问题之复用性风险是如何定义的
|
2月前
软件复用问题之在复用组件降低成本和复用组件引入依赖之间取得平衡,如何解决
软件复用问题之在复用组件降低成本和复用组件引入依赖之间取得平衡,如何解决
|
2月前
软件研发核心问题之在需求拆解过程中,“数据与UI如何关联”的问题如何解决
软件研发核心问题之在需求拆解过程中,“数据与UI如何关联”的问题如何解决
|
3月前
软件的质量特性及其子特性快速记忆表
软件的质量特性及其子特性快速记忆表
35 0
|
11月前
|
测试技术
软件设计原则-单一置原则讲解以及代码示例
单一职责原则(Single Responsibility Principle,SRP)是面向对象设计中的一个重要原则,提倡将一个类或模块只负责一个职责或功能。它最早由Robert C. Martin在其《敏捷软件开发:原则、模式与实践》一书中提出。 单一职责原则的核心思想是:一个类或模块应该只有一个引起它变化的原因。也就是说,每个类或模块都应该只有一个职责或功能,并且该职责或功能应该在该类或模块内部封装起来,而不是分散到多个类或模块中。
71 0
|
测试技术
测试思想-流程规范 用例优先级定义与使用规范 V1.0
测试思想-流程规范 用例优先级定义与使用规范 V1.0
154 0