2010年2月6日

看另一种晨会的杂感

晨会是Scrum里的一个实践。

最近才意识到,这种东西一点都不时髦。很多理发店,饭店,他们早晨都有这个。今天在大鸭梨看到他们的晨会,颇有感觉。看着他们都站在那里,觉得跟站立式晨会差不多。不同的是他们的员工,年龄层比较低,处于还比较毛糙的年龄。也就是说,不仅需要教育怎么做事,还得教他们怎么做人。所以在这个晨会上,经理教育他们说,不要混日子,十年后,你们如果没做出什么来,一生就这么过去了。跟他们说,要当面说坏话,背后说好话。也就是进行人性和行事风格上的教育,也可以说是一种文化上的教育。经理教育完,几个像老员工的来说加单要写名字,不要怕写了名字会怎么着等等。虽然是端茶倒水送饭,但是需要注意的还真是不少。前台,服务员,后厨,这之间也是需要沟通规范,任何一个沟通不符合规范,就会出乱子。

比较起来,敏捷的实践只是要求个人说自己做过什么,要做什么,有什么问题。不过我发觉,有些话,其实是应该在晨会的时候应该强化与灌输,不见得是每天,但是隔三差五的就该讲讲。关于工作态度,配合。这是员工培训的最好时机。在这里用力,虽然不会有奇迹般的效果,但每隔一段时间肯定会有一点切实的进步。企业与企业都是不同的,有自己的氛围,那所谓的文化,就是企业的性格。员工与员工更是不同。但是企业喜欢的员工其实都很相似。不喜欢的员工却各有各的不同。所以企业经常培训员工。但我是不相信给员工搞一两次课可以改变一个人的。有天在快餐店,听到一个老销售教育一个新销售说,鸭子听鹰讲怎么飞。上完课,鹰飞回家了,鸭子还是走回家的。不能飞的鸭子又不缺什么,野鸭就能飞。所以,仅仅几天的员工培训能改变什么呢?不能指望着几天就能给公司制造出好用的员工来。公司对教育的重视不够说小了是不把自己的钱当回事,说大了其实是社会责任的缺失。

你们10年后还一事无成,这是给员工灌输的一种危机意识。要当面说坏话,背后说好话,这是对员工进行人性的教育。这像是领导说的话,有人说,领导两个字是领袖+导师。身为导师不引导人光明磊落,就不能怪人言可畏。有喜欢以流言御人的领导才有大量到处嚼舌头的下属。现代企业不是古代的官僚衙门。该专心搞的是经营而不是政治。

散会后,员工继续去工作了。你说这个晨会有什么作用吗?不知道,就像一颗石头扔进了平静的水里。一阵激荡过后我们什么都看不到了。但是,我想,日积月累,石头扔得多了。在你不注意的时候,水面会悄悄上升的。

posted @ 2010-02-06 14:02 咖啡屋的鼠标 阅读(54) | 评论 (0)编辑 收藏

2010年2月2日

敏捷还得是人敏捷

敏捷作为方法学,其实还是比较虚的。哪怕是其中比较实的最佳实践,也是非常难以掌握运用的。原因其实很简单。人要想通过敏捷偷懒是绝对不可能的。敏捷的实施,在最初肯定是非常累的。因为改变总是痛苦的。回顾丰田的历史,他们在创造TPS的时候,工人们也是想把大野耐一的那些破烂东西都给砸咯。
不过很多时候,痛苦是幸福的开始。一个人完成很多人合作完成的工作,咋看起来是非常劳累的。但是习惯了,也就那样了。TPS里面基础就是让一个工人具备两项以上的技能。程序员也是一样。不能为自己的懒惰找理由。大家都是人,都想懒,但是今天懒了,总会有一天被逼着勤快。就好像没有时间锻炼,就有时间生病一样。只有每个团队成员都变得敏捷了,敏捷的方法才有意义。


posted @ 2010-02-02 23:59 咖啡屋的鼠标 阅读(52) | 评论 (0)编辑 收藏

2009年1月7日

时间

时间。。。曾经是我最害怕的东西。。。如今却变成了最喜欢的东西。。。
这个世界纷纷扰扰有那么多的真实与虚假
只有时间能把它们分离开来。
时间,跟所有自然的伟力一样,从来都是缓缓的,慢慢的显示着自己的力量。
人可能等不及看到它的效果,可它却一直履行着自己的职责
一切浮于表面的虚幻,终会在时间的侵蚀下消逝,只留下最真实的东西。

posted @ 2009-01-07 16:24 咖啡屋的鼠标 阅读(70) | 评论 (0)编辑 收藏

2008年11月21日

中国梦

google上搜这个词,搜到的很多是征文,和一些扯淡的文章。
跟这篇文章一比就差的比较远咯:
http://www.dapenti.com/blog/more.asp?name=xilei&id=15410
节选精华“中国梦”解释如下:


 如果有人问什么是中国梦?我说,只要你看看这个国内的精英怎么选择的,你就知道了:

 【1】读书,考上清华北大,然后,到外企工作,出国,拿绿卡;

 【2】唱歌跳舞,不惜一切代价成名,出国,变更国籍;

 【3】当官,贪污腐败,找机会逃跑到国外,躲起来过一掷千金的日子;

 【4】做生意,赚到足够的钱,然后,出国定居,想生几个孩子就生几个孩子,让小孩都在国外上大学。



