大徐

Icon

近期项目记录(1):软件工程的焦油坑

@2008年9月18日

结婚前夕我请假一天,躺在床上看了大半的《梦断代码》,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年整个团队全家福的时候我还是有些吃惊,几年过去了,是什么维持着这个团队?是那几百万美金?是这里惬意的工作环境?是有挑战的工作内容?也许答案就是封面上的那句话,只为打造卓越软件。

可以说,在中国,这样的事情基本不会发生。我们能够承受的时间不会这么长,我们不会不求回报,不求市场化,不求被收购和变现的去长期的做一件事情。我们的工程师也没有机会去休假一个月,相反会每天加班,疯狂工作。我的领导一定会在人手不够的时候考虑快速招人甚至采用外包的形式,整个项目也许会来的快去的也快。总的来说,我觉得我面临的软件工程的焦油坑比那些外国同行们面临的更困难,而我们还经常走一些前人已经走过的弯路,这是更难过的一件事情。

最后,我计划写一个系列的类似文章,记录我最近正在经历的一个项目。时间肯定不会固定,但我会尽量记录。

分类: 光荣梦想

标签: ,

5 评论

  1. 看来钱拿的越多的日子越不好过,我说怎么我认识的人,钱拿的越多的,越是一副要死不活,比你还惨的样子.原来世界就是这样的. 看来算工资 还是要算纯利,而不是毛利.

    但话说回来,如果有的选,恐怕谁都抵抗不住诱惑.我希望我有选择的一天,更希望那一天到来的时候我不需要做这样的选择,我可以选择——不选择。

  2. 大徐说道:

    知道的越多烦恼越多,越觉得无能。

  3. 草根网说道:

    好文,收藏至20ju.com

  4. […] 上一家公司的项目记录系列的标题是“近期项目记录(x):xxx”,这实在不是个好标题,什么是近期?到底是什么项目?当初使用这样标题的原因我想你可以理解,毕竟人在体制内,怎么能够明明白白的写呢?其实我到如今为止总共就写了2篇,第一篇是08年9月18日写的近期项目记录(1):软件工程的焦油坑,第二篇是09年6月24日写的近期项目记录(10):难忘的一天,标题分别设为1和10是因为我以为中间至少有8篇是我没有记录和整理的内容。虽然现在已经离开那家公司,但还是没有抽出时间来完成记录整个18个月的项目记录,现在已经开始了新的项目记录。这一家公司的项目记录系列的标题仍然会是隐晦的,我打算用“新公司项目记录(x):xxx”,我想事后我如果有时间可以多做一些整理,而可以把它们变的简单明了。 […]

  5. […] 这个系列至今为止只写了2篇,上一篇是近期项目记录(1):软件工程的焦油坑。这第二篇的标题用《近期项目记录(10):难忘的一天》,序号从1直接到了10,主要是因为我觉得这中间我至少漏写了8篇近期项目记录。 […]

评论

个人介绍

大徐 / cnxjj
大徐

微信订阅号:趣味方法学
微信订阅号:趣味方法学
更多