引子
昨天晚上,我终于把《梦断代码》这本书看完了。之前,我开展”Chandler中文化”这个项目,在内心深处的原因是
“我啟動這個項目,并不是從所謂的用戶角度,或者是為了推廣
只是覺得這樣一個優秀的、能與GTD這么緊密結合的軟件
實在罕見,也難以找到
雖然,流行很多軟件,都可以用于GTD
但是,能以GTD本身的方式來設計的軟件
少之又少
我是為了不讓這個優秀的GTD軟體從此湮滅在歷史的塵埃中
因此決定做出這樣的舉動
希望GTD的思想在國內不斷興盛的同時
也能保持住這個軟件的活力”
是吧,觉得我很理想主义吗?没错,这就是一个十分具有理想主义的目的,没有任何的功利,也不为推广。如果我再深入一点,其实最最内心的一个想法就是:”这么一个好软件,如果没有一个中文版,真是太可惜了。”当初召集人手,也没有想过要自己参与中文化,而是想用”钱”这个万恶之源来诱惑一下别人,希望有人能帮忙把这个软件给汉化了,不过”事情的发展往往出乎意料”这句话是永远的真理,我没有想到我也陷入Chandler中文化这个项目里面来,不但参与汉化,还了解了一下项目的管理与组织的事情,受益良多,超出意料之外。
也因此对Chandler这个软件更有感情,恰逢《梦断代码》这本书已经面市,因此在寒假的时候趁机看完。
读完这本书,久久无语,只能沉重的叹一口气,幽幽的历史阴影悄立在背后。
前言
韩磊这位《梦断代码》的译者,给《梦断代码》这本写Chandler故事的书做了一个评论:本书是讲一事,也是讲千万事;是写一软件,也是写百千软件;是写一群人,也是写千万人。
没错,一个故事,往往能带给我们一些启迪,何况是一个这么具有探讨意义的故事。
在这本书里面,最最重要的一句就是:软件难做。
为什么难?难在哪里?
拖而未决、超出预期的情况、改弦易辙、拦路虎、大量要修复的缺陷……
尤其这个软件,不是一个简单的小软件,而是一个大型的多功能集合的软件,所遇到的困难会比想象中要多得多,也困难得多。Chandler的难产,是必然。
软件
本书的作者一直在不断的重复着一个问题:为什么我们不能像造桥一样造软件?
在书中,描写了一个造桥的景象,以及造桥活动本身给作者带来的想象。在他看来,造桥,这个活动是多么的完美,从开始建造,一步一步的打地基,架好钢架,逐步逐步的添砖加瓦,然后成就了一个完美的大桥,一切都精确、可控、不必重蹈覆辙。
然而,做软件,不能做到像造桥一样,能够按照既定的图纸,既定的目标,来一步步实施,虽然每个做软件的人都希望如此。然而,”事情的发展往往出乎意料之外”这句老话不断又不断的在创造软件这种活动中应验。
也许是因为写软件,就是要求极高的事情,写代码的要求就是完美。计算机语言,其实就是将人的语言翻译给计算机,让计算机听懂人要让它去做什么。没错,计算机本身是不知道如何去写代码,它不懂,它要别人说给它听它才会有反应,还是十分精确,实事求是的反应。
一切的问题就是出在人身上,人是不可能不犯错的。一个小小的制表符,就能把一个软件搞得乱七八糟。
计算机那种无法容错的特性,犹如是给自满的人类泼冷水,我们在面对着我们创造出来最伟大的发明的时候,懦弱的发现,我们无法完全的去操控它,它就像是一个来自外星的生物,我们之间的沟通是如此的困难。
项目
Chandler的当初的愿景看起来十分简单,”让Agenda之魂在当代程序中复生,消除地窖、让用户能随己所愿任意切合数据”,只有三句话。
然而,为了这个愿景,一帮顶级的程序员,头脑洋溢着才华的家伙们在现实中不断耗费他们的精力,直到最后感觉陷入一片黑暗,茫然不知出路何方。
看来三句话的愿景还是太长,也许压缩为一句话,这样他们所遭遇的困难会不会小很多?
不管怎样,Chandler还是在太阳初升的朝气中启动,没有方法,不知道是一个怎样的作品,只有三句模糊的描述。
激励着程序员不断推动这个项目的动力是We Can Change The World这种充满梦想的口号,他们自信自己能够打造出这样一个能够改变世界的作品。没错,梦想总是激动人心的,但是梦想与现实中狠狠的相碰的时候,受伤的总是梦想,为什么?
当他们谈及梦想的时候,他们毫不知道要如何达到梦想,他们是想做出这么一个东西出来,但是,对于如何做出这个东西,却没有明确的认知。
他们开了一次又一次的会议,希冀每次开会都能消除一个到两个问题,确定一些事情,好让项目本身能够向前迈进。但是,讨论的东西太多了,一个又一个问题的提出,无穷无尽。
他们犹如困在玻璃瓶里的苍蝇,为了飞出牢笼不断的乱撞,直到筋疲力尽。
Chandler这个项目不是因为没有规划,可能最大的失败是因为规划太多,计划总是变得太快,令人无所适从,没有既定的路子,没有既定的方法,没有既定的结论。
就像在书中所说,”Chandler在地基未稳的情况下起步”。
所谓的事前计划,到了最后,也是变成了废纸一堆。
意料之外
在软件行业,总是充满着”意料之外”,一个有着好愿景,好团队,好计划的项目,到了最后也许只能产出一个半成品或是缺陷品,离项目的目标还有很长的一段路要走。
但是,同样有些软件或是产品,在当初的时候,没有考虑太多,只是一个简单的想法,只是为了实现一个简单的功能,但是不断发展,到了最后获得了极大的成功。
书中以IBM的OS/360为前者的例子,以blogger为后者的例子(大家可以回去查证一下,对比两者的发展历程)。
为什么会这样?书中做出了一个解释:
计划必须符合现实情况–’从底至上’,依据那些负责按计划执行的程序员的经验和知识而来,而不是’从顶而下’,靠管理者拍脑袋或对市场的期望而来。”
后记
如果把Chandler的故事引用在一些团队项目上,我们是否也会冒出一身的冷汗?
项目的管理,项目的推动,项目的……
为什么做成一个东西,做成一件事会那么难?
面对这个问题,让我想起我之前看过李笑来的一篇文章,具体不记得了,但是大意是这样的:如果你想做好一件事,你要同时做好很多件事,只有这些配套的事情都做好了,你才能把这件事给做好。
但是,如何才能把一件事做好,配套的事情怎样才能一个个的全部做好?让我用一句双关语来做出解答吧。
从下至上,通天之路;由上而下,地狱之途。
————–
附上移山之道的读后感十分精辟
梦断代码 读后感 (I) 驱动和责任
梦断代码 读后感(II) 交流和时间
梦断代码 读后感(III)远虑和近忧
* “Chandler中文化”项目近况
本文由作者笔名:小小评论家 于 2023-03-26 09:22:26发表在本站,文章来源于网络,内容仅供娱乐参考,不能盲信。
本文链接: http://www.w2mh.com/show/31428.html