posted @ 2008-11-21 21:33 咖啡屋的鼠标 阅读(96) | 评论 (1)编辑 收藏

2008年11月20日

离题

BlogJava,应该是一个技术博客。倒回来看自己写的东西,却感觉离题越来越严重。
对技术的热情在衰退。所写的技术相关的东西越来越少。
从Java到Flex到Grails。技术照理增长了不少,人却越来越迷茫。
对文科的兴趣在增长,已然超越了对程序设计的兴趣。
可是做的工作又不得不继续从事程序设计的学习,不然一旦失业了,我又能做什么呢?
所以每当看一些文科的书,就会有一种罪恶感。人活成这样,不得不说是一件悲哀的事情。
其实心里明白,所谓悲哀在旁人看来不过是一种吃饱了撑着的心态。
买了域名和空间,准备换一个独立博客了。到时想写些什么就写些什么了,也不用担心站方有问题。


posted @ 2008-11-20 00:09 咖啡屋的鼠标 阅读(90) | 评论 (1)编辑 收藏

2008年10月3日

TPS相关书籍阅读笔记

最近一直在看跟丰田生产体系有关的书,得到一些很有意思的知识点
  • 刚明白原来这些个名词他们是JIT->TPS->Lean->Agile这么一个关系。
  • 丰田老总一拍脑袋提出3年之内超越福特。这种感觉就像好像有一家中国软件公司一拍脑袋说,三年之内超越微软一样。我要是执行人,只会觉得上边又发神经了,这不是疯了吗?结果大野耐一到底是大野耐一,竟然真的找到了方法。
  • TPS认为浪费有七种:
    1. 生产过剩的浪费
    2. 制造不良品的浪费
    3. 停工等活的浪费
    4. 动作上的浪费
    5. 搬运的浪费
    6. 加工本身的浪费
    7. 库存的浪费
  • 丰田的思路其实简单到了不能再简单,利润=销售价格-成本。那么在经济增长无望的时代,减少成本就等于创造利润。过去的时代是一个经济高速发展的时代。就像日本泡沫经济时代一样。但是泡沫破裂的时候,丰田反而崛起。类似的如学习TPS的佳能,在5年内销售没有增加的情况下,利润增长十倍。
  • 面对一个即将来临的经济增长放缓的时代,成本开始成为管理者嘴上流行的新词应该是下一步的趋势。
  • 软件开发中的浪费有哪些呢?我现在想不到太多。但是跟朋友聊天我突然意识到,犹豫也是一个巨大的浪费。作为一项脑力劳动,开发时的犹豫就如同停工等活的浪费和动作上的浪费。这种事情其实可以避免,我开始明白TPS这样一个强调变化与改进的过程,为什么还如此强调标准化。应该就是通过整理最佳实践并确定为标准流程来减少重复犯错与犹豫造成的浪费。那么结对对效率造成的改进,别的不提,减少了犹豫的时间应该是很重要的一点。而这也是在水面以下最不容易被发现的浪费。因为犹豫和谨慎,从表面上看,似乎是一样的。


posted @ 2008-10-03 00:34 咖啡屋的鼠标 阅读(149) | 评论 (0)编辑 收藏

2008年9月10日

偶尔想到的

通往天堂的轮船和通往地狱的轮船烧得都是同一种燃料,那就是人类的欲望。
记得小时候看《读者》这本杂志,里面有一个故事,上帝带一个人去参观地狱,地狱里支着一口大锅,锅周围坐着一群人,每个人拿着一个很长的勺子,因为勺子太长了,想要吃东西,经常会碰到别人,所以互相之间总会打起来,结果所有人都吃不饱,人人脸上充满着愤怒和痛苦。然后上帝带他又去参观天堂,结果天堂里跟地狱的摆设一模一样。但是人人脸上洋溢着幸福,原来,这里的人会用长勺子喂对面的人,所以,每个人都能吃饱。
同样的配置,同样的人,同样都有吃饱的欲望。一处是天堂,一处是地狱。现实中也是如此,一个好的游戏规则,游戏中便是天堂,一个不好的游戏规则,游戏中便是地狱。

posted @ 2008-09-10 13:30 咖啡屋的鼠标 阅读(93) | 评论 (0)编辑 收藏

2008年7月25日

囚徒

相传,有两个嫌疑犯,合谋杀死了一个人,之后被警察抓住,警察将他们分开审讯。并告诉他们说,如果你们两个人都不说的话,以我们现在的证据,我们可以让你们坐一年的牢。如果你招供了,而你的同伙没有招供,那么我们将当庭释放你,你的同伙关20年。如果你和你的同伙都招供了,那么我们也就没有必要照顾你们任何一个,你们一人关10年。

这就是著名的囚徒困境。处于困境中的囚徒,该如何选择呢?

