2008年12月17日星期三

复杂度如何更好分解

几个月前的一篇Blog——软件复杂度的构成中,已经对软件开发复杂度的构成有了分析。

The Boeing 747-400 “Jumbo Jet” has six million parts, of which half are fasteners. It contains 171 miles (274 km) of wiring and 5 miles (8 km) of tubing. Seventy-?ve thousand engineering drawings were used to produce the original 747 design. It is a very, very complex machine, and because of this complexity, no single person can have a complete understand of how a Boeing 747 works. Yet, this is a machine ?rst designed in the 1960s — modern aircraft have multiplied the level of complexity many times over. The only approach that will allow human beings to design such incredible machines is to break them down into smaller, more understandable modules.

——From 《OSGi In Practice》

除了问题域带来的复杂性之外,还有其他两个维度:
1)软件开发是多个个体通过分工协作进行智能产出的Process,人员的组织和Process的风格,当团队Scale后引入了人为因素的复杂性
2)技术作为工具,在不断发展更新,技术和工具的使用的同时也会引入额外的复杂性(配置和约定,不同语言的集成,操作系统/数据库/应用服务器/框架,更多的成为黑盒子,将程序员划分为不同的家族)

通过分而治之是解决复杂性的王道:通过抽象和松耦合集成,下放复杂性到内聚的子模块,上层很简单下层充分自治。

在软件开发团队管理方面,ScrumMaster只是Coaching的角色,让团队自己决定技术方向实现并承担失败的责任;在工具方面,Eclipse将各种IDE功能下放到松耦合的不同插件中去,而自己的OSGi+Plugin内核相对简单。

直播目睹的两个147分

昨晚通过网络直播目睹了丁俊晖在英锦赛对希金斯的1/8决赛中的第三局,打出了难得的单杆147分满分,尽管最终以大比分4:9被希金斯淘汰,但凭借此满分,很有可能(在后面的比赛中没有其他选手打出满分)获得满分奖和最高分奖——价值30000英镑。这是我第二次在电视直播中目睹单杆满分,很兴奋。这三万英镑不一定被丁俊晖独揽的原因,就是奥沙利文这个牛人经常打出不可思议的精彩比赛,在今年的UKChamp决赛的决胜局中,面对后起之秀塞尔比,一点都不保守,有一个贴库的红球本来可以在确定胜局后再来处理,为了打满分,还是坚决敢打,将胜负置之度外,进入享受比赛挑战自我的境界。



2008年12月8日星期一

你愿意增加支出吗

昨晚小崔说事中,作家张贤亮说——作为改革开放的既得利益者,要真正地保卫自己的既得利益,有两条:一条使更多的人受改革开放之益,也就是改革开放要扩大它的受益面,让更多的人享受到改革的成果;第二是不断深化改革开放,使制度不断完善。

clipped from: chinese.wsj.com
许多学者表示,如果中国想在未来几年继续保持快速增长,持续提高居民生活水平,就需要纠正这一失衡的比例。刺激国内消费者增加支出将有助于支撑经济增长,降低中国经济对出口的依赖,但除非中国政府减轻中国家庭在教育、医疗和养老方面的负担,否则国内消费者支出不会增加。增强人民体质、提高人民文化素质也有利于推动经济增长。

然而,打造一个社会保障体系在中国已被证明是项尤为艰巨的挑战。中国国家主席胡锦涛和总理温家宝已经提高了对社会项目的重视程度,但项目支出的步伐通常赶不上政府承诺。1997年,中国政府曾表示计划到2000年将每年国内生产总值(GDP)的4%用于教育。这个目标从未实现:去年中国教育总支出仅占GDP的2.8%。

中国人力资源和社会保障部农村社会保险司司长赵殿国近期在联合国一个论坛上表示,我们不缺少目标。我们所缺少的是实现这些目标的具体政策和举措。

而且增加社会支出在中国不可思议的困难,原因是负责项目融资和运行的政府部门常常不明确。中国是个有着庞大行政体制的大国:有31个省、333个市、2,859个县和694,745个村。几十年来,北京方面在社会支出上一直缺乏指引,通常是让地方政府自己筹措资金。

相比只会花钱的社会保障项目,地方政府通常更有兴趣支持能提高税收收入的工业项目。比如,城市低保户收入保障项目只触及到了符合低保标准人群的一小部分,而且在最近几年中享受低保的人群并没有明显的扩大。

北京方面常常无法控制地方政府的财政支出项目,地方政府关注的首要问题与中央不同。地方政府官员抱怨说新项目缺乏资金保障,而中央政府官员则担心他们拨到各省的资金可能会去向不明。Capital Economics驻伦敦的马克•威廉姆斯(Mark Williams)说,中央政府很难监控地方政府的财政支出。

缺乏社会保障体系是中国消费者大量储蓄的原因之一。城市家庭的储蓄额占了收入的逾四分之一,而且比例还在逐渐上升。这种节俭与其说是显示了勤俭持家的美德,不如说是显示了大部分家庭背负的巨大压力。

面对要求采取更多刺激措施向消费者提供更为直接的援助的呼声,中国领导人可能会在未来的几周中采取更多措施。不过长期的解决办法还要求理顺中央和地方政府间的分工,这项棘手的任务可能会需要花数年时间。

秀一下我的Scrum Master证书



这可不是什么假证,上面还有Ken Schwaber的电子签名哦

2008年12月7日星期日

Scrum和我系列之———群众基础

理越辩越明,思想在碰撞中激发,问题在探讨中找到出路。

Wiki,群众的智慧,三个臭皮匠顶个诸葛亮(三个皮匠是第一线)

Bob的想法很务实。

Team中队Scrum和敏捷的认识,也许只是表现出来的一些实践(每日例会,Cross-function team,自动化测试和持续集成),并不知道为什么不知道如何改进。他们需要知道这些吗?知道和不知道有什么区别

Scrum需要team的了解和理解和支持,需要有广泛的群众基础

如何扩展群众基础的几个思路:
1)通过新媒体建立自由讨论的社区
2)让Scrum Retrospect Meeting起到作用
3)让Team行使自己的权利,做出自己的判断和行动,看到改变的效果(我始终相信,在外企中的不少人还是希望在工作中做些让自己有成就感的事情,但是这种希望和冲劲被抑制了),有了Feedback,尝到了甜头就是最好的开始。

2008年12月5日星期五

Scrum和我系列之———开场白

许久没有静下来写关于自己的Blog了,很有可能是太忙的缘故,这时候我总是试着拿自己调侃:忙忙忙,到底是真忙还是假忙?忙的是有意义的事情还是瞎忙?

回想最近一个多月所作的事情,其实还是不少。在Cometa上个也是第一个Sprint中,Maven和Production Pipe环境搭建,让我真实实践了一把XP Practice——Maven and CI,这种切实的实践让我对如何带领一支Java团队在技术上一步步敏捷化有了足够的信心(在IJO的时候只是在使用也知道原理,但这次是真实的动手操作)。在技术兴趣方面,对TCard的技术选型有了比较清楚的路线图——OSGi成为架构的核心,先以Riena作为基础架构;然后重构RCP端的UI部分,实现自动更新;最后考虑增加Web版本,直接挂在OSGi 后端业务server上。

昨天刚刚参加完CSM培训,两天的培训相当充实,老师讲得不错,不少东西还亟待以后思考消化。在培训之前做了不少的准备:再次读了一些书,和同事在中午散步时讨论对Scrum的理解和感受,介绍一些Scrum的资料给新的员工。在Scrum Master狼叫声中(一种形象的问候和勉励方式),大家写下并交换了自己打算在培训后采取的行动,我拿到的是Bob的:Brief the basic idea and some practical issues to our team,很切实很有意义;而我的似乎有点很难实现:在Team中采纳真正的Scrum实践,并Ask for support from management level。今天中午散步时本想把自己的真知灼见布道给同事,却没想到被泼了一身冷水:Scrum还是其他什么Process,无论是team leader还是Line Manager还是Scrum Master,换汤不换药,只管做事拿薪水,I don't care那些虚的东西。

从前两天的对实践Scrum的渴望激情,到现实的无奈的思考,真有点冰火两重天的感觉。很想找个人进行交流,只好以Blog作伴,将自己的所有想法和理解用理性的文字陈述出来。

希望在此系列谈论的话题包括(此时能想到的):0)一个人的单打独斗 1)Waterfall的经历 2)初始Scrum 3)从技术/People/需求的视角化解复杂性 4)Defined VS Empirical 5)Lean,改变世界的机器 6)Scrum Master是角色不是职位 7) 合格的Scrum Master是个会教育孩子的父母 8)XP实践是推进Agile的利器 9)公司文化和组织架构如何影响Scrum演进 10)Component VS Feature Team 11)透明/Owner/Reputation/开源文化 12)自下向上的草根革命 13) 因为Simple所以Difficult/容易背骂名

