InfoQ

新闻

InfoQ中文站Agile社区2007年度十大新闻

作者 李剑 发布于 2007年12月29日 上午1时53分

社区
Agile
主题
InfoQ声明
标签
InfoQ,
声明

2007,是InfoQ中文站诞生的第一个年头。

从建站伊始的人手匮乏,到现在的新闻24小时同步;从集中力量同步主站内容,到加强原创内容建设,进一步关注国内社区发展;我们一直在努力。这一年来,一直有您的支持关注相伴,带给我们信心与力量,促使我们为您奉上更高质量的内容;我们,一起在努力。

转眼已是年末。当我们的文笔从青涩变得成熟,当我们从站上的内容、评论中成长,我们也谨愿,在接下来的一年里,我们可以将所知、所学、所思与您一同分享!

下面我们概括了一下本年度的社区十大新闻,希望它们可以帮助您回顾一下07年里您对敏捷开发的认知变化和实践收获。“温故而知新,可以为师矣。”

1.  敏捷的核心:消除浪费,走向精益
敏捷的核心是什么?敏捷给软件企业(以及软件开发者个人)带来的好处究竟在哪里?这个问题有很多不同的答案。例如“重视个人和交流”,软件开发者喜欢这样的态度,这是毫无疑问的。例如“重视可工作的软件”,它的价值是显而易见的。但在这一切的背后,敏捷的核心是什么?畅通的信息渠道、清晰的成本/收益核算、全面消除浪费,这是精益制造的核心所在,也是敏捷软件开发的核心所在。

点评:一千个人眼中有一千个哈姆雷特,同样,对于敏捷核心的理解也是仁者见仁智者见智的。本文中,作者一路娓娓道来,以其丰富的开发经验、敏锐的洞察力和深入的思考分析为我们指出了他眼中的敏捷核心。读罢此文,或许你不一定会赞同作者观点,但或许能帮助你加深对敏捷开发的认识。

2.  讨论:敏捷不是什么?
敏捷不是放诸四海而皆准的通用理论,敏捷不是玄而又玄的文化,敏捷不是在传统项目合作模式下包治百病的金丹,敏捷不是抛开纪律盲目求快。除了这些,敏捷还不是什么?

点评:“敏捷”正在成为越来越热门的词汇,而现今更有一种盲目跟风的趋势,开口敏捷,闭口敏捷,似乎软件开发中的一切问题都可以从敏捷开发中找到答案;更有甚者,借这种风气来趁机炒作自己,“好风凭借力,送我上青云”。如果我们可以了解清楚敏捷不是什么,就可以借一双慧眼看透这些人为制造的重重迷雾。

3.  软件开发社区"宗教信仰"之争风波未息
一石激起千层浪,James O. Coplien在10月9日发布的一篇以TDD为例,将当今的软件开发描述成宗教信仰驱动的文章,在社区里引起了激烈的争论。虽然反对者有之,支持者亦有之,但持有对立观点的双方都有着共同的讨论基础:以事实为依据,以亲身实践为出发点。即:实践是检验真理的唯一标准。

点评:我们崇尚的是一切从实践中来、到实践中去,而不是纸上谈兵,更应鄙弃鹦鹉学舌人云亦云。你身边有对热门技术的盲从者么?还是真正的敏捷技术的传播者?

4.  渐进式敏捷,从下而上的敏捷推行策略
如果组织高层领导大力推行敏捷那当然是好事,但很多时候敏捷的主要推行者还是技术人员和中层技术型管理者,老板们还在等着看他们实践的成果。在这种情况下,有计划、有技巧地采用渐进式的、由下而上的推行方式,可能就是让敏捷在企业中扎根的第一步。

点评:千里之行,始于足下。当你困扰于如何在企业中推行敏捷时,先不要想一口吃个胖子。靠自己小范围的实践来影响周边的人,让别人看到这些实践的价值,也许是更好的推行方式。

5.  敏捷开发实践真的不利于架构设计吗?
增量迭代开发(敏捷实践之一,它意味着每次迭代的产出只是本次迭代范围内的需求)真的不利于产生好的设计吗?Scrum真的提倡“忽视架构问题”吗?如果没有敏捷技术实践的话,架构设计能有效的演化吗?测试先行式的开发真会产生优雅的设计吗?在红绿条提示下的重构循环只在局部小范围内有效吗?