如果我是那个囚徒,我不说,你说了,我被关20年。你说了,我也说了,我关10年,只有你不说我不说的情况下,我还要关1年。这里还有一个极大的诱惑,那就是我说,你不说,我可以当庭释放。人性如此不可靠,综合判断的话,还是说最保险,保不齐还能当庭释放呢?不如赌一把。
这就是我全部的如意算盘,可惜,另一个囚徒他又不傻,他也会这么想。于是,利益最大化的可能性变成了永远不可能达到的彼端。而10年这个选项变成了我唯一的下场,也是我们双方唯一的下场。这个次坏的结局被称之为双输。我们追求的利益最大化的那一点被称之为单赢。而每人都得到次好的那个看起来更不可能的选项被称之为双赢。

这个故事中其实并不虚幻,现实中的我们都是这样的囚徒。想想日常中遇到的一些类似的情况,真的是非常的熟悉。

现实中的情况复杂一些,可是道理相同。我们每个人都追求自己的利益最大化,可是长远来看,最大化的利益或不曾降临,或稍纵即逝。我们最终得到的只有那个次坏的选项。不过还好我们还可以合理化,安慰自己说,总算没有到最坏的结果。但实际上我们明明可以到达双赢的结局。

从刚知道这个故事的时候,我就发觉工作中的情况与此非常类似,于是我想,应该找办法摆脱这个困境,远离双输,通往双赢。我觉得,凭借敏捷方法我可以不用陷入这个困境。可是我错了,以前的困境拼图并不完整,敏捷方法恰恰是补完了这个困境通向双赢的那最后一块拼图,至此一个完整的囚徒困境才算是建立完成了。有诱惑,有陷阱,有希望,于是也就有了困惑。于是,困境始成。

在这个困境里,企业那点道道,就不说了,大家都很熟悉,可是作为我们程序员,就多么高尚吗?

敏捷要求全能小团队,可对于程序员来说,只干自己擅长的那一摊事,然后拿工资是利益最大化的选择。抽空还能自己学点东西提升一下自己。或者聊聊天、泡个论坛、玩个网游什么的。我们自己做出了并不比企业高多少的选择。通过双方的不懈努力,终于,企业和我们达到了双输的结局。简直就是悲剧。悲剧一再上演着,却没多少人太在意,至少大家都可以安慰自己说,总算没有到最坏的结果,一定是哪里做的不够好,再改进一些会好的。可惜,自然规律是很无情的。你做了这个选择,就只有这个结局,于是悲剧一再上演。

没有解决的办法吗?有,当囚徒困境不是模型里的单次博弈而是多次博弈时就有解。可以采用一报还一报的方式,当一方选择个人利益最大化的选择时,那另一方也选,直到对方放弃。也就是不停的双输,并且沟通,直到大家一起回到双赢境地下。这就是囚徒困境的唯一破解之法。只可惜这个方法也有问题。第一个选择个人利益最大化的人会在这个方法中获利。如果利益比较大的话,反复几次,他就可以有机会破坏这个平衡,将双赢博弈再次变为零和博弈。所以,惩罚机制也是很需要的。

方法有了,可是模型毕竟是模型,现实比这复杂得多。在囚徒困境之外,你会发现,还有团队这个群体存在。当一个人做选择很容易,当一群人做选择的时候,就很难了。按照大众心理学的说法,群体几乎是没有意识的。所以这个时候,我是只能感慨个人的渺小了。

posted @ 2008-07-25 19:29 咖啡屋的鼠标 阅读(141) | 评论 (3)编辑 收藏

2008年7月8日

价值

价值,所有的方法学都会指向这个词。
可是所谓的价值,有的时候说得清楚,而有的时候很难说得清楚的。客户说出来的清楚,但有可能根本不是他最需要的。如果天下的人都清楚的知道自己要什么,也许也就不会有什么方法学了。
就考虑我们自己吧,我们想要什么?钱,没错,谁都需要钱。但要钱干吗呢?在钱的背后是我们追求的价值。大家都想让自己的价值得到体现。可是这简单的一句话在每个人身上却有不同的含义。
客户提出需求的时候总是欲求不满的,仿佛跟上帝许愿一般。可是我们毕竟不是上帝,只是勤劳的工匠。工匠是一种介于艺术家与科学家之间的职业,是兼顾感性与理性的一群人。在我们的身上有像艺术家一样追求超越自我的性格也有像科学家一样锲而不舍追求真理的性格,制造出对人们有用的工具是我们最大的价值体现吧。可复杂的现实,让我们这么利他的追求也难以实现。

posted @ 2008-07-08 00:18 咖啡屋的鼠标 阅读(150) | 评论 (0)编辑 收藏

2008年6月30日

万岁~

红警、星际、暗黑。还有人记得当年的这三个伟大的作品同台竞技的那个时代是怎样的情景吗?
不记得也没关系,因为这个时代又要来临了!
这次是红警3、星际2和暗黑3.哇咔咔,未来的几年不会太无聊了。不要太沉迷于游戏中才好,呵呵。

posted @ 2008-06-30 00:50 咖啡屋的鼠标 阅读(139) | 评论 (0)编辑 收藏

2008年6月28日

无题