2008年12月2日星期二

非要把事情闹大了才有效果?

团结也是一种力量,老百姓也不傻,只是很能忍。
clipped from news.sina.com.cn

  11月以来,重庆城区、海南三亚、甘肃永登和广东汕头等地发生一连串出租车罢运事件。反思这些事件暴露的一些问题,折射出当前改革发展面临的一系列深层次矛盾,更加说明深化改革的紧迫性和必要性。

  国家行政学院教授张孝德认为,目前每一级政府和部门都有信访机构。关键的问题是,一些部门不能及时认真回应群众的利益诉求,陷入“大闹大解决,小闹小解决,不闹不解决”的管理怪圈。

  张孝德说:“应对复杂多元的利益诉求,政府部门需要新的智慧和勇气。”如果包括工会在内的行业组织或社会组织得到积极健康的发展,就能减轻政府解决社会矛盾的压力。但目前的状况是,出租车司机缺乏能代表其利益的行业组织。

  出租车罢运事件频发,从一个侧面再次折射垄断之弊。

  针对出租车的行业垄断,3年前重庆“的哥”杨孝明提出了“人民出租车公司”的构想。但是,当杨孝明向重庆市运管局申请“出租车经营指标”时,却被拒绝。

  事实上,杨孝明被拒绝给予的是一种垄断性的公共资源———出租车经营权。

  黄奇帆说,出租车公司拿走的钱约占七成,扣除购车等成本和税费,一辆车每年约有4万元盈利,不受物价、油价上涨等成本变动影响,旱涝保收,收益平均每年达50%,有的甚至高达70%,实在是“全世界投资回报率最好的行业”。

  一些司机说,出租车公司纯粹是一个垄断制造出来的“食利”阶层。一些公司拒绝制定行业营业收入标准和统一的8小时工作劳动定额,拒绝为司机购买社会保险。

clipped from news.sina.com.cn

  解决“加气难”,是这次重庆出租车罢运的诉求之一。在重庆,一辆出租车加天然气一般要等1个多小时,最长要等3个小时。这不仅严重影响了出租车营运收入,也加剧“打的难”状况,群众怨声载道。

  有关专家说,“加气难”等供需矛盾,虽然根本上反映了要素市场改革不到位,但另一方面也说明,相关部门离服务型政府的改革要求还有相当距离。

  “让政府的归政府,市场的归市场”。地方政府和部门必须从生产者、监督者、控制者的多重角色中走出来,切断与企业等市场主体的利益脐带,按照科学发展观要求,向维护公平正义和提供公共服务的角色转变。

 blog it

2008年11月28日星期五

贫富差距之痛


clipped from news.sina.com.cn

  如果印度富人知道如何去分配他们的财富,这种社会动荡或许会趋向消弭。但正如啤酒大王马尔雅承认:“印度没有集体利益,只有特定利益。”当然,在马尔雅的法则之外也有“特例”,譬如普雷姆吉就在教育方面投入了成百上千万美元。但无论如何,印度政府的行动能力,因新富人阶层在税收上的欺诈行为而大大地削弱了。印度慈善事业的最大捐助者,不是印度任何一位富豪,而是美国人比尔·盖茨。

  在一些走向现代化的发展中国家,由于制度、文化和环境等因素,普遍存在的现象是,只有少部分人口享受到经济发展的成果,社会贫富差距急剧扩大,社会阶层之间矛盾累聚。富裕人口生活方式穷奢极欲,缺乏对整个社会的责任心。相反,他们时常动用已有的经济优势和政治权力贪婪地攫取财富;而占大多数的贫困人群生计艰难,由于社会资源被前者独霸封堵了他们向上流动的路径,前途渺茫。由此造成的结果是富者越富、贫者越贫,社会怨恨情绪不断酝酿和膨胀,社会犯罪率呈恶性上升趋势,导致整个社会面临着失控与崩溃的危险。

blog it

2008年11月20日星期四

XMind in Eclipse - XMind - Social Brainstorming and Mind Mapping

XMind in Eclipse - XMind - Social Brainstorming and Mind Mapping

这是我见过的和程序开发无关的最好的Eclipse插件,一边用XMind整理思路,一边写Code,一切尽在Eclipse.


鱼骨图,XMind要比FreeMind好多了

Posted using ShareThis

2008年10月7日星期二

工作中的两个想法(一)

在NSN工作了一个半月了,随着对NetAct产品的了解和敏捷团队的融入,有一些感受和想法。

以前没有接触过像NetAct如此庞大的应用系统,部署和运行在网络运营商的内部网络中的网络管理软件,一言以蔽之就是收集网络中的各种元素(网元)的运行状态信息,展示给业务操作人员,并进行远程的配置和管理。但由于要符合网管标准和考虑到和其他网管系统还有上层Business Level的系统集成,运行的高可靠性,及方便快捷地更新和升级的要求,系统就变得复杂起来。

整个系统架构的特点就是:非常多的松耦合的进程,通过协作完成所有功能。这种设计的结果就是非常细粒度的模块,被不同的团队所负责,不同的模块形成不同的小的Layer,系统整体上很复杂,但或多或少受人为和历史包袱所致。

以前开发的应用基本都是在Java虚拟机进程的范畴内,通过将业务员逻辑细分为不同的模块,数据流是和线程绑定的,线程是对外部消息和请求反应的执行载体,一般不会把数据流的操作划分为自治的多个线程,通过线程间通信来实现。

对于动态性的部署需求,Java社区中的OSGi热也许是未来的一个发展方向。

当前项目团队中需要能够扮演Architecture的角色,讲解每个模块的由来和未来如何发展,扮演Product Owner的Scrum 角色。

2008年10月3日星期五

三言两拍

最近中央二台经济频道对华尔街金融风暴的不断报道,加上前段时间阅读了《货币战争》,有一些浅显的想法和判断在此陈述,让时间去印证。

无论是否如《货币战争》描述的阴谋论那样——世界的金融命脉被少数金融家族掌控,通过控制作为世界货币的美元的发行机构美联储,通过通货膨胀和金融风暴交相出现的周期中,不断给世界人民剪羊毛,但这次金融风暴的各种迹象都很神似。美国的信用体系(各种金融机构,到最终的国家信用——美国的国债)的机器运转到了崩溃的边缘,世界需要一种稳定的经济体,有足够的信用承担起世界货币的管理(发行,平衡),而不受任何利益集团的左右,欧元、人民币、日元是候选。

全球化需要世界货币,但像美联储这样不负责任的货币发管理,发展下去最终会给人类文明带来致命打击,人类将自己毁灭自己,也许最应该回到金本位的时代,但似乎不可能了。

次贷危机以及金融风暴还没有到最严重的时候,现在可能只是中场;波及的范围之广,中国是无法逃脱的;中国的经济到了一个拐点,向下走刚刚开始,股市还没有见底,楼市不知道能硬撑多久。

今天晚上的一个专题报导,讲的是国际的资本炒家的热钱悄然进入中国的艺术品市场,通过媒体炒作并抬高并没有多少价值的中国油画的价格,希望中国本土的那些艺术品投资人(而不是收藏家)成为最高价格的接盘者,像80年代的日本人那样。

市场是一个自适应的系统,可以优化资源配置并为商品定价,但当市场中来了一群另有所图的有钱人,并且他们的目的不是来买东西的时候,而且满足下面的两个条件时,这个市场的一些作用就会失灵:
1)市场中漫布着温和的通货膨胀的味道
2)充满了想短时间暴富的投机人和被逼无奈的寻求躲避通货膨胀的投资人,这些人足够傻,只关心金钱的数字变化
3)这个市场还比较稚嫩,没见过大的世面,或者视而不见

对艺术品市场的热钱炒作的结果是:画家——画廊——拍卖行——收藏者的价值链的形成,他们收入的全面扭曲导致的——从美院走出的学生的金钱化,美院招生的火热,和画画相关的服务业的兴起。但当这些热钱得到自己的收益全身而退后,剩下的是艺术品市场的一片狼藉,需要很久才能恢复元气,有多少人被诱惑和毒害了,尤其是那些从事艺术的学生。

我们要有清醒的认识,我们的国家到底是什么德行,我们的艺术品市场到底有几把刷子,我们的股票市场中到底有几个好的公司,我们的房地产市场到底会不会一直上行。我们需要也正在民族复兴,但不是在外国人的几句赞扬声中就觉得了不起,深入的经济体制和政治体制改革还在路上。

