Scrum Master也山寨 (之二) -- 傀儡Master

笔者通过分享一家外资知名公司的Scrum Master面试经历来和大家分享下为什么Scrum Master会成为'傀儡'...
阅读(5709) 评论(10)

Scrum Master也山寨

就Bob大叔最近的关于Scrum一篇深入的批判性文章,笔者愿意结合7年敏捷的经验,就当下流行的Scrum Master和大家深入的探讨下。...
阅读(5852) 评论(13)

Scrum是在这些方面‘被失败’

最近,Bob大叔就采纳Scrum/Agile是否有短板的疑问作出了其“七宗罪”的回应。他说到,总的来说Scrum是有些严重的缺陷,并且也就大多数已经采用了Scrum的团队提出了避免这些问题的建议: 技术上没有建设:Scrum是个项目管理的框架,却没有针对技术做出任何建议。Bob建议团队“需要借鉴其他敏捷的方法学,比如XP(极限编程)。XP在技术方面的这套实践是很有帮助的:TDD(测试驱动开...
阅读(4431) 评论(2)

来自石器时代的困惑

本文是Uncle Bob对软件行业由来已久的三个颇具争议的问题的回应。其中有小部分与其它一些篇章太有相关性,不易阅读,译者未将其纳入本文之中。有兴趣的朋友可以参考Uncle Bob原文。 TDD这个世上还有人还觉得TDD会导致开发速度减慢的话,就好像是活在石器时代的人一样。对不起,不过这可是事实。TDD不会令你变慢,它只会使你加快。  好吧,...
阅读(3724) 评论(3)

TDD精神障碍综合征

近期,我的一些关于TDD、设计模式、同步乃至数独问题的博客好像招惹了很多TDD反对者的怨言。不乏有人态度粗鲁、具攻击性、嘲枫、轻蔑而且不成熟。嗯,万圣节就快到了。 尽管他们自圆其说,但确实也提出了一点儿合理的疑问。为了公平起见,我想在这里回答会比较合适。 TDD有科学依据吗? 确有充足的依据。 用Google简单检索了下,...
阅读(5140) 评论(4)

容器外的JSP页面测试技术

Jsp测试技术开发web应用程序最恼人的一点就是想要测试的话你就必须向将其部署好。当然,并不是所有部分都这样。如果你是经过了精心的设计的话,你可以在Java程序中测试业务逻辑。你可以在应用服务器不运行的情况下测试数据访问、接口以及存储过程。不过如果是测试GUI的话(由Jsp所产生的HTMl),你就必须向将其部署,然后才可能测试。很多的团队求助于Sellenium,Mercury或是其他的一...
阅读(9233) 评论(1)

SOA归根到底是什么?

关于此的好的、坏的想必你都已经了解得很多了。本篇文章会抛开商家们的流言蜚语,用一种简单易懂的方式来阐述面向服务编程。这会是你所看到关于SOA的独一无二的介绍。在日常业务中有些事物并不时常改变,比如说美国加油站一直以来都在用加仑为单位销售汽油,餐馆依然使用菜单,牙科医生还是会每六个月就销售一次清洁用品。每种业务都会有一些方面不时常变动,而这部分往往占据了是业务的绝大部分。我们就称这些为核心业务功能(...
阅读(7865) 评论(4)

用户界面测试系列之一

GUI测试是测试驱动开发的经典难题之一。很多团队在他们项目中的很多部分都采用过TDD,但却因为某种原因而无法在GUI模块中充分进行。在这一系列的撰文中我要告诉你GUI测试其实是个可解决的问题。这些年来,TDD社区已经积累了一些工具、框架、类库或是其他的技术。这些技术让你能够完整的测试GUI代码就像测试其他模块一样。Ruby on Rails在Web开发世界里,没有任何社区能够像Ruby...
阅读(8805) 评论(0)

晦涩的Java日期处理

本文实在是旨在对Java标准库中日期处理之晦涩不堪现状的怒斥。在你反驳之前,请确信你了解过Joda(译注1)。我们问题的引发是因为所交付的客户不接受(因为某种原因)在其项目中使用开源的资源。我与我的同事们最近在开发管理类库的一个简单的Java应用程序。昨天,我开始编写一个用来计算过期图书的罚金的模块,完成该模块就要算出截止日期与当前日期的间隔天数。其实也就是两个日期做下减法,可是,Java标准...
阅读(11281) 评论(6)

软体艺术系列--抽象工厂 (原文最终修订于2006年10月18日 凌晨04:25:06)

2002年三月四日,星期一早上11点钟...我可不想还像上周五那样迟到,于是就和大家一同走入会议室,而且看见Adelaide正要准备开始演说。我们的小小团队成长的迅速。有几位同事我还都没见过面。数了数,房间里座着25位成员,Jean也在其中。为了引起注意,Adelaide敲了敲桌子,大家也都坐定。她很显然,有些紧张,不过也信誓旦旦。于是先镇定了一下,然后就开始了演说。“大家好,Jasm...
阅读(6892) 评论(0)

结对编程的成熟度模型 (原文最终修订于 2006-10-08 上午10:52:35)

上周,我花了四个工作日的时间和Tim Ottinger坐在一起来开发FitNesse的一项新功能。考虑到Tim在FitNesse上还是个新手,于是我就从先为他介绍一些底层架构开始,然后再一起开发新功能。看来Tim觉得这样还挺管用,随后他就要求把自己添加到了可修改FitNesse的人员列表中。我们一起开发的功能是一个新的导航功能,叫做“向后查找”。它支持你按照如下方式来定义页面:其中的Som...
阅读(8605) 评论(2)

敏捷的底线

过去的四年以来,软件业一直在努力的追赶着像是极限编程这样的敏捷方法的步伐。它们有什么好处呢?能奏效么?我们是不是应该去相信这些关于它们的传言呢?我们是不是也应该在项目中进行尝试?这些结论值得信赖么?刊物、文章都在对应用敏捷方法所带来的难以置信的效果大肆的进行渲染,也有一些文章把敏捷方法贬损为使得软件开发倒退回石器时代的方法。我们听说过人们为此而取得的了不起的成就,也听说过其他一些人告诉说敏捷让...
阅读(9501) 评论(0)

面向对象设计的11原则--你称得上OO专家么? (原文最终修订于2006-04-10 下午06:19:40)

面向对象设计是什么?都包含了哪些内容?它所带来的好处是什么?需要你为之付出些什么?在如今这个年代,问这些问题似乎显得很愚蠢,因为这年头几乎每位软件开发人员都知道如何使用某种面向对象编程语言。可是这个问题还是很重要,因为在我看来,绝大多数人在使用这些语言的时候并不知道为什么,而且也不知该如何最充分的运用它们。软件业曾经爆发过的所有变革里,其中曾经有两个派系如此广泛的深入人心,它们就是结构化编程和...
阅读(16622) 评论(0)

软件文档--扬弃还是传承 (原文最终修订于 2006-04-12,上午12:41:14)

在本人的《敏捷软件开发:原则、模式与实践》一书中曾提到“Martin对编写文档的第一原则是:除非是必须马上撰写文档而且意义重大,否则的话就干脆不要写它”。有些人把这个意思曲解为敏捷开发一种不需要文档的开发过程,这并不属实。文档是所有软件开发过程中必不可缺的环节,打着“敏捷”的幌子拒绝编写文档是一种不健全的偏激行径,而且这与那些不假思索就容忍产品中包含十几种不同文档,且自称是“开发过程的终极回归...
阅读(6964) 评论(0)

赛门铁克公司的极限之旅

摘要经过了极限编程的洗礼,赛门铁克的开发人员、测试人员、技术撰稿者和管理者们都感到收获颇丰...甚至其高层管理者都为之震撼正文这是一个阳光明媚的三月早晨,我在犹他州的American Fork市,这里的小型工业园区被Wasatch众山所环绕,其中有一座双层建筑,在它的二楼的一间宽敞的四面玻璃的房间里,25个工作人员(一共有120位工作人员)正环绕着中间的一组办公桌和电脑围成一圈。这是一...
阅读(8360) 评论(1)

Java,C++和Ruby的性能PK(续文)--关于凸包算法(convex hull)的效率

译者序本篇blog实际上是Bob大叔对xreborner的一连串的发贴给于的回复(xreborner在上篇blog中对Bob大叔提出了一系列犀利的维护C++权益的观点)。正文我在最近的一篇blog中对比了C++、Java和Ruby的时间消耗,其中一个参与者(xreborner)提交了一个convex hull的凸包算法代码。我花了好久来研究其中的蹊跷,直到把算法绘制于图上,才发现自己是...
阅读(9930) 评论(0)

让软件走近“恐怖地带”的元凶--未经测试的代码 (原文最终修订于 2006-09-05 晚上10:33:27)

Cedric Beust(译注1)在最近一篇blog中引用了我的几篇发贴,其中包括关于“junit邮件列表”,“测试覆盖率需达到90%以上才算是有效代码”,还有“如果没有这么高覆盖率的话,那就一种非专业行为”(译注2)等。Cedric对此的回复是这样的:那是有点极端了,不过也并非全盘错误。而这句话没能鉴别出来的是其实有太多种层次上的“非专业”。我都能想出一些比“发布未经测试的代码”来得更严重的...
阅读(6383) 评论(0)

使用Mock Object危险么?(原文最终修订于 2006-09-02 下午03:53:51)

Cedric Beust(译注1)在最近的一篇blog中提到:“使用Mock Object(译注2)能给你的是虚假的满足感,所以你应该避免使用它们,除非迫不得已。” 使用Mock Object的动机是确保所模仿的对象能够被正确的使用,这与确保系统在整体上能够正常地工作是两码事。实际上,这是单元测试和验收测试之间必要的不同之处。单元测试只测试一个单元(唏嘘之声~)。一个优秀的单元测试只测...
阅读(7630) 评论(1)

三大编程语言的性能PK--Java, C/C++和Ruby (原文最终修订于 2006-09-05 下午06:19:40)

译者序本文虽然标题略有争议,但Bob大叔撰写此文并非是要说明Java>C/C++>Ruby,而是延续上篇“性能调优--永远超乎想象”的风格,借以说明程序的性能一般都超乎我们想象的观点,因此请读此文的C/C++爱好者少安毋躁:-)正文你可能会觉得下面的图表比较有意思,因为它是分别用三种编程语言(Ruby, Java, C/C++)写的埃拉托色尼质数过滤算法(译注:Sieve of Era...
阅读(39766) 评论(207)

性能调优--永远超乎想象 (原文最终修订于 2006-08-28 晚上11:48:38)

多年以前,我在开发一个C++的应用程序。我的同伴Jim Newkirk(当时的)过来告诉说,我们的一个公用函数运行得非常的缓慢。这个函数是用来转换二进制的树结构数据为普通文本,并存储到文件中的。(这是在XML出现之前,但概念类似于XML) 我审视了这个函数一会儿,发现了一个线性查找算法,于是毫无疑问的将这个线性查找算法替换为二分查找法(译注:binary search),然后就把这个函数交回给...
阅读(12055) 评论(9)
33条 共2页1 2 下一页 尾页
    个人资料
    • 访问:265167次
    • 积分:3050
    • 等级:
    • 排名:第11030名
    • 原创:2篇
    • 转载:0篇
    • 译文:31篇
    • 评论:296条
    最新评论