昨天,盖茨离开了微软。对我来说那一天只是一个普通工作周的结束,对微软来说,却是一个时代的结束。
用盖茨大叔的操作系统的历史跟我接触电脑的历史一般长。从最早的dos到win32到win95、98、me、xp、2000、2003、vista。我几乎用过微软的每一代操作系统。经常会骂微软垃圾,可我也从来没掏钱买过正版操作系统,这种骂多少有点龌龊。
时隔若干年之后,总算我也用上了正版的windows(笔记本送的Vista)。回想起来,一些往事不由得浮上心头
最早的时候接触的dos已经记不得是哪个版了,286时代的,而那个286电脑大概长成这样:

但是开始正式学的dos应该是6.22的:

那个时候装机只需要一张5存盘:

后来才有的3.5寸盘:

那个时候盘经常坏,所以3.5寸盘的塑料盒和5存盘的纸袋是很重要的东西。
后来,接触到的第一个图形化的操作系统是windows 3.2,那个时候我并不知道apple是什么:

操作起来大概是这么个感觉:

没有任务栏、没有开始菜单,非常诡异。再后来的,就是windows95了吧:

win95的界面比较经典,可以看出来现在的windows界面相比win95其实没有太大的变化:

当时的游戏大多都是在dos下的,机器内存又小,为了玩游戏需要切到dos下,关掉95。即便在这么困难的环境下,依然有伟大的作品诞生:

。。。。
那个时候,很多游戏的安装需要靠一个叫arj的解压工具:

中间还有一个改进版的95,被称之为win97,至今我也不知道到底有没有那么一个正式的97出现过,反正很快,98就诞生了:


回想起来,那年开始,我接触的游戏开始变多,我永远忘不了我看到星际的时候的感受:

在那个时代,还有一个称得上传奇的病毒---CIH,以其可以对电脑造成物理伤害而闻名:

98是一个及其不稳定的操作系统,解决98里一些较大问题的唯一法宝往往就是重装,也许正是因为他如火凤凰一般的再生能力,一直到2000和xp诞生之后都有人选择他做自己的操作系统。
而win me。。。很多人根本就不知道他的存在:

不知道现在有几个人知道win me安装完第一次启动时必须忍受那个开机动画的事。再后来就是2000了,其实在win32时代就有windowsNT,微软用它在服务器市场里战斗,不过我个人并没有用过,windows 2000是我接触的第一款微软的服务器级别的操作系统:

到了windows 2000之后我对微软的怨言已经少很多了,呵呵。之后微软家族的产品越出越好,只不过漏洞和病毒依旧多不胜数。XP和2003就不回顾了,反正他们还不算历史。看看前面的这些东西,想想盖茨大叔的退休,该说些什么呢?私底下骂了微软若干年了,反过来看,微软也给我带来了很多乐趣。也许,应该对他说一声,谢谢。

posted @ 2008-06-28 17:16 咖啡屋的鼠标 阅读(167) | 评论 (0)编辑 收藏

2008年6月22日

过程

    前些天跟朋友聊天,聊得很激烈,我也收获很多。
    中间聊到过程,朋友认为,管理的最高境界应该是没有过程,但仔细一问发现,还是有过程的,只不过是一些更人性化的过程而已。结合我另一些朋友的观点,看来“过程”这个词有点招人恨了。(当然如果是瀑布式的过程的话,我会第一个跳出来恨的,:P)
    我一直认为过程这种东西,做不好就是枷锁,做好了就是铠甲,让你在工作中左冲右时保障你的安全。这次敏捷大会跟o6z聊天时,他说,虽然他老说敏捷,但他 其实是一个很偏好重型过程的人。其实还是我的那个比喻,只不过重型的铠甲也是铠甲,更适用于直线冲锋陷阵的重装骑兵,但是你要是随便找个步兵团队来配上重装骑兵的铠甲,估计还没打就被压死了。
    关于过程这个东西,很有趣。既然想到这了,就像抽取一些自己的零散思维放上来。
    我琢磨XP有很长一段时间了,Scrum也看了一段时间,就个人来说,不是很喜欢Scrum。总觉得这个东西天生带有一点滋生官僚这种细菌的潜质。常听说 XP没有管理的内容,Scrum在这方面做的更好。可我还是觉得Scrum没提供什么东西,完全可以把Scrum的一些东西吸收到XP中,结合自己的团队 实践搞一些混合敏捷(Hybrid Agile)。因为Scrum在管理方面做的东西并没有多少,实在算不上盔甲,顶多是个盾牌。比较起来,XP的话,倒是有丰富的价值观和配套的实践,在吸 取了它的一些本质的东西之后集合公司实际做一些定制化的管理框架更好。
    下一步准备研究一下FDD,再考虑跟前面俩方法混搭一下。我感觉这搞过程越来越像J2EE开发了:Struts + Spring + Hibernate一样的玩法。

posted @ 2008-06-22 01:30 咖啡屋的鼠标 阅读(138) | 评论 (0)编辑 收藏

2008年6月18日

希望

第110集的银魂非常的搞。桂入狱了,而且是号称从未有人逃出来过的监狱,里面关的都是罪大恶极的人,但是入狱的领袖到底还是领袖,很快他就成为了监狱中的老大,并且给这些终生无望的人带来了改变,每天的劳改变得不再无聊,人人都有了目标,脸上都洋溢着希望,乏味的人生从此有味道起来。。。。。当然,这终究是一部搞笑的动画片,前半截不管铺垫的怎么热血,最后一幕还是抖出包袱:前面只是阴错阳差得演了一场各怀鬼胎的阴谋闹剧。。。囧rz