Scrum from Ken Schwaber at Google Tech Talks

Ken Schwaber is the owner of the scrummaster trademark, a course in Scrum software development process. He is one of the leaders of the agile software development movement, and a founder of the Agile Alliance.

Ken worked with Jeff Sutherland to present Scrum as a formal process at OOPSLA'95. They have extended and enhanced Scrum at many software companies and IT organizations.



2008年9月28日星期日

如何学习/引入/改进敏捷

1) 敏捷实践和技术是和团队和团队所在的环境紧耦合的,不是跨平台的
2) 敏捷背后的哲学(价值观和原则)是抽象的,需要通过具体的敏捷实践来表达
3) 先看到别人是怎么实践的是第一步,活学活用是最困难的
clipped from www.infoq.com
很多人都只是片面的关注具体实践,而不是它背后的哲学。如果你只是一味的采用实践,对这套体系的哲学理念置之不理,还想有多好的成效,那可能吗?
……
我觉得要学会怎么实践敏捷,最起码要花上几个月的时间。你得进入团队,用敏捷的方式工作,你需要查看所有的因素是怎么配合到一起的。这要经过几个月的练习才行。
学过唯物主义认识论的人,或者说,能够有清晰缜密的思维逻辑的人应该都清楚,我们是先要认识世界,然后才能谈得上改造世界。换句话说,是先认识到问题所在,然后对症下药量体裁衣去 解决问题。假如,我们能够有一个统一的认识:为客户交付高质量的软件,能够适应客户不断变化的需求,在成本和收益之间达到最佳的平衡,消除潜在的或是明显 的浪费,能够让客户收获最大的ROI(Return of Investment);那么问题就很明显了——为了达到这样的目的,我们需要采取什么样的手段?
Jeff Xiong在敏捷中国内说过的一段话
我不要敏捷

我要致力于消除软件开发中的一切浪费

blog it

2008年8月26日星期二

重拾U2经典

今晚为新手机号选择彩铃,在U2和Scorpion之间最终选择了《I Still Haven't Found What I'm Looking For》,没有特别的寓意,只是觉得很舒缓。bye the way, this song is 丹峰's favorite song.


听Eage的电吉他的声音,这是U2旋律的一大特色(还有就是鼓点),其不停拨动年轻的不能压抑的冲动和成熟的淡定的心绪。

U2是大学的初恋,陪我走过骚动苦闷的那几年——时常会想起租房住的拮据,想起丹峰的吉他,也许黄舒骏的那首《窗》最能体会我当年的苦涩。

One love,One blood,One life,U2的最有深意的一首歌《One》中的歌词和北京奥运会的One World,One Dream有些联系,也许应该让U2来给北京奥运会写歌。

百度贴吧上U2的歌迷这么评价:U2的歌感情,思想性比较重;U2的歌可能要多听几次才出味;过几年就会发现,U2就像老夫老妻,即使不那么刺激但能陪伴你一辈子.

U2的几个兄弟们都老了,我也何尝不是,在NSN一个星期的最深的感受就是:这里是年轻人的地方,廉颇老矣。

2008年7月28日星期一

武林外传真的很棒



第一次在电视上看到在播的武林外传,一堆穿着古装的人脑来闹去,第一感觉是很无聊。谁知看进去后发现很有意思,一发不可收拾后就买了整套的压缩版DVD,花了一个月的时间和老婆在家一集不拉地看完。

吸引我的而且觉得很不错的原因有两个:首先,确实很幽默,情节短小精悍,演员发挥得好;其次,比起传统的情景喜剧更有创造性,古代和现代,流行音乐,英语,历史的穿梭,借着古装表达了对人生、爱情、社会思考,有点后现代的味道。

有几集印象很深刻:
1)“上头有人”
2)莫掌门和岳不群正当武林盟主的比武赌盘
3)郭芙蓉和祝无双的上演的“我拖我拖我拖拖拖”
4)吕秀才绕晕姬无命
5)大嘴对惠兰的一见钟情

2008年7月15日星期二

诚实——是敏捷的价值观吗?

其实,没有价值观的认同,任何一个团队,公司和组织都不可能会聚集体的力量。
clipped from www.infoq.com

“诚实是敏捷的价值观”这个说法看来得到了越来越多人的认同。价值观也被更多地认为是敏捷的核心——没有价值观的认同,像TDD、迭代、完成状态和其他的个人实践就毫无意义。

我们人类是如此狡猾的生物,所以我想让大家仔细考虑下面这些问题:



  • 你在回顾中真的表达出你的疑问和忧虑了么?

  • 如果其他团队成员的某些行为让你觉得不爽,你是不是用直接而不失尊敬的方式来解决这些问题?

  • 你敢于承认别人的想法或设计比你的更好么?

  • 你愿意承认自己犯的错误么?

  • 对于某人的看法,你在当着他的面和背着他的时候,说的都一样么?


我完全同意。诚实是关键,它还可以带来信任,并塑造高效的团队。也许有人认为这是陈词滥调,但是彼此信任的团队确实表现得更为出色。这也是Scrum master的必备素质,也会对团队产生重要的影响。在实施敏捷流程时,很多人都认识不到,这其实与组织文化更加相关。
无论任何人、任何项目,都应该尽量诚实。下面是我的一些想法:
1)“不要惊喜”。这是我们总监的信条。如果你早点告诉他哪里出了问题,他可以接受。要是你任其发展成为更严重的问题,那你的麻烦可就大了。这样的方式所产生的效果出人意料的好。
2)推迟冲突只会让事情变得更糟。
最重要的……
3)要是团队中有人工作的时间比别人多得多,这就是一个显著的警告,一定是哪里出了问题。最好赶快找出来问题发生的根源。
随着对Scrum和敏捷开发的深入理解,我理解到:在这些貌似疯狂的项目管理方法背后,还有更深入的东西。我同意Jim的说法,Declan说的也对。敏捷的目标之一,就是要帮助人们摆脱政治干扰,尽量好地完成手上的工作。它要求我们心态开放、诚实待人、尊重团队其他成员。有了敏捷,不诚实的人和行为会更快显露出来。一个好的团队是不会容忍这样的情况发生的。
 blog it

2008年7月13日星期日

在Scrum的讨论中审视QA

A:你对软件流程方法论有多少了解?
B:
你指的是哪些?
A:Agile/RUP/Scrum/XP/CMMI?
B:
有那么一点点研究,我在项目中正在实施scrum
A:你是什么角色?
B:
pm啊
A:靠,应该是ScrumMaster或者Product Owner
B:
哦 你是说在scrum中的角色啊
------------------------------------------------------------------------------------------------------------------------------
这位老兄可能对Scrum没多少了解(他也承认)就在实施,他似乎更关心行政上的PM title.

------------------------------------------------------------------------------------------
B:我们没有完全的按照scrum checklist中的方法去组织项目,毕竟,这些方法论在实践中要灵活的使用,不能一味的完全照搬。xp,scrum的一个很大问题,就在于它们和传统的QA制度简直是格格不入。
A:传统QA都具体做些什么?
B:
传统qa主要是通过在开发和集成阶段的一系列测试来保证qa质量
A:那么QA的工作应该转移到ScrumMaster这里,test成员应该是开发Team的一部分,对吧
B:不能这么简单的来转移,qa并不属于开发team,在任何一个公司都不属于
A:我的意思是,没必要专门成立QA部门,质量的保证是一个Scrum团队的责任和义务
B:你不可能在全局范围上 让公司的建制跟着你的项目变动,那样的话,你根本推不动scrum
A:思维的转变,管理层的支持是推进敏捷的必不可少的东西
B:如果这是必不可少的,那就不要实施敏捷好了 :),你不可能让老板们放弃传统的qa制度,仅仅因为你说敏捷可以解决一切问题
A:敏捷和传统的方式都能解决问题,只是敏捷可以更好的交付真正有价值的产品。如果老板不能放弃,那么真的很难
B:站在老板的视角,你凭什么说敏捷能交付更好的产品呢
A:实践是检验真理的唯一标准
B:公司不是实验室,产品也不是实验室里的小白兔。况且敏捷的方法并不是万能药,特别在大型项目上,要掌控好敏捷项目,对pm是一个很大的挑战
A:就是为了掌控好项目,所以才采用敏捷的方法论。当然不是万能药,敏捷是一个框架,你可以根据自己的需要扩展。有那么多的成功软件企业都在实践敏捷(最多的是Scrum),他们不是在闹着玩吧
B:有实践的结果吗?微软的哪一个大型产品是敏捷开发的?adobe呢?sap,oracle,IBM呢
A:Nokia是Scrum实践最好的,还有google http://www.infoq.com/presentations/Agile-Management-Google-Jeff-Sutherland
B:什么产品?
A:我认识的诺西的一个Manager,他们的网管产品NetArt,他们自己部门在实践Scrum
B:google只是在试验scrum罢了 成果还没看到呢。说实话 像NetArt这种大型产品,根本没有做scrum的必要,我不看好这种胡乱上马的架势。
A:Scrum是一种软件开发的方法论。任何东西,千万不要上来就排斥,兼容并包......
B:我怎么排斥了 我正在自己的项目中实践scrum
---------------------------------------------------------------------------------------------------------------------
一个正在实践Scrum得管理者对Scrum抱着种种猜疑,我很怀疑其实践Scrum的动机。

