• 2008-09-29

    辞旧迎新

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/dreamhead-logs/29726243.html

    首先,这不是一篇关于新年的blog,我要说的是,我换项目了。:)

    之前的那个Rails项目,是我经历过的项目中,状态最好的一个:有趣的技术,快乐的团队,还有满意的客户。每天的工作可以说都是一种享受,因为一切都在我们预期的轨道上,即便偶有异常,大家也可以很快让它回来。这个项目,对我而言,第一次让我真正体验了快乐工作,所以,我在blog上不止一次的提及它,因为它已经非常接近我心目中项目中的理想状态了。

    按照预期的进度,这个项目会“分家在十月”,不过,未到树倒,我这个猢狲就先行散了。因为有另外一个项目急需人。

    曾经“质问”过老大,为什么把我从一个状态非常好的项目上调出来,老大说,你做舒服了,就没有价值了。资本家的架势。^_^

    玩笑归玩笑,新项目确实不那么让人舒服。

    这是接手过来的项目。有人在这个项目上已经工作很长时间,大约八九个月的样子,但是很长时间都无法稳定下来,更可怕的是,客户已经愤怒接近极点。于是,客户决定给ThoughtWorks China一个机会,让我们来尝试解决这个问题。之前,我记得和老大聊天时提到过,我不仅仅对项目如何成功有兴趣,对有些项目为什么进入很糟糕的状态也很有兴趣。没想到,这么快就给了我一个面对烂摊子的机会,看来公司还真的很照顾员工意愿。:)

    随着项目了解的增加,那些让项目状态变得糟糕的种种问题就浮出了水面。

    其实,这个项目的需求本身并不是特别困难,简而言之,就是文档审批的流程。细节是魔鬼,细节上有很多很诡异的部分,当我和项目组其他成员第一次看业务流程图的时候,我们问了很多为什么要这么做。陶公子曾经对某些BA工作有一个“高度”评价,业务流程图画得跟电路图似的。我们在这里看到的业务流程图就颇有“电路”的味道。由此可见,这个项目前期的业务分析做得不是很理想,只是按照原有的手工流程在走,对如何把这个过程自动化欠缺足够的思考。业务流程不清晰,会直接导致技术架构设计上的混乱,毕竟,架构源自需求。

    在这个项目里面,客户有一个需求,就是其中的文档管理要用Alfresco来做。可能大多数人和我第一次听到这个名字的反应是一样的,这是什么东西。Alfresco是一个开源的内容管理系统(Content Management System,CMS)。正是因为它不像Spring、Structs、Hibernate那样路人皆知,所以,如何使用正确的是用它,就成了一个问题。早先的那个团队,用Alfresco提供的一种脚本语言(WebScript)进行服务器端开发。从技术上来说,我很佩服他们,居然可以用这样的技术实现这样的功能,但从整体来说,根本就是走上了弯路。就像用斧子吃饭一样,能让人惊讶,价值却没有那么大。

    对于这个系统,客户抱怨很多,其中一条就是性能,通过分析,我们发现,提交一个文档,会导致很多次客户端和服务器端的通信,这样的结果,必然性能无法提升。这让我想起在那个Rails项目里面做的一个页面搜索的工作,就是所有的内容都在页面上,搜索也在页面上进行,这部分架构是从原来美国团队那里继承而来,美其名曰,这样节省了客户端和服务器端通信的过程,于是会快。事实是,当数据量达到一定规模,光是一个页面就要有几M大小,之后,在浏览器中通过JavaScript对页面内容进行索引,以便进行搜索,而IE执行JavaScript的速度实在让人不敢恭维,于是,预想的快,变成了慢。和前面提到的问题一样,这个问题的根在于架构设计,这是无论怎样编写漂亮代码都无法避免的。

    对于服务器端而言,我们要做主要就是两件事,一是用一种正确的方式使用Alfresco,二是设计一个恰当的架构解决和客户端通信的问题。

    在新项目上,差不多两个星期了,每天都要花大量的时间去学习Alfresco,对我而言,一定要把一切在脑子里面联通之后,才知道解决方案的可行性,尤其是在技术上存在不确定性的时候。随着这些天不断的了解和讨论,服务器端到底应该怎么样,在心里已经有了一个大概的样子。十一假期之后,就要进入到写代码的阶段了。不过,deadline也逐渐迫近了,还有已经出离愤怒的客户,一切都意味着压力。

    在压力下工作,没有谁喜欢,但现在,不得不了。

    分享到:

    历史上的今天:

    梦想归来 2004-09-29
    引用地址:

    评论

  • haha~~。我是最近经常能见到出离愤怒的客户,那真是精神摧残~~ 没想到你们也有这样的项目。好运~
  • 在bloglines上咋一看题目的确吃了一惊。咋过年了:) 后来看到内容才了解。呵呵。怎么没回家么?还是已经在家里了?你们的项目总是能见识到新东西啊。