虽然是搞笑的,但是那些洋溢着希望的脸,却在脑海中怎么也驱之不去。监狱是人生的地狱,那里的色彩只有一种---灰色。如果是终生监禁,这种颜色还会伴随你一生,成为你余生的主色调。进入监狱的人,在第一夜关灯的刹那开始明白,自己的人生从此完了。彩色的世界已经离自己远去,剩下的时间里只有单调的监狱生活,不会再有希望。在那个世界里,几乎不会有那样的神情、那样的脸,只有充满戾气的脸才跟那个环境般配。当这个动画以夸张搞笑的手法把一张张这样的脸呈现在我眼前的时候,我的第一感想竟然是羡慕。。。。

是啊,羡慕。我惊奇的发现,希望在我的词典里被挤到某个小角落很久了。感谢一些人,让我看透了一些事情。同样也亏得他们,我开始不再抱有幻想,变得更加理性,虽然人生不再有明确的方向,却敢于迈出自己坚实的脚步。这种没有方向感的自信我不知道是什么,但是在这种自信的世界里,没有希望的存在。偶尔升起的希望很快会被我的理智所设下的“幻想侦测系统”预测到并驱散。(目前这个系统的误杀率还真不是一般的高啊。)

走在地铁站中,看过往的人群,有各式各样的脸,有幸福的、有木讷的、有暴戾的、有冰冷的,也有洋溢着希望的,对于见过的部分人们,说实话,真的有很多看起来充满希望的,不过有些是因为没心没肺,有些不好说是因为勇敢还是无知,或者说不准是因为无知而勇敢,更多的是让通过一种眼不见为净的手法,让自己的人生有希望起来,可是当真想到未来时,总会有一阵阵恐慌。

我想,希望这种若有似无的东西,看起来很没有价值,实际上却可以很有价值。一个人生活中充满希望,那么他是幸福的,他就会有安全感,工作也会卖力许多。有什么理由不给人们带来更多的希望呢?如果我们的团队被希望所笼罩,我们的团队就会有更大的活力。对于软件这个行业,非常需要注重人。希望,是对人非常重要的一个东西。那么我们的团队建设者们,是不是也应该注意一下这个东西呢?

posted @ 2008-06-18 00:52 咖啡屋的鼠标 阅读(150) | 评论 (0)编辑 收藏

2008年6月10日

多语言

早在工作之前,就有学长们、老师们谆谆教导说,语言不要贪多,学一门语言学到精,其他语言再学就很容易了。
我是这么做的,而且,做的有点过。很长时间里都扎在Java的世界里不肯出来,找开源工具也一定要找基于Java的。最早找一个Wiki都执意要找Java的,找到了JSPWiki。也因此认识了BeanSoft和Java Ajax群的朋友们,呵呵。
但是,随着开发任务的变化,不得不去学一些其他的语言。没办法,人在江湖身不由己啊,所以,也就开始了多门语言的学习之路。javascript可以说是我学的第一门“外语”。最早的时候对js的应用,也就简单用一下得了。后来随着时间的推移,觉得将来脱不了要靠它吃饭,也就主动买了几本JavaScript的书,慢慢的去啃,甚至啃到了很多对我没什么用的高级的特性,再后来工作需要,接触了Flex,js用的就少了,也就慢慢的放下了。
ActionScript是我接触的第三门外语。也是用心比较大的,呵呵,很长一段时间里甚至热情超越了Java。中间根据个人兴趣还看了点Ruby。
随着实践的增多,对语言的恐惧心理下降了。反而发现了各个语言所在世界的优势。每个语言所在的世界里都有非常优秀的东西。最早想做一个手脚架,看了一下Rails,是基于Ruby的;为了测试Flex,研究了FunFX,也是基于Ruby的;前不久在部门里搭建了一个wiki,是基于PHP的;这段时间又研究了一下Trac,是基于Python的;研究Trac的时候发觉它可以跟Bugzilla集成,而Bugzilla是基于Perl的。这么多优秀的东西,让我觉得学习多门语言的困难变得无所谓了。
上次去OpenParty,参与了郑晔的那个session。他讲了自己在项目中使用多种语言的经历。其实很有趣,作为只会一种语言的人来说,他觉得学多门语言会让自己泛而不精,然而真正掌握多门语言的人却发觉,他山之石可以攻玉,当你学会别的语言之后反过来在使用以前的语言的时候,思路会变得异常开阔。不管是对设计模式的领悟上还是对架构的组织上,都达到了一个更高的高度,反而更加精深了。
回来后,我也想了很多。记得早前看o6z一个帖子讲,SOA之所以风行,很大原因是因为企业已经积累了一些设备和软件。因为金融风暴也好,因为经济衰退也好,因为成本考虑也好,因为这这那那也好,不想统一成一个,需求决定供给,所以SOA才风行起来。那么这样一个环境对我们开发人员的会不会有什么影响呢?而且开源风行的今天,我们的软件行业也已经积累了一批财富。我们业内的人,也是不想统一替换成一类语言的,那么市场上的需求会不会慢慢变得要求我们程序员必须掌握多种语言呢?其实现在已经这样了,我就是一个例证,我的变化不是我主观想这么做的,而是一只看不见的手---市场推动的。不过我个人预测未来可能会更严重,如果JVM成功变成一个可以跑各种动态语言的超级平台的话。