对于Agile和QA/Test的讨论,发现有很好的一篇讨论文章,援引几段文字表达我的看法。

The problem with QA is that programmers lose the responsibility for quality, because they start to think "it's QA's job." No, quality is not QA's job. It is the programmer's job, and the designer's job, and the architect's job.

You want quality in software? Make your programmers do peer reviews of all code before it gets checked in.

You want quality in software? Don't let your programmers start writing code until they can explain it clearly in English (or whatever spoken language your team has standardized on) to someone else on the team. Make sure the design makes sense before they get half-way done building the new pile of spaghetti code.

Our industry -- the software industry and those who write application -- as a whole produces mostly crap.

忘了粘贴讨论中的一句话:scrum的整体架构大话都知道,它起源自制造业的精益生产的变革,它是为了解决传统瀑布的问题,没有限定使用在什么软件开发环境。当然工程性的软件开发用起来最有效果。说到解决什么问题:根据市场变化就是快速生产减少浪费(制造业的视角)。

当然对于偏产品研发的项目,适当保留QA的角色是合理的,但要求在项目中更多的参与并成为团队的一员。

还是很感谢B先生,思路和想法真的在讨论/辩论中才会越来越清晰。

2008年7月8日星期二

Open Your Eyes,Nothing is new

历史总是不断地重复,只是你视而不见而已

《改变世界的机器》,这本只粗读了一半的陪我度过“至今最苦闷”的那段职业生涯的日子的一本书,不仅让我了解了汽车史和福特、通用和后来的丰田的发展史,更让我豁然开朗,作为制造业代表的汽车行业上演的关于如何更好地进行生产管理的理论的与时俱进的不断演进,也让我更好地理解了当前的商业竞争的趋势。对于一个当时身处于“软件制造业”笼罩的软件工人的我,发现来自软件开发的领域的敏捷开发的方法论就是从“制造业”前辈的变革和哲思中,引入和借鉴而来的。

日本人提出了精益生产模式,主要是通过降低成本的方法来提高利润。在长期的生产管理实践
中,日本人发现决定产品成本和利润的主要因素是制造过程中的各种消耗,特别是人的工资消耗。于是日本汽车业就提出了精益生产,旨在优化生产组织结构,去掉一切不增值的生产过程和环节,通过降低成本的方法来提高利润。

在Scrum为代表的敏捷软件开发方法论中,无论是通过快速开发的Iteration,还是每天的Daily Scrum对过程的Visiblity不断Inspector,和Retrospect meeting试图对过程的改进的最终目的都是减少那些和“增加客户价值”无关的活动。以前那段苦闷的经常开会的日子里,没有人关心这些meeting有没有增加产品的价值。

作为技术人员,我也曾经痴迷于技术实现,也的确认为技术有意思。

但当我们将软件行业作为社会各行业的一分子去看待的时候,站在更高的视角来看待其中的很多的背景的时候,你会发现IT是服务性的行业,还很年轻,其变革是随着整个商业变革演进而演进。

JIT(Just In Time) not for Java JIT compiler

1950年,日本的丰田英二抱着学习美国先进经验的想法,考察了美国底特律福特公司的轿车
厂。当时这个厂每天能生产7000辆轿车,比日本丰田公司一年的产量还要多。

丰田英二在思考:怎样建立日本的汽车工业?照搬美国的大批量生产方式,显然是不可能的。
一是战后的日本经济萧条,缺少资金和外汇,没有能力全面引进美国成套设备来生产汽车。二是战后日本的经济和技术基础也与美国相距甚远,日本当时的生产量仅为美国的几十分之一。三是日本的社会文化背景与美国大不相同,完全照搬美国模式肯定行不通。显然应该按照日本的国情,发挥日本人的家族观念和团队精神,探索一条不同于福特公司的流水线生产模式的道路。

丰田英二和他的伙伴大野耐一进行了一系列的实验,经过30多年的努力,终于形成了完整的丰
田生产方式(TPS,即Toyota Production System)。在丰田生产方式TPS中,很重要的一种生产管理方法即是准时生产方式JIT。

准时生产方式的基本思想可用现在已广为流传的一句话来概括,即“只在需要的时候,按需要
的量生产所需的产品”,这也就是Just in Time(JIT)一词所要表达的本来含义。这种生产方式的
核心是追求一种无库存的生产系统,或使库存达到最小的生产系统,为此开发了包括“看板”在内
的一系列具体方法,并逐渐形成了一套独具特色的生产经营体系。准时生产方式在最初引起人们的注意时曾被称为“丰田生产方式”,后来随着这种生产方式被人们越来越广泛地认识、研究和应
用,特别是引起西方国家的广泛注意以后,人们开始把它称为JIT生产方式。

-------------------------------------------------------------------------------------------------

日本人还真有一套,实事求是,厚积薄发。

2008年7月5日星期六

关于Scrum Roles

There are only three Scrum roles: the Product Owner, the Team, and the ScrumMaster. All management responsibilities in a project are divided among these three roles. The Product Owner is responsible for representing the interests of everyone with a stake in the project and its resulting system. The Product Owner achieves initial and ongoing funding for the project by creating the project’s initial overall requirements, return on investment (ROI) objectives, and release plans. The list of requirements is called the Product Backlog. The Product Owner is responsible for using the Product Backlog to ensure that the most valuable functionality is produced first and built upon; this is achieved by frequently prioritizing the Product Backlog to queue up the most valuable requirements for the next iteration. The Team is responsible for developing functionality. Teams are self-managing, self-organizing, and cross-functional, and they are responsible for figuring out how to turn Product Backlog into an increment of functionality within an iteration and managing their own work to do so. Team members are collectively responsible for the success of each iteration and of the project as a whole. The ScrumMaster is responsible for the Scrum process, for teaching Scrum to everyone involved in the project, for implementing Scrum so that it fits within an organization’s culture and still delivers the expected benefits, and for ensuring that everyone follows Scrum rules and practices. ——摘自Ken SchwaberAgile Project Management with ScrumChapter1

从上一篇Blog(软件开发复杂度)的分析,三个维度构成了复杂性: 软件实现技术,开发团队的组织,客户需求。在Scrum中,正好有对应的角色:自组织的Team通过交流合作解决软件实现中的各种技术问题;ScrumMaster负责组织团队,激励服务团队;Product Owner负责对客户需求从宏观和Business的角度来管理。

Product Owner是由什么样的人来担当?
理想情况下,应该由客户担当,但考虑到交流的成本还是由公司内部的人作为客户代表,负责和客户沟通交流。他可以完全不懂技术。

ScrumMaster是否应该是个技术专家?
从其职责来看,ScrumMaster应该是Scrum和项目管理的专家,也就是可以不是技术专家,但对于小团队来讲,需要担任一定的技术工作。ScrumMaster不一定嘛也不可能知道掌握所有技术细节,但对技术的背景应该有深入的理解,这样才能给予团队技术的培训和支持。

软件开发复杂度的构成

第一次从宏观地看待软件开发,还是在研究生毕业论文中对“软件危机/OO/CBD”的研究。当时主要是从代码重用,代码可维护性等软件实现技术的角度来探讨,在现在看来是“盲人摸象”。

软件开发是“脑力制造业”,属于服务业,服务的对象是其他不同行业,帮助他们降低成本改善运营和扩展business。

既然是服务性质的辅助行业,那么来自不同行业和领域的软件需求,固然会随着整个经济形态的不断变化,客户需要的是软件系统能支持和适应市场的瞬息万变,所以需求复杂度的提高、需求可变化成为必然。

软件开发是一个群体合作的过程,人怎么组织和规范他们的行为从而使得软件开发更有效率,关于软件开发流程和管理的方法论也不断演进。人的参与带来了软件开发的不确定性,这其中还包括组织架构,多团队合作对软件开发的影响。

