2008年9月4日上午,IBM Rational软件开发高峰论坛(IBM Rational Software Development Conference China 2008,简称RSDC)正在上海国际会议中心进行中。作为一年一度闻名全球的软件开发人员盛会,RSDC始创于美国,并同时在世界上多个国家举行。继成功举办七次后,这是RSDC第八次来到中国。CSDN(www.csdn.net)将会为您全程网络报道本次盛会。
继优雅而充满激情的Jazz舞蹈拉开大会序幕后,IBM软件集团大中华区Rational总经理夏然做了精彩的开场白。他首先为大家介绍了Rational产品的发展历史,回顾了IBM与Rational共同走过的28年,Rational从一个只有几个人作坊式的小公司做成了全球最有名的软件开发、应用工具的公司,直到被IBM收购后获得了更充分的发展。
在中国市场上,Rational也从2000年的4、5人发展到今天有100多个技术人员的团队,加上IBM在北京的研发中心,Rational有将近200人的团队,销售也以每年50%到60%的增长。
以上内容,由CSDN在阅读全文>
发表于 @ 2008年09月04日 22:15:00|评论(loading...)|编辑|收藏
在Agile2008上,Charles Suscheck演示了怎样用修改后的Rummy玩法,教给大家项目中沟通、计划和协作的重要性。这个游戏对团队的各种分布情况,以及在项目进行中增删人手所带来的影响进行了探索。
在Charles的话题上,参与者分成了三组,每组有5、6个人。
* 第一组被告知,他们只能通过“email”进行沟通。有一个特定的“邮件服务器”,大家通过它相互传递写下的消息。
* 第二组可以通过“电话”交流。
* 第三组没有沟通手段的限制。
每组都有一个人充当“用户”。游戏开始以后,所有用户都会得到完整的游戏规则,其中包括每一轮游戏中的规则变化。除了“用户”以外,其他人将会得到另一套不完整的规则。
在Charles的游戏设计中,会同时出现6种不同的团队:
团队1: 只通过email交流,没有用户参与
代表分布于不同时区的团队
团队2: 只通过email交流,有用户参与
代表分布于不同时区的团队
团队3: 只通过电话交流,没有用户参与
代表没有文档的团队
阅读全文>
发表于 @ 2008年09月04日 22:01:00|评论(loading...)|编辑|收藏
每个有经验的程序员都知道,在软件开发中存在着一些规律。但是,破坏了这些规律并不会得到惩罚,相反会有些许奖励。
1 任何一个程序一旦发布就意味着它已经过时了。
2 让需求根据程序调整往往要比让程序根据需求调整来得容易。
3 如果一个程序是有用的,那它必将被改变。
4 如果一个程序是无用的,那它必须被注释。
5 在任何一个程序里只有10%的代码会被执行。
6 软件会无限扩张以占用所有的系统资源。
7 任何有价值的程序都会包含至少一个错误。
8 一个演示版的程序完美无瑕的几率和关注它的人数成反比,最终要花费的金钱的数量是原数量的平方。
9 一个程序的致命错误要到其发布至少半年后才会被发现。
10 不可检测的错误是无穷无尽的,并以各阅读全文>
发表于 @ 2008年09月03日 19:59:00|评论(loading...)|编辑|收藏
下午去DDJ上晃了一圈,上面公布了最新的
一个关于敏捷的调查结果。这个调查是由知名敏捷工具厂商VersionOne发起的,在今年六月和七月中进行,共收到来自80个国家3061个参与者提交
的结果。大部分参与者都是敏捷的team leader、教练或是咨询师,他们所处公司中,绝大部分的开发队伍少于100人。
报告显示:有17%的公司已经完全采纳了以Scrum为主的敏捷开发方法。有多于66%的受调查人士反映采取了迭代规划、单元测试、每日立会、发布规划和持续集成等实践。不过结对编程的普及率就没有那么高了,只有31%的人使用了该实践。
在报告中,最让我感兴趣的是人们从实施敏捷实践中得到了哪些价值,辛辛苦苦把其中的统计数字转成饼图,请看下面的数据。
阅读全文>
发表于 @ 2008年09月02日 19:29:00|评论(loading...)|编辑|收藏
主持人:潘加宇
UMLChina首席专家,潜心研究和实践UML/UP相关技术的应用。
Borland宣布将在秋季发布软件开发管理平台Borland Management Solutions(BMS),这个平台位于建模工具Together、需求管理工具Caliber、配置管理工具StarTeam等现有的ALM产品之上,在高层掌控项目的进展。新平台添加了以下工具:TeamDemand,让业务涉众能随时查看与其业务单元相关的项目进展;TeamFocus:高层的项目管理系统,支持不同的开发过程;TeamAnalysis:智能管理工具,可度量项目的进程、预测项目的进展趋势。除了支持Borland自身的工具外,BMS平台也会支持Microsoft Project、HP Quality Center等其它厂商的工具。
8月4日至8日,Borland在Agile 2008大会上展示了BMS。研发副总裁Pete Morowski作了“Driving Agile Transformation from the Top Down”的演讲,这是Borland逐渐打出敏捷旗号的迹象。
B阅读全文>
发表于 @ 2008年09月01日 19:37:00|评论(loading...)|编辑|收藏
最近有许多文章都讨论了为什么许多面向服务架构(SOA)行动都以失败告终。7月初,Burton集团副总裁兼研究总监Anne Thomas Manes 在其公司的动员大会上表示:“大多数SOA案例的失败都是人员和文化问题的结果而非技术问题”。对于她的观点我表示非常的赞同。
我们现在知道SOA行动的失败应该归咎于谁了―――人员,愚蠢的人员!但为什么他们会造成SOA失败呢?让我来解释一下。
1 他们未能解释SOA商业价值
IT人士最常犯的错误之一就是单纯从技术角度处理SOA。他们在架构、治理和厂商评估上花费大把的时间,这是好的,但是他们却忘记了SOA必须解决实际的业务问题。因此,他们会发现当他们花费了许多时间和资金去建立架构之后,业务方面的人员没有人能理解其中的好处,对这项技术也并不感兴趣。
建议:从实际的业务问题着手。这就是为什么BPM(业务流程管理)对于SOA来说是杀手级应用软件的原因。通过改善业务流程并将其自动化,BPM能够解决许多业务问题。它提供了操作性能的可视性,在没有IT介入的情况下允许流程改变以提高敏捷度,消除废物以降低成本等等。首先,我们阅读全文>
发表于 @ 2008年08月27日 21:15:00|评论(loading...)|编辑|收藏
设计模式
举个例子来说:
有一面墙,现在要让一组人翻过去。
前面三个人用了三种不同的翻墙方式。后面排队的人发现第三个人的方式更好。所以他们都重复第三个人的翻墙方式。
这时,我们就可以说第三个人发现了一种“模式”。
通过这个例子,可以很容易的明白:模式是一种解决问题的思路,而不是具体的做法。
就好像大家都使用一种方式来翻墙,但具体到翻墙的动作时,每个人都会根据自己的身高、体重、体力等做适当的调整。至于先出左手还是右手就更是因人而异了。
在软件开发领域,设计模式是为解决某一类问题而提出的一种解决方案。因此,设计模式本质上是思想,而不是代码。
只不过为了让大家更容易理解,所以几乎所有讲设计模式的书都会把各个设计模式用代码体现出来。
正如《设计模式》一书作者所言,设计模式并不是拿来就用,而是要根据实际情况来写出合适的实现代码。
所以同一个设计模式,在 java 中是一种实现方式,在 php 中又是另一种实现方阅读全文>
发表于 @ 2008年08月19日 17:48:00|评论(loading...)|编辑|收藏
最近在 PHPChina 上看到一篇帖子,问到“大家习惯用原生SQL语句还是用框架封装的DB类?”。这里所谓“原生 SQL 语句”就是指手工书写的 SQL 语句,而不是框架自动生成的 SQL 语句。
对于这个问题,有些开发者认为根据个人习惯选择就行了。但是我认为这里面实际上有个深层问题,那就是框架的设计思想对开发者的影响。
如果框架的数据库服务仅仅是“简化数据库操作”,那么使用原生 SQL 就无所谓。因为用框架数据库服务的核心思想就是用自动生成的 SQL 语句来完成大部分常用的数据库操作,从而达到简化开发提高效率的目的。
遵循这种设计思想的框架,不管其数据库功能有多么强大,本质上仍然是围绕“数据”提供服务。所以查询的结果,显然就是一个个的数组。即便提供了 ActiveRecord 模式,也仅仅是数组的简单阅读全文>
发表于 @ 2008年08月19日 17:09:00|评论(loading...)|编辑|收藏
你是什么血型的?当有人这样问你时,你可能以为是志愿者在鼓励义务献血,或是小女生在探察你的个人资料……但如果求职申请表中出现这个问题,你可能就困惑了:难道工作还与血型有关?啊哈,真让你猜对了!血型还真就和工作有关系。据血型专家的调查研究,每种血型的人都有一些性格共同点,而这些性格共同点一旦与测试工作相结合,就会碰撞出不同类型的软测精英。
稳中取胜的A型人
“我思故我在”应该是该血型的最佳点评。A型血人属于“思考型”人,思维判断很有条理,考虑问题细致周密,主张完美主义,具有持之以恒的精神和极强的责任感、使命感。在某软件公司担任测试工程师的封哲就是一个A型血人。工作中,他常常陷入沉思,会议中,他总是最后一个发言。深思熟虑让他的工作成效显著,常常让领导同事大跌眼镜。所以《集结号》上映后,王金存就成了他的代名词。“我没那么厉害的。”当听到大家善意的调侃时,他总是腼腆地涨红了脸。不过,这个温吞如水的大男生也有着倔强的一面。“有次测试模块,测了好久都没发现问题,正准备通过时,他不同意,非要继续测。当时觉得他这人真较真。”同事小王回忆说,“不过,多亏了他的‘较真’,我们才发现了一个隐藏很深的、阅读全文>
发表于 @ 2008年08月05日 20:55:00|评论(loading...)|编辑|收藏
1. 你们的项目组使用源代码管理工具了么?
2. 你们的项目组使用缺陷管理系统了么?
3. 你们的测试组还在用Word写测试用例么?
4. 你们的项目组有没有建立一个门户网站?
5. 你们的项目组用了你能买到最好的工具么?
6. 你们的程序员工作在安静的环境里么?
7. 你们的员工每个人都有一部电话么?
8. 你们每个人都知道出了问题应该找谁么?
9. 你遇到过有人说“我以为…”么?
10. 你们的项目组中所有的人都坐在一起么?
11. 你们的进度表是否反映最新开发进展情况?
12. 你们的工作量是先由每个人自己估算的么?
13. 你们的开发人员从项目一开始就加班么?
14. 你们的项目计划中Buffer Time是加在每个小任务后面的么?
15. 值得再多花一些时间,从95%做到100%好
16. 登记新缺陷时,是否写清了重现步骤?
17. 写新代码前会把已知缺陷解决么?
18. 你们对缺陷的轻重缓急有事先的约定么?
19. 你们对意见不一的缺陷有三国会议么?
20. 所有的缺陷都是由登记的人最后关闭的么?
21. 你们的程序员厌恶修改老的代码阅读全文>
发表于 @ 2008年07月31日 22:13:00|评论(loading...)|编辑|收藏
出色的软件工程师善用设计模式,勤于代码重构,编写单元测试,并对简单有宗教般的追求。除了这些,优秀的软件工程师还要通晓10个概念,这10个概念超越了编程语言与设计模式,软件工程师应当从更广的范围内明白这些道理。
10. 关系数据库 (Relational Databases)
关系数据库因为在大规模 Web 服务上缺乏可扩充性而颇受微词,然而,关系数据库仍然是近20年来计算机技术中最伟大的成就。关系数据库对处理订单,公司数据方面有着出色的表现。
关系数据库的核心是以记录表示数据,记录存放在数据库表,数据库使用查询语言(SQL)对数据进行搜索与查询,同时,数据库对各个数据表进行关联。
数据库的标准化技术(normalization)讲的是使用正确的方式对数据进行分存以降低冗余,并加快存取速度。
9. 安全 (Security)
随着黑客的崛起与数据敏感性的上升,安全变得非常重要。安全是个广义的概念,涉及验证,授权与信息传输。
验证是对用户的身份进行检查,如要求用户输入密码。验证通常需要结合 SSL (secure socket layer)进行;授权在公阅读全文>
发表于 @ 2008年07月25日 23:04:00|评论(loading...)|编辑|收藏
从火箭连胜看团队素养
―― 也谈程序员的团队精神
动笔写这篇文章时,火箭已经被凯尔特人终止了连胜,辉煌的记录已然成为往事。
围棋大师聂卫平直言作为球迷“火箭22连胜纯属瞎蒙”,也是球迷的我对此实在不能苟同,我同意大师开玩笑的说“中国足球要进步,请我当主教练还差不多”,因为那帮不争气的家伙确实没什么值得国人期待的,但要说火箭是蒙到NBA联盟第二的连胜记录,实在有些过于牵强和片面。诚如湖人队的科比在与火箭对战之前所言“火箭是让人尊敬的,在NBA,创造记录从来都没有偶然”。
什么是火箭连胜的秘诀,当家球星麦蒂给出了答案:“火箭是依靠团队的力量,不是靠某一个人赢得比赛”。巴蒂尔也说:“我们连胜的秘诀就在于我们是个无比团结的团队,打法系统和相互信任,这就是两大因素。”
还记得2006年1月23日,科比带领着湖人以122-104战胜多伦多猛龙,单场砍下81分,当科比下场时,斯台普斯中心球馆的球迷全体站立鼓掌欢呼,连现场解说员也变得语无伦次,媒体更以“最接近神的男人”大肆报道,这是何等荣耀……可阅读全文>
发表于 @ 2008年07月24日 23:28:00|评论(loading...)|编辑|收藏
开源安装工具
前段时间做一个产品的安装程序,试用了几个开源的安装打包工具,感觉不错,总结一下。
1、NSIS
关于 NSIS关于 NSIS在用户使用你的应用程序之前首先会体验到你的安装程序。慢慢悠悠的或不成功的软件安装是很恼人的问题。一个快速友好的安装程序是展示你的软件产品品质的一部分。
NSIS (Nullsoft Scriptable Install System) 是 Windows 下的一个工具,它允许程序员来创建这样的安装程序。它发布于一个开源的协议并且对于[url=AppendixG.html#G]任何使用来说都是完全免费的[/url]。
NSIS 创建的安装程序能够安装、卸载、设置系统设置、解压文件等等。因为它基于脚本文件,你可以完全的控制安装程序的每一部分。脚本语言支持变量、函数、字串操作,就像一个普通的程序语言一样 - 但是设计来创建安装程序。即使有那么多的特性,NSIS 仍然是最小的安装程序系统。在默认选项下,它仅增加了 34 KB 的开销。
特性列表特性列表
* 生成包含可执行安装程序的外壳
* 支持 ZLIB, BZ阅读全文>
发表于 @ 2008年07月23日 23:16:00|评论(loading...)|编辑|收藏
SAP中国研究院院长芮祥麟先生在北京的办公室里接受了CSDN的专访,就近期有关SAP的热点话题与大家分享了他的看法。
就SAP收购BO(Business Object)后,相关产品的整合,芮祥麟表示,根据著名研究机构IDC的统计,BO在商务智能(BI)世界市场以占据了约15%的份额位居首位,在未来,SAP的BI工具不会因过分强调整合而破坏BO产品的完整性,而重在实现产品的优势互补,平衡发展,在重叠产品方面,在市场和功能上占据优势的产品将最终胜出。事实上,两家公司在产品集成方面的技术工作早在收购之前就已开始,例如报表领域,BO也一直是SAP最大的合作伙伴,在相关的业务流程方面双方也做了很多的共享和标准统一工作。
对于近期非常流行的SaaS模式,芮祥麟表示,SaaS的优势在于充分利用了互联网的优势,SAP将从两个方面来看待SaaS,一种方式是传统的做法,客户不需要购买服务器和数据库,所有的产品都在线提供,统一部署运行在SaaS供应商的服务器上,客户只需要购买相应的服务即可。考虑到数据安全性和用户的接受习惯,这种方式在短期很难实现;另外一种方式是,服务器和数据库可以由SaaS供应阅读全文>
发表于 @ 2008年07月22日 21:30:00|评论(loading...)|编辑|收藏
InfoQ中文站昨天报道了Camry Hyrid项目首席工程师过劳死的消息。这不是一个好消息,不过其所引起的讨论让人们将目光再一次聚焦在IT人员的工作上面。和很多知识型工作一样,IT工作者尤其是管理者也强调激情,在前几天所讨论的一个“如何评价一个人是否适合XP?”话题中还提到,“引入一个新人之前,要看看这个人是否具备加入XP团队的热情和渴望。”。
毋庸置疑,激情很重要,很多公司都讲究Passion。比尔·盖茨离职的时候,很多媒体对其在微软公司创建初期的激情工作大家渲染,并归结为:如果没有比尔在当时努力的工作,微软不会那么容易脱颖而出。看鲍尔默的演讲更是,他的激情会点燃每一个人,好像这个世界就是他自己的,无所不能。苹果公司也是,无人能怀疑乔布斯对工作的热爱。金山公司也是,据说雷军在公司上市之后不久就去了国外治疗抑郁症,原因是激情过了头。
激情确实很重要,但这是指“适度的激情”,如果说燃烧过度,那么就要小心爆缸。而且激情不应该只在自己身上燃烧,而应该普及到整个团队中。在InfoQ中文站的报道中,精益软件的作者Maryland说“如果大家只是把工作当成一大堆要干的事情自己抗起来,阅读全文>
发表于 @ 2008年07月22日 21:18:00|评论(loading...)|编辑|收藏