posted @ 2008-06-10 02:07 咖啡屋的鼠标 阅读(175) | 评论 (0)编辑 收藏

2008年6月7日

疯泉的故事与对错


疯泉的故事一直困扰着我---相传,有一个国家,有一口疯泉,喝了泉水的人都会疯,很快全国人民都疯了,只有国王是正常的,在国民眼中看来国王是不正常的,其结果就是国王被灌下疯泉水,成为了疯子,全国狂欢。作为旁观者看来,你告诉我,国王是对的?还是国民是对的?

可是跟所有的故事一样,故事总是只强调问题的一方面,我反过来讲这个故事,如果全国人民都没疯,就国王疯了,国王认为,不行,全国人民得跟我这样,于是想法设法让全国人民喝上疯泉水。那么现在作为旁观者你告诉我,国王是对的?还是国民是对的?

现在有一个国家,有两口泉,一口是疯泉,一口是醒泉。喝了疯泉的人会变成疯子,喝了醒泉的人会变成正常人。最早国家的人全变成了疯子。机缘巧合,国王喝下了醒泉。清醒过来的国王想让国民都醒过来,想让国民喝醒泉。而国民发现了国王与自己不一样的地方,于是将国王灌下疯泉水,国王再次疯了。那么现在作为旁观者,你告诉我,国王是对的,还是国民是对的?

其实三个问题都挺简单的,第一个:国王是对的,第二个,国王是错的,第三个,还是国王是对的。可是,我现在再给旁观者的你一个新情报,三个故事是一件事,只不过是三个人讲的,所以出现了三个版本。其实我还能讲一个故事,就是把第三个故事反过来讲,大家自己想去吧,相当于第二个故事的扩展版。如果是这四个故事一块看,你说谁是对的呢?是“群众的眼睛是雪亮的”呢?还是“真理掌握在少数人手中”呢?

如果到现在你还没有被我绕晕了的话,应该心中还能响起柯南的那句话:“真相只有一个”。没错,所以你只要找到那两个泉,搞清楚到底哪个是醒泉哪个是疯泉就好了。真理,自然就知道是掌握在谁手中了。继而也就可以证明国王是对的,还是国民是对的。

可是,事情没有那么简单,你率领的观察队发现,两个泉水是两口魔泉,你喝下一口泉水的水,你就有拥有了一种价值观,喝另一口泉的水,就拥有了另一种价值观。两种价值观是对立的,但是,谁知道哪种是疯的呢?事情变得更复杂了。。。难道在这个事件中我们无法证明什么吗?诶,还真有一个,你证明了,这个国家有两口魔泉,不是一口。

这世界上有很多事情就是这样,扑朔迷离的,就算最终谜底揭晓,发觉反而不知道对错了。可是如果我们一开始就知道这些,我们就能知道对错了吗?还是不知道啊。不过呢,这种问题,我们苦恼,精英们比我们更苦恼。早在我们考虑之前,精英贤者们就在考虑这些问题了,并得到了一些结论。最早的时候,老子就说,有错才有对。这说法比较言简意赅,乍一看就是句废话。我以前也觉得他是句废话,知道有一天看到了另一句话,才明白他老人家的微言大义。这句话就是:“可以被证伪的命题才是科学的命题”。这话听着跟我们日常里对科学的印象不太一样呢,我们常说,你这个说法不科学,那意思就是不对。科学当然是对的,证伪,证明是错误的,那种东西怎么能算是科学的呢?可惜,事实正是如此,所有科学的命题都是可以被证伪的。科学也正是因为信奉这一条原则,所以才可以自我修正,自我进化,以致今天的高度。

所谓可以被证伪不是说这个东西有错误,而是说,你这个命题天生带着可以被推翻的情况出生的。比如,曾经有人怀疑进化论的科学性,说你这个东西无法被证伪,进化论的拥护者就说,你只要找到一批侏罗纪的兔子或者猩猩化石什么的,那么进化论就被证伪了,因为进化论说物种的进化一定是从低级到高级。这种情况,我们称之为可被证伪。指一个命题能够被推翻。什么是不可被证伪的呢?比如说什么是美的,我们常说情人眼里出西施,那美自然是无法被证伪的东西。艺术的东西,大都是无法被证伪的。无法被证伪的东西,自然没有错误,没有错误的东西自然就没有正确。像这样的东西,就不要追求什么对错了,硬要追求,只有自讨苦吃。

posted @ 2008-06-07 22:15 咖啡屋的鼠标 阅读(159) | 评论 (1)编辑 收藏

2008年6月6日

没事闲的,考虑一下企业文化

