桃之夭夭
知天之所为,知人之所为者,至矣。知天之所为者,天而生也;知人之所为者,以其知之所知以养其知之所不知,终其天年而不中道夭者:是知之盛也。
BlogJava | 首页 | 发新随笔 | 发新文章 | 联系 | 聚合 | 管理

2007年3月30日

X-Files
刚才和李默同学回忆了一下,发现我自从入行以来做了很多x项目...下面一一列举一下。

1. IEC61970 Metadata: Electricity Power Trading System

当时刚上班,team里有一个Doamin知识很厉害的清华的博士,毕业的论文就是电力市场,而清华又是国家引入IEC61970的五家之一。所以他很超前的把这两个东西结合在一起,做成了一个系统。说实话,刚了解IEC61970的时候,我是相当的震撼的,有赶上那时候MDA风气刚起,IEC61970又是同时MOF(Meta Object Facility)和RDF based,华丽得不行。一下子我就变成了一个MDA guy,一个metadata guy...以至于,在BJUG最初的2年里,MDA/MOF/Metadata成为了主旋律...

2. IEC61970 & CWM(Common Warehouse Metamodel) & Office Plugin : Data Warehouse Integration System

这是迄今为止,我最不愿意回忆的一个项目...因为Office Plugin...动辄蓝屏的遭遇让我心有余悸...这是一个backend是J2EE,frontend是.Net的office插件系统,主要是报表...两边都使用CWM作为数据统一的形式...基本上做到一半我的意志就崩溃了...

3. DB Migration/Refactoring : Jyxpearl

这个项目...是李默同学的私房最爱,从大学一直做了很久,改版无数次...当时没有这么流行的好词,什么DB Migration啊,DB Refactoring啊,那时候我们统称导数据...我导了好多会...基本上线一回导一回...时至今日...李默同学总是不无得意的说:你看,你DB Migration的能力就是我培养的...

4. JMI(Java Metadata Interface) & Eclipse RCP : Multi/Rich Client ERP Product

这个team其实挺华丽的,老栾的产品经理,李默是开发经理,超级资深行业专家(人家实际做过生产科长,MRPII,ERP都是人家玩剩下的)老齐做需求,俺是Architect,还有动物园里的猪Senior Dev,我认识人中美工能力第一交互设计能力第一的米米姐做UI和交互。由于当时看了netbeans和sun的官方JMI实现得太玩具。我们决定从自己的JMI实现开始,系统结构要求多客户端,web,rcp都要...所以是超轻http协议的b/s,c/s。结构还是不错的,过程李默和我当然是敏捷了。似乎一起都超级完美的时候,就是要坏菜的时候...企业事业部解散了...

5. Java Communication & Eclipse RCP : IC Card Reader

上面那个项目解散之后,我跟李默赋闲在家,有不忍心打扰政府,自谋生路找的项目...这个项目要用IC卡读卡器,为了锻炼我们的Eclipse RCP能力,我们决定用eclipse rcp来做。于是问题就出来了...IC卡怎么办?google一把发现天无绝人之路...Java有一个Communication包,可以连接serial port...不过当时tricky的是...我的本子没有串口,我们买了一个串口到usb的转换器...发现根本不能用...于是只好跑到李默家用他华丽的台式机(这厮当年誓言旦旦的说,laptop太慢,一定要用台式机,东借西借搞了个2G RAM SATA[注意,这是伏笔]的机器)。我当时就觉得,Java的这个东西基本就是充数的,貌似完全没有人用过,文档啥的都特少...只能自己摸索。在经历了无数次失败之后,终于成功了。在showcase那天的上午,我最后实验了读卡什么的,都没问题。兴高采烈的把jar拷到优盘上,刚插到usb口上...只见一道闪电...机器黑了...据李默后来分析是主板烧了...我说没事,拿上硬盘,土一点也不影响showcase。李默说...这个...SATA耶...还不流行呢...我绿...此后很长时间,我都怀疑是我跟李默同学范冲,超级项目杀手...

6. RDF, Semantic Web, SparQL : Ontology-Relationship DB Mapping

这是在一家公司做产品,当时我元数据/MDA领域颇有积累...跟这家公司做得类似,就过来负责研发本体到关系数据库的映射...兼带在D2RQ的基础上实现一个SparQL查询语言。怎么样...听上去很华丽吧...到现在我都认为,这个项目是我最有潜力的牛皮,不定那天web x.0了,我也老了,我就可以拉着小朋友的手去吹牛b了"05年我就做semantic web,O/R mapping知道不?Ontology啊,你们啊,sometime too simple"...不过估计这一天还早得很呢

7. Agile Domain Specified Language : Goodhope

这个也是李默同学有份的项目...话里的敏捷DSL实践...不过说实话,也有点X...
posted @ 2007-03-30 22:52 Raimundox 阅读(5156) | 评论 (3) | 编辑 收藏
 
Agile 101: CoC & Why Agile is Hard
我常常听到这样的观点:敏捷软件开发并不是真正的革命性的方法,它所采用的技术大多都是古已有之的。比如迭代,你看很哪本软件工程的教科书上没有提到迭代开发呢?在比如说User Story,看上去也不只不过是Use Case的翻版而已吧!甚至我看RUP也和敏捷方法没有太大的区别吧!
要我说,这些人要么是不真的了解敏捷开发,没有认识到敏捷开发的革命性,只是用外在的形式来把它和其他方法进行了比较。有又或者是实施敏捷方法的时候不彻底,所以四处碰壁以至于搞起了修正主义。最可怕的就是某些大公司,看敏捷火了,总有包装一下,到底还是要卖产品。敏捷软件开发就是一个革命性的方法,只不过它要颠覆的不仅仅是低质量的软件开发方式,更重要的是,它要颠覆软件生产企业和软件的使用企业之间的生产关系!!这一点在敏捷宣言里写得再明白不过了