能够让软件开发在技术实现、团队组织、客户需求等方面有好的表现,才能减低复杂度。

我突然想到,在Scrum中的ScrumMaster就要从这三方面均衡掌控。

Expose your API to the world

最近接受了两个面试,一个HR一个Manager,他们在面试前都做了功课——看了我的Blog,试图了解我这个人的过去和性格。

面试是一个让公司和应聘者的信息更加对称的过程,公司希望了解应聘者的技能和综合能力,所以通过设置不同类型的面试轮次来从不同的侧面探测信息,应聘者也不是被动地被“吸血”,他们也会观察公司,了解公司的文化,前景,当然重要的是薪资水平(呵呵)。

面对面的测试和交流推动信息的对称在很多时候是苍白的,尤其对应聘者一方,所以很多时候是通过内部人打听,或者到网上查询一些评论;公司希望通过内部推荐的方式,也是为了降低“看走眼”的风险。

设想一下,如果所有的人都写Blog,人与人之间通过社会关系网络相连,公司和应聘者的信息将畅快地流动,极大地降低了招工和找工作的社会成本(甚至免去了交通成本,笔试的纸的成本)。但同时也是相当可怕的,一个公司中,内部到底怎么样,哪些人适合做什么,哪些人更优秀,都将是透明的。对于一个诚实的公司,愿意看到这样的情景,因为他展示了自己,展示了自己的人才,也相信有才华的人不会被挖走(因为公司有吸引他的东西),当然这也导致了好的公司和稍差公司(但都是诚实公司)的人才分化。一个可怕的假设后的可怕推论,就此终止吧。

言归正传,谢谢两位光顾我的Blog(in the name of interview), 如果你们能留言或者和我进行文字的沟通那就更好了。

All can benefit from your openess,I believe.

2008年6月25日星期三

开源的一点思考

----------------------------------------------------------------
leiki_liu 发表于2008-05-21 09:30:59 IP: 60.17.19.*
大家都在说开源的好处,一件事要辩证的看,任何事物都有好的一面和坏的一面,那么我想问那些精通开源和了解开源规则的人,开源的坏处是什么,如果你不知道开源的坏处,那么我对你们是否真正了解开源产生怀疑?我怀疑你们是些无头脑的code。
-----------------------------------------------------------------
开源世界本身就很大,有各种各样的Licence(从GPL、LGPL,到APL,EPL),有很多的的相互竞争的开源项目和开源社区,它们的背后暗藏着许多“以开元策略寻发展”的商业组织。开源和闭源是不同的商业模式,是不同的对于人类知识智慧如何发展的价值观,是不同的选择。我认为他们都有自己的好处和坏处,比如说开源社区相互竞争缺乏合作,闭源软件的开发维护成本越来越高,发布周期越来越长。我认为他们之间的比较是没有意义的,时间和历史才是最好的证明。

原始的Blog在这里:http://blog.csdn.net/bvbook/archive/2008/05/19/2457099.aspx#811531

Eclipse的新亮点

超酷的Feature,方便结对编程和跨地理位置的Team的协作。


Cola: Real-Time Shared Editing from Mustafa K. Isik on Vimeo.

2008年5月4日星期日

Last two months in IJO

Today, I met two friends from Motorola in BaiHuaTan park. We drank tea and shared job status and some ideas about career path together. They told me that the current project we once worked for is out of control due to bad technical decision and messy project management. It's luck that i drop away that project and left Motorola.

I prepared the talk and list few topics here so that all my friends can get my update in last two months.

What is IJO?
IJO which stand for International Java Offshoring is less 1 year old start-up company providing Java web-based application development service to Europe customer. We leverage the open source technologies such as Spring,Hibernate,Tomcat,Mysql on time delivering high quality software with low cost. We build our team with agile culture and run every project with Scrum process control methodology.
Currently, we have 10 people but run 3 projects simultaneously.We plan to build the core team and grow to 20 peoples with more projects in 2008.

What am doing in IJO?
In IJO, i am the oldest guy even older than two founders. My role is senior software engineer and project leader whose main responsibility is to translate the business requirement into technical solution and manage the team.

Am I happy with my job?
Absolutely, I enjoy the teamwork and the technical stuff.

What am I heading for?
The biggest challenge for me is paradigm switch between technical detail and high level stuff such as project and requirement management.

2008年2月24日星期日

The first week in IJO

This week is my first week working for IJO. It's a little busy, but interesting and pleasant.

On Monday, I was introduced to the team by Ewout. Erick gave me the technical summary and project overview. I was expected to lead team as ScurmMaster.

All the guys here are student without enough Java programming experience from local university. They are very samart and open-thought. Maybe that is the most the important criteria for hiring employee or intern.

The working environment is perfect:
- Apple OS , very cool
- Enough cola, if you like
- Two balcony as smoking area
- Radio when working
- Books in library, and Dutch book in wash washroom

Erick is not only one expert in Java web enterprise application, but also good teacher with incredible patience. I believe I can learn a lot from him.

Following is the technology point list that i learned in this week.
- Selenium, automation acceptance test for web application
- Filter, very important part of Servlet
- ThreadLocal, first touch
- Spring MVC,
- FCKEditor, famous oopensourced html online editor
- Acegi

2008年2月16日星期六

从零开始是不容易的

"Some people are so embedded in their familiar ways that they have trouble seeing what they have to change, no matter how many articles and books they read and agree with."
—— Ken Schwaber 《Agile Project Management with Scrum》

这句话很好地解释了“It ain't what you don't know that gets you in trouble.It's what you know that ain't so. --Will Rogers”的意思。

Scrum involves a paradigm shift from control to empowerment, from contracts to collaboration, and from documentation to code。

丢下“曾经成功”的包袱,始终实事求是,勇于创新,对一个人和一个公司都是很难做到的。

2008年2月4日星期一

政治“年轻化”

对年轻的压制和驯化,在鲁迅等人的眼中,是阻碍社会更快进化,同时也是维护社会相对稳定的制度。
clipped from cn.reuters.com
在一次集会上,肯尼迪参议员指出奥巴马继承了他哥哥的遗风:“有了奥巴马,我们就可以告别充斥着歪曲和误读的旧式政治,告别种族对立、性别对立、族群对立,乃至异性恋和同性恋的对立。”这段话既是对共和党传统战略的批评,也是对克林顿夫妇的敲打。报导称,肯尼迪参议员对克林顿夫妇将种族概念引入竞选感到极为不满。同时,卡罗琳?肯尼迪在《纽约时报》上撰文称:“我从没遇到过一位能像我父亲打动别人那样打动我的总统。但是这次,我相信这样的人已经出现了--他不光能打动我,而是能打动新一代美国人。”

这是我们理解奥巴马的魅力的关键。在实际的政策方面,他和希拉里没有太大的差别。但是奥巴马给政治带来了新的精神力量。很简单,他在美国人的心中创造了一种很多年来的都未曾有过的感觉--年轻人甚至从来不知道这种感觉的存在。这就说明了为什麽有那麽多人天还没亮就去排队,等上好几个小时,就为了能听他演讲。奥巴马甚至不用出场就可以吸引很多人。上周二的晚上,关于奥巴马的活动在北京的一家餐馆举行,结果那里挤满了美国年轻人,都无处下脚。

奥巴马正在年轻人中赢得强劲的支持。据《时代周刊》报导,2000年时,18-29岁的美国年轻人中只有13%“关注总统选举”;而今年,这个数字上升到了74%。在已经结束的四个州的初选中,奥巴马在该年龄段的支持率均居首位。尤其是在南卡罗来纳,他在这个年龄段赢得了三分之二的选票(在年轻白人中的支持率也超过50%,而希拉里只有28%)。实际上,我的二、三十岁的朋友中,无论什麽种族的人,几乎都支持奥巴马。

blog it

2008年2月3日星期日

如何学习Java,送给"向上"的朋友

Java是一门编程语言,要编写Java程序就需要熟悉基本的类库,《Thniking in Java》第四版是一本这方面见长的书。

Java是JVM(Java Virtual Machine)这个"OS"上的基础性语言,当然会有越来越多的脚本或者动态语言通过各种方式RUN在JVM上,比如Groovy和JRuby。《Inside the Java Virtual Machine》第二版和《Java虚拟机规范》(Java官方下载)是深入了解这个“OS”的书。

Java最流行的IDE是Eclipse,Eclipse社区也是最活跃的Java开源社区之一,所以用Eclipse去探寻Java的世界。

以上的三个方面是学习Java的可以齐头并进的“三驾马车”,这是第一步。