前一阵跟一做企业文化咨询的哥们混了一阵,从他那瞅见一书,挺有意思。叫《公司基因》,看着不错就买了。
这OpenParty是不兴推荐书了,下次再有机会就推荐这个。
这书里认为企业文化不管怎么变,他的DNA都是由四个元素组成的,即:组织架构(原词是structure)、决定权、信息、激励机制。
它根据这四个元素把企业分成了七种类型
  • 消极进取型
  • 时进时停型
  • 过度膨胀型
  • 过度管理型
  • 随机应变型
  • 军队型
  • 韧力调节型

其中前四者看名字就知道不是什么好东西,书中也定义为不健康的企业。后三者,虽然都算是健康的,但最好的其实是最后一个。

敏捷常常被说是一种文化,我也这么觉得。所以,我最近一直让自己从这四个角度看敏捷的方法学。分析来分析去,反而搞不清敏捷应该塑造一种文化,还是某种文化是维持敏捷的土壤。有点鸡生蛋蛋生鸡的意思。不过不管哪个生哪个,如果目的是养鸡,那谁先谁后就不是我关心的了。

posted @ 2008-06-06 00:54 咖啡屋的鼠标 阅读(161) | 评论 (0)编辑 收藏

2008年5月23日

初读《Scrum敏捷项目管理》

这本书前面部分写了太多关于案例的内容。没有足够形象的讲解Scrum。也没有充分描述Scrum的假设、适应情况和不适应情况。讲Scrum的风格跟微软的讲师讲座倒是真挺像。
书中的Service1st公司的案例跟我们部门的情况极其相似。最后他也没解决,只是说Scrum在现有的形势下带来了什么好处,有些失望。不过仔细想想,这个团队的问题不是软件开发方法的问题,而是企业文化的问题。所以Scrum解决不了是意料之中的。
但是这本书,说实话,不是特别经典的一本书,大概看看吧。

posted @ 2008-05-23 10:42 咖啡屋的鼠标 阅读(141) | 评论 (0)编辑 收藏

2008年5月20日

关于浪费的杂想

敏捷是以消除浪费、提高质量为目标的。但是有些时候总能见到一些原教旨主义者指出,重构也是浪费、结对也是浪费、讨论也是浪费。然后呢,又有人提出,XX是必要的浪费这种说法。

想了一下,XX是必要的浪费这个说法其实不确切,只能说,这些东西是必要的成本支出。所谓浪费,必须从经济学角度讲才行。不然世间一切都可以带上这个难看的帽子。牛博网最近新来的骗银老师那里学来一个概念:“经济学上有个奇怪的概念叫‘冤死的损失’(deadweight loss),英文的直译是‘未被释放出来的能量损失’,那是说,有一部分损失,...”谁也没拿走,“...但因为效率原因,它就那么凭空损失掉了。”
因为听起来很玄,为了让大家更好理解,骗银老师在后面讲的一个非常耳熟能详的例子:
我雇了一帮人,天天就负责刨坑,刨了然后填上,然后再刨开,再填上(这例子不荒谬,中国随处可见),我发给他们工资,这一来一往国民生产总值(GDP)就上去了。看起来谁也没损失什么,对不对?只是简单的财富转移。其实不然,这里面有巨大的浪费,因为这些钱、这些劳力本来可以用在其他更为有效的生产上,可都用来刨坑了,那就是浪费。”(其实个人这个例子还不够形象,如果挖坑和填坑的不是一批人,他们自己根本就不知道自己做的是浪费的事情,就知道干了活,拿钱,而且还为挖坑和填坑做了很多过程改进,提高工作效率。那就更形象了。)

所以说,您不能因为某些工作做了您能看到效果了,就不称之为浪费,而有些工作做了您看不到效果就称之为浪费了,应当反思一下是不是自己眼界不到。

离职将近,我在交接工作之际,因为我最熟,所以要我把依赖我负责模块的其他模块的适配器类改至新版。自己搬着Mingle写了一些故事卡,又用CC写了一 些持续集成的脚本。接下来,我还会去写测试用例。整个过程中,没有一行有效代码的产出。在以代码计绩效的角度看,我的工作就算是浪费。可是,大家应该知 道,没有这些东西,先不说我会不会在开发的时候保证质量。就说我离开以后,当产品质量出问题了,谁来保证?我可以根据异常一眼看出问题可能出在哪里,新接手的人能吗?如果他改了程序,能保证不会按下葫芦起来瓢吗?他需要时间去犯错去学习,这个时间,没有产生新的价值,这才是真正的浪费。而且这也就成了挖坑-填坑的模式了。

问题反过来了,我做好这个CI的环境走了,来了一个新人接手,会怎样?一天,系统报异常了。他有我的测试环境,而且,还是可以运行的。他可以很快的写一个测试用 例,并开始调试,即便他无法理解整个设计,那不妨碍他快速的修复Bug。而且,因为以前的测试用例可以自动运行,他还可以保证自己的修改不会导致之前的功 能出现问题。一个为产品而组织的团队,离开了某个特定的人,产品仍然可以自我完善,能完成这样的目标的手法才是最有价值的。

很多人担心前期花费的时间太多,后期就更没时间,问题又来了。前期花费的时间多,是浪费掉了,还是合理的用掉了?如果是浪费掉了,自然不应该,如果是合理的用掉了,那是必须的。我们学软件工程的时候都学过,一个问题发现的越晚,改正他的成本就越高。后期所谓的没时间,就是因为前期太多问题没有修正。

