结婚前夕我请假一天,躺在床上看了大半的《梦断代码》,Chandler项目时间从2002年转眼到了2004年,10月26日OSAF发布了 Chandler0.4版。2年时间里,整个项目组的人员从几人上升到了20多人,有人离开,更多的是新人加入。做为一款致力于“无地窖式数据处理”的开源PIM软件,项目组的所有成员似乎经历了软件工程中的一切噩梦。项目的计划不断延后,需求不断变更,技术体系不断调整,功能不断取舍。然而,世界一直在进步,“许多以前为Chandler发布高唱赞歌的外部人员抛弃了它,有些正式参与者认为它迷失了道理“。
2001年,卡普尔办公室外的机房里,放置着一台Microsoft Exchange服务器。“Exchange太过强大,功能远超小机构所需。Exchange也很昂贵:得置办一台服务器、购买Windows许可、购买 Exchange软件许可,如果没有全职技术人员,还得雇个咨询师,请他每月来几个小时作系统调整。在如梦方醒之前,你已经为保持日历同步花费了上千美金。”
人们需要一款超级软件能够帮助自己管理日历、电子邮件、任务、便条……等等个人信息。在2002年到2004年间,微软同样延迟发布了“那个美妙的、听起来与Chandler无地窖式数据处理手段相似的新WinFS文件系统”的发布。但Google发布了Gmail,并迅速赢得了一些用户的欢迎。现在是2008年的9月15日,Gmail发布几年以后的今年,少数人使用并疯狂热爱的现象一直持续到了现在。我身边的同事至少有5人疯狂的使用 Gmail管理日常的邮件和待办事宜,并通过Google一系列的服务完成自己日常的信息管理工作。
Google在Web上的成功好像嘲笑了传统软件行业,但软件工程的诸多问题并没有得到解决。“OSAF工作环境宜人--午餐很好,工作时间有弹性,气氛非常融洽”。我想象在美国人烟稀少的中小城市的一座几层高的建筑物内,几个人一起密切工作并随时和来自全球的一些志愿者以及关注着在线沟通的情景。想像他们宽大的办公室里跑来跑去的宠物狗以及松散个性的办公桌。想象大家一起喝着咖啡,不慌不忙的讨论着一个又一个的问题的情景。他们几乎不为生计发愁,可以携带家人去国外度假1个月再回来工作。他们每个人几乎都有足够多的技能和经验,甚至某些人还在这个行业内有着举足轻重的履历。整个项目有想法,有钱,有时间,但却失败了。
这让我想起前几个月仅看过开头的《最后期限》,一个梦幻般的开局。富有经验的管理者,足够多的金钱和信任,随便挑选并且足够多的高智商、高能力的开发人员,一个任务甚至可以同时分配给3个开发小组来互相PK。似乎拥有了这一切我们可以作任何项目,开发出任何软件。似乎我们没有理由不成功,我们甚至会想,一定可以干的更好,更快速,更便宜、质量更好!但目前来看,不可能!
看到梦断代码的后半段时,我有一种开练的冲动,想拥有一个自己的工作室或者办公室的冲动。我认为我可以避免他们犯的大多数错误,虽然那些错误我也犯过,或者我曾经经历过的项目犯过。仔细想想其实不然,我现在正在经历的项目已经无可避免的犯了很多书中提到的错误,其中不少是我曾经犯过的错误。我们:
1,想的太多,总想做大事,并且眼高手低;
2,分不清轻重缓急,一上来战线拉的过长;
3,不知道自己到底要做什么,所有人员都陷入迷惘;
4,开会太多,总不干正事,特别是会议缺乏主题和快速达成结论的风格;
5,太多成员缺乏时间计划概念,对自己、对团队成员都没有时间计划;
6,不是缺乏计划就是计划不切实际;
7,需求不断变更并且没有人评估变更对项目整体带来的影响;
8,需求文档不清或者文档过多,产品经理缺乏对产品的构思和描述;
9,缺乏沟通,所有角色人员之间均缺乏有效沟通;
10,过于乐观,无论是领导还是开发工程师,总是过于乐观;
11,项目时间从后向前推,项目计划充满不诚实的欺骗;
12,自上而下的执行方式;
……
随便想想,这里就可以罗列出12条致命的错误,而且这些错误中的大部分我之前都遇到过。有些我有自信可以做好,有些我在发生前可以预知,有些看似没有办法。但这次不一样,我带领一个团队,几个小孩儿,好像并不是那么回事。之前做的几个项目虽然也会很忙,但终究会留下一些文字记录,但这次至今为止写下的文字很少。现在,我有些后悔,从封闭开发到一段时间的放任,到现在的高压,我忙于应付,基本没有留下什么文字记录。我想任何时候开始都不晚,从现在开始,一边记录新发事务,一边回忆并记录。我想找我身边共同经历过整个事情的同事多聊聊也许是正确的,也是应该去做的。
综上所述,我有种感觉,我应该大量记录我的工作情况和我的心理变化,甚至从一个旁观者的角度经常采访我的同事,以便于达到通过不同的角度阐述同一件事情的目的。我开始认为这个项目的经历对我而言非常重要,我需要文字来整理所有遇到的事情。我希望有朝一日有机会将这些文字进行整理,以对我自己和其他人有所帮助,为了达到这一目标,我需要每天抽出至少1个小时的时间来进行写作。
总的来说,这是一个虽然艰难但有前景的项目,是互联网行业和传统电信业的结合的项目。到目前为止已经经历了将近4个月的时间,分别在7月8日和8 月 1日发布了2个测试版本,准备在10月8日发布第一个公开版本。公司中的很多人,包括CEO和市场部的同事都认为我们作出的产品没有任何亮点和竞争力,和他们想象中的相去甚远。他们虽然明白不能一口吃成胖子,但实际的做法确实希望一口吃成几个胖子。
梦断代码的结局有些突然,作者没有再继续跟踪这个项目,但事实上3年的过程记录已经非常有代表性。Chandler项目发布了0.6版本,基本上成为一个可用的“狗食”版,但明显离最开始的目标相去甚远。几年中间已经多次调整过目标,内部和外部的环境也发生了非常多的变化,唯一不变的是软件开发者的精神。看到书中05年整个团队全家福的时候我还是有些吃惊,几年过去了,是什么维持着这个团队?是那几百万美金?是这里惬意的工作环境?是有挑战的工作内容?也许答案就是封面上的那句话,只为打造卓越软件。
可以说,在中国,这样的事情基本不会发生。我们能够承受的时间不会这么长,我们不会不求回报,不求市场化,不求被收购和变现的去长期的做一件事情。我们的工程师也没有机会去休假一个月,相反会每天加班,疯狂工作。我的领导一定会在人手不够的时候考虑快速招人甚至采用外包的形式,整个项目也许会来的快去的也快。总的来说,我觉得我面临的软件工程的焦油坑比那些外国同行们面临的更困难,而我们还经常走一些前人已经走过的弯路,这是更难过的一件事情。
有关软件工程的焦油坑
对“有关软件工程的焦油坑”的回应
《梦断代码》热门书评
-
Dreaming In Code
66有用 0无用 g9 2007-02-14
当年Lotus Development的创始银,Lotus 1-2-3的设计者Mitchell Kapor,离开Lotus后拉开单干,成立了开源应用基金会(OSAF)。他招募了一堆牛程,开发号称革命性的下一代个人信息管理系统--Chandler。我还记得Mitchell Kapor宣布要开发Chan...
-
外国大牛也不过如此
37有用 7无用 庄表伟 2008-09-18
花了一周的时间,看完了《Dreaming in Code》(梦断代码),看得我心潮起伏。对里面那帮家伙的评价也起起落落。最终的结论是:外国大牛也不过如此。别看他们名头那么响,做了那么多超有名的项目,实际的能力(软件开发能力与项目管理能力)看来相当有限。感想很多,想到一点说一点吧。1、以前有一篇文章叫...
-
开源的路在何方?
25有用 1无用 kimi 2008-12-26
在图书馆的阅览室看了这本书,花了我两个小时的时间,午后的阳光透过图书馆的玻璃照进来,很温暖,可是我的心却一点点的凉了下来。 再过半年我,一个计算机系的学生,就要投身到软件开发这个行业中去了,可没有任何经验,仅凭着那些薄弱的理论知识。边看书边记下自己的想法...
-
有关软件工程的焦油坑
16有用 0无用 大徐 2008-09-25
结婚前夕我请假一天,躺在床上看了大半的《梦断代码》,Chandler项目时间从2002年转眼到了2004年,10月26日OSAF发布了 Chandler0.4版。2年时间里,整个项目组的人员从几人上升到了20多人,有人离开,更多的是新人加入。做为一款致力于“无地窖式数据处理”的开源PIM软件,项目组...
-
一身一身的冷汗啊
13有用 1无用 铁观音加枸杞 2008-09-30
这本书看了已经一半多了,就看完的这些部分说点自己想说的。开始看的时候,还是很轻松很调侃的在看老外大牛们的囧事。可是越看越发现这个项目里的很多扯淡的事情其实每天都发生在自己的身边。冷汗啊,一身一身的出,想想以前的很多事情,那真是不停的后怕。 &...
书名: 梦断代码
作者: Scott Rosenberg
出版社: 电子工业出版社
原作名: Dreaming in Code
译者: 韩磊
出版年: 2008.06
页数: 336
定价: 49.00元
ISBN: 9787121066795