Java主要应用在Server-side,也有无数的Library,Framework蕴含了各种设计模式和应用领域知识,掌握他们是“无尽的路”。主要的应用是Java Web Application,毕竟越来越多的应用在向互联网迁移,Java在Sever-side的世界很精彩。

2008年2月2日星期六

Yahoo挺住啊,Mot看着办吧

2月1日,两条IT重量级新闻惊现:

微软(MSFT)对Yahoo(YHOO)提出了61%溢价的总值443亿美元的要约收购,当日Yahoo股票大涨百分之五十左右。

Motorola新上任的CEO证实了董事会在考虑分离Mobile Device事业部,迫于股东的压力。

微软承认了自己的互联网业务的失败,所以企图收购Yahoo后重整旗鼓和Google决一雌雄。个人觉得Yahoo正在复苏,恢复元气有待时日,完全没必要让微软捡了便宜,挺住啊。

Motorola的分拆手机部门的传闻早就有了,失去50%收入的手机部门Motorola市值将大大缩水,而且整个品牌也不复存在了,但在日益亏损积重难返的状况下,董事会和股东们的不和谐声音终于浮出水面。据说,联想、华为、中兴是潜在的新东家,我们拭目以待吧。

2008年1月30日星期三

一些很有意思和很有道理的话,不作评论

二战结束时日本和中国的差距是相当明显的,为什么他们这个“下贱”的大合民族,在一个岛国上能发展成今天的规模,而我们“高贵”的中华民族,拥着960万 平方公里的土地,却做不到?还是多找找自己的原因吧,文化大革命不是日本人发动的。日本人专门组织学生去看李小龙在精武门里羞辱他们,因为他们觉得李小龙 的爱国精神值得学习,难道我们中国人就看不到日本人身上有值得学习的地方吗?


开源软件接受来自全球开发人员的支持,你可以贡献源代码,提交bug,帮助翻译文档,宣传软件,......所有的这一 切,全部都是对开源软件的贡献,无论大小。开源软件是无国界的!Hibernate的作者Gavin King是澳大利亚人,Spring的作者Rod Johnson是澳大利亚人,Ruby on Rails的作者是丹麦人,Webwork作者Richard Oberg是瑞典人,对了,Linux Kernel作者Linus Tavalds还是芬兰人。贵为全球科技中心的美国怎么一个都没有?那是不是美国人也应该呼吁支持国产开源软件,支持民族开源软件呢?

把开源和国家,把开源和民族扯上关系,其实是一种封闭的文化潜意识,一个没有open精神的人,又怎么可能做出来具有open精神的软件呢?开源是无国界的!



很难想象Rod Johnson的学历,真的让好多人大吃一惊,他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。不明白那个秃顶的脑袋瓜里怎么会同时拥有如此高深的计算机技术和高雅的艺术细胞,只能惊为神人。

Rod Johnson的另一个闪光的地方是他对standardization的看法,他是JDO 2.0和Servlet 2.4的专家组成员,不过他对很多标准都持怀疑态度,当然最明显的就是EJB。如果谁都没有implement过某个技术而直接制定标准绝对是 dangerous的。

2008年1月29日星期二

福“到”喽




在由充满混凝土和钢材构建的现代化的社区中,和老婆一起动手给自己的家增添一点传统和温馨。

瑞雪飘下春满楼,
兰风拂来花遍地。

有没有看出来这是雪佛兰广告春联?







横批——雪至福来,把门牌号都挡住了,还是老婆聪明,在后面加上了1007#。

Sun收购MySQL

MySQL是无数程序员的最爱,Sun将它收入麾下后,也许更多的Java程序员会选择Glassfish或者Netbeans了。

Sun在JRuby和Netbeans上的努力也有目共睹,希望有一天能对Groovy有更多的支持,有一天能收购SpringSource(也许对Java社区并不是一件好事,正是这些开源社区督促着Sun不断进取)。
clipped from www.infoq.com

Harvey告诉InfoQ,Sun对MySQL的收购背后有两大推动力:它令Sun在Web 2.0数据中心的角色更加稳固,它还确立了Sun作为开源软件提供商的领袖地位。其他人的看法还包括潜在促进了Sun的硬件销售,令Sun成为堪与Microsoft匹敌的开源巨头,以及Sun在过去两年中戏剧性转变的又一例证。Sun的CEO Jonathan Schwartz补充了另一项重要的得益

“我们买下的是一个很受欢迎的数据库,全世界的顾客和Web企业正以惊人的速度转到这个数据库上面,”Schwartz在一次访问中说,“Web行业的巨人们全都用MySQL——银行、汽车公司,差不多所有的财富500企业都在运行着MySQL。”
[...]
“这样我们就打通了地球上所有的热门Web企业,以及未来五年中可能出现的所有热门企业,” Schwartz说,“对我们来说,这完完全全是一次大翻身。”

当问到收购对开源社区的好处时,Harvey说这是对开源商业模式的进一步肯定——它显示出开源产品为客户提供了大量的价值,还证明了开源是一个可行的商业模型,而且它在服务于客户和免费提供优秀产品的同时,还为股东创造了价值。SpringSource的CEO Rod Johnson强烈赞同这个观点,他说:

Sun对MySQL的收购是对开源的重要性和威力的认可。在Jonathan Schwartz领导下,Sun正把自己重塑成一家开源企业,他们对开源应用服务器Glassfish的投入,他们将Java开源的决定,以及把他们的股票代码换成JAVA,种种作为都体现了他们新的定位。Schwartz和Sun面对着一个重大的挑战:怎样把一家巨型企业重新塑造成一家软件企业——如何挑战过程中遇到的强大旧势力?我觉得Schwartz表现出了他的远见,他认识到唯一的途径就是利用软件发放的现代方法——开源。
  • Dan Kuznetsky——“[...]这个举动的意义不在于开源,也在于Web 2.0,其意义在于Sun从系统及部分软件的 提供商变成了一家解决方案提供商。我期待着未来听到Sun收购某些应用程序的消息。Sun是在竞争对手的压力下采取这个行动的。不过还不是很清楚,IT业的决策者们是否会把Sun + MySQL看作是IBM + DB2或者Microsoft + SQL Server的等价物。”

  • blog it
    I agree with the premise that SUN has changed it focus to concentrate on OpenSource Technologies like Netbeans and Glassfish. I think SUN has finally found its niche, as a Java developer I have never been so excited about SUN and the direction it is moving.

    I think Sun will get a good advantage from the unavoidable product overlapping and license confusion coming from BEA'a acquisition by Oracle.

    I see a great future for the Sun open-source stack, even if a big company like Sun still shows a lot of internal resilience moving on that new direction: good market for Sun external partners anyway ;)
    The MySQL acquisition by Sun is really a brilliant move, I just hope they are going to manage it much better than the SeeBeyond one...

    2008年1月25日星期五

    中国“电荒”折射深层矛盾

    clipped from chinese.wsj.com


    目前尚不清楚今年中国的电力短缺情况到底有多严重。但这次的麻烦又多了一样:中国正在成为煤炭进口大国。作为全球最大的煤炭消费国和生产国,中国78%的电力都来自于燃煤电厂。
    分析师则将电力短缺的主要原因归咎于价格控制。中国已开始对国有电网和供给体制进行改革。政府从2006年起放开了煤炭价格,允许煤炭价格此后每年上浮10%。但与此同时,主管部门却把电价控制在原位,甚至进行了下调,因为政府担心如果电价涨幅过高会引起通货膨胀和社会不满。
    这挤压了发电厂和输变电企业的利润空间。甚至有些电力企业宁可停业,也不愿再购买昂贵的煤炭,在亏损状态下经营。中国国有炼油企业去年秋天也采用了类似的策略,眼见柴油供应短缺威胁到了经济增长,中国政府被迫同意提高油价。
    厦门大学中国能源经济研究中心主任林伯强认为,问题不在于供应,而在于定价。他说,有足够的煤炭,也有足够的装机容量。
    监管部门与生产商之间的不同看法也揭示了中国体制中的另一个矛盾。尽管大部分电厂和输变电企业都归政府所有,但这些企业的独立性正在增强,它们一直在想方设法提高利润,即便与政府下达的政策发生冲突也在所不惜。中国最主要的两家电网运营商──国家电网公司(State Grid Corp.)和规模较小的中国南方电网有限责任公司(China Southern Power Grid Co.)──都希望能到海外股票市场上市。
    clipped from chinese.wsj.com
    政府应该做到公平:在中国企业还比较弱小时,政府牺牲了百姓利益来支撑企业,现在该是企业回报社会的时候了,首先应该采取几项措施,即升息、升值、取消鼓励出口的政策,因为这些都是对企业的明补暗贴,是对国内百姓财富和自然资源的搜刮,只要政府做到货币政策的公平性,根本就不会出现本文中提到的资源需求失控的情况
    - 小工薪
    市场化了,对企业对消费者都好,关键就是有的利益集团不愿改革,害怕失去自己的既得利益,就像当年阻止戊戌变法的慈禧。他们是不管我们──中华民族的强盛与否,所以推动历史前进的只能是我们-无所畏惧的人民
    - Buxiezuoqiu
    blog it

    一则评论

    中国15%的人占有了中国80%以上的财富。 85%的人只占有20%以下的财富。 15%的富人消费早已把钱花到了国外的市场,如国外的房产,家用电器,衣服,食品,数码产品,艺术品,美术品,名表,奢侈品。 50%以上的穷人只能够维持生存。 35%左右的中等收入人员也对自己的以后没有信心,甚至借高利贷在股市期市赌博。 靠拉动谁去扩大内需??? 这都是所谓的专家学者在胡说八道。 真正有内需的需求,还要靠人去拉动吗??? 饿一群专家学者们三天不给他们发钱,放他们到包子铺门口, 不用拉动, 这一群人不是盗贼就是抢劫犯,再不然就是乞丐。
    ——http://chinese.wsj.com/gb/20080124/chw111909.asp

    2008年1月24日星期四

    金钱或者机会,你得到了什么?

    项目组来了两个Contractor,技术水平都很不错,就是英语差了一点。

    一个哥们水平确实很高,而且之前薪水和职位都比现在好,只不过厌倦了小公司的管理混乱和领导的急功近利。他来到Mot,我觉得是走到了另一个极端,这里管理人性化,牛奶和饼干免费供应,有正版的VisualStudio和SourceInsight,Process规范,他觉得很是惬意,当然他也事先知道这里学不到任何东西,也许只能学到不规范的英语。

    而我对Mot的心情正好和这个哥们相反,我厌倦了这里的骨子里非人性的东西。

    一个工作要么提供给你金钱要么机会,我将去选择机会。

    把一碗水端平

    远民兄是混迹在Mot的顽主,人很好耍。昨天他给我一条管理建议:对待Team成员要一碗水端平。

    作为Team Leader,要将私人的感情和工作尽量分开。有人说,不要和下属走得太近,以免失去权威,所以我们经常看见一些Manager独自吃饭,独自寂寞;中国人骨子里就有等级观念,是领导的好像就是要敬而远之,那些和领导走得近的就是马屁精,其实大可不必这样,领导和下属就是角色分工不同,人与人之间的正常交往还要继续。

    千万不要让自己的感情左右对一个人关于工作的评判,哪个人干得好哪个人干的不好要有一个客观的标准,切记一碗水端平。Mot里的某个Team居然出现通过民主投票打分来决定每一个人的工作表现,原因是Manager不了解每一个具体做事的人具体表现,又没有统计数据来参考,结果就是那些人缘好的但不做事的人排到了前面,做事但容易得罪人的人成为最差,长此以往,Team的不和谐声音就欲盖弥彰。

    如何通过客观的数据或者方法来衡量一个成员的表现,我还没有深入的思考。

    2008年1月23日星期三

    错误的价值观还不如无知


    Practices are the things you do day-to-day. Specifying practices is useful because they are clear and objective. You either write a test before you change code or you don't. The practices are also useful because they give you a place to start. You can start writing tests before changing code, and gain benefit from doing so, long before you understand software development in a deeper way.

    Values are the roots of the things we like and don't like in a situation. When a programmer says, "I don't want to estimate my tasks," he generally isn't talking about technique. He already estimates, but doesn't want to reveal what he really thinks for fear of providing a fixed point of judgement that will be used against him later. In this case, the programmer values protection over communication. Values are the large-scale criteria we use to judge what we see, think, and do.

    Values bring purpose to practices.Practices are evidence of values. Values are expressed at such a high level that I could do just about anything in the name of a value.

    Values and practices are an ocean apart. Values are universal. Ideally, my values as I work are exactly the same as my values in the rest of my life. Practices, however, are intensely situated.

    Bridging the gap between values and practices are principles. Principles are domain-specific guidelines for life.

    "It ain't what you don't know that gets you in trouble. It's what you know that ain't so." --Will Rogers

    价值观决定了行为,真正给你带来麻烦的并不是你的无知,而是对错误价值观的坚持。

    Alex给我的关于TQM的思考



    谢谢Alex,我职业生涯的第一个PM,很Nice。不过经常“靠”,甚至当Team的Meeting中还有女生的时候

    2008年1月22日星期二

    未来系统中的编程语言

    最近看到的两种观点值得思考:

    1)Java语言规范本身需不需要进一步扩展?
    凡是有过数年编码经验的程序员都发觉,他们很少使用泛型等1.5版本引进的新语法。Java的发展方向应该是基础infrastructure的语言,应该更强调稳定性。把提高代码的Productivity的工作交给动态语言去做。

    2)Sun或者Java社区是否更应该支持Groovy,而不是JRuby?
    Groovy是天然的面向Java开发者的动态语言,当前Sun和Eclipse都没有给予官方的支持,反而是IntelliJ给予足够的重视。

    clipped from www.infoq.com

    今天,有一种趋势正日渐清晰;在未来的几年内,人们会越来越多地采用新的编程语言。当然,这并不意味着当前所用的语言会被取代,而是要结合不同的语言,并且针对特定问题选择恰当的语言。

    Bini描述了三种不同的层和语言——或者说语言类型,它们分别适用于不同的层。当然,这里可不是老生常谈的表现层、业务层和数据层;Bini以不同的方式进行了分割:


    • 稳定层(stable layer)–不包含大量的应用程序功能,可以使用静态语言构建

    • 动态层(dynamic layer)- 包含大量的应用程序功能,使用动态语言构建

    • 领域层(domain layer)- 包含大量的应用程序功能,使用领域特定语言构建

    第一层我称其为稳定层。尽管从功能性的角度上讲,它只占整个应用程序的很小一部分。但是程序的其他部分都是构建在它之上的,因此它是非常重要的一部分。所以,静态类型安全在这一层中将会大有裨益。
    大部分应用程序的功能都存在于动态层:
    第二层是动态层。也许程序中一半的代码都集中在这一层。这一层中用到的语言主要是动态的、强类型的语言[…]
    它绝对是有趣且多产的一层。很明显,由于我对JVM语言的痴迷,我相信这层与稳定层之间的交互绝对会产生非常强大的功效。
    第三层是领域层。它应该由DSL实现。根据系统的不同需求,可能需要一种或多种DSL。大多数时候,将领域层实现为一种动态层内的内部DSL就足够 了,在这种情况下,第二层和第三层是很难区分的。但是有时候,我们的确应该拥有一个外部的DSL,并可以与之交互。一个典型的例子就是规则引擎 (rules engine,比如Drools)。
    但是我必须要澄清一件事——我相信,在任何一层中,都不会有哪种语言会成为绝对的赢者。事实上,我认为倘若有一种语言在任何一层上战胜了其他语言, 都肯定是一件坏事情。或者说,我预见的未来是,我们可以看到Jython、JRuby和Rhino等许多其他语言会在同一层中共存,而且不必为此引发任何 对立和语言之争。
    blog it

    2008年1月17日星期四

    Project Leader的信托责任

    我是一个理想主义者,所以这里的一些想法带有不少理想主义的影子。

    吴立国曾经跟我讲过,一个好的Leader应该关心自己手下的兄弟们的职业发展,而不是把他们看作为自己卖命从而获得升迁的工具,这句话对我影响不小,从那以后,我就是以这个标准来衡量我的Leader和作为我以后作为Leader的管理原则。

    信托责任的起源在上一篇Blog中介绍过了,第一次被科普是听郎咸平的清华演讲。Trust作为现代商业社会的基本DNA,不想多说,只是觉得可以把Trust理论引入到一个团队管理中。

    一个团队的Leader就像是一个Team的CEO,不应该是管理层强行指派的,而是Team成员选举出来;或者是经过Team董事会推荐,获得通过的。

    Leader不是一个“作威作福”的官,而是要穷尽精力和智慧为整个Team创造价值的职业经理人。他要为管理层负责,带领好整个团队,在资源有限的情况下,调动成员的积极性,为客户按时交付高质量的软件产品;他还要为团队成员负责,尽量让每一个人发挥自己的特长(就好像解决就业问题一样),让每一个人能够在项目中成长。

    这谈何容易!Leader是不好当的,随时都有人鞭策,因为你肩上时时有他们的信托责任。

    信托责任的来源

    16 世纪正值西方的大航海时代,许多冒险家开始环球航行,梦想找到黄金之国——中国。1533年,英国有240个伦敦商人也加入了这一行列。他们每人出25英 镑买了三艘船,雇佣了一批海员,组成一支舰队去寻找黄金,舰队的旗舰叫“莫斯科威号”。所不同的是,他们选择了向北走。

    但是这些商人并不熟悉那些海员,他们有点担心,这些水手会不会在哪里卖掉了船,再也不回来,或者独吞了找到的金子。但黄金之梦又让他们兴奋不已,最后他们 向海员们表示:我们唯一能给予你们的,就是信任你们,并把我们的财产和梦想都托付给你们。他们发明一个英文字来描述他们无比复杂心情,这个英文字叫 Trust(信托)。事实上,除此之外,这些商人什么也不能做。

    于是那些水手便带着商人们的财产,也承载着商人们的梦想上路了。很不 幸,到了挪威的外海,舰队遇上了大风浪,打沉了两艘船,只剩下了旗舰莫斯科威号继续往北航行,进入北极圈,他们发现没法走了,所以向右转,到了一片荒野, 二百个船员下船划着雪橇走了二仟公里找到了一群人,他们很激动,就拿船上的东西与当地的人换了很多雕皮,双方面都觉得到了便宜。这些货被带回伦敦卖了一大 笔钱,他们把钱还给了这240个伦敦商人。那个换貂皮的地方,后来被称为“莫斯科”。

    这就是世界上第一次公司治理:同样一个船长,他下一次再出海,他的市盈率就很高。为什么呢?同样一艘船可以有更多的人捐钱给他,就跟股票市场一样。

    后来这个故事在当时英国老百姓中间流传开了,大家纷纷讨论:什么样的人才能得到最高的市盈率?那一定是有信托责任的人,人家把钱交给你以后你不会到处乱花 他的钱,这种人下次再去筹款的话,他就能筹到最多的钱,所以市盈率最初的含义就是这么来的,诞生在1533年。

    2008年1月16日星期三

    停电,福利?一种敏捷的技巧?

    上午不到11点,Office突然停电,大家只能停下手头的工作,等待来电。

    据说停电的深层次的原因是:电力部门不满政府的限制电价上涨。中国社会不同的既得利益集团,公然挑衅国家权威,需要像普京那样的铁腕领导层坚决打击和制止。

    不少人开始聊天,大家私下聊天合计,停电一天,公司的直接损失至少在 5万元。所有人没有什么事情做,相当于休假,索性大家称其为公司给员工的间接“福利”。

    面对突然的停电,大家似乎异常惊奇,都聚在一起,打破了工作中死气沉沉的气氛,在一定程度上促进了大家的沟通。这种方式带来的强制性沟通和交流,也许可以被敏捷团队采纳,用来活跃气氛。

    2008年1月13日星期日

    小公司还是大公司

    这个星期一正式和PM提出了离职,觉得一身轻松,因为这是我迈出的重要一步,对于职业发展的未来满怀期待和不安。

    星期五晚上在网上撞见了已经离职的Tyrael, 他的离职坚定了我做出离开Moto的决定。Tyrael是微软技术的高手,离职前在Team中扮演了不可或缺的角色,因为Team中很少有人能够在.Net技术领域给予全方面的支持和指导。

    “小公司其实更有可塑性。如果老板的目光也比较远大,比在大公司有做头,在moto我们无法改变什么,但是在小公司我们可以改变很多东西”——Tyrael

    大公司意味着Job security,同时意味着Boring、养老;小公司意味着Risk、Agile。对于老年人来说,安全第一;但对一个年轻人来说,时间是最宝贵的。

    NBA,又一只秃鹰?

    clipped from chinese.wsj.com
    图左为休斯顿火箭队的中国球员姚明NBA的30家北美特许经销商已同意NBA的中国项目,NBA预计该项目能创造30亿美元的财富。华特-迪士尼公司(Walt Disney Co.)已答应入股5%,还有四家中国公司将合计持有6%股份。预计NBA将在下周一公布这四家公司的名单。
    高盛集团(Goldman Sachs Group)将为NBA中国联赛提供财务顾问服务,NBA已聘请Anschutz Co.旗下子公司AEG负责其北京场馆的管理。
    CBA联赛开始于1995年,多年来,它一直背负着比赛差劲、裁判不公和电视传播质量不佳的恶名。在一些地方,CBA转播时间被缩减,以便让位给体操或乒乓球比赛。美国篮球界观察家将CBA的比赛水平与美国的大学联赛相比拟。CBA联赛每个队可以有两名外援,但每场比赛外援上场次数合计不得超过五节。裁判的费用由主队支付。
    CBA声称其在全国的收视率一直在上升。但据中国媒体报道,CBA的电视观众人数在2005年达到顶峰,此后一路下滑。而NBA宣布,其上个赛季的联赛在中国总共吸引了12亿人次的观众,比上年增长19%。
    据知情人士透露,最近NBA和CBA曾讨论过进行营销合作。但CBA最终还是与瑞士营销公司Infront Sports & Media AG签订了为期7年的推广合同。
    张卫平曾是中国国家篮球队教练,目前在CCTV担任NBA决赛解说员。他说,CBA把NBA视为竞争对手,而不是合作伙伴。
    去年10月,NBA任命陈永正(Tim Chen)为NBA中国的首席执行长,陈永正此前曾是微软(Microsoft)大中华区首席执行长。生于台湾的陈永正被认为是中国市场最出色的国际性商业领袖之一,与政府关系密切。不久之后,他和CBA执行副总裁兼秘书长李元伟在上海见了面,当时上海正举办2007 NBA中国赛,克利夫兰骑士队(Cleveland Cavaliers)与奥兰多魔术队(Orlando Magic)激战正酣。在有中国篮球官员和NBA高管参加的演讲会上,李元伟坐到斯特恩旁边,承诺要与NBA合作。
    他承认对NBA参与中国职业篮球事业感到有些紧张,但他们欢迎这个新伙伴,并表示篮球市场上有足够的空间容下NBA和CBA。他说,虽然麦当劳(McDonald's)进入中国已经很久了,但还是有很多人喜欢上海菜。
    blog it
    95年的时候,见证过中国甲A的红火。那个时候,还在北京年高中的我,观看一场北京国安的一场联赛比赛是我周末最重要事情;虽然北京国安不是甲A的冠军,但国安的斗志,巅峰时期的高峰,高洪波,曹限东,还有后来的三杆洋枪,都给我们那一代的球迷留下了不可泯灭的回忆;那时候的国内联赛,各个球队所在的地区球市都是同样的火爆,当然也包括现在我所居住的城市——成都。

    时过境迁,随着中国足球职业化进程,制度规范缺乏的问题导致了球市急转直下,尤其是在02世界杯后;本应该更市场化的足球产业,呼唤的是不断的解放思想的体制改革,却被足协的政治政绩足球牢牢攥死。

    也正是从02年后,CBA渐渐进入大众的视野,篮球也渐渐成为国内的第一大运动。这其中和NBA有着许多的联系:王治郅,巴特尔,姚明,易建联等国内球星进入NBA打球,吸引了不少的国内球迷;国内CBA联赛学习采纳了不少的NBA的赛制的营销手段(常规赛和季后赛,全明星赛,CBA宝贝)。

    随着中国加入WTO,NBA渐渐有机会从电视转播,到表演赛再到将来的构建NBA中国联赛,一步步渗透到体育文化产业中,分享巨大的篮球产业蛋糕;可以预见的是,NBA中国联赛和CBA联赛不可能共存,NBA中国会全面胜出,其不管是赛制管理还是文化产业挖掘方面都有着丰富的经验。从老百姓的角度来分析,不是老百姓崇洋媚外,而是的确外来的和尚会念经,不是没给CBA机会,CBA有着先机,但管理和运作还是篮协这样的衙门机构把持,没把市场潜能挖掘出来。所以最切实的做法是:和NBA合作。但合作存在冲突,NBA是商业机构,篮协是管理机构(相当于官办),最好的方式是CBA组成商业联盟,将小于50%的股份卖给NBA,而篮协退出直接管理,在CBA商业联盟和NBA之上负责监管和国家队工作和青少年培养。

    NBA来中国看中的仅仅是我们巨大的篮球市场,他们如果能入股参与将帮助规范篮球市场,促进良性发展,这必然遭遇篮协保守势力甚至体育总局的阻拦。为了让改革往前迈出一小步,我们眼看着这只产业资本的秃鹰,蚕食着我们的市场,谁让我们无能呢。