说道这个前后期的问题就不得不提最近一次结对的经历。在我的坚持下,总算完成了一次与同等水平开发人员的结对编程。持续时间有三天。与同等水平的人结对,感觉是不一样。也发现了很多以前没有发现的问题。这都是个人问题,脱离我本人就没有意义了,所以也就不说了。主要说一下心得。这三天的时间里做了一件什么事呢?推翻以前分成两个模块的应用,合成一个。两个人做一件事,大家可以随时根据今天剩余的时间做工作的调节,精确到小时。因为了解的信息不同,可以快速传递,合作互补,当他提出一方案的时候我可以快速告诉他,我这边没有问题,减少了尝试造成的时间浪费。因为两个人一起做,脑子根本停不下,一个人停了,另一个人还在转,带着你不得不进行。一天的有效工作时间在6小时以上。而分开的话,基本上能有3个小时就不错了。

(中间发生的一点插曲。因为结对开发从不了解的人看来,是一件很浪费时间的事情。所以出现干预结对的现象出现,理由是担心做不完。我觉得,如果不是坚持的话,就真的做不完了。从现实中看来,强调浪费,很容易被偷欢概念。而偷换概念的人很多人都没有做过仔细的考虑。纯粹的想当然。)

posted @ 2008-05-20 17:57 咖啡屋的鼠标 阅读(93) | 评论 (0)编辑 收藏

2008年5月17日

想法,关于地震,关于慈善

牛博上有一个帖子,号召专业人员也来做慈善事业。
我也勉强可以厚脸皮自称一下专业人员吧。也想给慈善事业做些贡献。

我有一个想法,提供一个网站,web2.0也好,MashUp也好,SNS,SaaS都好,算了,概念上的东西不扯太多。

大概做的话,会是这样一个东西。

初步假设面向用户有一个:NGO。提供的服务有两个,无逻辑关系,一个是NGO接受捐款的帐务公开列表(一笔是一条记录)。一个是NGO支出的捐款帐务列表(一笔是一条记录)。里面当然有采集和聚类。那就是细节了,不多说。

NGO这种公开的组织,我是在想不出他们的信息有什么理由不能走这种方式,如果都去自己开发一套网站,那太浪费了。

如果NGO自己要通过网络门槛较高,那么,我们来把帮他把这个门槛给拆掉!

目前方案思考兼征集中。欢迎拍砖。

=============冷静的分割线==================

冷静下来考虑了一下,如果是一个公益性网站的话,做出来很容易,维护却很难,如果不想自己维护,必须采用MashUp的方式,将后台干掉。另外开放API给别人使。也就是用别人的API做自己的API。

可是找了一周末的可以用的Api,发现集成出这么一个东西,完全不要后台的话。还真是很困难。对目前现有的情况过于乐观了。

昨天看四川的记者发布会,总算有记者问善款支出的发布问题了。从回答的样子看,也似乎是不打算找技术上的借口。心里的石头算是落下来一部分。这个想法的迫切程度也下降了。

MashUp的想法不会放弃,我会继续找。今天用不着,以后也有机会的。

posted @ 2008-05-17 19:39 咖啡屋的鼠标 阅读(148) | 评论 (1)编辑 收藏

2008年4月11日

CMMI的最高目标和Agile的世界观

今天公司过了CMMI 4级,5级没过,听老外讲述什么是5级也就是说什么是持续改进以后,感觉到CMMI的持续改进和Agile的消除浪费其实是一枚硬币的两面,持续改进就是消除浪费,为什么这么说呢?CMMI的持续改进本来就是高级别的过程域,那个时候指望重大变革基本就不靠谱,所以这个时候,看不管哪个行业,都会走向消除浪费的方向,软件开发也不例外。CMMI的持续改进要求一直做一直做,那跟敏捷要求的追求精益的观点是一致的。

CMMI认为通过4级的度量形成了稳定的过程之后,5级就应该是对4级过程的不断改进,什么时候看,都是不满足的,值得修改的。那种精神不正是敏捷的世界观吗?CMMI给出了一堆过程域和目标,并没有告诉我们怎么实现,Agile就更粗狂,不过大家提到Agile其实想到的是XP。所以觉得Agile就是一堆实践而已,没关系,不去争辩这个问题。我就看XP,XP的那12个最佳实践,跟CMMI的思想一点都不矛盾。(细节不可考,因为很多时候我很难清到底是CMMI里面就定好了这细节还是我们的EPG定的)。以前的时候只是粗略的感觉这两者可以不矛盾,现在培训过后,更证实了这点。

============
缩写解释:
Agile 敏捷
CMMI 能力成熟度模型集成
XP 极限编程
EPG 企业过程小组

posted @ 2008-04-11 13:55 咖啡屋的鼠标 阅读(194) | 评论 (0)编辑 收藏

仅列出标题  下一页
<2010年2月>
31123456
78910111213
14151617181920
21222324252627
28123456
78910111213

导航

统计

公告

访问量:
free hit counter
  hit counter

常用链接

留言簿(12)

随笔分类(44)

随笔档案(70)

文章分类(3)

文章档案(4)

新闻档案(1)

收藏夹(1)

Flex

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