点评:敏捷VS架构,一直都是很热门的话题,那敏捷开发中的YAGNI(You Aren't Gonna Need It)原则和架构到底是不是相悖的呢?按照敏捷开发理论,架构算不算是会造成浪费的预先设计呢?

6.  敏捷遭遇实效营销
实效营销是科技领域的一种产品管理方法论,和那些敏捷软件开发方法相似,它追求价值与原则。当实效营销者遇到了敏捷开发者,会发生什么?

点评:敏捷究竟是否适用于产品开发?ThoughtWorks的三位咨询师都给出了自己的答案。你的意见是什么?

7.  异地项目开发应该如何管理
为了降低成本、提高企业竞争力,现代软件开发中分布在多个地点(甚至多个国家)的项目越来越常见。但分布式项目的缺点是交流成本急剧上升,给管理带来更大的难度。近日在“敏捷中国”用户组展开了一个讨论:当团队分布在不同地点时,项目管理应该如何进行?

点评:分布式团队中的沟通成本一直都是很多开发团队心中的痛,当涉及到几方的文化背景和语言都存在差异时尤为如此。在你所在的团队中,是默认这种情况所造成的影响不断加剧,还是采取一系列的实践和工具来加以改善?

8.  敏捷方法需要文档吗?
有些人认为敏捷不需要文档,甚至不支持任何形式的文档化。Ian Cooper 用敏捷宣言和具体的敏捷方法解释了这个问题。

点评:“敏捷就是不写文档”,你是否也有这样的误解呢?

9.  为什么敏捷实践会遭遇失败?
虽然众多敏捷专家都在帮助敏捷项目走向成功这方面投入了很多精力,但是我们也应当每过一段时间就停下来思考一下,为什么有些敏捷项目或是对敏捷的实施会失败呢?了解了这些以后,或许我们就能在日后的实践过程中躲开前行路上的种种陷阱。

点评:本文中作者描述的可能导致实施敏捷实践失败的种种因素,对于打算在企业内部推行敏捷实践的读者具有颇高的指导意义。

10.  质量是可以谈判的吗?
如果客户对你说,他们对软件的质量不感兴趣,他们只要求在规定的日期必须完成所有规定的事情——你会怎么做?你会听从客户的话在质量上妥协吗?(顺便一问,什么是质量?)

点评:开发人员和客户眼中所看到的,绝不是同一个世界,那我们是否能够真正了解客户所关注的质量目标?我们在抱怨客户固执的时候,有没有想过自己却可能是真正固执的那一个?

2 条回复

回复

推迟决策的那篇也是好文呀。 发表人 Necromancer B 发表于 2007年12月30日 上午7时12分
Re: 推迟决策的那篇也是好文呀。 发表人 凉粉 小刀 发表于 2008年1月1日 下午11时32分
  1. 返回顶部

    推迟决策的那篇也是好文呀。

    2007年12月30日 上午7时12分 发表人 Necromancer B

    具体叫什么名字忘记了:(

  2. 返回顶部

    Re: 推迟决策的那篇也是好文呀。

    2008年1月1日 下午11时32分 发表人 凉粉 小刀

    多谢:)这里的十大只是编者一己之见,意见分歧自是难免了

深度内容

Flex与JSON及XML的互操作

平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。

用Qi4j进行面向组合编程

本文将简要介绍面向组合编程(COP,Composite Oriented Programming)的概念,展示它如何规避OOP存在的一些问题,并重新点燃使用可重用部件组装领域模型(Domain Model)的希望。

系统开发——新学科,新教育

一门新的计算机学科——“系统开发”,强调人性化、匠艺、设计、创意、创新和新事物的涌现,并建议用被称为“bottega”的工作室替代乏善可陈的教室。

图书聚焦:Visual Studio 2008 揭秘

Mike Snell和Lars Powers用他们最近由Sams出版的新书《Visual Studio 2008揭秘》,试图帮助大家提高开发人员的生产力。本文包括一个下载样章——第10章调试。

BPEL为何不是BPM的圣杯?

Pierre Vigneras在本文中讨论了作为标准之一的BPEL所存在的问题。Pierre先给我们大致介绍了一个简单的并行流程,接着讨论了从业者在试图以一个结构化模型为基础表达非结构化流程时遇到的一系列问题。

基于范型的多语言编程

你是否仔细思考过,为什么人们总在讨论“要正确的语言做恰当的事情”?在这篇文章中,Sadek Drobi向你解释了为什么应该在系统内部混合使用多种语言。

采访与书摘《Pro Web 2.0 Application Development with GWT》

Jeff Dwyer就关于他的新书(《Pro Web 2.0 Application Development with GWT》)、GWT1.5以及创建可搜索的Ajax应用谈了一些他的见解。

时刻准备着,迎接IT业的春天

我们需要设身处地地为客户及客户的业务本身着想,与客户同舟共济。更多创新的思路、产品和模式也同样将为IT业带来新的出路。IT业并不需要坐以待毙,在春天到来之后,市场将会更加繁荣!