去年9月份开始一直到现在都在参与搜索引擎核心的研发工作,除了自然语言处理、算法以及信息检索上的反思之外,在软件工程以及项目管理上开始有了一些感触,于是前一段时间便疯狂的翻看《人月神话》那本书——上大学的时候只看得懂它的第一章:)。
趁当时项目中间阶段总结的时候,也曾回忆整个项目研发过程,结合T MM-M这本书,记下了感受最深的几点,本想着形成一篇完整的文章的,不过现在看时间不允许了,就散置于此(当时写在了该书首页上) :
为了防止the tar pit,有几点需要注意:
(1) 设计的概念一致性问题;
(2) 设计文档与程序在变更中保持同步的问题;
(3) 队伍培训与建设的问题;
(4) 测试规划的问题:
a) Debug信息输出管理;
b) 系统错误号统一管理;
c) 测试方案同步设计;
(5) 复杂度控制。
当时没有强调“需求”,事实上需求变更还是给项目带来了一些问题。之所以中间阶段总结时没有强烈著明这一点,我想可能是与本项目的类型有关的:搜索引擎的内核是计算密集型任务而非功能型应用任务。