极限建模与可执行模型 个体和交互 胜过 过程和工具 敏捷软件开发 译者邓辉 揭开UML美丽的面纱--实话实说《UML:Java程序员指南》 我在软件开发方面有不少实践和研究,也参与过不少项目的开发。在合作过的许多程序员当中,我发现其中大部分人存在着这样一种情况:他们不是努力去提高自己开发高质量程序的能力,而是把大量的精力都投入到研究一些CASE工具的操作使用和UML的语言细节上。他们认为只要使用CASE工具绘制出一些漂亮、规范的UML图,就是在进行面向对象设计,就是一种高级的软件设计行为。这种错误的想法非但不可能帮助这些程序员产生出高质量的软件,还会成为他们职业生涯发展的绊脚石。糟糕的是,目前的一些教育培训并没有对这个问题给予足够的关注,而且一些市场炒作使问题变得更加严重。 平衡敏捷与规范 很久以前,在一片充满隐喻的土地上,住着一头大象。很多年来,这头忠实的大象一直都是他所居住村庄主要的食物采集者,并且非常清楚这个村庄需要什么。他在丛林中修建了一条路,这条路总是能指引他找到最好的根茎、蔬菜、坚果和水果等食物。他知道哪种水果用鼻子可以够得着,也知道哪种水果需要鼻子去晃动才能摘取。他很强壮,能够一次带回足够好几天吃的食物,所以他总是预先估计这个村庄的需要,并提供恰当的供给。他恪尽职守,整个村庄的人都很感激他,并认为他的工作很有价值。 碰巧有一天,这只疲倦的猴子遇到了那头气馁的大象。这只试图在背负重物的情况下快速奔跑的猴子发现大象背上的筐可以装得下那么多的食物。而大象也被猴子的速度震撼了,他能跑得那么远,他能那么轻而易举地就拿到大象竭尽全力也无法获得的食物。这两只动物,虽然都以自己的技能而自豪,但还是承认了对方在某些方面技高一筹。 12条原则, 敏捷实践区别于重型过程的特征所在。 1.我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。 2.即使到了开发的后期,也欢迎改变需求。 3.经常性地交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。 4.在整个项目开发期间,商务人员和开发人员必须天天都工作在一起。 5.围绕被激励起来的个体来构建项目。 6.在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。 7.工作的软件是首要的进度度量标准。敏捷项目通过度量当前软件满足客户需求的数量来度量开发进度。 8.敏捷过程提倡可持续的开发速度。 9.不断地关注优秀的技能和好的设计会增强敏捷能力。 10.简单——使未完成的工作最大化的艺术——是根本的。 11.最好的构架、需求和设计出自于自组织的团队。 12.每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。 字体:大 中 小 |
![]() | 永久地址 http://www.shengfang.org/blog/p/XPDEV.php |
![]() | 引用地址 http://www.shengfang.org/blog/tb.php?tb_id=1125380406 |
2005年8月30日13:40星期二 [Info资料]





