Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > UP & XP之争,意义何在?
【标  题】:UP & XP之争,意义何在?
【关键字】:UP,XP
【来  源】:http://www.blogjava.net/ghawk/archive/2006/04/23/42691.html

UP & XP之争,意义何在?

Your Ad Here

不光是做软件,凡是做产品,最后关注的总是产品的质量

举个例子,比如你做一锅汤:
今天你状态很好,做完后尝了尝,感觉很美味,你的家人尝了以后也有同感,喝完后感觉心情舒畅、意犹未尽。
隔了一个礼拜,你做同样的汤给家里人喝。做完后你尝了尝,感觉依然美味,盼望着得到家人的赏识,然而他们却说味道咸了点。你很奇怪,为什么同样自己尝过了,家里人却感觉不一样呢?是不是最近加班多了,休息不好,味觉不准了?
一个月过后,你要去国外出差,给家里请了个临时保姆。一天,他也做了这么个汤,做完后,他也尝了尝,感觉口味很不错,可是端上桌,家里人说这汤太辣了。原来这保姆才从湖南老家出来不久……

因此,只把焦点放在最后的产品上往往是不够的。需要对“做汤的过程”加以控制。所以工程界会比较关注过程的管理,在软件领域也称作“软件生命周期管理”。

再来看看UP和XP。它们都属于软件过程,只不过各有特色。

再拿刚才那个做汤的例子:
大家都听说过德国人的厨房像化学实验室,天平、计时器、量杯……装备齐全,再配上精确的菜谱,严谨的德国人能够确保不用尝那最后一口都做出口味基本一致的汤。
换了中国人,大部分人都不会模仿德国人做菜的方式。解决方案很简单,让你的太太和孩子都尝那最后一口,再根据反馈调整几次,同样能做出全家人满意的汤。

这个例子也许不太贴切,但是可以联想一下:德国人做汤倾向于UP;中国人做汤倾向于XP

UP和XP最终目的都是为了保证产品的质量,不同的是,两个过程所强调的方法不同。我想,没有人会说“UP的目的在于变态地追求文档的完美”、“UP是为了要程序员学会写各种各样文档”……之类的话。同时,也没人会说“XP就是不要文档只要代码”、“XP就是要变态地追求完美的代码”……这样的话。

这些不正确的看法,只是人们对于这两种过程的误解。或许是来自于开发人员和项目经理的那些“不堪回首的经历”。

“UP害惨了整个软件行业,让开发人员没完没了地写文档而忽略了代码,XP才是王道”这样的话,我不敢苟同,仍然有很多企业使用着UP这样的重型软件工程,就好比德国人依然喜欢把厨房弄得像个实验室。

XP固然是个好东西。但是,不知道大多数人对于XP的热衷是出于对XP文化的理解,还是国人惯有的“一窝蜂”似的行为。不晓得一个“能够熟练阅读代码的Leader”是不是能够真正运用好XP,确保他的团队能够尽可能少地出现"Over engineering"这种违背Agile精神的东西,或是能够让他的团队保证“每周只工作40小时”这样的基本实践?

对于不同的技术和过程,应该给予冷静的分析和慎重的选择。每个过程和技术都不能以“正确”或“不正确”来定性,只能以“合适”和“不合适”来定性。因为正确或不正确是要严格证明的,而合适不合适是来源于工程实践的结果。所以,COBOL依然在金融领域起着举足轻重的作用,科学家们仍不忘Fortran,汇编和C仍然健在……

另外不得不提的是文化上的差异。为什么很多时候,我们学习国外的先进技术,购买了整套生产线,引进了全套图纸,请国外专家做了详细的全程化培训,国人生产出的产品品质依然不如国外原产的?这是每个中国人都应该思考的问题……

?

程序员的能力系列题目更名的声明:【上一篇】
OpenCms 系列讨论 (3) OpenCms的中模块的制作(包括如何制作JSP模板,绝对超值,完全图解版本)。:【下一篇】
【相关文章】
  • How to backup and how to restore Solstice DiskSuit
  • Visual Studio 2005 Express free permanently
  • XQuery表达式之逻辑表达式(Logical Expression)
  • 暴力注入Explorer
  • bea usergroup归来
  • XP应该是老板的最爱,而不是程序员的首选
  • Eclipse Tips: Update StatusLine in postWindowOpen
  • Export/Import 使用技巧与常见错误
  • XP提示hal.dll文件找不到,无法启动
  • Neon Responder (Dos,Exploit)
  • 【随机文章】
  • JSP中的TagLib应用(3)
  • 点击关闭窗口
  • 在Eclipse中使用JDK帮助
  • vim编辑器的设置tab的缩进深度
  • 今天开发
  • 用VC++实现软件的版本在线升级
  • ASP自动解压RAR文件
  • 用推送技术动态更新页面内容
  • ORACLE DATE和TIMESTAMP数据类型的比较
  • ORACLE联机日志文件丢失或损坏的处理方法(转载)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.