Customer collaboration over Contract negotiation

敏捷软件开发,就是要以一种更合理的共赢的合作关系,代替以前畸形的采购式的合约关系。为什么合约关系就是畸形的?我们来看看合约双方的处境。

首先软件团队方面承担了过多的风险:业务变化,改代码!!商业抉择转换,改代码!!凭啥你甲方的缘故非要我承担额外的成本?你说我冤不冤?冤!但是人家甲方也冤!!人家花了大把的银子,拿到一堆不能用的软件(你要是硬件人家还能转手卖点钱),就像你要砍树别人给你把铲子,你要种树人家给了你把锯。搁你,你也不愿意。且不说博弈,就算双方都有心把事情做好,按合同来,甲方不干;不按合同来,乙方不干,最后变成“有心杀贼无力回天”,大家一起扯扯皮等二期算了。lose-lose,没有赢家。

那么合作的关系是什么呢?合作的关系就好比你去subway买三明治,面包你自己选,要什么肉你来挑,蔬菜,cheese,酱汁你也自己看着办。技术我来,口味你选。技术失败我负责,口味不合适你负责。你做你的强项我来我的强项,最终大家高高兴兴嘻嘻哈哈不吵不闹,作出一顿可口午餐。这是时候,生产关系变了,我不是你的冷冰冰的供应商,你也不是我邪恶的客户,我们是拴在一根绳子上的蚂蚱。成功是我们的,失败也是我们的。荣辱与共,携手并肩。听着有点耳熟?没错,SaaS。敏捷宣言早就说了,CoC啊。从供应商变成服务商,从服务商变成战略合作伙伴,这是在给软件企业指出路,新的生产关系已经尽在其中了。

如果看不清敏捷的这个根本革命点,以为还是开发方法的小打小闹,那么敏捷根本实施不成。这话一般我不敢说的,程序员自发实施敏捷,只在一种情况下可能成功:大企业的IT部门。再赶上个强力的IT领导,自家人嘛,有什么不好谈的。一来二去,就成功了(看看C3,说白了不就是IT部门和业务部门?)但是,如果是做项目的公司,你营销手段不改变,敏捷就不可能成功。你的客户跟你不是合作关系,你通过敏捷增加质量(符合性质量)的工作就不会被人可,那么就不能成为投资,只能是成本。当成本增加到不可承担的时候,敏捷就不了了之了。为什么好多人说老板没有响应?旧的生产关系下敏捷根本就是负担。

说道这里,说一下以敏捷闻名的ThoughtWorks。其实很多人都以为ThougtWorks只有方法论咨询,没错我们是有方法论咨询,但是也有业务模式咨询,客户业务模式不改变,他怎么能彻底敏捷?这点大家不可不查啊。
posted @ 2007-03-30 06:53 Raimundox 阅读(5162) | 评论 (4) | 编辑 收藏
 
随笔:35 文章:0 评论:85 引用:0
<2007年3月>
日一二三四五六
25262728123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

  • 我的随笔
  • 我的评论
  • 我的参与
  • 最新评论

留言簿(12)

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类

  • ThoughtBlog(20) (rss)
  • 学而篇第一(15) (rss)

随笔档案

  • 2007年11月 (1)
  • 2007年9月 (2)
  • 2007年8月 (1)
  • 2007年7月 (1)
  • 2007年6月 (1)
  • 2007年5月 (2)
  • 2007年3月 (8)
  • 2007年1月 (1)
  • 2006年10月 (1)
  • 2006年8月 (1)
  • 2006年3月 (1)
  • 2006年1月 (3)
  • 2005年12月 (12)

搜索

  •  

最新评论

  • 1. re: A Day of Two Pragmatic Programmers' Life
  • 能否将联系方式发到silkcut@163.com
  • --jj
  • 2. re: Misquotation
  • 哈哈
  • --Jack.Wang
  • 3. re: Selenium Better Pratice
  • 评论内容较长,点击标题查看
  • --林勇
  • 4. re: Selenium Better Pratice
  • 你好!
    还有个疑问:看sourceforge 上的文章,说Selenium是支持SAFS。这在应用中如何体现出来呢??
    非常感谢!
  • --joycezhou
  • 5. re: Selenium Better Pratice
  • 评论内容较长,点击标题查看
  • --joycezhou

阅读排行榜

  • 1. Selenium Better Pratice(6287)
  • 2. Feng Shui for Standard ML Programmers(5562)
  • 3. The Keyword 'end' Drives Me Crazy(5445)
  • 4. Why Rails so effective? Delphi Inside(5200)
  • 5. I'm Smalltalk, Which Programming Language are You?(5170)

评论排行榜

  • 1. 丧钟为谁鸣?(1)(10)
  • 2. Selenium Better Pratice(10)
  • 3. A Day of Two Pragmatic Programmers' Life(9)
  • 4. Say sorry to Object-Oriented Methodology(4)
  • 5. Agile 101: Pair Programming & Simple Design(4)

Powered by: 博客园
模板提供:沪江博客
Copyright ©2008 Raimundox