当前位置:编程学习 > JAVA >>

“极限编程+交互设计”很牛吗?

在6月6日上海交大举办的“敏捷技术专家论坛上”,软件技术大师Martin Fowler神采奕奕。在1个多小时的精彩演讲和现场编程后,Martin和来自业界的几位敏捷技术专家就诸多敏捷技术的相关话题进行了交流,掌声、笑声、还有观众的频频举手提问,连绵不断,气氛异常火爆。现场共搜集到了观众递交的问题大约3、40条,当然,因为时间的原因,Martin没有在现场一一作答。不过,这些问题将作为Martin的家庭作业。大家不要忘了登陆他的Blog检查他的作业完成情况哦!

Martin的中文博客地址:http://blog.csdn.net/mfowler/

敏捷技术专家:

上海交通大学软件学院 副院长:林德璋 教授
Java视线?站长:范凯
Ajax中国网站?站长:李锟
UMLChina网站 技术专家:王海鹏
Jaction Group 技术专家:杨戈
J2EE技术专家:庄表伟

以下是专家对话的一些精彩片断。(现场大部分用英文交流,以下内容由韩锴翻译整理)

林德璋PK Martin:“RUP是楷书,XP是草书”对吗?

李锟 PK Martin:“极限编程+交互设计”很牛吗?

李锟:我问Martin的第一个问题是:(speak in English)我是一个敏捷软件开发的爱好者,特别是极限编程。我也是一个交互设计和以使用为中心的设计的爱好者。我认为将两种方法论结合在一起可以产生高质量的软件,同时非常好的满足用户的需求。我曾经读过一篇Kent Beck和Alan Cooper在2002年1月的访谈,似乎两种方法论之间存在着一些冲突。我还阅读了Thomas Technologies公司的Jeff Patton写的一篇文章,他们找到一些将两种方法论相结合的很好的方法。我在ThoughtWorks的一些朋友告诉我,你们也在尝试将两者结合起来的方法。您能为我们介绍一下这方面的情况吗?

 

Martin:我可以介绍一下这方面的背景情况。这些年以来,我跟很多人交流过交互设计和以使用为中心的设计。他们希望能够捕获到用户的需要,并且可以使系统更关注于用户的使用。Alan Cooper是这个社区(community)的一个重要成员。这个社区存在的一个问题是他们在工作中或者一个提交中,趋向于假定把过程放在最重要的地位。这是与敏捷的思想不相符合的。这也是与Kent Beck和Alan Cooper的想法相脱节的,这两个人在你刚才的提问中提到,他们曾经接受采访。值得一提的是Jeff Patton在这方面确实做了很多有意义的工作,他是thoughtworks美国公司的员工,他使得交互设计得以应用于敏捷过程。然而,Jeff是一个非常受欢迎的人,我们把他和客户安排在一起,希望他能与客户有良好的合作。但是所有的thoughworks的员工都希望能给Jeff多一些时间,让他完成他自己的著作。

郭晓:李锟提到的Jeff Patton原来在Thomas Technologies工作,现在已经在ThoughtWorks工作了。

Martin:他已经为ThoughtWorks工作了一年或者更长时间了。我不能在这里过多的谈论事情的进展。但是如果你想抱怨Jeff的书为什么还没有出来,你可以去“责怪”Markku(ThoughtWorks全球首席执行官),去问他这件事情。我认为Jeff的这些是很有价值的。交互设计我认为是非常重要的,我们发现它非常值得去尝试,我希望知识传播的越快越好。不幸的是,写一本书需要付出很多很多艰辛。

李锟:我刚才听到Martin刚才讲到敏捷开发方法的一个核心理念就是对于人本身的重视。我在这几年学习敏捷开发方法的过程中对这一点体会也比较深。我现在想问Martin一个关于人本身的一个问题:每天8小时没有加班,只是一种很理想的状况,但是在很多公司里面存在着大量的加班的状况。有一个最近的例子是华为公司的胡新宇,他倒在自己的工作岗位上面,因为过度的加班。很多年以前,我也是华为公司的员工,我对这件事感到非常的悲哀,我知道在中国很多公司都存在这样的一种加班的文化,加班是取得晋升的诀窍,代表着这个员工对这家公司的忠诚度,而且实际上在很多公司这种加班实际上是一种半强迫的性质,我也知道大多数的开发者都憎恨这种开发。就是短期的加班没有问题,但是长期的会带来很多的问题。我想问一下Martin对这个问题怎么看?在ThoughtWorks怎么控制加班的情况?

Martin:这确实是一个非常重要的问题。在我上个世纪末参与的Netscape的一个咨询项目的时候,这个问题让我十分的困扰。我参与团队的一些工作。他们开始工作的时间是10点至11点,这个不好预测,但是他们工作到很晚,有的时候要到凌晨两三点。有的时候我们需要在下午开一个会,来开始一天真正有意义的工作。所以,在凌晨的那些工作通常是工作变得更复杂,制造了很多的错误。这并不能够提高团队工作效率。另外一种情况是,他们并没有按照Manager告诉他们的方式去工作,而是随心所欲的进行工作,从而忽视了他们犯错误的因素。软件是一项复杂的工程,需要你同时考虑很多,所以,当你头脑不太清醒的时候完成的工作会存在很多问题,往往需要花很多时间去解决这些问题。所以当你疲劳了,就不要再继续工作了。因为这会给整个团队和项目带来负面的影响。还有一个最大的问题,项目管理者很多时候没有写过代码,或者是一

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,