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